My Batari BASIC Lunacy CreepingNet tries making video games again...this time for the Atari 2600 |
So I'm hanging around AtariAge again, and have been dabbling with programming in Batari BASIC for awhile without really talking about it. Usually when I start on stuff like this, I get super enthusiastic about it, and then it sorta' fades off. So I never mentioned my fiddling with games. So this is sort of the development blog-ish-thing of sorts of my various Batari experiments....
What Is Batari BASIC It's a high level programming language for the Atari Video Comptuer System/2600. It simplifies the task of development and opens the doors to more of us making new games for the Atari 2600. Yes, there ARE new games for it, and not just what Atari's putting out either. There's been a growing Homebrew 2600 game scene since around 1995 or so. Originally, ATari 2600 games required you to program using 6502 assembly language programming. This was basically one step above literally writing 0's and 1's directly to the chips inside the machine (machine language). After all, the Atari VCS is a COMPUTER - it works like a computer, on/off pulses of electricity, digital. And the machine was VERY limited, a 1.19MHz MOS 6507 under the hood - basically a 6502 minus some memory address lines, a "RIOT" chip that featured 128 BYTES - not kilobytes, not gigabytes, not megabytes - that's 128 BYTES of RAM to work out of. The machine did all the interfacing - the "chipset" if you will, through a TIA or "Stella" chip - the Television Interface Adapter for the controllers and what have you. The machine did calculations in the small bits of time when the TV wasn't drawing scanlines on screen - this meant EVERY clock tick, every scanline, and the use of the time taken DRAWING that scanline on screen by the picture tube's electron gun, had to be accounted for. This made programming for the VCS a very challenging task. Batari BASIC removes a lot of that challenge by removing the need for counting scanlines, clock cycles, and all that jazz, and instead, program the VCS in a more modern methodology. Of course, there seems to be SOME trade-off with it, but it seems they've grown it well year after year. So I decided to give it a try, and that's what htis page is about. Wall War Design and Implementation So let's talk first about my first Batari BASIC game to the left - Wall War. A very basic, supposed-to-look-like-a-1977 Launch Release-like title. Ya' know, something you would have seen in a gatefold box stacked with a Heavy Sixer with the chess piece at checkout. I wanted to make something basic, easy to learn, and that would allow me to expand it easily later to make use of the ball graphic maybe. The basic idea in Wall War is you and a friend play against each other by shooting at each other from the side of the screen on a fixed Y axis. It's sort of like a cross between Pong and Air-Sea Battle. Right now, that's what I'm focusing on building, basically 2 turrets, missile 0 and missile 1 firing from their associated player at each other, and then each "hit" registers on a scoreboard, and after the standard early atari 2 minutes or so, the game ends and goes back into the color change mode. The Atari VCS has five graphical assets (six if you count the Playfield), Player 1 sprite (player0), player 2 sprite (player1), missile0 (player 0's weapon generally), missile1 (ditto for player 2), and a ball (think Pong/Super Breakout/etc.). So I thought, what would be different or weird, but look "in place" I figured, two strange looking turrets on each wall on the left and right sides of the screen would be best. This would be so I would not get confused - player 1 is left, player 2 is right, coordinating with the controller ports on the Atari. Then I knew I'd need ot use the Missiles to blow each other to smithereens. It's going to be basically like a Y-coordinate restricted COMBAT in a way, or a vertical version of Air-Sea Battle-ish. But I have some other ideas I'm playing with to expand it later. Basically, you shoot at each other for 2 minutes, and the one with the higher score wins. NOw, one idea I had was to have traffic like a vertical version of Frogger. IE, fast moving cars that could interrupt your fight. And maybe have it be that you shoot them for extra points, or shooting them takes away from your score - or even have that be two of the game variations on the cartridge (yes, I plan to burn this to a ROM and make an actual cartridge to run on my Heavy Sixer and TeleGames...maybe even sell). So I was almost thinking maybe that ball could be an enemy...sort of a random projectile? Maybe a Drone that just roams around wreaking havoc. I just thought of that tonight. I can't just throw it together as a basic 2 player shoots at each other from the wall sorta' thing, I need to make it a bit more complex...a bit more interesting. I want at least 6 variations on the theme on the cartridge. I want it to feel like a "lost" launch title, like Larry Kaplan, Joe Decur, or maybe Warren Robinette programmed this thing. |