Vaporware and Stripes

Finally my final exams are finished. I don’t have the marks for all tests yet, but for the oral exam in history I got 15 out of 15 possible points, which is equal to a 1+ in Germany or A+ in America, if I understand American grades correctly. And now for something completely different.


In some forum someone claims to write an extremely cool engine and game, together with a few friends of his. I think he’s lying. Because there is likely to be an embarassing situation if I’m wrong, I decided to post my doubts not in that forum, but rather somewhere where nobody ever looks - which means here. The plan is that I post a link to this article if it ever becomes official and say “See? Told you so.”

I’ve got some points that make me believe this game is vaporware (software that doesn’t really exist, but still gets promoted). First of all, two of the three screenshots that were shown over a long period of time have no texture. He claims that this was done to retain some surprises. Also, one of the screenshots lacks essential parts of the detail and even environment and just shows a blue background. This very same screenshot claims to be an in-game screenshot, yet the one character you can see is in spread-eagle position, as if someone had put it in there in a 3D animation program and didn’t bother to pose it correctly. Especially because the artificial intelligence is claimed to be very advanced, I don’t really buy this.

A point that is also very interesting is that nearly all my questions about technology weren’t answered at all or with more than just babble. One example: Imagine a situation where the driven wheels of a vehicle are standing on a wood plank. Now, if someone pushes the accelerator, what happens? If physics are done correctly, the wood plank would fly away. If they were done by cheating, e.g. ray cast physics (no, I won’t explain what that means right now), it would stay where it is and the car would move as if it was on solid ground (I use no ray cast physics, but arrive at the same result). The last acceptable answer is always “I don’t know”. The answer I actually got was along the lines of “Our vehicle physics are really cool and you’ll see lots of stones and dust flying around and stuff”. That might have been a nice answer if I had asked about this, but I didn’t.

Another example is the question how they manage to have huge levels without performance problems. The answer was more or less “We just use the GPU and CPU in the best way possible”. Sounds nice, says nothing. Basically the same answer was given to the question how well the game runs on older computers.

It is also very interesting that the guy got his programming knowlegde from making 3D commercials (which require far less programming knowledge than making a game), that the game features every effect (including fully destructable terrain) that was ever mentioned in game marketing yet took only two months to finish the engine and that performance is four times better than the competition.

I don’t know for sure, but if someone makes a poll I’ll vote for vaporware.


My own game, Snow, is no vaporware, although sometimes I believe it is myself. At the moment, I’m working on making vehicles abstract and controlled by Javascript. If that works, it should be easy to get that SD40-2 to driveable. But such a project requires work deep down in the bowels of my code, which means that for some weeks now I wasn’t able to produce a working, current version of my game. Believe me, this is very annoying.

I still got some old screenshots that I wanted to post here but didn’t get round to, so I’ll do so now.

First of all, I recently fell in love with Inform, a very nice drawing program. Unfortunately, I have no use whatsoever for a very nice drawing program. Anyway, here’s something that I slapped together in about two minutes:

Cover of a handbook for snow

My last big issue that I was working on: To improve performance, I switched landscape rendering from display lists to vertex buffer objects. Both sound bad but are not really, but I am not certain whether this changed anything yet. The point where the problems started were when I changed from triangles to triangle stripes. Triangle stripes ought to work faster than triangles, but the problem I had was that all triangles drawn that way have to poin in the same direction, which means they have to have the same winding order (order in which the points are specified) when viewed from above. I had to do this with the old code as well, but with stripes it got harder.

The landscape is stripey, and some lone lines are flying around

This screenshot means that only every second stripe was pointin in the right direction. I did a lot of experiments, one of which gave me the following:

No stripes, but not very much landscape either

Here, all faces were pointing in the wrong direction. Can you believe that I did not manage to reverse them? I did a lot of thinking:

Different attempts to get this working

Now, it finally is, but I had to insert some mean hacks. Anyway, it’s working now, I’ll keep you updated if something interesting happens.

Written on May 7th, 2006 at 10:52 am


    New comments can no longer be posted because it got to annoying to fight all the spam.