Torque 3D 3.6.1 released!
by Daniel Buckmaster · 10/08/2014 (4:29 pm) · 49 comments
It's been a long six months and a rough road, but the Steering Committee is very happy to announce that version 3.6.1 of Torque 3D is finally ready! As the first release this Committee has been in charge of, it's taken a bit longer than we'd have liked, and we've learned a lot about the process and our own abilities. But we're happy with the result, and we hope you will be, too! Without further ado-

The new outpost test level, thanks to Azaezel
Give me everything! - git pull - from GarageGames - from GitHub
Only interested in the Full template - from GarageGames
Just the binaries, thanks - Windows 32-bit - Windows 64-bit
You can also grab them from the downloads page of the wiki. The rationale for this new download format is that people who will be evaluating the engine can just download the Full template, not the entire repository. And people who are interested in getting the source code probably don't need the precompiled binaries - but if they need them, they can still get them.
Please note: we've had some reports of trouble with these binaries. If you have any difficulty, please make a GitHub issue, or post in the forum.
Sorry for any confusion! We're still new to this, and it's been a valuable learning experience.
There are a couple of cool pages I'd like to point out. First is the made with Torque page, which looks really boring now but offers a great opportunity - by using the form at the top of the page, you can add a page for your own game or Torque project which will then be listed on the main page. This is something we didn't have the ability to do with the current landing page, and we're really excited it's possible now. It's looking a little sad at the moment, but I have no doubt it will start filling up soon.
Secondly, there are two pages - portable tutorials and TDN guidelines - which are great starting places for contributing to the wiki. The first one is a place for authors to add links to Torque tutorials or resources they have written and would like to have moved to the wiki. The second lists a bunch of TDN pages which meet GarageGames' guidelines for inclusion in this open wiki. So if you're itching to contribute to Torque in any way - get on those!
With that in mind, after 3.6 is released, and tagged v3.6, we will make a branch development-3.6 which will contain versions 3.6.1, 3.6.2, etcetera. This branch will contain only bugfixes with a sufficiently small scope - no large refactoring, no need to change your game code, just incrementally more stability. This is intended to give developers a stable place to work while still receiving updates.
This means that pull-requests which just contain bugfixes should be sent to the development-3.6 branch. We know this isn't going to be easy for everyone, so we'll put some effort into making the process easy - doing manual merges ourselves and so on.
We're looking for people who have a passion for improving the engine technology that allows others to make whatever they set their hearts to - it's really more about effort and willingness to participate than raw programming talent! We also welcome people of any skillset - artistic talent is a noted deficiency among the current committee members, and we wouldn't mind someone who's passionate about community development, publicity, etcetera!
So if you think you have something to offer and you want to see Torque become the open-source game engine of choice, then send us your details!

