TGEA Hover Racing
by J.C. Smith · 04/30/2008 (1:42 pm) · 9 comments
It's hard to believe that I've been a member for over seven years now, and this will be my first ever blog at GG. Over the past year I've been working on an MMOG project entitled The Repopulation which is pretty close to release, though I've hit some snags in getting Python playing nice with TGEA 1.7 which have slowed me down recently. After a few weeks of fiddling with Python with very little progress I decided to take a break from it and since player created racing tournaments were on the to-do list I decided to have some fun with 1.7 and work on the racing code.
I'm about 10 days into this mini-project and here is what has occured so far:
- Implemented four different hover vehicles types. Each type can use a number of different paint job/skins, including different glowing panel colorations. These are hover vehicles and can accept thrusters in three directions, as well as Turbo Boosting (jetting). With some recent changes I no longer have any falling under the terrain issues. Players do occasionally get stuck and need to be lifted out of the terrain. This is pretty rare however, it's pretty hard to actually make it happen currently. This is done without messing with the networking, so this should still run well multiplayer. Though to be honest I have not yet tested it multiplayer.
- Fixed dust emitters so that they work on Atlas terrain, previously they only worked on Legacy Terrain
- Fixed a bug that was causing hovervehicles jet particle emitters to never activate
- Implemented an optional powerup system similar to the Wipeout games
- Implemented the ability to have AI racers fill when other players do not exist. AI racers are working pretty well at the moment and are a challenge to race against. They will jet and use powerups when available.
- Each map has its own cubemap which will appear properly on the vehicle code, using material switching.
- Added in my previous groundcover to atlas port but have tweaked it a bit more. It is not as easy to tell the differences between the patches, where previously they appeared as square blocks. If you aren't familiar with the groundcover system that was introduced in 1.7, it is a huge improvement over fxfoliagereplicators. Stock it only works for Legacy terrain, but I posted the source code to an quick atlas port on the forums. This supports blocking foliage from certain areas, as well as lightmapping.
- Designed two different maps. These are atlas maps, and the focus on both of them is to take advantage of the hover physics. There are many sharp curves to slide into, altitude changes and jumps. There are also multiple paths and forks on the maps, one path may be shorter but more difficult to navigate, for example.
- Added the ability to track player position in the race, in the screenshot on the right hand side you can see the names of the different racers. These are sorted by your place in the race.
- Converted the GUIHealth bar to support vehicles, vehicle energy (used for jetting and shields) and speed. In the screenshot the speed is at 0 because I stopped to hit the screenshot key but the green bar is for speed, red for health, yellow for energy.
- Created a map system that will track your position and other cars positions on the race track.
I really can't say enough about what a huge upgrade 1.7 was for TGEA. Currently I'm running in that setup at 1280x1024x32 at about 150 frames per second on average. Even in the worst case scenarios it doesn't dip below 60 fps or so. Under 1.03 the best case scenario might be 60fps and the average would be significantly lower. Better yet this frame rate is being accomplished without any LOD on the majority of those models, as I haven't had much time to play with art just yet, I've been working on getting the gameplay tweaked properly first. I'd guess that we'll see some further frame rate gains once LOD is added.
All in all, I'm pretty happy with the way this is turning out. It's turned out a lot more fun than I expected it to be, and I find myself spending far too much time racing against bots when I load it up just to test a feature. Although this was originally written to simply be a mini-game inside of The Repopulation, I am considering releasing it on its own as well, depending on how it progresses in the next few weeks. I don't plan on spending a huge amount of time on this project however, as I need to get back to porting Python soon. I'll give it a month or so, and see how everything is looking at the end of that time. Here's a shot of the progress so far.

