Thomas Jentzsch, on Sat Jan 3, 2009 9:22 AM, said:
Well, Andrew asked me about the latest source code a few days ago. Whatever that means...
IIRC the levels where all defined completely, some objects needed a bit of work. What was not completed was the overall framework (scoring, timers, level progress, options etc.). Also we were still tuning the game engine to avoid slowdowns. Then there were some bugs and last not least we were wondering about a different, less restricted bankswitching/RAM board.
So maybe 2/3rd were done.
Yes, the levels are all defined. The major 'bug' is that the creatures (butterflies, boulders, etc) are processed in a different order than the original, and this affects the physics -- sometimes things behave slightly differently. It's not particularly noticeable, but it's not exactly the same as the original - more like 99.5% the same. That's because the original scans a board left to right top to bottom and does things when it finds particular objects at each board location. The 2600 version doesn't have time to do that scan, so all objects are managed in a stack. The stack isn't sorted, so objects tend to get processed in a different order. It shouldn't be impossible to fix -- just sort the stack before processing.
Scoring is done, timers are done, level progress is done.
A title/selection screen needs doing. Also intermission screens.
There are slowdowns, probably unavoidable given the current bankswitch scheme (3E). Switching to a better scheme (4A50) would probably (at a guess) speed up the game 20% but unfortunately that's not going to happen. The engine is rather complex at this stage and much of it I've forgotten (although it's reasonably well commented). I don't have any plans to do a conversion.
This effort was more a proof of concept -- it was for me a kind of 'holy grail' for Atari 2600 programming. I've proved, I think (along with Thomas' help) that it CAN be done, and it can be done well. The major achievements were the 'character' based display system, the 'colour' display consisting of alternating colour bands, and the implementation of a system that actually allowed the game to be played at a decent speed. Also impressive (to me) were the amoeba functionality, which I thought about for a long time, and the magic wall which ended up costing almost no processing time at all.
It's been an interesting, sometimes enjoyable, sometimes very stressful, project. I pick it up now and then and have a play.
Cheers
A