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