Torque 2D MIT 2.0 Now Available!
by Michael Perry · 02/05/2013 (2:46 pm) · 117 comments

It’s here! The MIT licensed Torque 2D GitHub repo is ready!
The day you’ve all been waiting for has arrived. The MIT licensed version of Torque 2D is now available on GitHub. For those that just want to jump in and fork or download the engine, the link to the repository on GutHub is listed below. While it's cloning, keep reading to find out what makes Torque 2D a great choice for your game development?
Main repository with source code and twenty toys
If you just want to grab a precompiled version of the repository, you can download it here: Torque2D-2.0.zip. Note that this is not hooked up to the GitHub repository. This is just an export.
History of Open Source Torque 2D
Previously, Eric and I both posted blogs announcing our upcoming release of Torque 2D under the MIT license. If you haven’t already read through those, please head over to them now before continuing:Torque 2D MIT Coming Soon
The Future of Torque 2D is Open Source!
Open Call: Join the Torque 2D Steering Committee
We are expecting that moving Torque 2D to a MIT license will greatly expand both the engine’s reach and our community. That means more developers to talk with, a larger audience for your tools and art packs, and more games, simulations and other products being created and released.

What is Torque 2D?
In simple terms, Torque 2D is an extremely powerful, flexible, and fast engine dedicated to 2D game development. The following is a breakdown of the core facts about the engine:Currently supported platforms:
* Windows
* OS X
* iOS
Support for new platforms is surely on the way. In fact, YOU get to help us decide what we should work on, be it Linux, Android, editors, or just simple bug fixing.
Languages:
* Core: C++
* Windows: C++ and Windows API
* OS X: C++, Objective-C, and Cocoa API
* iOS: C++, Objective-C, and Cocoa touch API
Main Features:
* Box2D physics
* Simple and flexible sprite system
* Composite system capable of rendering thousands of images and animations with little performance impact
* Integrated asset system that manages all your asset loading and unloading in an optimized manner
* Flexible module system that makes rapid prototyping a snap and code reusability a simple matter
* TexturePacker Support
* TAML serialization format (like XAML and XML)
* Batched rendering
* Multiple collision shapes
* Built-in unit testing framework, cross platform
* Solid behavior system for packaging reusable game logic that can be applied to multiple sprites in different projects
In addition to the core engine languages, you can script all your game play via TorqueScript. This is a C-like syntax language that is very simple to learn and utilize for your projects. Additionally, persistent files such as particles, levels, GUIs, and more are stored as "TAML" (Torque Application Markup Language). If you have ever edited XML or XAML in the past, you should feel more than comfortable with TAML.
Blazing Speed
Blazing fast performance on Windows, OS X, and iOS. On desktop platforms, you can have thousands of sprites, particles, and physics objects running at once without ever dipping below the 60 fps mark. While more limited, iOS hardware can run the engine at a solid 60 fps, even with hundreds of objects interacting on screen.
There is so much more, which you can read about in the blogs from Torque 2D architect, Melv May:
Torque 2D MIT Part 1
Torque 2D MIT Part 2
Torque 2D MIT Part 3
Torque 2D MIT iPad Truck Demo
Torque 2D MIT Live TAML

Working with Torque 2D
We have chosen to use GitHub to host the Torque 2D repositories. GitHub has become the place for open source projects on the Internet and makes it easy for the community to participate in growing a product. You’ll want to create a GitHub account if you want to do anything more than just download the current version of Torque 2D.Currently there is only the master branch for Torque 2D’s source code and sandbox project (with 20 toys to play with). If you wish to use GitHub for your own development then you will want to fork the master branch and then clone it to your local computer.
If you’re not familiar with using the Git distributed revision control system, the GitHub website has a lot of useful information at help.github.com. I also highly recommend their GitHub for Windows and Mac tools. These tools make it easy to clone a branch to your computer to start working with the files, commit changes locally, and finally synchronize your changes back to your branch on GitHub. GitHub also provides a Subversion view into their repositories if you so desire. Additionally, internal GG developers have been using SmartGit for official development. It is one of the best paid solutions for Git clients you can find.
If you’re looking to just download the current version of Torque 2D to your computer, GitHub will automatically generate a ZIP archive for you at any time.
In addition to the master branch, a development branch will soon be available. This is where all of the bug fixing, system enhancements, and new features will initially be placed. This branch is not considered as stable as the master branch as it hasn’t gone through the full Quality Assurance process yet. If you want to have the latest version and are prepared for frequent updates then you’ll want to fork the development branch. Over time the work done in the development branch will be merged back into the master branch as outlined in the product’s roadmap (which, at this time, still needs to be defined by the Steering Committee).
Everyone has Read Access starting today! Just use the links at the top of this blog to get started.

Discussing Torque 2D
The GarageGames web site has always been about the community, which really has been our greatest asset. With the move to an open source Torque 2D we will continue to offer a focal point for the community. Starting today, we will be moving to the following forum structure for Torque 2D:T2D Beginners Forum
T2D Professional Forum
Both of these forums will be open to the public and you are free to post to them with your GarageGames account. However, these two forums will be moderated differently. Please see the sticky thread at the top of each forum for more information. The legacy engine forums will be set to private to avoid confusion for new users and those who do not wish to wade through years of posts on older tech.
Additionally, we have an IRC channel hosted by MaxGaming. You can access the channel using the following information:
Server: irc.maxgaming.net
Channel: #garagegames
I'm usually idling in the room under the handle [GG]Mich. This is a great way to get live feedback on your projects and get quick answers about Torque 2D. Anytime you see someone with a [GG] tag, it's safe to assume they work for GarageGames and will be happy to answer your questions.

