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:

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.

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.

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.

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.

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

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.

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.

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.

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.