Theory
Game Programming
Scripting
Once the art assets are exported, you need to know where to place them so that the game engine can find them, and how to build or modify existing scripts so that the game engine can find the models and their textures. Many games can be achieved with scripting alone - some simple c-script, python, or javascript modifications can have your art alive and moving in the game in just a few minutes. Of course it takes a while to figure out what those changes should be; the best possible situation is if you have sample scripts you can modify and experiment with.
The Unity 3d engine allows you to use three different scripting languages: a version of Javascript (which is compiled), Boo, or C#. The nice thing here is that you do not need to own a compiler, Unity compiles the code for you - you just change what it says, save the file (.js or .cs) and hit "go" and the changes take place. The Torque engine uses C-scripting for scripts (automatically compiled), and you may also use C++.
Other engines use various languages but most of them have a scripting language that will enable you to do most of what you want fairly easily.
Here are some hints if you are new to scripting in a game engine:
- Find examples of existing solutions and modify them. Do this carefully, so you can remember what you changed, and note the result. Modifying existing code is one of the very best ways to learn how to program.
- Make lots of comments in your code. Commenting in Unity's Javascript looks like this // - anything behind the double slash is a comment and will not be compiled by the game engine at run time. Commenting helps you remember what you did, why you did it, and what it does, especially a year later when the code begins to look unfamiliar.
- Simplify, simplify, simplify. Whenever you cannot solve a complex problem, see if you can throw out anything that is confusing the issue. You want a hovering vehicle that shoots, can take damage, etc, etc? Start with a hovering vehicle. Then see if you can get it to shoot, or see if you can get a simple box to shoot at a target. Solving a mathematical equation with many variables is complex, but solving for one variable is fairly straightforward.
- Break down complex problems. This is related to the idea of simplification above.
- Read the documentation; find everything you can that may address the problem you are trying to solve by first checking the game engine documentation, then checking the resources (usually compiled by users of the game engine) and then checking the forums. Usually that will get you your answer, but if you can't find a solution, it's time to get on the game engine forums and ask for help. Most of the time someone will give you that clue you need to solve the problem. If none of this works, you have two choices - change your idea, or trial and error a solution until something works. Again, this will go much faster and easier if you focus on the root issue and leave out any peripheral code / functions.
Programming / Compiling
Some engines are more demanding here than others, and the impact on you as a developer will vary depending on what it is you want to do. For example, if you want to make a game where you can fly around in the game, scripting may or may not be enough to get you through the process. In the Torque engine, you will need to write some C++ code and compile it to create a flying game, since it is not by default flexible enough to create flying games, being at its core more of a first person shooter engine. In the Unity engine, this is not a problem since the engine has no particular bias.
Now there is another side of this, and that is that if you are making a first person shooter, you may find more tools in Torque than you will in Unity for your type of game.
Compiling - does the code compile automatically, or do you need to run a compiler each time you make a change? The Unity engine compiles your code every time you run it, automatically, whether you wrote your code in Javascript or C#. With Torque, C-script will compile automatically, but you will need to use a C++ compiler to compile any C++ code before running it.