Torque Game Engine DocumentationVersion 1.3.x |
Now you have an initial idea of what technologies your design requires. So, it's time to figure out the best way to build those technologies.
Of course, if you're concerned about finishing your game as quickly as possible, the best solution is to leverage existing technologies. You are working with Torque, so you've got a complete, top-tier game engine that can compete toe-to-toe with technologies that cost hundreds of thousands of dollars. So, nice start, you've saved lots of time just by using such an engine. Now, it's time to get more detailed.
You need to figure out which of your technology requirements Torque supports immediately, with little or no effort, and which will require fairly substantial change or enhancement. You'll also need to figure out if any of the gameplay systems in your design will require totally new technology.
For beginners, the process of identifying what parts of your technology will work with Torque and what will require modifications can be difficult.
If you don't already know the engine, how do you figure out what you can use and what you'll need to modify? The answer is simple: as when using any piece of technology, you'll have to spend some time figuring out what it can and can't do well.
Torque gives you a huge leg-up on development, you'll just need to spend some time figuring out what it does best and how to get it to do it. Luckily, there are a number of guides to help you with this!
As far as technology goes, be sure to check out the scripting and engine overview chapters. Also, be sure to check out Ken Finney's 3D Game Programming All-in-One, which covers Torque in detail. There are other books on Torque in development as well, so you'll soon have even more help when it comes to learning the engine. On the GarageGames website, be sure to see the Torque tutorials page, the forums, and the community-submitted resources area. Don't forget about IRC either, the #garagegames channel is usually full of knowledgeable, helpful community members that are willing to lend a hand-- as long as you're polite and it's clear that you've put effort into figuring out the problem on your own. Of course, continuing with this book is a good idea as well.
There are many tools and resources to help you learn the engine now, so use all that you need to.
Re-evaluate your design--
Most design re-evaluation comes after the Prototyping phase. But often times you can do some early refining.
Is the list of modifications you'll need to make to Torque very long? In addition to a long list of modifications, do you need to create a bunch of new technologies as well? If so, you probably need to read item #1 on this list again: be realistic with your design!
Many professional games have been built with Torque, in a wide variety of genres and styles. If you think you need to modify Torque a whole lot to get your game up and running, you might ask yourself a few questions. Are you sure you're understanding what Torque can do? Is your game design truly realistic and profitable? If not, go back to step 1 and get your team going on a game that can feasibly set you all up for success!
Now, leverage anywhere and everywhere you can--
Leverage Torque and the surrounding development community to the fullest extent possible.
Remember that there is a plethora of freely available code snippets, tutorials, and other resources on the GarageGames website which can all help you reduce your development time. Besides resources, Torque comes with some starter kits that you may be able to use and build from. Check them out and save yourself the time it takes to get those basics set up.
There are also many code and content packs available that can help you greatly reduce your development time. Does your game require more realistic lighting than what you've seen in stock Torque? Check out the Synapse Gaming Lighting Pack. Need awesome-looking interiors and geometry? Check out Timothy Aste's Content Packs (*link forthcoming*). Want trees and outdoor models? Check out BraveTree's tree and environment content packs. Does your game have guns and explosions? Take a look at the Mojo audio packs. Building an RTS or God-view game? Check out the RTS Foundation Pack (*link forthcoming*)!
Use this stuff! Don't worry about whether something does exactly what you want, be smart about leveraging the pieces of the packs that you can. They're all inexpensive, and will save you development time, if your game requires the kind of content the packs provide.
With Marble Blast, we knew that Torque could do a good job with the kind of large, complex levels we wanted to be able to race on. So, we knew we wouldn't have to allot much time for that, technology-wise.
On the other hand, we realized that a new marble physics system would be required. We recognized that a lot of custom code would be needed to get the feel of the physics just right.
Since multiplayer capability was a big part of our initial design, we also evaluated the technology we'd need there. Of course, Torque has outstanding networking support, so the core technology wasn't a concern. To create a fun multiplayer experience tailored to the Marble Blast gameplay though, we knew we'd need to define custom networking behavior that could account for the complex marble physics. This seemed reasonable enough, and to be sure, we could've included multiplayer in Marble Blast. You'll soon see why we decided to cut it though.
Those are the major technology areas that we correctly, at the time, identified would be important to the game. However, there was another area we didn't think of early on: changing some rendering technology. We'll talk about this more later, but we ended up making an essential core technology change to Torque's rendering procedures, in order for Marble Blast to have a brighter, sharper look. On our first pass at identifying important technologies and figuring out how to build them, we failed to identify this as an area of central concern. As you'll see, this meant we had to adapt our development plan in its latter stages.
Have no doubt, you'll come upon situations like this as well. Most projects do. You may spec a piece of technology that ends up getting cut, and you may miss a big piece of technology that you didn't think would be a problem. Still, as long as you identify the majority of your key technologies up front and figure out how best to implement them-- leveraging existing technologies at every feasible opportunity-- you'll be on the right track.
Remember throughout the time you're thinking about all this technology and content, that your primary focus needs to be on gameplay. Only be concerned with technology to the extent that it bolsters your gameplay.