Open Call: Join the Torque 3D Open Source Committee
by Dave Wyand · 09/13/2012 (2:34 pm) · 57 comments

Open Call: Join the Torque 3D Open Source Committee
On Monday, Eric and I both posted blogs announcing our upcoming release of Torque 3D under the MIT license. If you haven’t already read through those, please head over to them now before continuing:GarageGames to Release T3D as Open Source
The Future of Torque 3D is Open Source!
After going through the comments in both blogs it is great to hear an overwhelmingly positive response to our announcement. Outside of our community we’ve also seen people getting excited about our coming launch. For example, read through the comments from the announcement on Gamasutra.
While the GitHub repositories are being put together in preparation for the launch, we would like to begin the process of recruiting members of the steering committee from the community. The steering committee has Write Access to the master branches and are responsible for managing requests and submissions from the general community (who always have Read Access to the repositories to fork as they please).
To give you a better understanding of the roles and responsibilities of the steering committee we’ve put together a draft charter. This is our first pass at it and it will be expanded and refined over time, especially by the steering committee itself.
Torque 3D Open Source Steering Committee Charter (Draft)
1. Vision
We are dedicated to making the best core version of Torque 3D so that others can build upon a reliable foundation.2. Mission
To build a foundation for a sustainable environment that fosters collaboration and community development of the greatest open source development platform.3. Goals
- To maintain the best master branch version of Torque 3D. Performance, reliability, maintainability and scalability.
- Act as a representative on behalf of the collective community.
- Actively communicate in a transparent manner.
- Promote Torque 3D as an open source project.
4. Duties and Responsibilities
- Maintain, enhance and support the Torque 3D open source product.
- Operates under ethical and professional standards with individuals, community, and the world.
- Create and revise the product’s roadmap.
- Review and act appropriately on all community submitted action items.
- Encourage growth of the Torque 3D product through community participation.
- To ensure that all contributions are free from intellectual property encumbrances in order to maintain the integrity of the product.
- Act in a professional manner and lead by example.
- Periodically review the charter and composition of the membership and make changes as necessary.
5. Membership
Members of the steering committee must be willing and able to commit time and energy to fulfilling the committee’s mission. At least one (1) one of the committee members must come from GarageGames LLC or its representative, and shall act as chair of the committee. The remainder of the membership may grow as appropriate according to the committee’s duties, but the total committee size shall remain at or below six members.To be considered as a member of the committee, the prospective member should meet the following criteria:
- Is available for at least 8 to 20 hours a week of work on the Torque 3D open source product such as programming, documentation, administration, etc.
- Have expert knowledge in game engine and tool development, such as documentation, C++ engine programming, operating system platform programming, etc.
If a member is unable to serve on the committee for any reason, the vacancy may be filled or left empty at the discretion of the committee. If the committee as a whole is unable to perform its duties, an employee of GarageGames LLC or its representative may step in and provide the course of action.
In addition to the steering committee, we desire two other essential members: project manager and secretary. These roles are not decision making positions; rather, they document, format, and deliver information to the community.
6. Meetings
The chair of the committee is responsible for organizing formal meetings, which should be held at least once a month. During these meetings the progress of the previous month shall be reviewed and goals shall be set for at least the next month. More frequent meetings may be held as required.7. Removal
If a committee member commits the following acts, they could be removed from the committee:- Unable to fulfill their time requirements.
- Removed by a majority vote for no longer aligning with sections 3 and 4 above.
8. Amendments
This charter is a living document and may be amended by the committee as outlined in section 4. Any amendments require the approval of the committee chair.
As I mentioned in my previous blog, the steering committee currently consists of myself, Eric, David MB, and Scott. I will remain as the only permanent member of the committee while the others will be replaced by community members over time. The committee may also be allowed to grow according to the product’s needs.Does being a part of the Torque 3D open source steering committee interest you? Are you ready to be a leader and organizer in the community? Have you read through the draft charter and have a feeling of awesomeness swelling inside? If so, then please get in touch by email at davew@garagegames.com and let me know. We want to hear from you!
- Dave

Torque 3D Open Source 3.0 Launch

On December 19, 2012, we launched T3D v2.0 as the first new release under an open source MIT license. Then on January 10, 2013, the T3D Steering Committee presented their proposed roadmap for v3.0 to the community for comments. Since going open source in September 2012, we’ve had over 1,200 people star and 478 people fork our main repository.

Now today, four months after releasing the roadmap, the Steering Committee presents Torque 3D 3.0.
What’s New for 3.0
Torque 3D 3.0 has seen a lot of activity. In addition to general improvements and bug fixing, the following is a summary of the major changes.Project Manager 2.0
The Project Manager has been updated to make it easier to manage the modules that will be compiled into your game. You may read more about these changes in my blog as well as the Project Manager Wiki Page

