Game Development Community

dev|Pro Game Development Curriculum

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-

i.imgur.com/EQNDXI5.png
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.
The full changelog is available on the wiki (and here's the much shorter 3.6.1 changelog). The changelog lists each issue that was closed during the 3.6 time period - note that this includes things that were closed without any changes being made to the engine, such as proposals that were rejected, or changes targeted at the wrong branch that had to be resubmitted.

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
But there are a great many contributors who haven't had commits published - including the work of Yuri Dobronravin and Andrey Syrokomskiy on 64-bit compatibility, and Nathan Martin's tireless reviews of pull requests.

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!

Page «Previous 1 2 3 Last »
#1
10/08/2014 (4:37 pm)
i.imgur.com/tfmdd.gif
Well done, gentlemen!
#2
10/08/2014 (7:16 pm)
Awesome release! Thanks for all the hard work!
#3
10/08/2014 (8:53 pm)
Congratulations!

Gratitude and respect for all the hard work done!

Cheers!
#4
10/08/2014 (10:13 pm)
Nice work everyone :)
#5
10/08/2014 (11:36 pm)
Great job everyone!
#6
10/09/2014 (4:20 am)
great job SC!!
#7
10/09/2014 (7:27 am)
Very nice! great job guys :)
#8
10/09/2014 (9:43 am)
Nice work guys!
#9
10/09/2014 (10:05 am)
Congrats on a pretty potent release!
Cloning.
#10
10/09/2014 (10:26 am)
I am overjoyed, HUGE thank you for your titanic work that led to this release, it happened just in time for me, and it's great, a lot of time, a lot of effort and work invested a lot of really useful things seen here, I'm in a hurry with no patience try out new opportunities as a child unpack gifts on their birthday or on a feast of the new year under the Christmas tree.
PS Once again thanks to all who work on it all!
#11
10/09/2014 (10:27 am)
Well done Daniel!
Happy to see how you guys are making Torque push forward!
#12
10/09/2014 (11:11 am)
Great job and thanks everyone, we have an excellent SC!
#13
10/09/2014 (11:34 am)
Good work ALL!

I have been waiting for this... he he.

Ron
#14
10/09/2014 (12:16 pm)
Well done to everyone! x64 support is amazing to have this day in age :)
#15
10/09/2014 (12:59 pm)
replygif.net/i/483.gif
#16
10/09/2014 (1:47 pm)
Sweet I have been waiting for this for a wile Great Job Guys Awsome work congrats :)

Terry
#17
10/09/2014 (2:54 pm)
James: I see what you did there.
#18
10/09/2014 (2:56 pm)
Woot! Thanks so much for all that you do. As a special celebration, I'm preparing to share my GUI Template with the community. I'd like to give back to everyone for all the help and support over the past year I've been with the community. The templates here are more for newcomers, but I find them useful in everyday prototyping. Let's keep rocking it!
#19
10/09/2014 (3:23 pm)
Great job guys! I'm digging the new Outpost level.
#20
10/09/2014 (3:32 pm)
On that, do feel the need to make it really *really* clear that that was intended to provide a PR testing ground, so if something's missing that should be checked against, pipe up.
Page «Previous 1 2 3 Last »