Game Development Community

dev|Pro Game Development Curriculum

Torque 3D Open Source 2.0 Launch

by Dave Wyand · 12/19/2012 (5:44 pm) · 50 comments







Torque 3D Open Source 2.0 Launch




Back on September 20, 2012, we launched the MIT licensed version of Torque 3D on GitHub. This was based on the T3D 1.2 commercial version with some changes to accommodate the MIT license. Since that time we’ve had 800 people star and 300 people fork the open source repository.



Now today, nearly three months following our open source launch, we present the first new release under this license: Torque 3D 2.0.


What’s New for 2.0

Torque 3D 2.0 has focused on three areas of development: the new Project Manager, Linux Dedicated Server, and improvement and bug fixing.

Project Manager
The commercial version of Torque 3D 1.2 included an application called the Toolbox. It was used to create custom projects based on the included T3D templates, among other things. Unfortunately, it was made with components that could not be open sourced, so the Toolbox had to be dropped.

In its place is the new Project Manager. The Project Manager has been built using the open source version of Qt to allow it to work across platforms, and currently fills the role of creating projects based on T3D’s templates.



You don’t need to use the Project Manager to create your own projects (the manual steps of creating a project from a template are included in T3D 2.0’s readme), but it sure can be a time saver. The Project Manager will continue to be updated and new features added over time.

Linux Dedicated Server
This is a prime example of the community contributing to the open source version of Torque 3D. Long-time member of the community, Fyodor “bank” Osokin, has contributed the changes to make the Linux dedicated server version of Torque 3D a reality. He has even tested it across multiple distributions so it is likely to work with your favorite one. Way to go, bank!

Other members of the community have also stepped in to offer improvements and suggestions. Following the Quality Assurance testing done at the GarageGames’ office, the Linux dedicated server feels solid and ready to serve your project.

Improvements and Bug Fixes
The 2.0 release of Torque 3D includes a large number of improvements and bug fixes. These came from the community and also from the GarageGames’ internal repository from the past year. Here is a complete list of everything that has gone into this release:

  • Fix some PHP 5.3.0 errors and warnings (Issue 42)
  • Fixes the dllmain.h template file to include MIT header (Issue 16)
  • Added support for FMOD 4.42.03 Stable (Issue 3)
  • Torque 3D Toolbox fix for project launching (Issue 12)
  • Prevented #define for in VS2012 (Issue 39)
  • Made Item network members properly in the editor. (Issue 37)
  • Required changes to the Torque3D to make it Linux-compatible. (Issue 19)
  • Fix for Issue #54 for PhysX client crash on exit (Issue 54)
  • Fix for Issue #56 for ShapeEditor save crash (Issue 56)
  • AI related bug fixes and improvements. (Issue 11)
  • Fix for Issue #62 for Large decal disappears (Issue 62)
  • Fix for Issue #64 for GuiTabBookCtrl rendering (Issue 64)
  • Rename AiPlayer::produce() to AiPlayer::spawnAtLocation() (Issue 67)
  • Fix for Issue #66 for Skinned mesh crash (Issue 66)
  • SpawnSphere leaves its spawned object at the origin (Issue 44)
  • Fix for Issue #88 for River Editor Snapping (Issue 88)
  • Fix for Issue #90 for Camera orbit object bug (Issue 90)
  • Fix for Issue #94 for Cubemap render bug (Issue 94)
  • Fix for Issue #96 for DAE updating crash (Issue 96)
  • Issue #106 Convex Shapes Consume Too Much Bandwidth (Issue 106)
  • Issue #108 Turret assumes "heading" node is parented to node with zeroed rotation (z-up) (Issue 108)
  • Issue #111 Fix various bitstream issues (Issue 111)
  • Issue #110 T3D 1.2 - Particle Emitter ejectionPeriodMS has 1000 limit (Issue 110)
  • Issue #114 FootStepSounds issue has occurred again (Issue 114)
  • Issue #116 Crash with text using high-numbered unicode characters (Issue 116)
  • Issue #118 Collada Importer doesn't render meshes without materials from blender (Issue 118)
  • Issue #120 ArrayObject Sort - Desc Parameter is inverted (Issue 120)
  • Issue #122 Issue in Material Editor Setting for Sounds (Issue 122)
  • Issue #124 CustomMaterial Back Buffer Refraction (Issue 124)
  • Issue #126 TCPObject gives "Got bad connected receive event" (Issue 126)
  • Issue #128 Soldier shadow displayed in 1st-person view looks wrong with no feet (Issue 128)
  • Issue #130 Decals not obeying smoothing groups on meshes (Issue 130)
  • Issue #132 RenderOcclusionMgr uses fixed function rendering (Issue 132)
  • Issue #134 VS2010 and .rc files (Issue 132)
  • Issue #136 Zoning Bug in Underwater Cave (Issue 136)
  • Issue #138 guiArrayCtrl Clip Rectangle Fix (Issue 138)
  • Issue #69 RayInfo distance with ContainerRayCast (Issue 69)
  • Issue #71 BitVector don't have copy-constructor/operator= (Issue 71)
  • Issue #141 Remove Toolbox and all game binaries (Issue 141)
  • Issue #61 GuiHealthTextHud - a C++ replacement for the scripted numerical health hud. (Issue 61)
  • Issue #151 New gitignore for Project Manager (ssue 151)
  • Issue #155 Billboard Creation on Dedicated Server (Issue 155)
  • Issue #158 Partial revert of changes from Pull #125 (Issue 158)
  • Issue #152 Unmatched Bitstream changes in Pull Request #112 (Issue 152)
  • Issue #166 Client does not completely load with a dedicated server (Issue 166)
  • Issue #170 Some assets do not load under Linux dedicated server (Issue 170)
  • Issue #172 Dedicated server - Crash when a turret fires at an enemy (Issue 172)
  • Issue #174 Player turret weapon targets the wrong direction (Issue 174)

