I've been tinkering in my free time with programming for the Atari 2600. There's a form of Basic that was written for it by user over at Atari Age called batari Basic (I think it was originally started back in ~2005 or so). It's definitely not like Qbasic but it's much easier than writing everything in assembly.
Anyyyway. I wanted to make an adventure type of game and figured the ol' Millennium Crisis is still up for grabs so might as well go that route so not to get held up by story or world building ideas.
The game starts off with you in a cemetery with no weapons as the zombies start to appear. For the first act you need to find a weapon and a gas can to get the car started to leave. There's keys that open doors as well that need to be found to progress.
Here's a quick video of the current state of things. This is actually only about 1/2 of the demo so far as I died earlier than I thought due to me playing terribly towards the end. :) There's still a bunch more screens, boss fight and get away scene in the car after where I died.
Note: There are actually sound effects and a small music "ditty" on the title screen but my screen recorder doesn't capture audio so the YouTube video is mute.
Button fires (when you have a gun)
Color/BW switch on console - Pause/unpause
left difficulty A position - All items lost on game over
left difficutly B position - All items kept on game over (until system is shut off or reset switch is flipped)
reset switch - reboot game
I'll post the bin and source code once I button a few more things up. (bin file can be run in the Stella Atari 2600 emulator)
Is "keep items after game over" the default? I kinda expected to lose them.
Multiple shots to kill zombies makes sense, but it did take a bit of figuring out the first time. Can you do something like make the zombie react (get blown back by the gun fire) or get angry and come at you? Or even j... more
"keep items after game over" I guess I wouldn't call it default as the system has physical switches on it for difficulty A/B and it depends on where the person has their switch. B is usually used for a beginner mode and A for an advanced/expert mode in most games.
Good point about making it clear... more
back and forth (on the way to the key) and if they paid attention to collision detection I'm not sure if the level would work.
(Debug might be helpful with a screen number, but I'm not sure if you can do that on such a limited system. Or just a series of colored blocks.)
The ghost gets a litt... more
Yeah, those zombies follow a predetermined path so they have no collision detection with the level. I guess they could be considered phantoms or something. :)
I guess I should have said that the plain blocks and zombies that move up and down or back and forth ignore area collisions. "Walking" zo... more
You're taking path A while the zombies are taking path B. Path A and Path B overlap by half, but the blocks are on Path A.
Hm... Phantom Zombies. Make them a different color and of course they can run through trees and chase you through solid objects. Could be a good enemy for later in the gam... more
Some things have changed since the last post. Not much, just some polishing that needed to be done.
Currently, the release is on the AtariAge forums. I haven't had time to update this site with the info yet.
Here's the link to the current thread with the download link: https://atariage.com/... more
Setup (Same as last time, new bin file)
Online Atari 2600 Emulator: https://javatari.org/
Then F6 to load url. URL for latest beta is: http://nukementerprises.puckdroppersplace.us/stuff/zombie_crisis_v03a.bin
Zombies now have a "hit" frame when hit by a bullet
This is the emulator that I use: https://stella-emu.github.io/
You can actually play it online as well!
Online Atari 2600 Emulator: https://javatari.org/
Then F6 to load url. URL for latest beta is: http://nukementerprises.puckdroppersplace.us/stuff/zombie_crisis_v02.bin
a limitation of the system. There are only 5 movable "sprites" that can be programmed.
Player0, player1, missile0, missile1, ball.
Missiles and ball have no detail. They're just a solid color blocks of various configurable sizes. Player0 and Player1 are 8x8 pixel sprites that can also be con... more
I'm just trying to figure how they have multiple sprites appear but then each sprite isn't separate in some important ways. How many more system resources would they need to have a visible and enabled property?
There is only one P0 and P1 but when displaying, if the register is marked to make 2 wide copies (or whatever is set), the "sprite" will be drawn to the screen as so by the TIA (television interface adapter).
Here's a snippet from the programmers guide: https://cdn.hackaday.io/files/16462770434... more
rms of resources.
How does a Space Invaders game get handled, though?
Answering my own question... https://atariage.com/forums/topic/76213-space-invaders/
So they use the background to hide the ones that aren't supposed to appear. Interesting trick.
as you have to handle the whole screen drawing line by line and maintain the correct refresh rate. (bB takes care of all that for you).
In some games they alternate scan lines to make more sprites appear than actually exist.