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

#41
12/17/2012 (7:30 pm)
This might be one of those "there are no stupid questions" (which means it actually is stupid) -- and since T2D will be open-source I know the answer technically is "yes, you can do it."

But in reality, would swapping Lua for TorqueScript be the kind of thing that would be feasible in the new version of T2D?

Not having built an engine from the core, I'm not sure how deeply the scripting language needs to be embedded for things to just work.

Jay
#42
12/17/2012 (10:41 pm)
Not sure about the latest version of T2D, but historically TorqueScript has been pretty deeply embedded in all of the Torque engines. It's certainly feasible to "swap" Lua for TorqueScript, but it is a fairly complicated task. What would be easier is to leave TorqueScript in there and add Lua support alongside it or on top of it. I believe some of the community members have done that with both Lua and Python.
#43
12/17/2012 (10:50 pm)
That makes sense -- not swapping, but adding to.

I "discovered" Lua about two years ago and haven't loved a language so much since my 6502 assembly days in the late 80s. And I've always liked Torque (Game Builder) so the idea of merging that with Lua makes me think giddy thoughts. :)

Jay
#44
12/18/2012 (12:19 am)
I don't know if this has already been done, but how about a built in cross platform torquescript ide so that way I can develop easier on my mac
#45
12/18/2012 (5:14 am)
@John
TIDE, and Tribal IDE (Both open source)
#46
12/18/2012 (7:17 am)
There are no files or repos in the Tribal IDE project. Looks as dead as a SourceForget project can be.
#47
12/18/2012 (11:04 am)
@Lukas - Hey thanks for the tip on TIDE, how does that compare to Torsion on windows? I have heard of setting up Torsion on the mac in a virtual window running windows? Whats easier and better, and also cheaper? Not sure if I would have to buy software for OSX to run windows programs. I also wonder if script debugging is different, setting breakpoints, steping thru script code etc.
#48
12/18/2012 (1:33 pm)
Very nice indeed.
#49
12/18/2012 (1:45 pm)
Just posted about Torque 2D MIT in the Seattle Game Developer Facebook groups (where I live). Thought I'd spread the news.
#50
12/18/2012 (2:57 pm)
Amazing news, although I like working with 3D I've always had an interest in 2D games. I'm very excited to try this out.
#51
12/18/2012 (3:18 pm)
Because it keeps resurfacing -

Quote:
The MIT License (MIT)

Copyright © 2012 <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

That's the whole thing (except for that � bit - stupid mark-up conversion). Read it and weep, GPL!

Lua rocks. Joe Rossi posted a resource on bridging Lua and TorqueScript that you might find interesting. Not to mention the work the guys at Winterleaf are doing with DotNetTorque and all of the things Frank Carne is doing with Torque and Python.
#52
12/18/2012 (3:54 pm)
Interesting to see so many are looking for Lua scripting support.

Thanks for the name drop Richard :) Yes I'm pretty sure the Lua code should still work with any version of Torque. If there is no official Lua addon for the new open source T2D it'd be nice to get something in there. I really prefer writing my game logic in Lua over any language, though the code can get tricky with my method and I probably should have made some simple tutorials for it :/
#53
12/18/2012 (6:15 pm)
No particles or editor? Ouch. 1 step forward and 2 steps back.
#54
12/19/2012 (5:29 am)
@Blake From what I've heard, Tribal should be equal to Torsion in both upsides and downsides (I use Torsion so I haven't tried it out)
TIDE also seems comparable in features, as they are both free I suggest trying them out and if they don't satisfy you, then begin buying stuff :)
#55
12/19/2012 (9:43 am)
@Johnny
While I can see how you would see it that way, I have to disagree. Steps back would have to been hack the editors back together so that we would end up in the same place all over again. While it may mean a new learning curve for some until the new editors are done, it's better to not let that hold back a stable build that can be used for releasing games.

@Blake/Lukas
Tribal is missing a lot of features that Torsion has. Tribal was an IDE made back in the Tribes modding days and pretty much the only thing that both it and Torsion can do is connect to the telnet debugger and step through scripts. I used to use it back in the if I wanted to quickly look at a script or gui as it loads up quicker than Torsion, but I use Notepad++ for that these days.
#56
12/19/2012 (11:12 am)
@Scott/Lukas Thanks for the info on Tribal. What I was wondering was how to hook up Torsion on the Mac, I heard you can do it in a virtual Windows window. I am not sure how complicated that is to set up, if Torsion is still full featured if running that way (ie, does it lose functionality compared to running native on windows). The cost I was referring to was the virtual windows sooftware for the mac, thought that costed some cash.

Also if there are any tips in setting up Torsion on the mac, or things to watch out for. If anyone has a link to share on how to use torsion on mac would be great, cause debugging via echo statements into the console log is painful.

Also, wondering about TIDE, how good it is, and how it compares to using Torsion in a window on the Mac. What do other devs use for the mac dev work with iT2D?
#57
12/19/2012 (2:39 pm)
@Torsion questions:
What I do, though may not be an option if you do not already have the required items. I have parallels installed on my mac, and installed Windows 8, then Torsion. This way I can still use Torsion as I am not sure what I would do without it.

I am sure there are other 'emulation' type options also. This one worked for me.
#58
12/20/2012 (1:52 pm)
@Scott - Hi Scott!

The editor is such a big part of torque2d! It's like Unity releasing their next version without it's editor... doesn't make sense to me. And also no particle editor?! I hope GG understand some of us are making games for a living. How are we supposed to compete without those tools?

Regarding Torsion. Torsion is great! I hope that one goes open source, since it looks like it hasn't been updated in ages.

#59
12/20/2012 (3:38 pm)
Quote: I hope GG understand some of us are making games for a living. How are we supposed to compete without those tools?
We do understand. It was either release the API soon or release nothing for the next 6 months while we work on editors. The problem isn't that we decided to scrap the editors for fun. The only working modules are the Image Editor, Animation Editor, and our new Audio Editor. Everything else is out of commission due to the new asset system, sprite system, and module system.

It would be a long term waste to try and fix the existing editors, especially considering how tangled and bug-ridden they are. It's honestly best to start with a clean slate. Meanwhile, creating a game by hand is nothing new even to modern engines. Corona and cocos2d are quite popular and only offer an API. Creating a game by hand with the new T2D is vastly easier than the older version of the engine. The only pain point is the lack of level editor, which would be the first editor we would work on.

However, I'll keep repeating myself. Once the MIT version is launched and their is a committee + voting system, we need to decide what editor framework to go with. Once we decide that, we can start working on the editors.
#60
12/20/2012 (7:45 pm)
I'm with Mr. Vo.

Editors will follow, but where is that funding coming from ? I'm confused.
You guys refused to update & fix when the product was paid for..but now that it's going to be free we're to expect work ?
-------------------

Please don't take this post as spiteful Mich. I appreciate your work and calm temperament more than you imagine. I wish you luck too ..but things you guys do always appear backwards to me.

I'm curious how long the funding will last for an opensource engine editor system..