Advice on learning Torque 3D
by Jamie Buckley · in Torque 3D Professional · 04/12/2011 (6:29 am) · 4 replies
Hi, I'm trying to learn Torque 3D, and have done all of the scripting tutorials, rts tutorial, etc. I'm fairly well grounded in C#, most of my game programming experience is in XNA and Torque Game Builder, and so far I'm finding Torque 3D a headache. What I want to be doing is making a very simple 3D game, not a FPS mod, requiring skinned animated models etc., but something really elementary, like a 3D pong clone, or Shooter style game with rudimentary mechanics. The difficulty with T3D from a beginners perspective is knowing where the entry point is for coding, especially among the large amounts of prewritten code, and the server/client structure which I still find confusing...
In torque game builder, one can drop an object, assign it a scripting name, assign keybindings through movemap, and then you are away, free to add movement code etc.
In XNA again it is a matter of loading content to draw, then scripting the logic behind it.
In T3D ...? Assuming I don't want to do anything to do with FPS style games, what would I use to get started? Any help much appreciated.
In torque game builder, one can drop an object, assign it a scripting name, assign keybindings through movemap, and then you are away, free to add movement code etc.
In XNA again it is a matter of loading content to draw, then scripting the logic behind it.
In T3D ...? Assuming I don't want to do anything to do with FPS style games, what would I use to get started? Any help much appreciated.
#2
To be honest, this question may require an answer that isn't easily approachable in a forum question, in which case could an employee tell me if a tutorial like this is in the works?
Thanks for the response though A F, its more the "add the functionality you want" bit that I'm stuck on.
04/13/2011 (6:53 am)
I've started like that, not sure how to continue though. Is the best way to use a staticobject and script that? Or should I use one of the other classes like rigidbody or item, and modify the velocities to create movement. The fps code is confusing, especially given the lack of tutorials. I understand why the server/client system is used, and can see the benifits should I ever want to make a commercial level multiplayer shooter, but it makes it prohibitively confusing to understand how to make simple indie style games.To be honest, this question may require an answer that isn't easily approachable in a forum question, in which case could an employee tell me if a tutorial like this is in the works?
Thanks for the response though A F, its more the "add the functionality you want" bit that I'm stuck on.
#3
The documentation did have a simple RTS type tutorial that went through changing the camera movements and using mouse clicks to move an object.
If you want to make a 3D pong type game without changing the C++ code it would be difficult.
The classes that can move around are the Player, AIPlayer, WheeledVehicle, FlyingVehicle and HoverVehicle.
You can apply a force to push other objects, but if you want to control something with the keyboard or mouse you would need to use one of the above classes.
The ridgedshape will roll around and is effected by gravity.
The simplest way I can see to making a 3D Pong game (without changing the c++ code) is to have your "bats" as wheeled vehicles that cant turn, and use a ridged shape as the "ball".
When the ridged shape collides (the onCollision method will be called) with a "bat" apply a force to make it move the other direction.
Triggers can be used to determine if the "ball" enters them so you could use a trigger to give a player 1 point and use the setTransform method to place the "ball" back in the middle with a force to get it moving again.
I know that isn't really a tutorial but hopefully it will give you a starting place.
04/14/2011 (12:36 am)
As far as I know there are no real tutorials for starting out with T3D.The documentation did have a simple RTS type tutorial that went through changing the camera movements and using mouse clicks to move an object.
If you want to make a 3D pong type game without changing the C++ code it would be difficult.
The classes that can move around are the Player, AIPlayer, WheeledVehicle, FlyingVehicle and HoverVehicle.
You can apply a force to push other objects, but if you want to control something with the keyboard or mouse you would need to use one of the above classes.
The ridgedshape will roll around and is effected by gravity.
The simplest way I can see to making a 3D Pong game (without changing the c++ code) is to have your "bats" as wheeled vehicles that cant turn, and use a ridged shape as the "ball".
When the ridged shape collides (the onCollision method will be called) with a "bat" apply a force to make it move the other direction.
Triggers can be used to determine if the "ball" enters them so you could use a trigger to give a player 1 point and use the setTransform method to place the "ball" back in the middle with a force to get it moving again.
I know that isn't really a tutorial but hopefully it will give you a starting place.
#4
04/14/2011 (3:52 am)
Hmm, okay, food for thought. Thanks very much A F might look into that. I do think though that as a company that markets itself to a hobbyist and indie audience, this engine is woefully lacking in how it is presented. Since it is effectively an FPS that requires modding, little is explained about how it is structured, and looking at the TGE and TGEA documentation provided, I don't imagine that will change much for T3D. This is especially needed given the unfamiliar ways of doing things in torque: no gameloop, everything organised into networking code, etc. While I'm sure its fantastic for professional coders and developers, there is no real entry point for people new to the engine. Somewhat of a waste of money for me I fear. Time to look into other alternatives, thanks again for your advice.
Torque Owner A F
Default Studio Name
When you make a new project with the Torque toolbox, in the drop down box, select Empty instead of Full.
This will give you a project that has a camera and thats about it.
Maybe it would be easier for you to add the functionality that you want, instead of digging through the FPS script files to change things.