Game Development Community

dev|Pro Game Development Curriculum

It's here! The MIT licensed Torque 3D GitHub repo is ready!

by Dave Wyand · 09/20/2012 (11:18 am) · 77 comments







It’s here! The MIT licensed Torque 3D GitHub repo is ready!



static.garagegames.com/static/upload/emp-59817/screenshot_004-00001_672.PNG

The day you’ve all been waiting for has arrived. The MIT licensed version of Torque 3D is now available on GitHub. For those that just want to jump in and fork or download the engine, the links to the two repositories on GutHub are listed below. Just promise to come back and read the rest of the blog, OK? (We especially want you to check out and share our new services page)

Main repository with source code and four game templates
Reference documentation repository


History of Open Source Torque 3D

Last week we announced the pending release of Torque 3D under a MIT license. Both Eric and I discussed the move to open source in our blogs that are worth a read if you haven’t already done so:

GarageGames to Release T3D as Open Source
The Future of Torque 3D is Open Source!

We are expecting that moving Torque 3D 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.


Working with Torque 3D

We have chosen to use GitHub to host the Torque 3D 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 3D.

Today there are two separate public repositories for Torque 3D. The first is the master branch for Torque 3D’s source code and four project templates. This contains the latest stable version of the game engine and is nearly identical to the T3D 1.2 retail version. 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.

If you’re looking to just download the current version of Torque 3D to your computer, GitHub will automatically generate a ZIP archive for you at any time.

www.gnometech.com/torque/images/blog-2012-09-19/2012-09-18-GitHubZip.jpg


You may then use Torque 3D just as you would have used the retail version, and may upload the files to your own code repository if you desire. Just because we chose GitHub for Torque 3D doesn’t mean you have to use it for your projects.

In addition to the master branch, a development branch is also 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).

The second Torque 3D repository holds all of the reference documentation that was available with T3D 1.2. This includes the TorqueScript reference in a Windows CHM file, as well as the offline documentation that describes how to use Torque 3D’s tools to build your game or simulation. As with the main code repository, there are master and development documentation branches that keep up with the matching branches in the code repository.

With both of these public repositories everyone has Read Access starting today! Just use the links at the top of this blog to get started.


Discussing Torque 3D

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 3D we will continue to offer a focal point for the community.

In the past we’ve maintained a private forum for Torque 3D owners, and a public forum for those using the demo of T3D. Starting today, we will be moving to the following forum structure:

T3D Beginners Forum
T3D 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.


How do I participate in growing Torque 3D?

In order for Torque 3D 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 3D 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.

www.gnometech.com/torque/images/blog-2012-09-19/2012-09-18-GitHubIssues.jpg


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 3D 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 3D you create a Pull Request. You may read more about pull requests here: help.github.com/articles/using-pull-requests.

www.gnometech.com/torque/images/blog-2012-09-19/2012-09-18-GitHubPullRequests.jpg


Specifically, you’ll create a Pull Request from your branch to the Torque 3D 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 3D 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 3D 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 T3D roadmap based on the community’s input.

As of today, the Steering Committee consists of the following GarageGames members:
  • David Wyand
  • Eric Preisz
  • David Montgomery-Blake
  • Scott Burns
However, we don’t believe that the Steering Committee should only come from GarageGames. Over time everyone but myself will be replaced by members of the community, and the committee will be allowed to grow as required. We have put together a draft of the Steering Committee’s Charter that outlines its roles and responsibilities:

Open Call: Join the Torque 3D Open Source Committee

If you would like to join us on the Steering Committee please write me an email at davew@garagegames.com and tell me about yourself. We’re not just looking for programmers on the committee. We would like to see people from all facets of game and game engine development on the Steering Committee. That will create the healthiest Torque 3D open source ecosystem.

- Dave
#21
09/20/2012 (2:58 pm)
<3

Also, the new services site is slick. Good luck with the new business model!
#22
09/20/2012 (2:58 pm)
@Ron - Come'on. We said several weeks!

Thanks everyone for your support. Since the announcement I've have several big meetings that wouldn't have happened if they didn't believe we were doing something great.

We are really looking forward to the future!

