Game Development Community

dev|Pro Game Development Curriculum

The Future of Torque 2D is Open Source!

by Michael Perry · 12/14/2012 (5:13 am) · 83 comments







The Future of Torque 2D is Open Source!

I liked Dave Wyand's kickoff blog for T3D Open Source so much that I will be mimicking it for this first Torque 2D MIT blog. The big news coming out of GarageGames is that Torque 2D will be going open source under the MIT license. For months, I have been posting blogs talking about R&D Torque 2D technology. In reality, it was always planned to make these improvement available to the world. Much like Torque 3D, we had back and forth discussions on whether we should charge for the update or go the route of open sourcing. Eric has posted a blog talking about why Torque 2D is heading in this direction and a little of the history behind the decision. If you haven’t yet read Eric’s blog please head over there and read it first.

Two additional important bits of information in that blog are that previous license holders will get one last update to help finalize their games, and that I will be leading up the Torque 2D MIT development.

Personal Introduction

While the veterans out there know who I am, many of our newer community members may not. First things first, you can call me Mich. I’ve been a part of the GarageGames community since November 2004. I first learned of GarageGames when my team decided to use Torque Game Engine 1.4 for our student project at Full Sail. After the project was finished, I was hooked on GG. I loved the products, the community, and the company. I knew I wanted to work for them, but I was not sure if that would ever come to be.

I ended using Torque Game Engine Advanced for my first job out of college, which mean spending even more time in the forums looking for support and posting my discoveries. Eventually, I decided to give back to the community and began writing tutorials for free. This caught the eye of the Tech & Tools Team (GarageGames Torque team back in the day). A fateful encounter at GDC resulted in me being hired full time to write documentation. This was an amazing moment for me, topped only by my marriage and the birth of my first son.

Eventually, I grew out of my documentation position and was given the opportunity by Eric Preisz to start coding full time. My choice was obvious. I love our 2D technology and community, so I took up the reigns for iTorque 2D. The rest, as they say, is history.

How will the open source version work?

We’ve chosen GitHub to host the Torque 2D repositories. GitHub has taken on the role of the location for Open Source projects on the Internet. It allows for great community interaction, encourages the forking of code bases, and easy merging of changes. And if you’re not yet into git (GitHub for Windows and Mac are tools that really help), GitHub Subversion access. We will be figuring out a way to provide a fully packaged zip download later.

www.gnometech.com/torque/images/blog-2012-09-10/2012-09-10-GitHubLogo.jpg


Anyone may have Read Access to the public Torque 2D repositories. You create your own fork and do your development work there. You can merge updates from the master branch into your own as they become available. And if you have changes you wish to share with the community to be integrated back into the master, you create a pull request and someone with Write Access can review the changes and merge them in.

Who will maintain the repositories?

To maintain the master Torque 2D branch a committee will be set up that has Write Access and may respond to pull requests. This committee is dedicated to making the best core version of Torque 2D so that others can build upon a reliable foundation. Performance, reliability, maintainability and scalability (should turn that into a crest :) are the goals of this committee.

The launch committee will consist of the following GarageGames members:
  • Michael Perry (lead and engineering)
  • Melv May (engineering)
  • Eric Preisz (overseer)
  • David Montgomery-Blake (initial support)

Torque 3D already has a mission statement, which I believe is more than suitable to adopt for Torque 2D MIT:

Quote:Our mission is to build a foundation for a sustainable environment that fosters collaboration and community development of the greatest open source game development platform.

However, we don’t believe that committee members should only come from GarageGames. One of our primary tasks is to seek out and retain qualified core team members that are dedicated to our goals. Over time everyone but myself will be replaced by members of the community and the committee will be allowed to grow as required.

What will be included in the open source version?

Unlike Torque 3D, which already had a stable version to upload (v1.2), the new Torque 2D is in the final stages of development. Only GarageGames has had access to the new features, primarily used to develop 3 Step Studio. It's more than just an open source version of Torque 2D. Take Torque 2D, combine it with iTorque, add in Box 2D physics, several major enhancements and bug fixes, and make it open source. That is Torque 2D MIT.



Box 2D | TAML | iOS | PC | OSX | MIT


By unifying Torque2D and iTorque into a single code base, GarageGames will be able to offer a single 2D game engine for iOS, Mac and PC. Finally, when we made our changes, it broke functionality in several of the older T2D/iT2D editors. In order to work in an open source environment as soon as possible, we made a decision to publish our initial version of Torque 2D MIT without the editors; in other words, the initial version will be an API only engine with tool development to follow thereafter.

I will be posting more technical blogs over the next two weeks that will cover the new features and the difference between the new version of our 2D technology vs the legacy technology.

Post Launch

Following the launch of Torque 2D on GitHub, another job of the committee will be to come up with a roadmap. We’ve decided to wait until after launch to do this because we want community feedback to help chart our course. My personal list of things I’d like all of us to tackle are:

  • Platform system cleanup
  • Example game modules
  • iOS platform overhaul
  • Project generator
  • Deciding on an editor framework
  • Particle system
  • Additional platforms (Android and Linux)
Everything is up for discussion at this point. I know many of you have passionate thoughts on what features and improvements our 2D technology needs. I look forward to hearing and reacting to your suggestions, working with all of you to drive Torque 2D to be a top contender for game development in 2013.

- Mich