How do I participate in growing Torque 2D?
In order for Torque 2D to grow we need your help and that of the community. Many of you have already been doing this by submitting bug fixes to the forums and new resources. I don’t believe that this needs to change, especially for engine modifications that may be too specialized to be included in the master or development branches.However, if you would like to take a more active approach to help grow Torque 2D then you can jump in and start using GitHub’s community development features. For submitting bug fixes, and enhancement or feature requests GitHub has an easy to use ticketing system found under the Issues tab of a repository.

From here you may create a ticket and give it an appropriate label (Bug, Feature Request, etc.) so it may easily be tracked. The Steering Committee will then review the ticket, add it to an appropriate Milestone, and assign the ticket to a user as required.
If you’d like to contribute code changes back into Torque 2D then you’ll want to fork the development branch. This creates a copy of the development branch for you to work with and check in your own changes. GitHub outlines how to fork a branch, keep it up to date with the source branch, and commit your own changes here: help.github.com/articles/fork-a-repo.
When you are ready to submit your code changes to Torque 2D you create a Pull Request. You may read more about pull requests here: help.github.com/articles/using-pull-requests.

Specifically, you’ll create a Pull Request from your branch to the Torque 2D development branch. The Pull Request allows for a discussion of the proposed changes, and additional changes may be required before a Pull Request is accepted by the Steering Committee. You must ensure you have the full rights to the code you are submitting in order for us to include it in future updates.

What is the Steering Committee?
To maintain the open source Torque 2D master and development branches, a committee has been set up that has Write Access and may respond to Pull Requests. This Steering Committee is dedicated to making the best core version of Torque 2D so that others can build upon a reliable foundation. To that end, one of the first tasks of the committee is coming up with the T2D roadmap based on the community’s input.As of today, the Steering Committee consists of the following GarageGames members:
- Melv May
- Michael Perry
- Eric Preisz
We look forward to all the exciting projects we will see using Torque 2D. Please do not hesitate to post blogs of forum posts often to show what you are working on. Now, what are you waiting for? START USING TORQUE 2D!!!

Regards,
Mich
About the author
Programmer.
#22
02/05/2013 (9:30 pm)
This is awesome. Was waiting to see this one hit open-source.
#23
Edit
Noticed the issue posted in the issues section. It looks like that's probably a better place to make the change.
02/05/2013 (9:34 pm)
Ok, in VS 2012 Google Tests has a known issue with variadic templates. The workaround is to define _VARIADIC_MAX 10 somewhere - I added it to the beginning of gtest.h right after the header stop:#if _MSC_VER >= 1700 #define _VARIADIC_MAX 10 #endifIn case anyone has this issue. There is probably a better way to handle this (or a better place) because this change would have to be made every time you wanted to update Google Tests....
Edit
Noticed the issue posted in the issues section. It looks like that's probably a better place to make the change.
#24
02/05/2013 (9:50 pm)
Grats on the new release, big thank you to Mich, Melv and whoever else helped make this happen!
#26
Congrats!
02/06/2013 (12:15 am)
Great work guys, fingers crossed this brings in more developers and expands the community.Congrats!
#27
02/06/2013 (1:26 am)
Well done. Thanks to all. Downloading now :)
#28
02/06/2013 (1:51 am)
This is so awesome. So extremely excited.
#29
02/06/2013 (4:58 am)
Well done, chaps!
#30
02/06/2013 (5:20 am)
Congrats! Hopefully someone makes a basic pre-editor tutorial for the extremely uneducated like myself ;)
#31
02/06/2013 (5:41 am)
It's here!!! WAHOOOOOO! Can't wait to use it!!!
#32
02/06/2013 (5:42 am)
Awesome news! Great work GG!
#33
02/06/2013 (5:45 am)
Compiling on Xcode now... what's this about compiling for IOS? is it really possible to use this on an iPad?
#34
02/06/2013 (6:04 am)
Also, (sorry for so many questions, I'm really excited) which file opens the TAML docs?
#35
02/06/2013 (6:34 am)
Super Awesome!! Can't wait to start tinkering!! Way to go GG!!
#37
Visual Studio 2010: Compiling for Windows
Xcode; For compiling on OS X
Xcode_iOS: For compiling to iOS devices, like the iPad.
You can open TAML with any text editor, but I highly recommend Visual Studio for Windows, Xcode or AppCode for OS X. It's really just XML, so any XML editor of your choice
02/06/2013 (6:57 am)
Currently, we have three compiler projects:Visual Studio 2010: Compiling for Windows
Xcode; For compiling on OS X
Xcode_iOS: For compiling to iOS devices, like the iPad.
You can open TAML with any text editor, but I highly recommend Visual Studio for Windows, Xcode or AppCode for OS X. It's really just XML, so any XML editor of your choice
#38
02/06/2013 (6:58 am)
Thanks everyone for the positive support and congratulations. We appreciate all the contributions and support. The future is looking brighter than ever for Torque 2D.
#39
Server: irc.maxgaming.net
Channel: #garagegames
I'm usually idling in the room under the handle [GG]Mich. This is a great way to get live feedback on your projects and get quick answers about Torque 2D. Anytime you see someone with a [GG] tag, it's safe to assume they work for GarageGames and will be happy to answer your questions.
02/06/2013 (7:21 am)
Additionally, we have an IRC channel hosted by MaxGaming. You can access the channel using the following information:Server: irc.maxgaming.net
Channel: #garagegames
I'm usually idling in the room under the handle [GG]Mich. This is a great way to get live feedback on your projects and get quick answers about Torque 2D. Anytime you see someone with a [GG] tag, it's safe to assume they work for GarageGames and will be happy to answer your questions.
#40
02/06/2013 (7:38 am)
Thanks for the update. I'm downloading now. 
Torque Owner Andrea Fraboni
C4DGames