8 Bits of Spacewar

 By Shamus Mar 8, 2007 22 comments

A few days ago I mentioned the Great Games Experiment. The site has listings a-list PC titles, console titles, flash games, freeware, indie stuff, abandonware, etc etc. One in a while I’ll run into an entry like this one: 8 Bits of Spacewar. It’s supposed to depict 8-bit gaming. The game does a good job of re-creating the look & feel of arcade games of the mid-80′s. Look at the bottom of that page under system requirements:

System Requirements
- Windows Vista or older Windows with .NET 2.0 and DX9.0c
- 3GHz or higher CPU
- Graphics card with shader model 3.0

It is totally, absolutely, and in all ways, preposterous. Requiring a next-gen computer to run a game with 20 year old graphics is loco. How do you mess something up this bad? Whats next? A version of Nethack that requires a dual-core machine with a terrabyte of memory to run smoothly?

Sigh. I’m sure whoever made this thing will be working at a major game house in a couple of years, making an RPG that requires a $2,000 PC to play.

Egads.

20222 comments. Hurry up and add yours before it becomes passé.


  1. Browncoat says:

    “It is totally, absolutely, and in all ways, preposterous.”

    You keep using that word. I do not think it means what you think it means.

  2. gedece says:

    That guy is crazy, he might be emulating Commodore and Spectrum to do this (BTW, Commodore 64 FTW), but that could be done with a 386 ages ago.

  3. Roy says:

    Ludicrous!

    Yeah. I love it when a game that ought to have pretty minimal sys-reqs turns out to be a total monster. Ridiculous. Totally ridiculous.

  4. Mike says:

    I agree that powerful machines aren’t necessary to play ancient video game classics but what we’re seeing here is the requirements of the modern toolkits the developers used to construct these simulacrums. .NET 2.0 and DirectX probably create 90% of those requirements by themselves.

    Could the developers have written 8 Bits of Spacewar in x86 Assembly and packaged it as a 5MB download? Yeah, probably. Will that ever happen again in modern software houses that create games for computer platforms and operating systems with two decades of built-in complexity? Nope.

    Break out the C64 emulators, my friends.

  5. WysiWyg says:

    Browncoat:

    >preposterous
    >
    >(prIÈpst«rS) adj contrary to nature, reason, or
    >sense; absurd; ridiculous
    >
    >[C16: from Latin praeposterus reversed, from prae
    >in front, before + posterus following]

    So, as far as I can tell, he uses it quite accurately. And now for the $1000 question: what do YOU think it means?

  6. Shamus says:

    WysiWyg: I was actually using a badly mangled quote from the Princess Bride. Browncoat spotted it, and – failing his WILL save – echoed the following line from the movie. :)

  7. I think Mike is right on the money.

    I bet the developer was using XNA, Microsoft’s new “cross platform” (meaning XBox 360 AND Windows PC… what did YOU think cross-platform meant? :) ) software development library. It requires .NET 2.0 and DirectX 9.0c (I think), and C#.

    The good news is that by using it, you can put together a simple game really, really easily.

    The bad news is that the layer it is built on requires a pretty modern system.

    Torque Game Builder is another that shares the same problem (in fact, it’s been converted to “Torque X” for use with XNA). It requires 3D accelerated graphics, but it’s only a 2D game engine. Fortunately, most people have 3D acceleration in some manner today (even if it’s crappy on-the-motherboard IBM 3D acceleration), and the flip side is that you can throw some honest-to-goodness cool 3D elements and particle effects into the game virtually for free.

    In the XNA case (assuming that’s what 8 Bits of Spacewar uses), the author may only be using 1/10,000th of the potential, but you still have to have a machine capable of handling all that potential.

  8. Steve says:

    Shamus Says:

    WysiWyg: I was actually using a badly mangled quote from the Princess Bride. Browncoat spotted it, and – failing his WILL save – echoed the following line from the movie.

    Yes, but the trick is only to do that when the line is apposite, and a statement that uses a couple of words shared by another is hardly a quote, mangled or otherwise, especially when the shared words consist solely of prepositions*.

    This is a gaming group in-joke specific to your circle of D&Ders, isn’t it Shamus? A code phrase shared amongst a smug elitist inner circle, with no posible semantics outside that group. :o)

    Steve

    * The word that triggered the “do not think that means what you think it does” episode in the book/film was “Inconceivable”, which is notable for its total absence from It is totally, absolutely, and in all ways, preposterous.

  9. Barron says:

    As a .NET developer, I can definately believe this. Back in the day when this would have been written, these would have been written to use the hardware as efficiently as possible. This time, there are probably a half dozen layers of abstraction, all of which do fity times as much stuff as you need. Unfortunately, the bean counters like it because development is much cheaper. Some days I _really_ miss C++

  10. I bet the developer was using XNA,

    You don’t have to bet. It says so right on the bottom of the page:

    “Credits

    Created from the XNA Spacewar Starter Kit.”

    I wouldn’t be surprised you could end up running that on much simpler kit, though; that’s probably just a generic requirement for all XNA-based games.

    Then again, never underestimate Microsoft’s power to provide a framework that consumes vast resources just to make something that was already easy, easy.

  11. Shamus says:

    Steve: The joke is specific to whoever recognizes the quote. I don’t know Browncoat personally. I sort of just threw the quasi-quote out there to see if anyone would bite.

  12. Steve says:

    Sorry Shamus, Browncoat, I keep forgetting you can’t see me when I type these things.

    Please re-read envisaging me grinning like stink the whole time.

    Steve.

  13. Shamus says:

    Doh! The signal-to-misunderstanding ratio of this thread is just inconceivable.

  14. Browncoat says:

    Shamus, if you ever come to the Poconos, you can meet me personally. For that matter, I’m from Pgh. Next time I come in (no idea when that will be), I’d be happy to buy you a Primante Bros Sandwich.

    My “Will Saves” on such things are very hard to roll.

    Aside on that word “Preposterous”: Bob Verini has been on Jeopardy several times in the last 20 years–Five time champ, Annual Tournament of Champions Champ, played in a couple other tourneys over the years, including the one with Ken Jennings a couple years ago. Anyway, I had the chance to meet him (at an unrelated event). Over pizza, he told those of us who were listening about the Million Dollar Tournament of Champions. In the finals, he got a Daily Double in “Word Origins”. The answer talked about a word that meant roughly “absurd” and had parts of the word meaning “before” and “after”. He missed it (which I thought (after I met him) was a shame, because he was such a nice guy). The word was Preposterous. “Pre” and “Post”. “Before” and “after”. Neat.

    The point of the story is that if Bob reads DMotR (which would not surprise me entirely, since he used some of his winnings to start a magazine, through which he was able to get a sneak peak at the LOTR movies and an interview with a big-mucky-muck associated with the movies), he may have read this post, and all these comments, and he would cringe at the heavy reliance on this word.

    Not a very good point, mind you. But a point.

  15. ShadoStahker says:

    Actually, from the video, this does not use 20-year-old graphics. Watch the first video, when the player is choosing their sides. The ship is a tiny 3d model spinning there.

    So it’s actually using a bunch of 3d models, on what seems to be a very large map, to wage a war between two 20-year-old consoles using 20-year-old gameplay.

  16. Specs are totally off, I agree! He could have probably done the exact game with Flash 8/9 which requires a far lower system. After all the screenshots don’t justify the high systems reqs.

  17. Dirk says:

    Sifn’t use Python with Pygame. As cross-platform as SDL, about as easy to develop as logically possible, and 100% libre. Even being a dynamic language, overall the overhead is notably less than these many layers of heavy frameworks which happen to only work with Microsoftware. Considering you can make standalone EXEs of Python programs containing any number of libraries (native or pythonic), there’s really no excuse. And you can even deploy to .NET with e.g. IronPython, though I don’t think Pygame has a port to that.

  18. Bogan the Mighty says:

    But yeah they are right. Chances are that it was XNA that was used to create that game and probably a lot that you’ll find on the site of yours. Personally at first glance I thought it was something called SAGE cause I just happened to be looking at it today after learning about it at this SIGSCE thing that I am attending right now. The requirements are about the same and it should be very simple to create a game because it was an engine made to teach game development in the class room. Also just a random note. Since this SIGSCE is geared toward teachers I found the talks to be rather entertaining. They are talking about ways of using things like game development to trick students into thinking they will enjoy computer science and they’ll end up being stuck with the major by the time they realize that hardly anyone will ever create a program and its too late for them to switch majors to get out. Also its entertaining to watch Microsoft’s stuff not work during any presentation they give.

  19. Bogan the Mighty says:

    Oh yeah and I almost forgot. I got some spiffy new software that you might like to play with Shamus. I’ll have to stop by next week since I’ll be on Spring Break.

  20. Retro says:

    After seeing a debate going on one of the blog’s concerning this requirements I am adding some clarification as to why you need such an uber machine to run 80s graphics.

    The simple answer: IT’S PROGRAMMED REALLY SHITTY. This was done for a competition and we had 2 weeks. I coded it on my 3.6Ghz Pentium4 with Radeon X1900 graphics card. It is a mod of the Spacewar Starter Kit which by itself runs on 300+ FPS on my machine. So in this 2 weeks I’ve done some really ugly unoptimized coding to add all the extra stuff in, some really expensive AI that just scans the whole space, particle effects that render even if they’re off screen and so on. It ran above 30FPS on my machine so I left it as is. When transfered to the Xbox it runs there there too.

    Now if I were to design this game nicely without haste and took the time to optimize you could be running this on an everyday machine. XNA has nothing to do with this, only brute force coding on my side due to the competition deadline.

    OH, BTW, the community has also transfered the Jasper Java ZX Spectrum emulator to XNA, so I have seen that running as well. But having an emulator execute the same 80s machine code is something different than having a full 3D game (with crappy code behind too, yes, it really is the true reason for why it needs a fast machine) with a pixel shader on top that makes it look like it could be run on a ZX Spectrum.

  21. Sewblon says:

    He made the RPG that requires a 2000 dollar PC last year

    http://www.thewitcher.com/index.php

    except it was a 2500 dollar PC. I may just be under a computing curse.

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *

*
*

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!