#21
12/15/2012 (9:53 am)
Awesome :) I haven't worked much with Torque lately but I just have to check out this new version. If I can get some free time maybe I'll see what I can contribute.
#22
12/15/2012 (5:05 pm)
hey is Torque2D MIT Coming in January 2013? or would it be something later in the first quarter of the year?
#23
12/15/2012 (5:10 pm)
Most likely.
#24
12/15/2012 (7:04 pm)
Great news!
A slightly related question: are there any plans to bring back Torque X as open source or in any other way, shape or form?
#25
12/15/2012 (7:09 pm)
I'm pretty sure since Torque X is no longer supported by GG, it won't happen. :-\
#26
12/15/2012 (7:18 pm)
That's what I thought... But a man can hope, right? :D

But it's really a shame, especially since this torquecev thingy seems rather dead too. Last update was a year ago and the forum's gone.
#27
12/15/2012 (9:45 pm)
Good stuff.

My one suggestion at this point would be - if you're going to recreate the editor(s), consider Qt-based editors rather than continue down the path of the "in-game" editor. In-game editors have their uses, but you can have the best of both worlds by having the simulation running in a Qt window, while also having the power and flexibility of Qt and the thousands of available free and commercial widgets to more easily extend the power of the editor.

I might also suggest embracing C++11 (at least those features that are prevalent among the major compilers). But I have a feeling that would be hoping for too much ;)
#28
12/15/2012 (9:55 pm)
I have a suggestion for a platform feature: Flash or HTML5 porting
#29
12/16/2012 (3:58 am)
This is great news. Torque2D's a very flexible engine that never really got enough exposure after the competition went free. Although it sounds like it's going to be a while before I'll be able to make games with this (I really need the editor!) I'm looking forward to trying it out.
#30
12/16/2012 (5:23 am)
@Gerald: Replace "Qt" in that paragraph with "tattoos on somebody's back", and it still seems better than using the internal GUI system.

@Conor: A loader for TMX shouldn't be hard to implement. The format is fairly flexible, although the editor itself could possibly be better. I theoretically have some editors already that could be adapted for sprite management/animation, but only on one platform. Everything has changed in the T2D core, so no matter what people do it involves rewriting editors AND loaders.

@Taylor: Are you volunteering to write it? Because both would involve a complete rewrite from scratch to support. Flash would need everything redone in ActionScript, HTML5 would need every bit of code written in JavaScript. Then it needs to be fast enough, which might not always be the case with a direct translation of the API :)
#31
12/16/2012 (7:59 am)
I was just suggesting, my bad, I'm not good enough of a programmer to rewrite an engine. I have a question, will Torque2D MIT be the same as the most recent T2D editor wise?

EDIT: I like the way how Torque was the little time I was able to use it
or maybe integrating Torque with the Qt editor like someone else said
#32
12/16/2012 (8:01 am)
@Taylor -
Quote:I have a question, will Torque2D MIT be the same as the most recent T2D editor wise?

I will have a more in depth blog about the differences between Torque 2D MIT vs old T2D/iT2D. To answer quickly, no, the editors will not be the same. We need to decide on which editor framework to use, then the editor types we need, and finally in what order to develop them. The old editors will not be returning.
#33
12/16/2012 (10:07 am)
Please forgive my lack of knowledge on the subject. What exactly does the open source MIT license mean for those of us who wish to use T2d in commercial software?
#34
12/16/2012 (10:42 am)
It means you can use it for any purpose. MIT is one of the most permissive licences. It can be used with free or commercial software and you choose whether or not you want to release any source back to the community. It's less restrictive by far than the current commercial license (no splash screen, you can share with anyone you like on your team without them purchasing a license, etc.

We still own the Torque IP (i.e. the name, trademark, etc) but grant you the right to do what you will with the engine.

This will apply to the MIT version when we release it. It does not apply to existing or previous versions of the engine.
#35
12/16/2012 (10:53 am)
@Christian Syska
Torque X would have have its editors completely stripped since it used some expensive, proprietary code and tool extensions. Plus we would have to strip out major portions of the engine that were created under contract. All of that code would have to be removed, leaving the engine pretty much gutted and unusable since it touches many major components of the engine. TX just isn't a possibility.
#36
12/16/2012 (12:13 pm)
Hey will T2D still have the WYSIWYG editor feature?
#37
12/16/2012 (2:32 pm)
LE GASP

MIT?! IN MY T2D?!

Been following you guys since 2006. Waited for this for ages since I'm a poor fool. :P
#38
12/16/2012 (4:36 pm)
@Taylor - The editors should be WYSIWYG. That's the standard amongst game dev tools.
#39
12/17/2012 (12:33 am)
Thanks for the answer, David. It's pretty much what I expected. It's a shame, but I guess a trip outside of my C# comfort zone would be good for me anyway :)
#40
12/17/2012 (10:38 am)
Great job to all, but if I have one request it would be this....

You need platforms.....I know iOS, PC and Mac will be there out of the gate but Linux, Android and Web(HTML5) are equally as important and many other folks are moving to these export options.

In the grand scheme of things, I think true cross platform development will open T2D up to the world.

We have a game being released this month on the portals (made with T2D), but have had to step over to another language (sure miss the editors...LOL) to answer our mobile/web calling. I wish I could stick with T2D for all our game development, answering the crossplatform call would allow many folks to do just that.

Keep up the good work!