Where to Find Torque 3D 2.0

As always you may find Torque 3D over on GitHub. Here is a list of all repositories:

With the release of Torque 3D 2.0 all changes in the development branch have been moved into the master branch. The development branch will now be used for changes related to the next release of Torque 3D. My T3D Open Source Launch blog has a section on Working with Torque 3D that describes how to get the source code, either through cloning the repository or using GitHub’s ZIP functionality.

In addition to GitHub we also have our own ZIP package that combines the Torque3D repository with the updated TorqueScript documentation, the Project Manager, and compiled versions of each of the templates. This package is ideal for those that do not wish to compile Torque 3D on their own, and is available here:

Complete Torque 3D 2.0 zip package



What’s Next for Torque 3D

With this first open source only release of Torque 3D complete we are now looking towards the next release. The Torque 3D Steering Committee has some ideas on what the road map could look like for the first half of 2013, and we will present this in the new year. But all of this can only happen with you, the community.

The Steering Committee exists to help provide direction and lend a hand, but it cannot do everything on its own. In January we will be asking for everyone’s help to continue to drive Torque 3D forward and make it the best open source 3D engine out there.


In Closing

I wanted to end this blog with an amazing video. This is a Virtual Reef that comes out of the Queensland University of Technology. It uses the power of Torque 3D to draw users into an interactive aquarium. Enjoy!



- Dave

Page «Previous 1 2 3 Last »
#1
12/19/2012 (6:36 pm)
That virtual reef project is cool! Great news about the new build!
#2
12/19/2012 (7:14 pm)
Nice video and great to see the 2.0 version :o)
#3
12/19/2012 (8:33 pm)
Congrats to everyone, especially the community!
#4
12/20/2012 (12:06 am)
Pretty cool. Not to sound like a complete idiot, but how do we launch the level editor since the new project manager doesn't have a launch world builder button?
#5
12/20/2012 (12:10 am)
Nice! Not sure if it's quite worthy of a major version number yet but I assume that was partly due to the open-sourcing and we'll see smaller version numbers from here?

Where is that image at the top of the post from?
#6
12/20/2012 (1:37 am)
Great news, and thanks for the easy download.
#7
12/20/2012 (2:10 am)
@William McDonald: launch the game, select level of choice, and once it's loaded press F11 for World Editor, F10 for Gui Editor.
#8
12/20/2012 (2:44 am)
@Daniel: Dave could best explain the reasoning -- if it's found to be an sticking point -- but it looks like we're going with a major version number change for each release of the master branch. Minor numbers will be for necessary updates to the master branch. Some folks in IRC have already taken issue with this, yet no one could agree to a consensus as to logical versioning semantics: some want major.minor.revision, some want date based version numbers, so what do you do? They were extended an invitation to continue the discussion openly in the forums if it was going to be such a big issue, no one has done so... We already saw confusion with the initial master branch (which was released as 1.0) when it was updated to 1.1 to contain a fix for the old Toolbox, causing some people to think that T3D MIT was somehow less than the previous retail versions due to version number conflicts.
#9
12/20/2012 (3:32 am)
So maybe I missed it, but where's that first screenshot from. Looks like someone replicated the costal town from the cryengine devkit in Torque ;)
If so, I approve.
#10
12/20/2012 (4:11 am)
@Michael

You guys certainly pay a lot of attention to the IRC channel, but plenty of community members, like me, are not usually there.

Opensourcing offers some open participation, and in that spirit I would ask for extending the comitee attention beyond the usual niches, to let everybody know whats going on.

That being said, I certainly disagree as well about major version number for each release. We have examples of it, Firefox followed that route and all it accomplished was confusion and an enraged community.

If there is a forum thread in place where to participate of this discussion, I would like to know :)


Details appart, has been a good start guys, thanks a lot for your effort and time.
#11
12/20/2012 (4:43 am)
Firefox is definitely another example that perplexed me. I guess I don't have that much against it - version numbers is version numbers - but calling something '2.0' to me implies that it's very different, as opposed to an incremental patch of that original thing.