Also, if you really want to help us in the near term, drop a link somewhere to our services page ( services.garagegames.com ). If we are the top link in Google for custom game development, we will have a lot more resource to dedicate to core T3D work.
#23
09/20/2012 (3:01 pm)
Thanks guys, TortoiseGit seems more suited for me than that of the default offering... although I'll probably check out SmartGit as well :)
#24
09/20/2012 (4:26 pm)
This is awesome! I can't wait for T2D to go this way. BTW, did the web plugin code make it into the MIT version?
#25
09/20/2012 (4:27 pm)
Yup. It's in there.
#26
09/20/2012 (4:29 pm)
Even better! Can't wait to take a peek :)
#27
09/20/2012 (5:06 pm)
*cheer*


<edit>
Oooo Just noticed the new Art packs, are they what was in 1.2?
</edit>
#28
09/20/2012 (6:21 pm)
@David - Sort of. The new packs are from the Chinatown level but they are optimized for use as single instances. We had to do about a month's worth of work to redo these items. So while these items were in 1.2, they weren't usable on different levels. We have more new packs coming soon.
#29
09/20/2012 (8:35 pm)
Someone posted this question on Reddit and I thought you might find my response useful:

Quote:So what benefits are there going to be for those of us who purchased the engine?

It may feel like a consolation prize, but if you really know Torque well and you aren't afraid of a little elbow grease (which if you are...don't go into games), your skills are now many times more valuable than they were a few weeks ago. By going MIT open source the market is open and the ocean is blue. You have the pretty much the same licensing as us...we just have the brand name.

Start a store. Start a school. Build an art pack. Start a service business. Fix something and sell it. Consult for a project. Write a book. Sell a tutorial. Write a blog. Get a job. Build a web-site. Localize the documentation in German and sell it to Germans. Port it to Wii U and work a licensing deal with Nintendo. Build a version of Power Point that is better than Power Point.

These are all things that you as an existing Torque developer can do that new developers can't do. But the time to start is now because in six months, the 50k people who just joined our site in the past two weeks will catch up. What are you waiting for?
#30
09/20/2012 (9:20 pm)
Thanks!


Wow, now what to do? The next Borderlands, Rage, COD?

There are really no limits! :D

If our company can be a customer of Garagegames services we will.

/bow
#31
09/20/2012 (10:08 pm)
Hey Dave (or anyone who knows), what is the impact of losing Unicows/unicode? Is there another MIT option out there or is foreign language support potentially hosed here?
#32
09/20/2012 (10:10 pm)
Go go Gadget pull-requests! Looks like there's already someone getting stuck into GCC compatibility... hot damn.
#33
09/20/2012 (10:19 pm)
@Chris:
Unicows should only have been necessary for Win95, Win98 and WinME support. en.wikipedia.org/wiki/Microsoft_Layer_for_Unicode

As far as I could tell, Torque 3D wasn't actually linking against unicows any more (or never was?) so I removed its libs directory. The licensing seemed to indicate we couldn't actually distribute it openly, anyway. Unicode support in Torque 3D itself should not have been impacted. But please do let me know if you've run into an issue.

- Dave
#34
09/20/2012 (10:22 pm)
@Chris Calef: Unicows is a unicode compatibility library for the use on Windows 95/98/ME operating systems only. It didn't make sense for Torque 3D to continue bundling that library anyway as the APIs that unicows provided have been apart of the Windows operating system since Windows 2000.

Edit: Of course Dave replied just before I could. :p
#35
09/20/2012 (10:23 pm)
Congratulations !
#36
09/20/2012 (10:27 pm)
Awesome, congrats on the GIT release! I have no doubts its was a great move.

[edit]

Its great to see all the fresh changes!
#37
09/20/2012 (10:31 pm)
@Daniel:
I love the network graph feature of GitHub: github.com/GarageGames/Torque3D/network Now that's transparent development across the community!

- Dave
#38
09/20/2012 (11:19 pm)
@Dave & Nathan: awesome, it was deprecated anyway. :-) Good times... Lucky GG is all the way in Las Vegas or I'd be riding down to the office and kissing everybody.
#39
09/21/2012 (12:20 am)
Congratulations, guys! And 50k new users in two weeks? Sounds like the repo will be busy! :)
#40
09/21/2012 (12:27 am)
The repo was getting new forks between me visiting different parts of it just now. That's fairly busy :)