Atari VCS "Secret Collect." Demake

This page is about an Atari 2600 implementation of the Homestar Runner Flash "Secret Collect." Game.

It's currently fully playable but probably will never be feature-exact to the original version.




Legal Note

This product contains trademarks and/or copyrighted works of homestarrunner.com. All rights reserved by homestarrunner.com. This product is not official and is not endorsed by homestarrunner.com.


Implementation Details

The extremely limited Atari 2600 hardware is a bit too complex to get into here. I'm using a 4k ROM, and you get 128 bytes (yes bytes) for all your RAM. There's no graphics framebuffer, you have to "race the beam" (i.e. you have 76 cycles to update a line of graphcis as it's being drawn, then start all over again for the next line).


Current Status

Fully playable. It's not quite the same as the Flash version, but hopefully close enough to be fun.

Directions

Press reset/fire to start. Use the joystick to move.

You are Strong Bad (the Red Box)

You need to collect the secret that looks nothing like you (the Yellow Box)

Avoid the pulsing blue walls, which will zap you and reset your position and reduce your speed

You need to collect the secret before time runs out on the timer bar

A speed boost (a Blue Box) will make you go faster. You can collect up to 3 of these at a time

Bonus points if you complete a level without touching any walls

Collect as many secrets as you can before the duck gets you!


Videos

Video capture of v1.7 from an actual Atari 2600:



Screenshots

These screenshots are all from the Stella emulator.

The title screen. It even goes into screensaver mode so you don't have to worry about burning in your CRT.


Level 1, a lot like the actual Level 1 except it's not really possible to do sideways gradient effects on the Atari 2600 so I approximated the effect the best I could. For some reason this level design always reminds me of the logo from the 70s Electric Company TV show.


Level 8 is a mess, it's something I threw together with a hex editor at the last minute. Most of the levels from the official game would be hard to implement without re-writing the game engine, or else are physically impossible on real hardware.


Fun animated Strong Bad when you collect the secret! Lots of tricks here, as in theory you can only have 2 colors per line but here we have more. We're overlaying with a sprite and also changing the playfield color mid-screen, while also re-writing the playfield mid-line because it's asymmetric.


That stupid duck...



System Requirements


How can I play it?


Downloads

ROM Image

Source


Mini-faq


Strong Bad Endorsement

It's always a bit unclear his exact feelings. The accusation that the game has been Fhqwh-fied is true, as the Fhqwhgads video is a great source for relevant Atari-style sprites and the game needed at least a little backstory.

Development Notes

2 September 2022 -- Version 1.7

Did some more careful scanline counting and made most of the annoying glitching go away on scene transitions. It still will jump a bit when clock runs out or you hit a pulsing wall, but maybe we can declare those to be "features".

31 August 2022 -- Version 1.6

Was still glitchy on real hardware. Realized I wasn't always giving 3 full scanlines for VSYNC. With that adjustment it's a lot better, though there's still a glitch at a start of the level because we do many scanlines worth of init.

25 July 2022 -- Version 1.5

Title screen was still odd on real hardware, realize I wasn't zeroing out the ZP/registers. So try that and now it works in devel mode on stella as well. Should have done it earlier as it actually freed up a bunch of bytes at init time too.

24 July 2022 -- Version 1.4

Might be ready to call this finished?

Added blue speed boost squares. Streamlined the code a lot. Added bonus for not touching walls.

23 July 2022 -- Version 1.3

More fixes, and better secret placement on the levels.

21 July 2022 -- Version 1.2

Hopefully fixed the title screen to be a bit more stable. Also now you have less time after each wave of 8 levels.

The changes were relatively small but it's hard keeping things fitting in 4k.

19 July 2022 -- Version 1.1

Working on optimizing the code some more so I can add some more levels/features. Each level takes up roughly 128 bytes of room.

Did various hacks and now there are 8 levels, though some differ only in secret placement.

15 July 2022 -- Version 1.0

Powered through and got a mostly complete version. Rushed it out the door as otherwise it was sucking up too much of my time and there are other things I need to be working on.

The tricky part was trying to add a second level at the last minute. I had under-estimated how big things were and was running out of room in the 4k I had. I modified the level engine to let you change the playfield, but to do that I had to change a 4-cycle load indexed to a 5-cycle load indirect (no self-modifying code possible when running from ROM!) and that messed up the entire timing of the inner kernel and I had to do a lot of terrible hacks to get things mostly going again.

13 July 2022 -- Version 0.1

Have collision detection working, Level 1 is more or less playable.

8 July 2022

Got 48-pixel sprites going. Complicated. Also did a composite mod for my Atari 2600 so I can capture actual screen output.

30 June 2022

Got a simple asymmetric playfield going (of the Apple II logo).


Other Demakes
Other VMW Software Demos
Other Atari Projects
Back to the VMW Software Productions Page