In addition to the Project Manager program receiving an update, Torque 3D’s Project Generator system was modified to allow modules to specify 3rd party files that may be copied into your game’s directory. An example would be copying all the required PhysX DLLs from the SDK when the physx module is part of your project.
Template Clean-up
The templates included with Torque 3D have received a spring cleaning. This work included:
- Moving assets and script out of the core directory and into the appropriate game location
- Separating the tool GUI profiles from those of the game
- Removal of unused components
- Clean up of console spam
Removal of PhysX Templates
With the Project Manager 2.0 update that makes it easy to choose which modules will be compiled into your game, the two PhysX templates have been removed. The only difference between these two PhysX templates and the two that remain was the use of the physx module for all physics rather than Torque 3D physics, as well as the PhysX DLLs.
ScriptTickObject
ScriptTickObject is a new class (Pull Request) that is based on the ScriptObject class that 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.
Vehicle Steering
Changes were made to to the way you steer T3D vehicles (Pull Request). When enabled, the steering will automatically return to center based on the vehicle’s velocity. Great when you are using the keyboard!
Joystick Fixes
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 Device Changes
A big update to how input device events are handled (Pull Request) with the introduction of the InputEventManager class. This work was done to allow for easier integration of new input devices that we’ll cover a little later.
Torque 3D categorizes its input events into various types so the receiver of the event knows the context of the information. The existing event types are: keyboard key, button, point of view hat, and axis (ranges from -1 to 1 for joysticks, thumb sticks, and mouse moves).
With the new input controllers becoming available in the marketplace these event types are not enough. The following new event types have been added:
- SI_POS: Absolute position value (Point3F)
- SI_ROT: Absolute rotation value (QuatF)
- SI_INT: Integer value (S32)
- SI_FLOAT: Float value (F32)
ExtendedMove Class
The standard T3D Move class is used to send input events to a user’s current control object on both the client and server. These input events are relative, such as the amount the mouse has moved during the current tick.
Torque 3D 3.0 adds the ExtendedMove class that also allows the tracking of absolute position and rotation values, such as a user’s hand in space above some input device control surface. By default, up to three objects may be tracked by the ExtendedMove class (such as a head and two hands) but this may be easily expanded by changing a constant value in code. The trade off is the amount of network traffic used when communicating with a multiplayer server (although the bandwidth used is highly optimized).
Leap Motion Controller
The Leap Motion controller takes input from hands, fingers, and small tools that are moved just above its surface and provides their absolute position and rotation through the Leap SDK. With Torque 3D v3.0 there is a leapMotion module that may be compiled into your project to allow you to work with the Leap Motion controller. Please see my blog talking about the new code. The following types of events are supported:- Hands and fingers events
- Hands and fingers with persistent ID events
- Hand as a thumbstick events
- Whole frame input events
Razer Hydra Controller
The Razer Hydra controller combines the standard buttons and thumbsticks of a gamepad with motion sensing technology by Sixense to determine the absolute position and rotation of each hand with respect to a base station. With Torque 3D v3.0 there is a razerHydra module that may be compiled into your project to allow you to work with the Razer Hydra controller. Please see my blog talking about the new code. The following types of events are supported:- Standard gamepad events
- Controller absolute position and rotation events
- Controller as a thumbstick events
- Whole frame events
Oculus Rift Head Mounted Display
The Oculus Rift head mounted display includes both a stereo display that you wear and a sensor that detects you head’s absolute rotation. With Torque 3D v3.0 there is a oculusVR module that may be compiled into your project to allow you to work with the Oculus Rift. Please see my blog talking about the new code.In order to support this unique device the Player and Camera classes have been modified to allow you to use them with the Rift. One change is to allow for the view to bank according to the Rift’s input (normally T3D ignores all banking). The other change is the addition of control schemes that may be set through the GameConnection class. By activating a particular control scheme you can tell the user’s control object to combine both the Oculus Rift’s head track with a gamepad’s input, for example. All of this is discussed on the new T3D Oculus Rift wiki page.
Multiple Viewport Rendering Fixes
With the stereo capabilities of the Oculus Rift came the requirement to do stereo rendering in Torque 3D. For this release only side-by-side rendering is supported, but it could be extended to other types of stereo displays. Torque 3D’s graphics pipeline was not originally set up with stereo rendering in mind and there were a number of assumptions that broke while trying to render with multiple viewports and an offset frustum. These issues have been fixed as they came up and this work will benefit any other projects that require multiple viewport rendering.
3rd Party Library Updates
Many of Torque 3D’s 3rd party libraries haven’t been updated in a very long time. With Torque 3D 3.0 all 3rd party libraries that had an update available were brought up to the latest release. An exception to this is the Collada library as there were a number of customizations that were made to it sometime up to T3D 1.2 (or earlier). The Collada library will be looked at in a future release.
Removal of DIF Support
DIFs have been a part of the Torque engines from the beginning and were used to build interior objects. However, with Torque 3D’s advanced lighting engine DIFs had trouble fitting in and have been marked as depreciated for some time (before T3D went open source). With this release of Torque 3D we finally say goodbye to our old friend and have recovered the resources it made use of.
New Terrain Tools and Rendering
The following additions have been made to the terrain tools and how the terrain is rendered:
- Rule-based terrain painting
- Optional flip terrain heightmap on import
- Added missing terrain related materials
- New terrain brush action: Smooth Slope
- Terrain macro texture
ScatterSky Improvements
The following improvements have been made to the ScatterSky class:
New PostFX
Three new postFx have been added to Torque 3D 3.0. The first is an underwater caustics postFX that is activated when the camera is within a water object and provides those intense, wavy lines you see at the bottom of a pool. The second is a turbulence postFx that is also activated when the camera is within a water object that causes the view to distort. You can see both of these in action in the picture at the top of this blog.
The third postFX is a camera-based motion blur. This is disabled by default but may be turned on through the MotionBlurFX PostEffect. This postFX provides a blur to the whole scene based on how fast the camera is moving.
Theora Texture Animation
The new TheoraTextureObject class provides a link between a theora video file and a named texture surface. This name texture may then be referenced by any Material instance to provide an animated material. This class was used by the Aurora Borealis Demo to place a video on the sky dome and you may find out more about it from the Pull Request.
Change List
Below is a list of all changes that have been made to the development branch of the Torque3D repository since the 2.0 release and are now part of Torque 3D 3.0.- 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)
- Change ShapeBase to only test if available meshes (Issue 236)
- Compile Bullet library under Windows (Issue 237)
- Razer Hydra integration (Issue 234)
- Updates libogg to v1.3.0 (Issue 239)
- Patches the libvorbis update with missed files (Issue 240)
- Update libvorbis (Issue 238)
- Removed hard coded directory paths (Issue 248)
- Updating libpng to v1.5.14 and zlib to v1.2.7 (Issue 250)
- Update squish (Issue 243)
- Update TinyXML to v2.6.2 (Issue 255)
- Tools GuiProfile Separation (Issue 259)
- Remove unused and (partially) unworking UnifiedShell (Issue 260)
- Bug fixes for alternative zip layout and define to toggle it on (Issue 178)
- Relocate game specific GUIs out of the "core" (Issue 264)
- Removing the controlsHelpDlg to reduce maintenance overhead (Issue 266)
- Adding a basic rule-based terrain painting implementation (Issue 272)
- Minor Issues From ParticleData Times Change (Issue 225)
- Particles are not shapes (Issue 275)
- Importing terrain heightmaps flips Y-axis (Issue 268)
- Material Editor Crash- Opening the material editor with a mesh selected doesn't open a custom material. (THREED-3195) (Issue 163)
- Set the Ryder as the default starting weapon instead of the Lurker (Issue 284)
- Gui Editor - Object Treeview refresh issue (THREED-3179) (Issue 193)
- Remove unused OOBSign from PlayGui (Issue 286)
- Move teleporter related particle data out of managed data (Issue 290)
- Remove the old TGE era "Buggy" vehicle (Issue 292)
- Move light related example art and data out of core (Issue 294)
- Move example sky assets out of core (Issue 295)
- Move water assets out of core (Issue 296)
- Move example road and path assets out of core (Issue 297)
- Remove the Armor script class (Issue 305)
- Thumbnails in the Material Selector do not display (Issue 282)
- Cleanup of weapon fx and assets (Issue 312)
- Add missing terrain related materials (Issue 314)
- Add buttons to the MainMenu to access the Editors (Issue 315)
- Fix texture and object console paths (Issue 316)
- zero() method added to all point classes (Issue 317)
- GFX now handles non-default adapters (Issue 318)
- Clean up the cheetah's onLoad() TSShapeConstructor script (Issue 319)
- Fix platforms that don't support PVI_NumAdapters (Issue 320)
- ExtendedMove changes (Issue 321)
- Correct customProfiles.cs execution (Issue 322)
- Use correct dragCoefficient value in TeleportFlash (Issue 323)
- Game cam and eye banking, control schemes (Issue 325)
- Torque 3d crush when you import a heightmap (Issue 288)
- Oculus VR (Rift) support (Issue 326)
- Add a new Terrain brush action: Smooth Slope (Issue 327)
- Remove unused weapon scripts in Full Template (Issue 328)
- Remove unused and duplicate sounds (Issue 329)
- Side by side rendering (Issue 324)
- Style guidelines for pull requests (Issue 22)
- GroundCover fading when zoomed in (Issue 144)
- Engine API fixes ([url=https://github.com/GarageGames/Torque3D/pull/241)Issue 241[/url])
- GuiObjectView TorqueScript setRotation method (Issue 334)
- River tool defaults to an invalid Cubemap (Issue 331)
- Terrain Macro Texture (Issue 287)
- some small patches (Issue 332)
- Remove Interior Object format (DIF) (Issue 310)
- Project Generator File Copy (Issue 352)
- Scatter Sky Community Fixes (Issue 353)
- TheoraTextureObject ([url=https://github.com/GarageGames/Torque3D/pull/355)Issue 355[/url])
- Compiling with VS2012 (Issue 348)
- Community Resource (scattersky fog fix) (Issue 362)
- Fill in missing case for getEngineProductString switch block (Issue 363)
- Version number change (Issue 354)
- style.css changes for Project Manager modules (Issue 366)
- Removed both PhysX templates (Issue 372)
- Add a default RadioControl Profile and image asset back to the Templates (Issue 373)
- New PostFx (Underwater, Turbulence, and Camera Based Motion Blur) (Issue 374)
- Update squish library to compile under Linux (Issue 375)
- Changes to have Linux dedicated compiling again (Issue 376)
Where to Find Torque 3D 3.0
As always you may find Torque 3D over on GitHub. Here is a list of all repositories:- Main repository: Torque3D
- Documentation: Torque3D-Documentation
- Project Manager: Torque3D-ProjectManager
In addition to GitHub we also have our own ZIP package that combines the Torque3D repository with the updated TorqueScript documentation, the Project Manager, and compiled versions of each of the templates. This package is ideal for those that do not wish to compile Torque 3D on their own, and is available here:
Torque 3D Demos
Throughout the development of T3D 3.0 four downloadable demos have been put together by the Steering Committee. Each one was meant to show off Torque 3D’s interface with one of the newly supported input devices, but as all script is available with the demo, they also serve to demonstrate how to use different features of Torque 3D, such as the ScriptTickObject and TheoraTextureObject classes. Below is a list of each of these T3D demos with links to both download the package and to find out more about how they work:
Marble MotionUse the Leap Motion controller to drive a marble over suspended platforms. How fast can you reach the end without falling off? link
Hydra RyderUse the Razer Hydra controller to hold dual pistols while at a firing range. Fire at multiple targets and try to knock off all of the tin cans. link
Rift ValleyUse the Oculus Rift and either the mouse and keyboard or a Xbox 360 gamepad to explore a tranquil valley. Be sure to check out the cave. link
Aurora BorealisUse the Oculus Rift to see the aurora borealis of March 17, 2013 as recorded from opposite sides of the Earth. In addition to the northern lights, see how many constellations you can make out. link
What’s Next for Torque 3D
With the second open source release of Torque 3D complete we are now looking towards the next release. The Torque 3D Steering Committee has some ideas on what the road map could look like for v4.0 and will soon present this to the community. But all of this can only happen with you, the community.The Steering Committee exists to help provide direction and lend a hand, but it cannot do everything on its own. With the next roadmap we will be asking for everyone’s help to continue to drive Torque 3D forward and make it the best open source 3D engine out there.
In Closing
I wanted to close out this blog with a video that was made not by a community member, but by someone that is genuinely enjoying the results of Torque 3D 3.0. This is some of the best publicity we could hope for and I look forward to seeing videos of people playing your own games made with Torque 3D.- Dave
About the author
Working on the next Torque secret sauce.
#2
09/13/2012 (3:04 pm)
Nice initiave! Really glad to see this moving forward quickly.
#3
I'm willing to help committee members with several of the points, though.
Oh, and: Dave for president.
09/13/2012 (3:34 pm)
I could do a lot of the above, but I refuse to join a committee ;)I'm willing to help committee members with several of the points, though.
Oh, and: Dave for president.
#4
09/13/2012 (3:34 pm)
This at first seemed to be the beginning death-throws of Torque 3D in the midst of the iphone development era, but now I see it as a brilliant move to keep it alive and well. I do believe the market will shift back after the iphone becomes super-saturated with developers. There are already developers complaining of making nothing even with great success with downloads with varying models of purchase.
#6
**I vote for Alfio!!!!!!!!!!!!**
09/13/2012 (3:49 pm)
That's great a blog! Something to consider for the future.**I vote for Alfio!!!!!!!!!!!!**
#7
09/13/2012 (4:20 pm)
Sounds great, I will follow this very closely...
#8
09/13/2012 (4:23 pm)
I dunno, I think Alfio might be TOO good a choice ;)
#9
09/13/2012 (7:24 pm)
+1 for Alfio
#10
on documentation(tutorial) and engine programming we already have seen alfio's capability.so i also vote for him.
also to Lukas Joergensen,michael hall,Frank Carney and Steve Acaster, as they are almost always active in community.(if they are interested ).
09/13/2012 (7:39 pm)
"Have expert knowledge in game engine and tool development, such as documentation, C++ engine programming, operating system platform programming, etc."on documentation(tutorial) and engine programming we already have seen alfio's capability.so i also vote for him.
also to Lukas Joergensen,michael hall,Frank Carney and Steve Acaster, as they are almost always active in community.(if they are interested ).
#11
Votes:
- Alfio Saitta
- Kevin Mitchell
- Michael Hall
- Steve Acaster
- Robert Fritzen
09/13/2012 (7:51 pm)
I would jump on this if my game engine and tool development skills were not rusty or in other words, if I actually had a clue. Hope you find excellent people to participate. Votes:
- Alfio Saitta
- Kevin Mitchell
- Michael Hall
- Steve Acaster
- Robert Fritzen
#12
09/13/2012 (8:41 pm)
Michael Hall. Alfio is a good candidate too for what has been seen on the CE.
#13
I am interested in the committee, but cannot at this time commit to the time requirement and I would not consider myself an expert just yet. However, I will volunteer to assist a committee member(s) as needed. I would like to see Alfio on the committee if he is willing.
I don't know everyone's background here, but I definitely want to see people who have shipped Torque based products on the committee. There is nothing like experience with the technology. They know all the ins and outs of what works and what does not.
09/13/2012 (10:23 pm)
Thanks Ahsan.I am interested in the committee, but cannot at this time commit to the time requirement and I would not consider myself an expert just yet. However, I will volunteer to assist a committee member(s) as needed. I would like to see Alfio on the committee if he is willing.
I don't know everyone's background here, but I definitely want to see people who have shipped Torque based products on the committee. There is nothing like experience with the technology. They know all the ins and outs of what works and what does not.
#14
Let me know what I can do to help ... I am an avid supporter of Open Source .
09/13/2012 (11:20 pm)
I would love to participate and help ... but me in deepest darkest Africa ... okay maybe just South Africa. 8-{Let me know what I can do to help ... I am an avid supporter of Open Source .
#15
But I can't commit to the time requirement because my workload varies a lot.
For meetings (IRL) requirement, I can't, because I live in France.
I can give a hand to translate documentation in French.
I use Torque since TGE 1.3, so I think I have a good understanding of the engine.
I'm pleased to see that the idea of a foundation finally arrives.
09/13/2012 (11:28 pm)
I'm also interested in the comittee. But I can't commit to the time requirement because my workload varies a lot.
For meetings (IRL) requirement, I can't, because I live in France.
I can give a hand to translate documentation in French.
I use Torque since TGE 1.3, so I think I have a good understanding of the engine.
I'm pleased to see that the idea of a foundation finally arrives.
#16
09/14/2012 (12:09 am)
Approximate release date of the engine under license MIT?
#17
Btw, alot of people seems to wanna help the commitee but dont have the time for it.. What about creating a task force which the commitee can utilize to alleviate their work?
Also i double Sean bradys votes!
@ahsan thanks for the nomination! It's an honor!
09/14/2012 (1:51 am)
Oh i would wish i had the time for this! Unfortunately already studying 45 hours a week, developing IPS and different hobbies etc. However you can always call on mé for small tasks like documentation!Btw, alot of people seems to wanna help the commitee but dont have the time for it.. What about creating a task force which the commitee can utilize to alleviate their work?
Also i double Sean bradys votes!
@ahsan thanks for the nomination! It's an honor!
#18
09/14/2012 (2:00 am)
I'm debating if I should try to join along or not. While I haven't been terribly active lately, I've been with Torque for quite a long time now... With the open source change and what not, I'd like to get more involved. Question is if I have the time.
#19
09/14/2012 (2:43 am)
OK.I AM Technical Artist
#20
09/14/2012 (3:54 am)
I second all the votes already cast and would like to nominate Konrad Kiss! I know nomination isn't how this works, but it's worth a try ;P.
Employee Eric Preisz
GarageGames