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.
#42
02/06/2013 (7:47 am)
Yes, just open up the .taml file with an XML or text editor. I'll let Melv talk a little about the live TAML updating video he made.
#43
That demo was just a simple timer checking to see if the file had changed and if so loading it up as a scene, just a few lines of code in a bare toy.
In the demo I just typed the Taml XML entries into Notepad++ and hit save which triggered an update.
02/06/2013 (7:51 am)
Some kind of automatic TAML updating isn't a feature of the engine, we don't have any editors or production software of any kind.That demo was just a simple timer checking to see if the file had changed and if so loading it up as a scene, just a few lines of code in a bare toy.
In the demo I just typed the Taml XML entries into Notepad++ and hit save which triggered an update.
#45
02/06/2013 (8:01 am)
Well done guys. This is quite an impressive release - compiles the first try on my mac and the project contains 0 warnings! You've all poured a tremendous effort into this release and it shows.
#46
Thanks, but which application was showing the updates? Torque 2D? (Sorry for all these newbie questions but in all fairness, we're all new to the MIT. :P)
02/06/2013 (8:51 am)
@Comment #43...Thanks, but which application was showing the updates? Torque 2D? (Sorry for all these newbie questions but in all fairness, we're all new to the MIT. :P)
#47
02/06/2013 (8:53 am)
So, my apologies if this has been asked already, but is TAML something that could be fairly easily dropped into T3D as well? Or is it very much T2D based?
#48
@Chris - Right now it's fairly tied into T2D, but I would love to see the system make its way into Torque 3D. It's ultimately up to the T3D steering committee and users. After all, both engines are open source now so there are no restrictions on sharing code.
02/06/2013 (8:57 am)
@CEO - No worries. I would like suggest that you start posting in our T2D forum so we can talk about your question in detail. For now, yes it was made with the Torque 2D you have access to. We did not include the scripts used in the video you saw, as they were just for development and marketing purposes.@Chris - Right now it's fairly tied into T2D, but I would love to see the system make its way into Torque 3D. It's ultimately up to the T3D steering committee and users. After all, both engines are open source now so there are no restrictions on sharing code.
#49
Great work Garage Games!
02/06/2013 (9:05 am)
I saw this last night and I was to tired to to comment. Great work Garage Games!
#50
02/06/2013 (9:35 am)
Congratulations on the release guys! I'm glad to see this out the door and can't wait to see what the community comes up with! :)
#51
02/06/2013 (9:36 am)
Am I missing something? I have looked and looked and looked and I can not find any documentation at all... Either here or at Github.
#52
02/06/2013 (9:41 am)
I didn't find any either... Probably it has yet to be written. Maybe it will be a nice accompaniment for the editors? :D *Whistles innocently*
#53
02/06/2013 (9:42 am)
Hrmm According to one of the blogs there was tons and tons of documentation ready to go.Quote:
@Mich - Is there any chance we'll be getting access to the in-depth Wiki content to which Melv had referenced in his three-part blog?
Thank you,
Brian
Quote:
Employee Michael Perry
GarageGames
#3
01/26/2013 (6:24 am)
@Brian - Yes. Part of the MIT launch is copying our docs to GitHub's wiki so people have access to it.
#54
Now, the good news (depending on who you are) is that we now have access to thousands of writers. That's right, documentation is no longer solely up to GarageGames. I really hope people chip in to add new docs and tutorials for Torque 2D. Melv and I will be writing docs for the important systems, but it is on everyone to create docs and improvements for Torque 2D.
02/06/2013 (9:49 am)
Here is my blog about the documentation: T2D Docs. In summary, we have very little documentation to start with. 95% of the old TGB and iT2D docs are useless for the new T2D MIT. We have overhauled many systems, so we are essentially starting from scratch. We did write some documentation for systems, like Box2D and the Asset System, but we need to update those. Since they were written, we continued to make changes and polish the features. As we update the docs we do have, we will be posting them to the GitHub wiki. This is why we have included so many toys, so you can see how to use the engine. The toys range from simple (showing a sprite) to complex (full truck demo). Now, the good news (depending on who you are) is that we now have access to thousands of writers. That's right, documentation is no longer solely up to GarageGames. I really hope people chip in to add new docs and tutorials for Torque 2D. Melv and I will be writing docs for the important systems, but it is on everyone to create docs and improvements for Torque 2D.
#55
02/06/2013 (10:10 am)
Also, right now we are up to our necks in web work (mostly the service side of the business). We are planning to set up a permanent well integrated wiki on GG.com in the near future so that the community can help in a consolidated area that we can manage.
#56
Ahh just re-read the rest of your statement so .. no docs at all gotcha.
I was just confused with you saying in that latest reply that I quoted from last week that there was a vast wiki of information that already exist that would go up with release.
02/06/2013 (10:17 am)
Yes I read that blog that blog 6 months ago when you posted it. But these new blogs reference a wiki with tons of info that has already been created. you even went as far to say you would be copying it all to Git hub as part of the release... So ... is there actually no docs at all?Ahh just re-read the rest of your statement so .. no docs at all gotcha.
I was just confused with you saying in that latest reply that I quoted from last week that there was a vast wiki of information that already exist that would go up with release.
#57
The only two pieces of legacy documentation that will be useful right now are our TorqueScript overview and syntax docs. Even those I would read carefully to make sure you do not pick up old information. Honestly, the best source of information you can follow are the toys and source code.
02/06/2013 (10:21 am)
Quote:But these new blogs reference a wiki with tons of info that has already been created. you even went as far to say you would be copying it all to Git hub as part of the release...That was the plan until we had to continue making changes that made even our recent internal wiki docs outdated. Some are as simple as removing a paragraph, whereas other complex docs (like our Box2D overview) will take a few days to fix up.
The only two pieces of legacy documentation that will be useful right now are our TorqueScript overview and syntax docs. Even those I would read carefully to make sure you do not pick up old information. Honestly, the best source of information you can follow are the toys and source code.
#58
02/06/2013 (10:22 am)
Melv and I will definitely be writing documentation. It helps us vet our code and we really enjoy the work. However, we shouldn't be considered the only source of documentation. I know more than a few community members who can chip in and help us build a really great set of docs for the new T2D MIT.
#59
Again, as Mich points out, the Sandbox toys are isolated, simple examples of how to get things done. Enough to get you started while we continue with the rest of the support stuff.
02/06/2013 (10:24 am)
There is a fair bit of internal doco that I wrote on specific systems that I created, mainly the bigger stuff such as the Box2D related integration, the asset system (big doc) and the new module stuff but as Mich has pointed out, we need to get it converted to the GitHib wiki. We're not sitting on our hands here, its on it's way but if you're expecting a complete tour of the whole engine then you're not going to see it yet.Again, as Mich points out, the Sandbox toys are isolated, simple examples of how to get things done. Enough to get you started while we continue with the rest of the support stuff.
#60
Next, re: documentation, I've already laid out the framework for a beginner's tutorial on starting a blank project and getting things up and running outside of the sandbox. I don't want to chain myself down to a specific timeframe but it should be done and up on my site sooner rather than later.
02/06/2013 (11:44 am)
First off, congrats on the release! Watched, starred, cloned, forked, kitchen sinked, and enjoying the toys now.Next, re: documentation, I've already laid out the framework for a beginner's tutorial on starting a blank project and getting things up and running outside of the sandbox. I don't want to chain myself down to a specific timeframe but it should be done and up on my site sooner rather than later.

Orion the Hunter
Fritterflames