I'm about 10 days into this mini-project and here is what has occured so far:
- Implemented four different hover vehicles types. Each type can use a number of different paint job/skins, including different glowing panel colorations. These are hover vehicles and can accept thrusters in three directions, as well as Turbo Boosting (jetting). With some recent changes I no longer have any falling under the terrain issues. Players do occasionally get stuck and need to be lifted out of the terrain. This is pretty rare however, it's pretty hard to actually make it happen currently. This is done without messing with the networking, so this should still run well multiplayer. Though to be honest I have not yet tested it multiplayer.
- Fixed dust emitters so that they work on Atlas terrain, previously they only worked on Legacy Terrain
- Fixed a bug that was causing hovervehicles jet particle emitters to never activate
- Implemented an optional powerup system similar to the Wipeout games
- Implemented the ability to have AI racers fill when other players do not exist. AI racers are working pretty well at the moment and are a challenge to race against. They will jet and use powerups when available.
- Each map has its own cubemap which will appear properly on the vehicle code, using material switching.
- Added in my previous groundcover to atlas port but have tweaked it a bit more. It is not as easy to tell the differences between the patches, where previously they appeared as square blocks. If you aren't familiar with the groundcover system that was introduced in 1.7, it is a huge improvement over fxfoliagereplicators. Stock it only works for Legacy terrain, but I posted the source code to an quick atlas port on the forums. This supports blocking foliage from certain areas, as well as lightmapping.
- Designed two different maps. These are atlas maps, and the focus on both of them is to take advantage of the hover physics. There are many sharp curves to slide into, altitude changes and jumps. There are also multiple paths and forks on the maps, one path may be shorter but more difficult to navigate, for example.
- Added the ability to track player position in the race, in the screenshot on the right hand side you can see the names of the different racers. These are sorted by your place in the race.
- Converted the GUIHealth bar to support vehicles, vehicle energy (used for jetting and shields) and speed. In the screenshot the speed is at 0 because I stopped to hit the screenshot key but the green bar is for speed, red for health, yellow for energy.
- Created a map system that will track your position and other cars positions on the race track.
I really can't say enough about what a huge upgrade 1.7 was for TGEA. Currently I'm running in that setup at 1280x1024x32 at about 150 frames per second on average. Even in the worst case scenarios it doesn't dip below 60 fps or so. Under 1.03 the best case scenario might be 60fps and the average would be significantly lower. Better yet this frame rate is being accomplished without any LOD on the majority of those models, as I haven't had much time to play with art just yet, I've been working on getting the gameplay tweaked properly first. I'd guess that we'll see some further frame rate gains once LOD is added.
All in all, I'm pretty happy with the way this is turning out. It's turned out a lot more fun than I expected it to be, and I find myself spending far too much time racing against bots when I load it up just to test a feature. Although this was originally written to simply be a mini-game inside of The Repopulation, I am considering releasing it on its own as well, depending on how it progresses in the next few weeks. I don't plan on spending a huge amount of time on this project however, as I need to get back to porting Python soon. I'll give it a month or so, and see how everything is looking at the end of that time. Here's a shot of the progress so far.

#3
And ditto on the Hi Octane.. I remember that, it came bundled with my snazzy new Creative Labs 3D Blaster SVEGA card.. It had a MONSTROUS 2 MB of video memory.. all for a little over $300!!
I'd still play that game if I could find it again...
04/30/2008 (9:01 pm)
Good job!And ditto on the Hi Octane.. I remember that, it came bundled with my snazzy new Creative Labs 3D Blaster SVEGA card.. It had a MONSTROUS 2 MB of video memory.. all for a little over $300!!
I'd still play that game if I could find it again...
#4
04/30/2008 (11:29 pm)
Great looking picture there, funny you mention HiOctane as I was just dusting off the disk for it the other day sorting through all my old games
#5
05/01/2008 (4:22 am)
Nice!
#6
Is the race ai based on set paths ?
05/01/2008 (6:12 am)
Thats some really nice additions to tgea :), Big fan of the wipeout games, so wipeout + podracing + large environments is a winner for me.Is the race ai based on set paths ?
#7
05/01/2008 (7:36 am)
Yeah the AI is path based using a hovervehicleAI class and some loose path size constraints so that racers don't backtrack if they go slightly off course.
#9
This looks realy cool
We are making a simelar game ina school project, But we are having difficultys whit the AI. We have tryed to modify the from Aiwheeledvehicle in TGE. But it dosent work.
So i was wondering if we by chance could get a peak at your AI?
Would rescue us from alot of grief and sorrow :)
04/21/2009 (11:58 am)
Hi J.C. Smith.This looks realy cool
We are making a simelar game ina school project, But we are having difficultys whit the AI. We have tryed to modify the from Aiwheeledvehicle in TGE. But it dosent work.
So i was wondering if we by chance could get a peak at your AI?
Would rescue us from alot of grief and sorrow :)
Torque Owner Brian Wilson