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
#2
- Dave
01/31/2013 (2:30 pm)
@Michael: That is the same one that is in my blog. Is it not showing up for you?- Dave
#3
01/31/2013 (2:32 pm)
Not showing up in Chrome. Does in Firefox though. Btw just ordered your book :) Yay.
#4
01/31/2013 (2:36 pm)
Nice work -cheers for the guys behind ;)
#5
01/31/2013 (2:58 pm)
Whoa, it would be cool to see that BeamNG physics engine in the GG store some day.
#6
There was a discussion about naming somewhere & I seem to remember your supposed to be using a different name to differentiate the download from the last one.
Not to belittle the update its great :-)
01/31/2013 (2:58 pm)
@Dave, shouldn't this be Torque3D-2.1 or something?There was a discussion about naming somewhere & I seem to remember your supposed to be using a different name to differentiate the download from the last one.
Not to belittle the update its great :-)
#7
This isn't a release, just an update on what has been going on in the Torque3D repository development branch. We define a release as merging changes into the master branch.
I do these blogs from time to time to keep the community informed on what is happening with Torque 3D, especially for people that don't follow the commit list on GitHub.
If you're referring to the link to Torque 3D 2.0 in the blog, that points to the release we had in December 2012. None of the development commits mentioned in this blog are included in that download.
- Dave
01/31/2013 (3:13 pm)
@David:This isn't a release, just an update on what has been going on in the Torque3D repository development branch. We define a release as merging changes into the master branch.
I do these blogs from time to time to keep the community informed on what is happening with Torque 3D, especially for people that don't follow the commit list on GitHub.
If you're referring to the link to Torque 3D 2.0 in the blog, that points to the release we had in December 2012. None of the development commits mentioned in this blog are included in that download.
- Dave
#8
Hurray!
Great stuff in general, Dave, and that is one sweet video by BeamNG.
:)
01/31/2013 (3:13 pm)
Quote:
Updated logic in MissionArea::getServerObject (Issue 140)
Hurray!
Great stuff in general, Dave, and that is one sweet video by BeamNG.
:)
#9
01/31/2013 (3:43 pm)
The source code that their middleware is based on is in fact open source, called rigs n' rods. In fact, I came to a couple members doing vehicle physics kits about implementing it... ...looks like they got beat to the punch!
#10
Now I just need to find the time to sit down and do it.
01/31/2013 (3:44 pm)
I fully intend my great contribution to T3D to be to add support for the Steel Battalion controller. I think it will fit nicely with all the fun new input improvements everyone's been working on.Now I just need to find the time to sit down and do it.
#11
01/31/2013 (4:10 pm)
Its a good day to be a Torque dev! :) Looking forward to BeamNG middleware.
#12
01/31/2013 (4:12 pm)
If it is based upon Rigs of Rods they must have licensed the tech outside the GPL3 then. Otherwise any downstream user would be bound by the GPL3 license.
#13
*spits tea everywhere* 8D
01/31/2013 (4:33 pm)
Quote:
I fully intend my great contribution to T3D to be to add support for the Steel Battalion controller.
*spits tea everywhere* 8D
#14
01/31/2013 (5:25 pm)
OMG a Steel Battalion controller and an Oculus Rift and apart from not being able to see all the buttons you got one hell of a VR setup!
#15
02/01/2013 (8:55 am)
Is 3.0 going to have all directory dependencies pulled out of T3D? The way I understand it now is that some paths are hard coded either in the editor or elsewhere.
#16
That is the plan for release 3.0. I've already removed the various warning, etc. texture dependencies, as well as the splash screen hard coded path, by merging in Issue 227 as mentioned above. You may now point them to where ever you want. I'll continue to chip away at these.
- Dave
02/01/2013 (9:07 am)
@Frank:That is the plan for release 3.0. I've already removed the various warning, etc. texture dependencies, as well as the splash screen hard coded path, by merging in Issue 227 as mentioned above. You may now point them to where ever you want. I'll continue to chip away at these.
- Dave
#18
02/01/2013 (2:21 pm)
Awesome stuff as always. Love Torque 3D :o)
#19
In this thread in response to David Robert Pemberton's post your wrote:
@ David:
This is not a release, just an update on what has been going on in the Torque3D repository development branch. We define the release merging changes into the master branch ...
...
...If you're referring to the link to Torque 3D 2.0 in the blog, that points to the release we had in December 2012. None of the development commits Mentioned in this blog are included in That download.
I wonder if the link to Torque 3D 2.0 in this blog it's old, where is the link to last version updated? I am confusing about that. Besides how do I can do the updates or patches for Torque 3D 2.0 or this is not necessary at this time, and I should wait for the next release with an executable file.
Sorry to say, and no offense, but because everything that involves Torque 3D game engine is so confusing and hard to understand or this thread and updates are intended for advanced users only of the Torque 3D 2.0, and I am in a wrong place asking silly questions?
Thanks in advance for your response and time.
Regards,
02/01/2013 (7:59 pm)
Hello Dave,In this thread in response to David Robert Pemberton's post your wrote:
@ David:
This is not a release, just an update on what has been going on in the Torque3D repository development branch. We define the release merging changes into the master branch ...
...
...If you're referring to the link to Torque 3D 2.0 in the blog, that points to the release we had in December 2012. None of the development commits Mentioned in this blog are included in That download.
I wonder if the link to Torque 3D 2.0 in this blog it's old, where is the link to last version updated? I am confusing about that. Besides how do I can do the updates or patches for Torque 3D 2.0 or this is not necessary at this time, and I should wait for the next release with an executable file.
Sorry to say, and no offense, but because everything that involves Torque 3D game engine is so confusing and hard to understand or this thread and updates are intended for advanced users only of the Torque 3D 2.0, and I am in a wrong place asking silly questions?
Thanks in advance for your response and time.
Regards,
#20
I'm sorry that this blog has been confusing for our users. I'll brainstorm with the other Steering Committee members and see if we can come up with a better format to convey our message.
The link to Torque 3D 2.0 in this blog is the latest, pre-compiled version that is currently available. We are currently in the development phase towards v3.0 as outlined in a previous blog.
Our GitHub repository has two branches that we normally deal with. There is the master branch that contains the most stable version of Torque 3D. As of this moment, this is the same code that was used to produce the Torque 3D 2.0 package linked to above.
There is also the development branch. Within this branch we apply all of the changes and additions that the community and the Steering Committee have been working on. This branch may not be as stable as the master branch and is only intended for those that want the latest version and are willing to compile it themselves.
In this blog you've just read I've gone over the changes that have been applied to the development branch for what amounts to the month of January, 2013. The intent is to keep the community up to date on what has been happening within this branch as we move towards the 3.0 release.
If you are just interested in using Torque 3D right away then I would recommend that you use the Torque 3D 2.0 link above and download the complete package. You may then follow the directions on our wiki page to create your own project and start using the editors and TorqueScript.
If you are interested in the changes outlined in my blog above it will require some knowledge in obtaining the code from GitHub and compiling Torque 3D yourself. If you're stuck on any of these steps, feel free to drop by the Torque 3D Beginner forum and ask your questions.
I hope that helps!
- Dave
02/01/2013 (9:46 pm)
@Joao:I'm sorry that this blog has been confusing for our users. I'll brainstorm with the other Steering Committee members and see if we can come up with a better format to convey our message.
The link to Torque 3D 2.0 in this blog is the latest, pre-compiled version that is currently available. We are currently in the development phase towards v3.0 as outlined in a previous blog.
Our GitHub repository has two branches that we normally deal with. There is the master branch that contains the most stable version of Torque 3D. As of this moment, this is the same code that was used to produce the Torque 3D 2.0 package linked to above.
There is also the development branch. Within this branch we apply all of the changes and additions that the community and the Steering Committee have been working on. This branch may not be as stable as the master branch and is only intended for those that want the latest version and are willing to compile it themselves.
In this blog you've just read I've gone over the changes that have been applied to the development branch for what amounts to the month of January, 2013. The intent is to keep the community up to date on what has been happening within this branch as we move towards the 3.0 release.
If you are just interested in using Torque 3D right away then I would recommend that you use the Torque 3D 2.0 link above and download the complete package. You may then follow the directions on our wiki page to create your own project and start using the editors and TorqueScript.
If you are interested in the changes outlined in my blog above it will require some knowledge in obtaining the code from GitHub and compiling Torque 3D yourself. If you're stuck on any of these steps, feel free to drop by the Torque 3D Beginner forum and ask your questions.
I hope that helps!
- Dave

Torque 3D Owner Michael Cozzolino
Big Monk Games
Oops Seems as though video embed isn't coming through. Chrome issue? Site issue? Yeah Firefox the embed comes through for me. Not Chrome though. Sorry to duplicate the embed.
Embeded: