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.
#82
As for your license question, you are completely unrestricted. You can do whatever you want with the code that is uploaded to GitHub under the MIT license. Profit, nonprofit, free, donations, whatever you want.
02/08/2013 (3:03 pm)
@James - Keep in mind all of our examples are in TorqueScript. It has not gone away. We did not write any custom C++ code to show off our toys, like the TruckToy or DeathBallToy. In fact, I ported some behaviors from legacy T2D and modified them to work with the new version. You can see that in DeathBallToy. As for your license question, you are completely unrestricted. You can do whatever you want with the code that is uploaded to GitHub under the MIT license. Profit, nonprofit, free, donations, whatever you want.
#83
02/08/2013 (3:34 pm)
I finished building the T2D MIT 2.0 engine with VS2012 and playing with all of the tools and various new features. Everything has a well designed and solid feel... I'm excited to migrate over to it!
#84
If you wanted, you could set up an online store and sell the MIT version of Torque 2D. Your customers might be unhappy if they found out they could get it for free, but that never stopped companies from selling boxed copies of OpenOffice in stores like Office Depot...
02/08/2013 (4:41 pm)
@JamesIf you wanted, you could set up an online store and sell the MIT version of Torque 2D. Your customers might be unhappy if they found out they could get it for free, but that never stopped companies from selling boxed copies of OpenOffice in stores like Office Depot...
#85
02/09/2013 (3:11 pm)
Has there been talks about having Torque 2D be able to be played in a web browser like Torque 3D?
#86
02/09/2013 (3:31 pm)
@Michael - The topic has come up in a couple of our blogs.
#87
02/10/2013 (7:10 am)
Edited now that the prepackaged version of the repo is found here: Torque2D-2.0.zip.
#88
02/10/2013 (10:19 am)
Binaries in the repository? :/
#89
02/10/2013 (10:39 am)
@Danile - Sorry, I should have said "binary downloads hooked up to the GitHub page". I don't want to check binaries into the actual Git repo.
#90
02/10/2013 (12:54 pm)
Sweet. Just checking ;P. My first impression of T2D was: 'hey, this download is tiny!' At least in comparison to T3D ;P.
#91
02/11/2013 (2:21 pm)
If you just want to grab a precompiled version of the repository, you can download it here: Torque 2D MIT.zip. It's the full source, scripts, and compiled executables. Note that this is not hooked up to the GitHub repository. This is just an export.
#92
02/11/2013 (4:34 pm)
Will the Genre Kits be available with this version, or do I still have to purchase the original version to purchase them?
#93
02/11/2013 (5:08 pm)
Well right now. Absolutely none of the genre kits will work with the new version. They all have to be updated and theres no guarantee that any of the authors will update. I am hoping so but who knows.
#94
02/12/2013 (4:29 am)
A working Visual Studio 2012 project has been pushed into the master branch.
#95
Part 1
Part 2
Part 3
Part 4
Part 5
Part 6
Part 7
02/12/2013 (10:14 am)
Hey everyone. In an effort help newcomers out, I quickly whipped together a simple getting started video series for Torque 2D. It's mostly unscripted, with zero post-production. In other words, they are rough videos, but hopefully the content is useful to everyone:Part 1
Part 2
Part 3
Part 4
Part 5
Part 6
Part 7
#96
Creating a new rendering context...
Making the new rendering context current...
Resurrecting the texture manager...
Module Manager: Cannot unload explicit module Id 'SpriteToy' as it is not loaded.
Failed to unload the toy 'SpriteToy'.
No matter what toy I have loaded when I close torque out it fails to unload the current active toy.
02/12/2013 (12:08 pm)
New error coming up with a fresh pull of the master repoCreating a new rendering context...
Making the new rendering context current...
Resurrecting the texture manager...
Module Manager: Cannot unload explicit module Id 'SpriteToy' as it is not loaded.
Failed to unload the toy 'SpriteToy'.
No matter what toy I have loaded when I close torque out it fails to unload the current active toy.
#97
02/12/2013 (12:15 pm)
@Michael - Can you please post that as an issue in our GitHub page for Torque2D?
#99
02/12/2013 (1:38 pm)
@Michael - Thanks. We'll get right on it. 
Torque Owner James Peter Fayette
Default Studio Name