About
Progress
Screenshots
Downloads
Technical...
Contact
Links
Forums
Guest book
Stunt Mania : Progress to Date & Screenshots
Work has barely begun. At the minute more work is going into design than code. This page will feature new entries either when various milestones are reached in code or just when a nice new screenshot is taken. Click a shot to see a larger version.
06/12/2002
screenshot on 06/12/2002 This will probably be the last progress update posted to this site. Why? Because we have a new URL and a new site (free from popups, pop unders and all that sort of thing) coming within a matter of weeks. Horay!

The screenshot doesn't show Stunt Mania, as the more observant amongst you will have noticed. It instead shows my little 'car physics test bed' program. which I am using to get a decent and well implemented mathematical model of a car, before I go assaulting the main code. The trick is obviously getting the right compromise between flexibility and complexity, especially if we want to include models as diverse as the various suggestions currently adorning the guest book!

For reference, the test app 'correctly' (i.e. as far as designed) models the following behaviour at present : understeer, oversteer, weight transfer, slip. I need to do a little bit of fixing on such minor matters as steering (the requirement for the front wheels to point in the same direction is currently a soft constraint, whereas a hard one is requierd), brakes (there are none) and gears (at present exactly one gear with a very unrealistic torque output is simulated). I may upload this test once it is complete.

In other news, an updated file format for objects which includes a whole wealth of useful collision information and a 3ds importer to write to this new format are both approaching maturity. Also, only 18 of the 56 Sports 4d Driving objects remain unstarted, although arguably as many as 40 remain unfinished.

10/09/2002
screenshot on 10/09/2002 Very much has changed, as you might hope given how long it has been between progress updates! The physics are still hardly a done deal, but I don't think that will surprise many. I am new to this stuff, and my time is not infinite. As the screenshot shows, things are moving forward, just as I say, not with impressive speed. My collisions code is approaching the point where it does the right stuff, in a stable manner, as shown by the 'car moving down hill' screenshot just over there.

Other changes are purely that I have now written a (non-perfect) Stunt Mania to 3ds exporter, and an importer is on the way. Which is good because other members of the team are starting to come up with models. Some 3ds files have been added to the Downloads page, but I'm fairly sure translucency information is not properly exported in it. I seem to be messing up 3ds percentage chunks. If anyone can help . . . .

On the topic of file formats, it is looking quite a bit as if Sports Car GT type cars will either be the native format, or will be supported for import. See Speedsims.com for a massive collection of these + some editors.

Unfortunately development has slowed due to a problem with my machine. As the screenshot implies, I have installed an NVidia Riva TNT2, which was meant to speed up debugging massively since it supports rendering in a window, where my 3dfx does not. But in actual fact it has slowed the whole ordeal, because it simply refuses to work with Windows 95 - the OS just resets itself on startup. Luckily I have Windows 2000 installed on this machine also, and it works perfectly in that - I'm just greatly hindered by the fact that my machine is hardly Windows 2000 material to say the least. Even immediately on startup without running a program, the OS has allocated ~64mb of memory, and I only have 48mb of RAM! In fact, my machine only supports a maximum of 64mb of RAM (which I have ordered), so things will never be great.

Don't worry though, the machine is not unusably slow, but I hope I can come up with a solution so that I am not stuck with Windows 2000 until the year 2005 or whenever I can next afford a new machine!

