Jump to content

Karl G

+AtariAge Subscriber
  • Content Count

  • Joined

  • Last visited

Community Reputation

2,669 Excellent


About Karl G

  • Rank
    River Patroller
  • Birthday 09/17/1973

Profile Information

  • Gender
  • Location
    Indianapolis, IN

Recent Profile Visitors

10,071 profile views
  1. If you want to share your source, either publicly or privately, I would be willing to see if I can figure it out.
  2. I've updated the first post with a new version. This version is back down to 48K without losing any features. Additionally, there are the following minor changes: Blobs won't appear in the starting room after hitting Reset (otherwise it's not very sporting-like) Bugfix related to the scavenger bot stealing the energy cube from the player
  3. Or I was looking at a different version of my game. Oops. Looks like my 48K game is actually 48K, after all.
  4. Possibly a dumb question, but why do 48K games compile to produce a 32K bin file? In this particular case, if I change it to actually be a 32K game, it doesn't have enough space. Edit: Nevermind. Wrong file.
  5. I gave this a try, and it's pretty good! The graphics and sounds are good, and the control scheme is clever. I would say that the challenge level seems to start out a bit too high. I personally would like to start out with less enemy ships, and add more as you go along to ramp the difficulty. Maybe others would feel differently though. I'm personally wanting to try out the two-player variant when I get a chance. Unfortunately I got an "invalid instruction" error in Stella a few times when trying it out. It always seemed to be right after firing the laser when it happened, but only once in a while. It wasn't obvious to me what could be causing it.
  6. bB and high-level languages are abstractions, so it's possible it could have been designed the way you expected. I think it would probably be good to update the documentation to suggest placing the function definition somewhere where it won't be executed accidentally. Also, the documentation incorrectly says user functions need to be ended with an "end" statement.
  7. If it is at the beginning of the program, it will try to execute the function. The crash happens when it reaches the "return" because the code executes without being called, so there's no address on the stack for the return. Functions, subroutines, inline assembly modules should all go somewhere where they will not be executed unless called, such as after the main loop.
  8. This should probably be in the batari Basic subforum. Your example works for me in this tiny sample program: dim sc=score+2 scorecolor = $0F sc=Rnd() Main drawscreen goto Main function Rnd temp1 = (rand&63) + (rand&15) + (rand&3) + 7 return temp1 I'm wondering if the issue is how you called your function. Did you remember the empty parenthesis (since you aren't passing anything to your function)? If you are still having issues, then maybe attach a sample program that demonstrates the problem?
  9. Here's the version with a separate rand function and variable for cases where you would want to use rand for more than just generating screens. If you want the generated screens to be the same between game sessions, then you will want to change this line: bbrand = rand Set bbrand to any nonzero number at the beginning of the game to act as a number seed, and have the screen types be consistent from game to game. (No compiled version, since it is functionally the same as the previous demo) openworld-separate-rand.bas
  10. Here's an example that uses rand and unrand as described previously to generate an 8x8 world of 64 screens without having to use variables to track what type of screen is in what position. I also track whether each screen has been visited, and an eye icon shows at the bottom of the screen if the current screen has been previously visited (using the 6lives minikernel to display the icon). Bad graphics aside, I think this is more or less what you were going for? A couple of issues with this version: The screen type at each coordinate will vary from game to game, although it will remain the same throughout the same game. This may or may not be what you want. To make it consistent for every game, you can seed the random number generator with a specific number. If you use the rand function for anything else, it throws off the pattern with the rooms. This can be avoided by using a separate rand function, and a different rand variable that does not conflict with the built-in bB one. I'll update this demo to show how this can be done, as I imagine most games will want to make use of the rand function for more than just generating screens. Note: Not a WIP game for tracking purposes; just a code demo. openworld.bas openworld.bas.bin
  11. This is similar to a problem I've tried to figure out for myself. To get a simple repeating pattern, one can use the rand function, and you can even use an "unrand" function to get the previous number. The sequence of numbers would be the same within the same game, so you would get the same numbers going forward and backwards every time for a consistent world. This could be used e.g. to generate screens for a game like Pitfall where you can move right or left to get to new screens, but not up or down. Using rand and the reverse rand function depending on which direction you are going would get you consistent screens as you traverse the linear world without having to store the screen types in variables. Now, in the case of a grid, it becomes slightly more complicated. Going to new screens on the left and right are covered as described above, but for going up or down, you would run the rand or reverse rand function multiple times, depending on the number of columns. For example, if the world were an 8x8 grid, and the player moved down one screen, the rand function would be run 8 times, or the reverse rand in the case of the player going up one screen. This would be a lot of cycles used, but it might be okay since it would only need to happen for screen changes. If I get a chance, I may try to whip up a proof-of-concept demo to demonstrate this.
  12. The ARM processor in the available SD carts is used for emulating the DPC chip used in Pitfall II, allowing the ROM to be played.
  13. A Google image search for "select icon" gives a number of good possibilities as well.
  14. Brought my 2600 Jr. on a road trip with my sister, and was able to connect it to the hotel TV to play some Medieval Mayhem.


    1. BydoEmpire


      That's awesome.  5-6 years ago I took my son on a road trip to visit my sister, and I brought my 2600 jr along with a couple carts (Ms. Pac Man, Space Invaders, etc). We had fun in the hotel room, and he and his cousin enjoyed it at my sister's, too.

    2. Karl G

      Karl G

      She was impressed that it made improvements without losing the spirit of the original game. I agree, and it may be my favorite homebrew. 

  15. But what if the Atari game he wanted to play was BoredQuest? You could go into an infinite loop.
  • Create New...