Torque 3D Open Source Update 2013-01-31
by Dave Wyand · 01/31/2013 (1:51 pm) · 22 comments

Torque 3D Open Source Update 2013-01-31
On December 19, 2012, we launched T3D v2.0 as the first new release under open source. Then on January 10, 2013, the T3D Steering Committee presented their proposed roadmap for v3.0 to the community for comments. Now that we’ve reached the four month mark since going open source, it is time for another update!We now have four GitHub repositories:
The Torque3D-FPSTutorial repository was added last week to help us keep it up to date with the changes in the main Torque3D repository.
In addition to these repositories, we also have a couple of prepackaged files for you to download if you would prefer to not compile the code yourself:
- Torque 3D 2.0 with updated TorqueScript documentation, the Project Manager, and compiled versions of the templates.
- Torque3D Project Manager v1.1 on its own for use in your T3D forks. This is the same version that was originally in the GitHub downloads section that they have now depreciated.
- Removal of SDL dependency for linux dedicated server (Issue 177)
- Bug fix for loading compiled dsos (Issue 179)
- Updated logic in MissionArea::getServerObject (Issue 140)
- Vehicle steering return-to-centre (Issue 49)
- Bug: Missing support for several Racing Wheels (Issue 190)
- Joystick POV 2 down is not functional (Issue 214)
- Expanded signals and journaled signals to support up to 13 parameters (Issue 216)
- New ScriptTickObject (Issue 217)
- New console type for Point3I (Issue 218)
- Input event changes (Issue 219)
- New RigidShape method to force client (Issue 220)
- ExtendedMove class and support (Issue 221)
- Moved platform input event files under new input directory (Issue 222)
- Leap Motion input device support (Issue 223)
- Updates to Project Generator necessary for library I am working with. [Adds debug library support to project generator.] (Issue 188)
- Remove hard coded paths pass 1 (Issue 227)
- Fix for Issue #82 for crash on warning print in explosion.cpp (Issue 184)
Highlights From This Update
Let’s take a closer look at some of the changes that are a part of this update blog.Vehicle Steering
The Vehicle steering return-to-centre Pull Request is a very handy change to the way you steer T3D’s vehicles. When enabled, the steering will automatically return to center based on the vehicle’s velocity. Great when you are using the keyboard!
ScripTickObject
The New ScriptTickObject Pull Request adds a new class that is based on the ScriptObject class. ScriptTickObject adds callbacks for tick and frame events:
- onInterpolateTick(F32 delta) - called every frame, but only if the object is set to process ticks. delta is the time delta for this frame.
- onProcessTick() - Called once a tick (typically every 32ms) if this object is set to process ticks.
- onAdvanceTime(F32 timeDelta) - called every frame regardless if the object is set to process ticks, but only if the callOnAdvanceTime property is set to true. timeDelta is the time delta for this frame.
Joystick Fixes
We haven’t seen any joystick love in Torque 3D for quite some time. With this update we see proper racing wheel support, a bug fix for a 2nd POV hat, and support for even more buttons for those flight sticks that can never have too many!
Input Devices and the Leap Motion Controller
A big update to how input device events are handled was merged in. You can see the details in Issue 219. This work was done to allow for easier integration of new input devices such as the Leap Motion controller and the Razer Hydra.
And speaking of the Leap Motion controller this update has added support for this brand new device. I wrote a blog last week going over all of the details, including a video of the Leap Motion controller working with Torque 3D. Expect more changes to Torque 3D’s Leap Motion controller support in the coming weeks.
As part of the Leap Motion controller work, we also put together a demo game called Marble Motion that anyone may download and try out. You can drive a marble through a sample level using either the Leap Motion controller, a Xbox 360 compatible gamepad, or the keyboard arrow keys. The Marble Motion demo also shows one possible use for the new ScriptTickObject class as a level’s state machine. You may find the Marble Motion demo in my blog.
Port Torque 3D to Linux
As some of you might already know, we are running an IndieGoGo campaign to port Torque 3D to Linux. The money raised by this campaign is to pay a developer to have Torque 3D run as a client under Linux, World Editor and all. Most game engines only allow you to export your game to Linux. We want to make Linux a first-class citizen when it comes to game development by also giving you all of the tools.
According to our Torque 3D Feature Request Page adding full support for Linux was the number one request by far. By going with an IndieGoGo campaign we hoped to provide this full support as soon as possible, as well as possibly pay a member from the community to do the work. We’ve seen this idea quickly spread throughout the Internet and have seen a very positive response to our attempt to jump-start an open source development ecosystem.
Unfortunately, there are only four days left in the campaign and we have not yet reached our goal. If any of you, or anyone you know, have been on the fence about this, now is the time to act! Having Torque 3D running under Linux will also help with porting T3D to other OpenGL platforms, such as OSX. In addition, it will help to grow our community, which leads to more bug fixes and features.
In Closing
I wanted to share with you all some interesting news that came to my attention this week. BeamNG is a new company that is developing a new, real-time physics engine that has gained some popularity. Their videos showing off their physics simulation have millions of views on YouTube, as you can see here.They are looking to make their physics engine into a middleware product and have been showcasing their work using CryEngine 3. So, what does this have to do with Torque 3D? In a blog on January 27, 2013, it was announced that for the past few months they have switched from CryEngine 3 over to Torque 3D! Here is their amazing video showcasing their physics engine running under Torque 3D:
On the BeamNG forums they have set up a post here to discuss their move to Torque 3D. So why did they switch game engines?
Quote:The main reason is full source code access, because we wanted to be able to see and change the deep innards of the engine. Torque3D provided us with a professional grade game engine with full source code accessible.
Hooray for Torque 3D and hooray for open source!
- Dave
About the author
Producer at GarageGames LLC
#22
I know the updates and release information can be confusing. Just keep in mind that the UPDATES deal with progress toward the next release. We try to do these updates as regular as possible so as to be as transparent as possible and GET FEEDBACK from the community.
Dave,
Perhaps we should put out an ESTIMATED full version release schedule based on the dates that the steering committee has discussed? I know we have not projected that far into the future yet but, it might clear up the confusion a bit.
Just a thought.
Ron
02/04/2013 (5:52 pm)
@All,I know the updates and release information can be confusing. Just keep in mind that the UPDATES deal with progress toward the next release. We try to do these updates as regular as possible so as to be as transparent as possible and GET FEEDBACK from the community.
Dave,
Perhaps we should put out an ESTIMATED full version release schedule based on the dates that the steering committee has discussed? I know we have not projected that far into the future yet but, it might clear up the confusion a bit.
Just a thought.
Ron

Joao Sousa
Thank you for the quick response.
I think it's better for me keep using the last version unleashed ( Torque 3D 2.0) and waiting for the next official release with an executable file.
By the way, congratulations on the publication of your new book
Greetings,