Atari 2600 Game Development 317
gjb6676 writes "An article over at ExtremeTech is covering recent game development projects on the Atari 2600. The amount of cartridge space they have to work with is a sobering thought:
'A two-word file in Word 2002, for example, requires 20 Kbytes. "That's 20 Kbytes, five times the amount of (ROM) space developers had to work with in the 2600.'"
Bank switching? (Score:2, Interesting)
Equiv of ~32K ROM, not 4K (Score:3, Interesting)
According to Chris Larkin, developer of the Atari 2600 card game Kablamo!, each developer typically came up with a proprietary method of bank switching to increase the ROM size to an average of 32 Kbytes of code.
My 2600 died... All I've got left are the pong paddles (wheel things...) and some cartriges.
Where will the programmers come from? (Score:1, Interesting)
Seriously todays programmers aren't taught tight code... and giving yourself limitations like these you would have to. When write in the "popular" languages of today the overhead alone would kill the likelyhood of a programmer just "throwing something together".
Here is where Assembly is King [grc.com].
The Good Old Days (Score:5, Interesting)
* 2D paddle motion
* horizontal or vertical brick orientation
* gravity in some modes
* "English" on the paddle/ball interactions
* single or dual player in competitive or cooperative simultaneous play
* sound effects (CPU generated)
* etc. etc.
Just before release, with 9 free bytes left, a bug was found. The initial fix would break the ROM barrier by 13 bytes. Yet another pass through the code doing the 4th or 5th optimization -- finally got it in and ended up with 11 free bytes.
Amazing what is possible in ASM but, boy, it was many 20 hour days!
So I understand those 'smallest executable' contests, but how much functionality does the executable really have? Or how much of the Word document is really information?
What about new titles for MAME? (Score:4, Interesting)
BTM
what id like to see (Score:2, Interesting)
but seriously the atari had some good shit on it that would be fun to remake
The Golden Age (Score:2, Interesting)
Stella programming (Score:4, Interesting)
In my game I'm just at the point where I have a playfield, a moveable player, and one missile I can shoot. And that took a lot of effort. You know you're doing hardcore software development when you have to count cycles to make sure you're not computing when the electron beam is actually being drawn. You have 2700 or so cycles to work with "above" the television image per screen for computation, and only about 48 for each scan line before you start messing up your game image because you're still doing computation. It's interesting because you're tied to the physical progression of the electron beam across the TV.
Re:real programmers do it in less than 4K (Score:5, Interesting)
This is why I actually enjoy programming for mobile phones at the moment - some of them (eg the Nokia 7210) really force you to consider how best to utilise the available memory and CPU resources. Just try to allocate a back buffer and a couple of 128x128 images and you're looking at a crash. Memory fragmentation also comes in, as do memory block limits (some phones limit ANY object to 16K max due to the way allocation works). Swapping out stuff you don't absolutely need, and juggling data is required for anything beyond the simplest games. (Although some phones, such as the Nokia 7650 really spoil you with loads of RAM, I usually attempt to get things working on the worst case target before porting and adding the bells+whistles).
It's fun though!!
Re:I think.. (Score:2, Interesting)
> does about the 2600...
I think that this probably says more about
current software development than anything
else. These days memory is cheap and I fear
that too often not much effort is put into
making programs efficient. While it isn't
practical to squeeze every bit of space and
time out of a program, there should be some
effort. These days many progams really are
in fact inefficient hogs (for whatever reason...
lazy programmer, bloated system libraries, ???)
Getting exposure for homebrews (Score:3, Interesting)
You can read about that and other interesting bits about Act. Anth. in an interview [linuxgames.com] with the Anthology producer Ken Love.
I need to get my 2600 out of my parents attic! (Score:2, Interesting)
This "movement " is about ten years old (Score:3, Interesting)
Arguably, if you're wanting to experiment with tiny games, then you'd be much better off using Python and Pygame. You could write an Atari 2600-style game in a week of off hours that way, compared with the months of cycle tweaking it takes to get even a simple Atari 2600 game up and running. While it's a noble technical challenge, it isn't a good way to fool around with minimalist game design.
Re:Doom has been ported to everythinge else... (Score:1, Interesting)
Ah, memories (Score:5, Interesting)
Yes, there were two players (8 pixel sprites) and two missiles (1, 2, 4, or 8 pixels wide, if memory serves.) And the "easy" way to set up a display line was to write the bitmap and position of the players and missiles during vblank.
However, there was an underhanded way of getting more than two players on a line, if they were separated by enough space (~12 pixels, if memory serves.) While the line is drawn, you keep track of where the "currently drawn pixel" is. When that location is just past the end of a player, you reposition the player to ~12 pixels ahead of the current position, and rewrite the bitmap. We (General Computer Company, a captive developer for Atari) could get up to 6 players on a line, if they were separated by enough distance.
Yes, I am dating myself
Word Document Sizes (Score:4, Interesting)
What people don't realize is that there's quite a bit of formatting information in there. Remember stuff like page size, margins, fonts used (sometimes fonts are compiled directly into the document - depending on your settings - so that when you send it to someone, they don't need those fonts to view it correctly). That's just global formatting. What about stuff like paragraph formatting? Font styles/sizes?
All of it can't come for 0 bytes, and maybe all of the above doesn't account for all 20KB, but I probably haven't touched on half the stuff that's there that people take for granted with a modern word processor.
Re:What about new titles for MAME? (Score:4, Interesting)
Arcade Development Central [emuvibes.com]
It's a little out of date, but it looks like the links still work. A guy named Charles Doty programmed most of the demos. Most replace an existing game in Mame (or Raine, Callus, etc) rather than adding a new driver for it. Tools for compiling are there too. There was a Yahoo Groups page for arcade development (link on the site, check it out) but the last post was in August.
There is also a Pong clone for the NeoGeo that is not directly supported in Mame, but works with a hacked in driver. The developer had box art for it and everything. Unfortunately, I lost the link to the developer's web site.