Anyway, enough of the dull personal stuff. I hope to have a new demo available within a month, which will be much the same as the last one, but with some more realistic physics (you'll feel as though you are manouvering a rectangle, correctly rotating and feeling gravity, rather than the always upright sphere without proper gravity of the last release) and possibly some more track shapes if I get the 3ds to Stunt Mania importer working in time.

28/07/2002
No new screenshot because there is nothing much new to see, but then what did you expect when I am working on the physics currently? Anyway, I have to go away again tomorrow for at least a week, probably in the order of two or three weeks, but I have good progress to report.

After the surprisingly high quantity of publicity Stunt Mania has attracted - for the record I wasn't expecting anything like this response, especially not for it to end up on opengl.org - I'm starting to put together something of a team! Obviously it wouldn't be fair to go mentioning names while most involvements are still speculative, but people have expressed an interest in potentially helping with the following two key areas :

  • artwork
  • artificial intelligence

These areas being key not only because they can make or break a game, but also because I am not any good in them. Also, Filippo DN has pointed me toward the GPL library, ODE, which means that working on the physics has shifted completely from me coming up with code for maths I more or less understand but which there is a lot of to me learning an entirely new library and interfacing it with what I want to do. I don't think the time frames will differ that much (we're still talking a month or two at least before I get anything I'm happy with), but the result should be a much faster and more stable implementation since the author of it is a professional in the field and I am not.

Also, as a result of both the arrival or artists and also an unrelated offer, support for importing your favourite object formats (3ds, blender, lightwave, those sorts of things) into Stunt Mania should eventually be forthcoming.

Finally, I have discovered there is such a game as Hard Drivin' 2, distinct from Race Drivin', which features a track editor, and I have loosely started trying to reverse engineer the file format it uses. The editor is substantially more complicated (and hence flexible) than that offered by Sports 4d Driving, so reverse engineering may prove too much for me, but should I succeed the benefits will be very large - Stunt Mania will be able to offer the classic Hard Drivin' track!

16/07/2002
screenshot on 16/07/2002 Just a small update, since I've been away from the computer again for the past week, to summarise the feedback on the 06/07/2002 release. These issues with respect to the current code were raised :

  • The compiled vertex array extension does not work on many older cards, including most 3dfx's, but works on all recent ATIs and NVidias with up to date drivers. However, it decreases the frame rate on those cards.
  • On some GeForce cards, the ground texture appears to jump a little when rotating.
  • On many cards, the floor can appear to fight with the road or water for prominence

None of which should be too difficult to deal with. It was also pointed out that things would look nicer if I added some lighting and included some higher resolution textures for people with cards that can take them. I'll look into both of those. Particularly, I don't actually have any higher resolution textures!

New code written since the 06/07/2002 release is minimal, but I have finally bothered to package my matrix/vector operations into classes, and have written some quaternion code as part of the preliminaries for rigid body dynamics. The screenshot shows a quick test of the quaternion based rotation.

27/06/2002
screenshot on 27/06/2002 Well, I'm away from my development machine again for a short while, but things are going quite well I suppose. The screenshot shows a graphical depiction (which is useful for debug purposes - obviously it will not be visible in the finished product) of a section of the polygon related quadtree - i.e. the collision tree. I'm fairly sure this is working now, so have written some of the code that modifies the movement vector the camera object wants to follow into one that is correctly adapted into however many sections it takes to correctly traverse the objects. Although that isn't really producing the results I expect, so will probably take a while longer.

Also there are some new game objects & some fixes to some of the existing ones, mostly just related to the bridges & ramps.

22/06/2002
screenshot on 22/06/2002 Just a small update to mark a month since I started.

I am today back at my development machine. I have made numerous small changes, including getting together some much nicer texture maps (a couple provided by 3DCAFE.COM), and a small programmatic change makes it very obvious when your graphics card can dispose of the texture's alpha channel and dedicate more storage to colour information - providing a better display for many people with slightly older hardware. Although the texture data file has swolen in size by a factor of about 10.

I have also renovated slightly the method used to convert Sports 4d Driving legacy track files into 3d data, reducing the total polygon cost. Which, combined with a smarter, hierarchical approach to object level clipping, means the prospect of even us 3dfx voodoo 1 owners being able to play without horizon clipping is very much back.

Collision detection isn't finished yet, but I am tantalisingly close! Expect the next demo very soon.

12/06/2002
screenshot on 12/06/2002 Being stupid is out and being clever is in! The code now clips large quantities of the scenery at the object level and correctly detects and sorts translucent objects. It also features a frame rate compensator and I've fixed a large error in the camera handling code.

Additionally the engine now uses compiled vertex arrays where possible. In total the whole game gets a large frame rate boost, although I don't suspect anyone with much above very low end hardware (like my 3dfx voodoo 1) will notice the difference.

I've created a few further game objects, mostly to do with the raised track sections, but I'm getting a bit bored of graphics related stuff, so have started on the collision detection and what will eventually be the Sports 4d Driving style car physics model. My structure of choice is a quadtree, should you wonder. I am hoping to have scenery interaction nearly cracked in the next demo, coming soon-ish. It'll have to wait a short while though, since I am now away from my development machine for a short period.

06/06/2002
screenshot on 06/06/2002 No great changes. To the casual observer, the changes are the enabling of mip mapping (a method of preventing textures becoming too ugly when reduced in size), the correct appearance of floor below all track details, and an increased quantity of track details. Also the centre of projection has been shifted up a bit to mirror the centre of projection in Sports 4d Driving.

The more technical observer might be interested to learn that I have discovered glPolygonOffset (which, for some reason, is not documented within the Microsoft VC 5 help files), which greatly eases file format & display considerations. It means I can draw objects which are coplanar with the grass without them either appearing incorrectly or requiring their own grass polygons.

Mip maps are currently generated by means of box sampling down the original texture in RGBA space as a pre-processed effect - which can throw up some odd effects. Particularly notice how the stripe in the middle of the road appears to get fatter as it gets further from the camera.

The screenshot is taken with all texture filtering turned on, so is near exactly how your 3d accelerator would present things.

26/05/2002
screenshot on 26/05/2002 Now I have started tackling the thorny issues of texture mapping & displaying track details. The screenshot shows a small section of track I made up myself to show every single shape for which an object has been created. That's an incredible four shapes!

As can be seen, the corner is not properly surrounded by grass. This is partly because I am becoming a little irritated with the limitiations of procedurally establishing track pieces in the main program. All of that will now be suspended whilst I establish a set of file formats for various things, and then start using those.

Also visible is that I have used a texture with American style road markings. This is an attempt to match the American stylings of the Sports 4d object set, which I feel I need to mention since I have never been inside American, and could do with some help regarding the markings expected at different road junctions.

Although texture filtering is switched off in this, the debug version, it is on for release builds. Also the current textures suffer a little due to having come from a paletted source, but this is not a necessary restriction.

Also in the engine are the preliminaries of orientation (a special orthogonal matrix, since you ask), location & communications between parts of the collision detection code.

22/05/2002
screenshot on 22/05/2002 At this stage the program can load the terrain part of Sports 4d Driving tracks and display them. The screenshot is of the 'Lakeside' track, downloaded from the internet & clearly showing the author's initials. Code is still less than 400 lines.




Sponsored LinksYour Ad Here