The new outpost test level, thanks to Azaezel
Downloads
For this release, we've decided to provide several ways for you to get your hands on the engine. As usual, you can use git, or download a snapshot of the entire repository from GarageGames - this time, though, it doesn't come with precompiled binaries. However, you can also now download only the Windows binaries, which you can drop into your existing project. And finally, we've provided a separate download of the Full template, with compiled executables and assets, which we hope will be a more convenient way for people to evaluate the engine's features without having to download the entire source code and everything.Give me everything! - git pull - from GarageGames - from GitHub
Only interested in the Full template - from GarageGames
Just the binaries, thanks - Windows 32-bit - Windows 64-bit
You can also grab them from the downloads page of the wiki. The rationale for this new download format is that people who will be evaluating the engine can just download the Full template, not the entire repository. And people who are interested in getting the source code probably don't need the precompiled binaries - but if they need them, they can still get them.
Please note: we've had some reports of trouble with these binaries. If you have any difficulty, please make a GitHub issue, or post in the forum.
What happened to version 3.6?
That was my bad. This announcement was supposed to be for the release of version 3.6. However, due to over-eagerness, I hit the 'merge to master!' button before we'd done enough testing, and discovered a significant bug in the 64-bit version of the engine in Windows 8. Rather than quietly overwrite the repository history and hope nobody noticed, we decided to fix the issue and publish a new minor version, 3.6.1. We got the chance to test our our shiny new support branch (more on that below), and in the process also fixed some art issues that cropped up after 3.6 had happened.Sorry for any confusion! We're still new to this, and it's been a valuable learning experience.
Changelog
So what's new in version 3.6.1? I'm glad you asked. I mean, I would have told you anyway, but it's nice when you ask. Here's a brief summary of the most significant changes:- You can now compile 64-bit executables! This means your game can take full advantage of 64-bit operating systems. This one was a long time in coming, with a number of contributors throughout the process. Unfortunately it's not supported by the Project Generator, so you'll have to use CMake unless you want to fiddle with your Visual Studio files manually (or submit a pull-request to fix it!).
- Speaking of CMake, we officially support it for the first time! If you've never heard of CMake, it solves the same problem as the Project Generator - taking care of the work of generating build files for different compilers from a single representation. Here's a tutorial for the uninitiated.
- You can now compile with Visual Studio 2013. CMake can generate native VS2013 solutions, or you can generate 2010 solutions with the Project Generator and let VS013 update them for you. This is a great step towards making Torque compatible with modern tools.
- The googletest library is now available for your unit test suites. You are writing unit test suites, aren't you? The good news is we plan to expand our use of unit testing greatly in the coming releases, as well as adding integration testing and, if we can swing it, testing across network connections.
- An actual new feature that you might use when you're, like, making a game, is that you can now use the names of some common colours instead of specifying RGB values - the same as in Torque 2D. Some classic examples include Black, Red, Green, and CornflowerBlue. The full list of named colours is here.
- There are, of course, tons of small (and big) bugfixes and improvements. A major one you might notice is that now, when connecting to a server, shapes with animations will play synchronised on each client, rather than having each client start from the beginning of the animation. This is especially noticeable with long-running non-sequential sequences. There's also been some huge passes over the whole codebase to, for example, improve our consistent usage of platform-independent types like U32, S32, F32, etc. And subtly, we've been laying the groundwork for some awesome changes coming in the future - Assimp, Linux, and a few more things.
What this version means for you
Fortunately (or possibly unfortunately) there shouldn't be a lot of impact on your games. The new version of the engine should be pretty non-disruptive, except for a couple of specific areas.- If you've made changes to your project's main.cs file, have a look at the new closeSplashWindow function, and the Canvas's displayWindow property. Your game will continue to work fine, but the T3D splash window will now stay visible until you dismiss it explicitly. The Template main.cs files handle this properly, so if you haven't changed your main.cs, you can just update from those.
- The old unit testing framework has been removed in favour of googletest, the framework used by T2D. Sorry for the rapid change, but we little evidence to believe people were taking advantage of the test runner, so we moved quickly. Almost all current unit tests have been ported, and many more are on their way.
- If you've made your own Project Generator modules, be sure to update all uses of the Generator class to T3D_Generator. It was renamed to avoid a conflict with a built-in PHP5 feature.
- The Player class now uses the swimForce datablock member instead of runForce when moving in water. If your game involves lots of moving in water, you might need to edit swimForce from its default to ensure your movement works as expected.
- If you had edited the stock code dealing with the ShapeBase::Thread::sound member to actually do something, we apologise for any merge conflicts we've caused by removing that dead code.
The wiki?
Wait, what? Yes, we have a wiki now! Here it is. With huge thanks to Lukas Joergensen who spearheaded the effort to set it up, and is the owner of the wiki until the request to turn it into a community gig is approved. Jump on board and have a look around! Anyone can edit for now, so if you see something that's not finished, lend a hand!There are a couple of cool pages I'd like to point out. First is the made with Torque page, which looks really boring now but offers a great opportunity - by using the form at the top of the page, you can add a page for your own game or Torque project which will then be listed on the main page. This is something we didn't have the ability to do with the current landing page, and we're really excited it's possible now. It's looking a little sad at the moment, but I have no doubt it will start filling up soon.
Secondly, there are two pages - portable tutorials and TDN guidelines - which are great starting places for contributing to the wiki. The first one is a place for authors to add links to Torque tutorials or resources they have written and would like to have moved to the wiki. The second lists a bunch of TDN pages which meet GarageGames' guidelines for inclusion in this open wiki. So if you're itching to contribute to Torque in any way - get on those!
A new branch
Now that we're somewhat on top of our process, we're going to be introducing a small change in how the repository is run. At the moment, the development branch is where all work is merged in and tested before 'releasing' to the master branch. This works fine, but it forces users to upgrade to the next engine version if they want access to bugfixes. While we're shying away from significant changes to the engine's API (for now - more on that later), some users may just want fixes, not new features.With that in mind, after 3.6 is released, and tagged v3.6, we will make a branch development-3.6 which will contain versions 3.6.1, 3.6.2, etcetera. This branch will contain only bugfixes with a sufficiently small scope - no large refactoring, no need to change your game code, just incrementally more stability. This is intended to give developers a stable place to work while still receiving updates.
This means that pull-requests which just contain bugfixes should be sent to the development-3.6 branch. We know this isn't going to be easy for everyone, so we'll put some effort into making the process easy - doing manual merges ourselves and so on.
Community projects and the future
With that said, there are a number of exciting community projects that are close to fruition. BeamNG's OpenGL/Linux ports are the most prominent, but there's also the hard work being done to modernise Torque's renderer with deferred shading, and the redesign of the core gameplay classes with an entity/component system. Along the same lines as the 'made with Torque' wiki page, we've gone ahead and made a page just for such community projects. Here you can make a page for your long-running project to provide documentation for people who might be interested in using it, coordinate with other developers who might want to work on it with you, and generally provide a hub for community interaction around new features/projects.Vacancy on the committee
As I mentioned in the pre-release blog for 3.6, Andrew has had to give up his seat on the Committee due to work commitments. We're still looking for a member to fill this seat, so if you're interested, or even curious about what the role would entail, shoot an email to myself (email is in my profile), one of the other Committee members, or David Wyand at GarageGames.We're looking for people who have a passion for improving the engine technology that allows others to make whatever they set their hearts to - it's really more about effort and willingness to participate than raw programming talent! We also welcome people of any skillset - artistic talent is a noted deficiency among the current committee members, and we wouldn't mind someone who's passionate about community development, publicity, etcetera!
So if you think you have something to offer and you want to see Torque become the open-source game engine of choice, then send us your details!
Acknowledgments
This release wouldn't have happened without the hard work of a lot of people. In alphabetical order, our repository contributors for this release are:- Kyrah Abattoir
- Azaezel
- Daniel Buckmaster
- Anders Dahnielson
- Jack Davidson
- Thomas Fischer
- Lukas Joergensen
- Andrew Mac
- Fyodor Osokin
- Jeff Raab
- Luis Anton Rebollo
- smally
- Timmy
- James Urquhart
Farewell
We hope you enjoy the new version!About the author
Studying mechatronic engineering and computer science at the University of Sydney. Game development is probably my most time-consuming hobby!
#42
@Ron brings up a good point that I find difficult to articulate, but I'll try: there seems to be a few, disparate places where information lives, but is not easily found. I've been around a while too, but only found out about the new wiki a couple days ago. Was TDN no longer usable?
It'd be nice to have things in one central, maybe consolidated location, that is easily accessible from. Perhaps, the GG main page itself?
10/29/2014 (11:09 am)
Quote:Uhm, did not know we even had a functioning wiki, and you all know I have been around a bit :-)
@Ron brings up a good point that I find difficult to articulate, but I'll try: there seems to be a few, disparate places where information lives, but is not easily found. I've been around a while too, but only found out about the new wiki a couple days ago. Was TDN no longer usable?
It'd be nice to have things in one central, maybe consolidated location, that is easily accessible from. Perhaps, the GG main page itself?
#43
The Wiki has been here for a while but we've spent most time setting it up, before it could be released properly.
TDN was old and limited, the new Wiki has practically unlimited resources and a lot more posibilities. The proper TorqueScript syntax highlighter is a good example, and just generally moving more of the T3D "responsibility" from GG to the community.
Besides no one have used TDN for a while, it was quite dead.
About a central location, thats exactly what the Wiki is there for. We should use the Wiki as the main source for information. Thats why I've been bugging everyone on IRC about allowing us to port various resources to the Wiki, and we are woking on porting TDN articles as well.
Another example is the GameClay tutorials like this one, which we have been porting from a completely external site into the Wiki (with permission first ofc).
I think the overall goal, is that the Wiki will be the goto location for information about any part of the Torque3D engine.
10/30/2014 (5:44 am)
@Andrew, well to be fair the new wiki was only first announced now. So you wouldn't have heard about it before unless you've been on IRC while we've been chatting about it.The Wiki has been here for a while but we've spent most time setting it up, before it could be released properly.
TDN was old and limited, the new Wiki has practically unlimited resources and a lot more posibilities. The proper TorqueScript syntax highlighter is a good example, and just generally moving more of the T3D "responsibility" from GG to the community.
Besides no one have used TDN for a while, it was quite dead.
About a central location, thats exactly what the Wiki is there for. We should use the Wiki as the main source for information. Thats why I've been bugging everyone on IRC about allowing us to port various resources to the Wiki, and we are woking on porting TDN articles as well.
Another example is the GameClay tutorials like this one, which we have been porting from a completely external site into the Wiki (with permission first ofc).
I think the overall goal, is that the Wiki will be the goto location for information about any part of the Torque3D engine.
#44
12/20/2014 (4:13 am)
@Daniel, well it's nice to hear that Torque is still alive! I'm an old Torque User, coming from Torque Game Engine 1.4.2, working on a Windows platform. I love the Torque engine and came some times to have a look whats new in this community here. Since some years now, I'm working on Mac OSX and still hope, that Torque comes also back for using on Mac OSX. Is there a roadmap to compile a version for Mac OSX?
#45
12/20/2014 (11:24 pm)
It's been done, but the work is preliminary, unstable, and not officially supported yet. We just merged a lot of code that adds an OpenGL rendering backend, which was the first step to OSX (as well as linux) compatibility. If you're an OSX coder, we need all the help we can get to make this happen properly!
#46
Not a bug, not an error per-se, but, there is a minor annoyance with T3D that I think needs to be addressed. When I import a model and the texture for said model is hard coded.
Example:
diffuseMap[0] = "art/shapes/Cemetary_Props/TombStone_03/TombStone_03_DIF.png";
When it should just be:
diffuseMap[0] = "TombStone_03_DIF.png";
Now, as an 'artist' I realize this is a problem. In fact the only 'issues' I have ever had reported involved this 'non-bug'. How can we go about correcting this? I realize we are assuming the material.cs is located in the shape folder. However, in my opinion, this is not the worst way to store objects.
The main 'issue' is this. With a 'hard coded' texture path. We get errors when we change directory paths. Where as, the second solution makes that 'error' go away.
I realize this is NOT a priority but, dang... I have been going in and 'fixing' this issue since T3D 1.2 (commercial). Thoughts on how to correct this? I am willing to do the work, just not sure where to start.
Ron
12/21/2014 (11:13 am)
Steering Committee,Not a bug, not an error per-se, but, there is a minor annoyance with T3D that I think needs to be addressed. When I import a model and the texture for said model is hard coded.
Example:
diffuseMap[0] = "art/shapes/Cemetary_Props/TombStone_03/TombStone_03_DIF.png";
When it should just be:
diffuseMap[0] = "TombStone_03_DIF.png";
Now, as an 'artist' I realize this is a problem. In fact the only 'issues' I have ever had reported involved this 'non-bug'. How can we go about correcting this? I realize we are assuming the material.cs is located in the shape folder. However, in my opinion, this is not the worst way to store objects.
The main 'issue' is this. With a 'hard coded' texture path. We get errors when we change directory paths. Where as, the second solution makes that 'error' go away.
I realize this is NOT a priority but, dang... I have been going in and 'fixing' this issue since T3D 1.2 (commercial). Thoughts on how to correct this? I am willing to do the work, just not sure where to start.
Ron
#47
12/21/2014 (11:25 am)
Looks like it's coming from the general direction of github.com/GarageGames/Torque3D/search?utf8=%E2%9C%93&q=convertTextureFields if you want to give that one a poke, Ron. Say, clip off all but the last word or somethin like would be the first attempt this end anyway.
#48
12/21/2014 (2:26 pm)
Good idea! 
Torque Owner Daniel Buckmaster
T3D Steering Committee