Game Development Community

dev|Pro Game Development Curriculum

Plan for Clark Fagot

by Clark Fagot · 04/14/2004 (10:35 am) · 10 comments

About a month ago we at BraveTree central became aware of a project Brett Fattori was working on: a Wipeout style racing game. Once we saw what he had we knew we wanted to work on it with him. After some initial conversations it was clear that this was a collaboration that was going to be very fruitful.

Here is a movie of the current state of the project which Brett put together last night. You'll notice a lot of placeholder art (ThinkTanks tank with no brain on top, ThinkTanks terrain).

This project is also our first project using our new component based game object system. Anyone who has worked with the Torque vehicle and player classes has noticed that they do what they do fairly well, but if you want to change how they behave you start having to really muck with their innards. The component system is an attempt to get around this monolithic approach to game development. Instead of developing general classes with locked in feature sets, with a component based approach you build a library of components that can be combined to form all types of game classes.

For example, the car object in the movie is composed of the following components: a ComTSRender, a ComDrivingMover (derived from Com3DMover), a ComSimpleCollider (that's right, not stuck with one collision solution, you can pick and choose depending on the game), a ComCamera, and a ComLookControl (for the turret, this obviously doesn't go in the final version of the game).

The component system is built so that you can simply drop components into the BTOBjects and they know how to interact with each other. This is mostly due to BTInterfaces. E.g., the ComLook object is responsible for maintaining the look transform. It's primary task is to send horizontal and vertical angles between client and server. It also grabs a TransformInterface (which in the turret case happens to lie inside the tank shape) and sets that transform. The ComLook component is also used by the player object to control the player look animation. Since the ComLook component doesn't need to know what type of transform it is controlling, it can be reused in different contexts.

Now for some more fun. Check out this movie. That's the car on the track again but this time going 300 mph (gravity amped way up so it can stay on the track when it goes over bumps).

Next up...create the RacerMover component which will be a more refined driving model for a racing game (the current simple driving model is the ThinkTanks model with supped up parameters, but it has some limitations that make it not optimal for a racing game).

#1
04/14/2004 (10:37 am)
This is just too awesome for words. I got a chance to see both this new road technology as well as see Clark's component technology and I can say both are very impressive. Really nice work guys.
#2
04/14/2004 (12:32 pm)
Damn that sounds awesome! I'd love to get a peek at how that component system works. Any plans to release it? Or are you just teasing us?
#3
04/14/2004 (1:30 pm)
ooohhh the component model sounds very very cool... Wish i had more time to make this scale of improvements to TGE!

-s
#4
04/14/2004 (3:43 pm)
@John - we might release it at some point. Two obstacles to that right now are that 1) we need to develop it more (perhaps finish a game with it will flesh it out more and give us a nice library of components to start with), 2) it's based on a highly modified version of the Torque. John Quigley has put in some work on porting it to stock Torque, so at some point we may get permission to check it into head. At that point, it would be great to see the community creating and sharing components.
#5
04/14/2004 (6:50 pm)
Sweet. Clark that looks awesome, and someone has good taste in music whoever did the movie :) That component model also sounds really sweet.
#6
04/14/2004 (8:20 pm)
Very slick stuff guys. Great work! :)
#7
04/14/2004 (9:03 pm)
Heh very slick! There's certainly going to be some noise from the TT 'Racetrack' crowd is and when they see this ;)
#8
04/15/2004 (12:17 am)
Its amazing how just adding something simple like a spline path "road" can help formulate game idea's aint it. Even Bretts original road thing clearly showed how it might work.

I'm stoked for Brett and you guys, because I *KNOW* this project is going to rock!

Obviously with BT on the case, Bretts lucked out too, but I think Brett has a great eye for seeing things and gets them done, so its a great match :)

Cant wait to see what it looks like in the final version!

BTW: Wish I had the guts to move to the BTO system, maybe during the summer I'll take the plunge, because Ive worked with deep inheritance tree's for a long time on lots of projects and frankly, Ive found them wanting. This is at least worth giving a shot in a production environment, its also something Ive talked to other devs about and some do use it (cant remember who did it to the most extreme, might have been the Gas Powered Games guys, but I might be wrong).

GO GO GO GO!!!
#9
04/15/2004 (9:53 am)
All i can say is....

SWEET!
#10
04/25/2004 (3:58 am)
Looks okay, but it also looks as if the handling and acceleration rates are off. If you made it a little more realistic and used other terrains than ThinkTanks (I will then know you have put a ton of work into it), then I will bet that your game will be an instant success.
Keep up the good work!

-Spunk