Slashdot Mirror


Atari 2600 Game Development

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.'"

38 of 311 comments (clear)

  1. That's ongoing development, not news by lightspawn · · Score: 5, Informative

    Check out, for example, the homebrew projects at Atari Age.

  2. I think.. by Equidist · · Score: 5, Funny

    I think that says more about Word 2002 than it does about the 2600.

    1. Re:I think.. by jagilbertvt · · Score: 3, Insightful

      Yes, but this software "bloat" is what drives the market for faster cpu's, cheaper memory, and larger hard drives. If we made efficient software we'd still be paying $2000 for a pentium 200.

  3. thats microsoft.... by tadheckaman · · Score: 3, Funny

    20KB of data for a 2 word document? thats insane. .TXT is best!

    --
    My potato gun was confiscated by the United Nations. They said I wasn't allowed to have weapons of mash destruction.
  4. Re:oo.o rules by DougJohnson · · Score: 3, Funny

    So this means you could fit exactly 1 whole empty OO.o file on a 2600 cartridge.... Great!

  5. Custer's Revenge by use_compress · · Score: 3, Funny

    Why not start porting some of the 2600 games to the X-Box? I'm still waiting for Custer's Revenge 2!

    1. Re:Custer's Revenge by luzrek · · Score: 5, Funny

      Since a 2 word Word 2002 document takes 20kB I don't think that the Xbox has enough resources for the MS version of a 2600 game.

      --

      Galium Arsenide is the material of the future, and always will be.

  6. Sobering thought? by Sloppy · · Score: 4, Funny
    Is the "sobering thought" really the 2600's limit, or is it MS Word's docu-bloat? Remember that Moore's Law doesn't get you anything if Gates' Law is also in effect.

    The trick is to exploit Moore's Law, and avoid Gates. Then technology becomes a Good Thing.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  7. And if I remember correctly, no screen buffer by joeflies · · Score: 4, Informative
    so the code had to be writing directly to the screen output as fast as the action required. I don't know if any systems at that time did have a buffer, but I thought I read something about why it was worthwhile in the book "High Score".

    It allowed the system to extend its usable life of the platform after developers got familiar with how to work with it.

    1. Re:And if I remember correctly, no screen buffer by Abcd1234 · · Score: 4, Informative

      Actually, the 2600 had enough "VRAM" to store background data for a single line on the screen. So, you had to write out the data for each successive line during the horizontal blanking period of the video display. This also means that, even if the screen is static, you still have to do all this work, just to keep it there.

      Now, this all had to be done just to keep the background of the display intact. The programmer also got 2 player objects and 2 missile objects to work with... basically primitive sprites. 'course, with such limited resources, writing any kind of advanced game is a challenge. As they mention in the article, the Defender! programmer(s) tried to get around the sprite limitation by changing the sprite objects during even/odd frames to simulate more of them.

  8. 4K by grub · · Score: 4, Funny

    Can't fit much pr0n in 4K.

    --
    Trolling is a art,
  9. Sequels to 2600 games I want to see by Marco_polo · · Score: 3, Funny

    Defender 2 'the revenge'
    space invaders 'EXTREME'
    Atari Football 2003
    Night Driver with Infrared Goggles
    and Combat: Gulf War

    --
    I am the lord of the pun. Dance Knave!
  10. Wow by hafree · · Score: 4, Insightful

    Imagine that, programmers having to write efficient code for a change. These days, a "hello world" program won't even fit on a floppy after the required libraries have been compiled in...

    1. Re:Wow by Anonymous Coward · · Score: 5, Funny
      Imagine that, programmers having to write efficient code for a change.
      That would be great --- imagine it: every piece of software would take ten times as long to write and a hundred times as long to debug, and I'd see all the benefit of 17KB extra space on my 100GB hard drive. Where can I sign up to this marvellous dream?
  11. duck pond by twiggy · · Score: 3, Funny

    as long as they code "duck pond" and put it in a cartridge so I can play it in my old Intellivision with the Atari adapter, I'll be happy...

    mmmm, duck pond.. now with new color graphics!

    --
    http://www.babysmasher.com
    http://www.openingbands.com
  12. When I was a youngin' by Anonymous Coward · · Score: 5, Funny

    We paid a buck a byte, and we liked it! None of them fancy schmancy kilobytes, and most definately not 20 of em! With 20 of em, we could've written programs to launch people to the moon, and get em back safely again! And still had room to fit the bible in too! Heck, we could've done that in 10! You kids these days and your fancy megabytes, and gigabytes... I bet you've never had to walk to and from school up hill in both directions, either.

  13. Rom Size by skintigh2 · · Score: 5, Informative

    '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.'

    Initially, games were 4KB. But there were also 8KB games (I believe on a single ROM, but I may be wrong) and with an extra chip in the cartridge to handle addressing games of 16KB could be squeezed in.

    For instance, Solaris, which was the best gane ever. http://skintigh.tripod.com/atari/solaris.html

    Less related: there were cartridges that I assume had 64 4KB roms. The first was a menu to select which of the games to play. I also assume this was done without permission of the copyright holders. Then there were tape drives...

  14. Re:oo.o rules by gewalker · · Score: 5, Funny

    The bloat for a Word document is no doubt completely justified by its ability to host a virus capable of bring the Internet to its knees.
    The 4K Atari cartridge ROM is only capable of enabling you to play a silly game on your television.

  15. 20kb by istartedi · · Score: 4, Funny

    Well, if they didn't append your medical records to every Word file, it really wouldn't be that bad. :)

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  16. Game Design, then and now by Sebastopol · · Score: 5, Insightful

    I see two angles here.

    1. the number of programmers has exponentially ballooned since the early 80s, leading to a larger number of less godlike programmers, AND programmers have become more reliant on fat libraries and limitless resources, so coding something this small would bend my brain for sure.

    2. game content has changed dramatically. q bert was weird. space invaders was weird. pac man was weird. (yes, sports games did exist, but they weren't mainstream then). games today are less weird. it's either a first person shootemup, sports, or a linear fiction w/some combat.

    Focusing on #2, I'd like to see if there really is some creative game writing locked away in some programmer's brain out there, or if we've become a nation of UnReal, GTO, Final Fantasy, and Madden XFL clones.

    I don't mean to put down these fine games, I enjoy many console games. What I'm trying to get at is the utter weirdness of what people come up with when severly limited by resources. Facsimile and simulation are out the window, so you really have to dig deep for a good game.

    We'll see, I'm very interested in the outcome. Maybe the winners of the IOCCC should check this out.

    --
    https://www.accountkiller.com/removal-requested
  17. The Good Old Days by FormerComposer · · Score: 5, Interesting
    Working on the Tandy Color Computer was similar. I programmed Super BustOut for the initial release of the machine. 4K Rom, 1K Ram (1/2 of which was the screen.) You had to squeeze every byte out of the 6809's instruction set (one of the greatest processor designs ever!) But we ended up with a great game ... like Breakout but with
    * 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?

    --
    For most purposes, 355/113 is close enough.
  18. What about new titles for MAME? by Billy+the+Mountain · · Score: 4, Interesting

    It seems to me that the Programming for the Atari 2600 is like working a Chinese Puzzle. Previously, I've wondered why not write new titles for MAME? It's available on multiple platforms and probably not so hard to develop on since it's emulating newer architecture.

    BTM

    --
    That was the turning point of my life--I went from negative zero to positive zero.
    1. Re:What about new titles for MAME? by BigJimSlade · · Score: 3, Interesting

      Ask and ye shall recieve:

      Arcade Development Central

      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.

  19. Bigger isn't necessarily better by WIAKywbfatw · · Score: 5, Insightful

    It's hard for kids these days to imagine a PC with anything less than 128MB of RAM and a graphics card equipped with 32MB of it's own (512MB and 64MB are typical figures on newer PCs and graphics cards) but, back in the day, we got by just fine with only a few KB to play around with.

    Sure, Tank and Space Invaders on the Atari 2600 weren't deep, multi-layered games but they did provide hours of fun. Similarly, Paradroid, Wizball and even Elite, the cream of the crop on the Commodore 64 would seem dull and shallow to most of the new generation of gamers used to the depth of Grand Theft Auto 3, Starcraft or EverQuest.

    But, to those of us who were gaming back then, these titles were as immersive and addictive as anything available today. Hell, I still fire up VICE (the best C64 emulator available) to play some of those titles today, and not just for nostalic reasons - back then, without the flashy graphics and sound games had to be immediately playable and fun or else they just didn't capture the imagination.

    Who remembers breaking joysticks waggling them back and forth playing Track and Field? Who remembers the pride they felt when they finally reached Elite status? Or when they completed Impossible Mission? The shear unadulterated fun of playing Pong and Breakout for hours on end, not giving a damn that the last five minutes weren't at all visually distinguishable from the first five?

    It's funny, but even though I'm an avid gamer I've bought fewer games in the last two years than I have in any one year before that, going back as far as 1983. Partially this is because today's games have more depth to them, but mainly it's because there are fewer and fewer titles that really enthuse me any more.

    The lack of originality in the games industry today is part of it - I haven't seen a truly original game since Populous - but, ironically, I don't think that today's games capture the imagination half as much as the games of yesteryear.

    --

    "Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
  20. The Zen of Optimization by dmorin · · Score: 4, Insightful
    The domain you program for brings out different skills. If you get into the mindset of using as few bytes as possible and bumming everything you can, then you can do what appears to be magic. of course, you won't be good for much else :), but one thing at a time. There are tradeoffs, always, such as time/space. But I expect that readability and maintenance are in there somewhere, too. :)

    Last week over lunch a developer posed a programming problem he'd been given on a job assignment. We all suggested a similar algorithm..then I went home and coded it. Then coded a more optimized one. And said I wanted to optimize it more. They asked me why it mattered that in one iteration I had two multiplication operations, and in the second version I had one. Why, because it's faster, of course. That's the sort of thing that's meaningless to an enterprise middleware programmer (for the most part), but everything to a game designer. Maybe you're doing this operation 10 million times a second, and every nanosecond you shave counts.

    Hacking means working with the resources you have in the constraints you've been given. It's a shame that so many developers now would look at challenge like that and just dismiss it rather than seeing it as an opportunity to wake up some parts of your brain you don't normally get to use. Why must "solve it" mean "solve it once" instead of "give me the best solution"? It's a pretty safe bet that if you stop at one solution you haven't found the best one. Why be pleased with that?

    Duane

    "256 bytes? It's impossible to write a game in 256 bytes! I need over 100 bytes just to pull the A20 line high and enable extended memory!!"
    - badly remembered quote from a rec.games.programmer who just didn't get it

  21. Massively Parallel Word-Processing Supercomputer! by Tsar · · Score: 4, Funny

    "A two-word file in Word 2002, for example, requires 20 Kbytes."

    Did anyone else read that and think "10,240-BIT WORDS? What kind of workstation is that running on?"

  22. Re:oo.o rules by bloo9298 · · Score: 3, Funny
    If you want efficiency, use HTML.

    *Choke*. You're under 25, right?

  23. Stella programming by Darth+Maul · · Score: 3, Interesting

    What's even more scary than the 4K ROM limit is the 128 bytes of RAM. Yes, 128 bytes. 6502 assembly is easy, and the Stella chip architecture was an amazing acheivement. Read the Stella Programmer's Guide (available here) to be truly amazed at what it took those guys to develop games.

    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.

    --
    --- witty signature
  24. Second article on ExtremeTech--wireless Atari! by MarkRH · · Score: 3, Informative

    By the way, we also published a second story last Friday on the connection between Microsoft's SPOT smart objects and a wireless games distribution platform from Atari that was field-tested, but never produced. (You thought the Xbox was huge...) With pics!

  25. Doom has been ported to everythinge else... by Dugsmyname · · Score: 4, Funny


    Doom has been ported to everythinge else, I can't wait to see the 4Kb version on the Atari 2600.

  26. 2600 Homebrew Games Already Released by TheAlchemist · · Score: 5, Informative

    Here is a fairly comprehensive list of the homebrew games that have been released for the 2600 in recent years:

    2600 Homebrew Search Results

    And here is a list of games that are currently in development for the various Atari consoles. This list changes pretty frequently, and there are some projects not yet listed as the authors aren't very far along with them (Yes, I know that last link is listed in the linked story, just including it here for the convenience):

    Titles In Development

    A list of Atari 2600 games that have been hacked to change the graphics, sounds, colors, and more!

    Atari 2600 Hacks

    And finally, many games that were only released in either NTSC or PAL formats have been modified to work with the other television standard. This is useful for people who have the ability (such as through a Cuttle Cart) to play these binaries on a real television:

    Atari 2600 TV Format Conversions

    Enjoy!

  27. Re:real programmers do it in less than 4K by FyRE666 · · Score: 4, Interesting

    Amen to that! I used to code x86 for demos and BBS intros, games etc and I was amused at the time to see simple C programs weighing in at 30-40 times the size to accomplish the same tasks ;-)

    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!!

  28. 4K Goatsex could work! by YetAnotherName · · Score: 3, Funny

    Finally ... the only safe way to view the goatse.cx picture.

  29. Re:No offense but. . by Bastian · · Score: 4, Funny

    at 18kb for the Word *.doc version of my term paper and 8kb for the OpenOffice *.sxw version, I don't think either of them would fit on an Atari 2600 cart.

    Granted, the OpenOffice file is merely bloated while the Word one is reminiscent of the restauraunt scene in Monty Python's The Meanting of Life.

  30. Retro by Stween · · Score: 3, Informative

    For anyone interested in games of yesteryear in the UK (like myself), I'd recommend the Edge magazine spin-off Retro.

    The current issue has a truckload of "The making of..." articles from Edge, covering a lot of games up to the early 90's, including: Space War, Asteroids, Battlezone, Civilization, Carrier Command, Populous and many others :)

    I bought it today and it's excellent, IMHO :)

  31. Ah, memories by mr_death · · Score: 5, Interesting

    I was the co-developer on the Atari 2600 versions of Jungle Hunt and Pole Position.

    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 ... but oh, what memories.

    --
    It's Linux, damnit! Pay no attention to renaming attempts by self-aggrandizing blowhards.
  32. Ah yes, the 6809... by renehollan · · Score: 3, Insightful
    ...complete with SEX, and BRA instructions (Sign EXtend, and BRanch Always -- of course, in the interest of an orthogonal instruction set you had LBRA (Long BRanch Always), as well as BRN, and LBRN (... BRanch Never) -- rather goofy NOPs really, but great for timing loops. Oh yeah, there was also a JMP (JuMP) instruction, if ya dina' mind the 'bsolute addressin'.

    I once hacked together a "multi-line BBS expansion board for an Apple ][" that was 6809 based in 17 chips: 6809, 6883 DRAM controller (two banks of 32K), 2 64Kx4 DRAM chips, a 32K EPROM, three PALs (mostly address decoding), 4 2681 DUARTS (one on the Apple side of the bus, one on the 6809 side for a serial link between them, leaving a spare serial port on the apple side and five for modems on the 6809 side, and buffering chips for a fully independent backplane (separate from the Apple bus).

    Coded the whole damn thing in assembler too.

    Man, those days were fun! I think I still have that board (wire-wrapped, of course) for posterity. I remember the 6502 had this wierd read after write which didn't jive well with the 2681, so I had to disable odd address reads in the memory space of the card from the Apple side.

    --
    You could've hired me.
  33. Word Document Sizes by Shaheen · · Score: 3, Interesting

    I hate people that talk about Word document bloat as if they know exactly what's going on when Word saves a document. "Look! A one word document takes 20KB! Word is crap!"

    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.

    --
    You should never take life too seriously - You'll never get out of it alive.