Game Development Community

dev|Pro Game Development Curriculum

Hover Racing Update

by J.C. Smith · 06/06/2008 (9:57 am) · 8 comments

It's been a pretty hectic month for me. Age of Conan was released, and my day job responsibilities had me building up our database for the game. That continues to be taking the majority of my days, which has set coding back a bit. It has been a few weeks though since the last update, so I figured I would give another progress report.

At the bottom of this update you will see a screenshot of the Python track, which is a work in progress. This is a polysoup track that was designed by Steve at Arteria Gaming ( www.arteria3d.com ) . Steve has also signed on to create two additional tracks. Work figures to stay busy for the next week or so, which means a release late this month is not likely. Most likely this will be finished though in early July. No decision has been made yet on how we will be selilng this product. Most likely I'll ship a demo first which contains a couple of tracks, make sure that there is no hardware issues. Get some user feedback and then release a full scaled version shortly after.

The majority of this post will be dedicated to the aforementioned Python track, which is depicted below. This track posed an interesting problem because we needed the terrain to conform to the track. That meant that Atlas was out and Legacy was in for this map. Obviously the performance on Legacy is not up to speed with the performance of Atlas, so some compromises had to be made. Polysoup does have a problem if it is clipped by the viewing distance. The view distance has to be larger than the polysoup object or the entire object will be clipped. That doesn't server a dense Legacy terrain very well. The result is that we had to use a block size of 8 to keep performance up on slower machines. Visually, this isn't a problem. The terrain still looks decent, and its flying by quickly during a race. The problem with a large block size and fast vehicle speeds is that the vehicles can very easily fall through the terrain. I had to write some special code for this map (the only map which uses Legacy in the title) which does a per tick check to make sure that you are not beneath the terrain, and if you are will push you on top of it. If you do fall beneath the terrain this may cause a momentary jitter on the screen, but you will not fall through. Since the majority of your time should be spent on the track and not on the terrain to begin with, this isn't a major problem.

I did want to take some time to talk about polysoup though. All in all, the performance has been just fine with the polysoup track. I haven't had any major problems and it was easy to integrate, by just tweaking the hover point and making sure that the Static objects were added to the contact collision. The one area I am having issues with at the moment is in the caved areas, if you fly directly into a wall at high speed, you can get stuck. I think this will be a relatively simple problem but my coding time has been very limited in the past three weeks, and I've had to work on coordinating some of the graphical changes with artists, so I haven't had time to find a solution just yet.

There is also still some issues with vehicle to vehicle collisions causing some minor stutters to the frame rate when they occur at high speed. With the speed of the vehicles, this doesn't happen very often, but it can cause a split second stutter when it does, and is something I'd like to eliminate.

Since the last update I have extended the powerup system to include some Wipeout style modifiers. The original powerup system (which is still in-game, as well) included 7 different powerups which spawned at points on the map and could be grabbed for either an immediate modifier (in the case of speed, energy, health or shockewave) or a triggerable ability (in the case of missiles, magnets and bombs). I have now also added some Wipeout style modifiers which are permanent on a track (they do not respawn) and which will modify your physics as you run over them. This is for things like speed boosts, side thruster modifiers and braking areas.

So what's left prior to launch? The Python track still needs to have its AI pathnodes implemented. The Wailing Chasm track also needs some pathnode tweaks as the AI controlled racers have a tendency to crash a bit too much into the narrow walls, and destroy themselves before they can complete the race. The single player management system still has to be written. Only one vehicle type is currently available, but the plan is to add three other vehicles with minor engine tweaks between each. So that will need to be balanced. Three of the six tracks have been designed. There will be three Atlas based, offroad style maps, and three polysoup maps. The three as of yet undesigned tracks include an underwater map, a city map and a jungle offroad map. The three maps currently designed include a flat map with many powerups, a narrow canyon path with multiple choice paths, and the python map below which is long and winding.

71.18.167.9/python.jpg
NOTE: I have not yet created the cubemap for this track (WIP), and as a result the ship is using a cubemap from the chasm map, which results in the ships appearance looking slightly off colored for this map.

#1
06/06/2008 (10:15 am)
Wow, looking good JC!
#2
06/06/2008 (11:05 am)
J.C. The screenshot there looks great! My own proof of concept piece is going to have an extensive amount of hover and flying vehicle mechanics in it, so if you don't mind I might shoot you an e-mail from time to time getting your opinion on how you solved a few things, and maybe some advice on physics parameters.

Awesome work, and I'd love to try the demo when you guys are ready for people to see it.
#3
06/06/2008 (11:55 am)
@Devon: No problem. You can use the email attached to my account here, I check that one most frequently.
#4
06/07/2008 (3:56 pm)
J.C - looking good. Any plans for a tractor beam to keep the player on the track ? :)
#5
06/07/2008 (4:58 pm)
As it stands right now you can drive wherever you want. On the offroad tracks that allows you to shortcut some areas, so long as you hit all of the checkpoints. The Wailing Chasm map has two options, the first being safer, while the second involves a long jump over a canyon that will allow you to take a shorter, but more dangerous route, for example. Two of the three remaining tracks will be encased in tubing, one due to being underwater and the other simply by design, while the third is another offroad track. So as it stands, I doubt we'll use any means to keep players on the course. There is an overhead map which should help them realize where they should be, and the rest is up to them.
#6
06/15/2008 (4:33 pm)
Looking forward to some off-world racing.
#7
07/20/2008 (1:25 pm)
What method did you use to make your tracks?
#8
08/17/2008 (4:49 am)
I'm not sure of the exact process used on the polysoup tracks, they were done by Steve from Arteria3d.com, perhaps he can answer the question for you. For the terrain based atlas tracks, they were created using Grome.