Aside from anything else, I think it's a bit ridiculous to see 'Firefox 17' on a piece of software that's very functionally similar to 'Firefox 4' (backend improvements aside - I'm talking about my experience as a user). Same goes for Torque.

If I were to actually venture an alternative and not just whine about the current system, I'd have gone with a month-year system like those DirectX SDK downloads. Descriptive and succinct.
#12
12/20/2012 (4:45 am)
And - holy crap!- I just watched that QUT video. It's pretty astonishing. I'd love to know how they did... well, pretty much all of it.
#13
12/20/2012 (5:00 am)
I would line up to Daniel's option of a month-year approach.
#14
12/20/2012 (6:08 am)
Sweet video there. And it's right in my back yard! I'm definately going to have to get the ferry across to see that at some stage.

Grats on the 2.0 guys.

I believe that first image is from our own Ronald Kapaun. If I'm not mistaken. Although I thought it was from his upcoming Deciduous Forest Pack. Ron?
#15
12/20/2012 (6:50 am)
The entire blog looks great and thanks to all of the community for their participation.
When it comes to the Version number comment after reading all the changes I had to 'roll-my-eyes', sorry, it just seems petty in light of all the changes made with an addition of a Linux Dedicated Server on top of the patches and bug fixes.
So I went to search for the definition of Version Numbering to find an acceptable reference that is widely used and this is what I found as part of the many varieties and reasons for version numbering.
Of course it is not the only acceptable way to do version numbering:
From: discuss.joelonsoftware.com/default.asp?biz.5.405165.5
Quote:Friday, October 20, 2006

The names vary dramatically, but most version numbering schemes I've seen follow this pattern:

Major - Minor - Point - Build

A major version introduces new, significant features that may require the user to learn how to use them.

A minor version refines existing features, or add complimentary ones such that the user can intuitively use them.

A point release, patch level or bug fix, simply incorporates bug fixes or corrections to features that didn't work as intended. In contrast to a build, point releases should be relatively stable.

A build is a version that's been compiled specifically for testing purposes and may be feature incomplete. Builds are normally not released to the public.

Within each "version" block, you can use whatever alphanumeric scheme you'd like. However, reaching the end of your scheme should not automatically increment the next higher block... err...

If the current version is 1.9.9, the next change is not necessarily version 2.0.0. If you're doing a point release, it's version 1.9.10. A minor upgrade results in version 1.10.0.

Your "hello world" program is typically version 0.0.0.1 (version zero, first build) and the first officially supported version released to the public is version 1.0.0.

These rules are not carved in stone. Use whatever naming convention you want, but most places at least follow the major, minor, bug-fix notation.
TheDavid
Friday, October 20, 2006

/Rant ON
We have T3D v2.0 now. We will still have many thousands of users that will not read documents, do not know how to search the internet and forums for information, still struggle to understand basic concepts of Game Development and Client / Server hierarchy... etcetera...no matter what version numbering system GG uses.
My point is that, the system GarageGames chooses to use for Version Numbering shouldn't even be an issue at all. It's just a method used to help identify a release for reference sake, when discussing details with your peers in the community so you're all thinking on the same page.
/Rant OFF
#16
12/20/2012 (7:09 am)
@Dave - Fantastic blog.

@T3D Team - Great work on the release guys! This is exactly the kind of velocity and frequent bug fixing that validates going open source. I look forward to future updates and collaboration between the engines.
#17
12/20/2012 (7:14 am)
O..MY...GOD...T3D2.0.......I live that!!!
#18
12/20/2012 (7:33 am)
why have not NAVmesh in T3D2.0 release?...and not have new tools..
#19
12/20/2012 (7:49 am)
Greetings!

Thanks everyone. It feels great to have our first, fully open source release out into the wild. I look forward to many more with all of you.

Some of you were asking about the title image. It is from our very own Ron Kapaun. At the last minute I asked Ron if he could create an image to showcase Torque 3D for the 2.0 release blog, and I think he really came through. In the future, I would like to include an image from the community for each of my update blogs, which I try to do every couple of weeks. If you're interested in participating please contact Ron.

I also wanted to talk about Novak's comment about being on IRC. We're not actually using the IRC channel as any sort of official outlet...Michael Hall just happens to spend a lot of time in there (he did before he became a Committee member). As you would expect, the topic of Torque 3D is sometimes discussed (when not talking about food recipes, I understand :) and Michael does his usual best to answer them.

Our official outlets include various blogs by myself, Ron and Michael, as well as our Steering Committee meeting notes found here. We also sometimes start forum threads.

Outside of those, you all can feel free to contact any of us at any time. I understand that a number of artists in the community have already reached out to Ron, and that is great hear!

- Dave
#20
12/20/2012 (7:56 am)
Thanks for the clarification Dave.

Any comments on the choice for version numbering?
Page «Previous 1 2 3 Last »