Unreal Engine 4, Unity 5.. Torque 6?

  • 1
  • 2
  • 3
  • 4
  • 5
  • 8
71 posts Page 1 of 8
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Fri Mar 06, 2015 9:57 pm
A few months ago when I was attempting to swap out the graphics layer in Torque3D with bgfx I started running into problems with existing systems. I'd have to rewrite a lot of shaders and a lot of existing features to the point where I started just rapidly removing things with the intention to restore them later after I get a stable environment to work with. Eventually this led me to the question of "how much of this is worth keeping and how much should be completely rewritten." The answer, in my opinion, is that the majority of what's in Torque3D could do with a rewrite. The things that are not worth rewriting like the platform code, scripting language, audio etc all exist in a cleaner, arguably better, form in Torque2D. This is when I had the crazy/brilliant (depending on who you ask) idea to take Torque2D, remove the 2D graphics and replace them with a fresh 3D rendering system.

This lead to the birth of what I'm calling Torque 6:

Image

Why Torque 6? I don't feel like it's fair to lump this into Torque2D or Torque3D making it a whole new beast of its own. According to the wikipedia page for Torque Engine (http://en.wikipedia.org/wiki/Torque_%28game_engine%29) there have been 5 derivatives of the Torque Game Engine. I hope for Torque 6 to be considered the 6th derivative. Therefore, the 6 is part of the name and is not the version number.

Full disclosure: it's not at all ready for usage in a game. I'm only making this blog post in the spirit of GDC and all the engine news lately.

Overview

Torque 6 starts with Torque2D as a base so it comes with Torque2D's platform support, TAML, module/asset system, TorqueScript, 64 bit support, etc. The graphics backend is bgfx so it supports DX9/11, OpenGL 2/3, and OpenGLES 2/3. The renderer I put together uses deferred shading combined with forward shading for special materials. Shaders are written in a glsl-like language inherited from bgfx so you only need to write one copy of a shader for it to work on all platforms. I've also integrated the Open Asset Import Library so the engine supports a wide variety of import formats including FBX, Collada, and OBJ.

Last but certainly not least I built a DLL plugin system allowing you to write C++ code compiled into DLLs and loaded into the engine. I'm building them with the goal of keeping game specific code of any kind separate from the main engine. For example, I wrote the skybox in a DLL since skybox can't be written in TorqueScript but I don't feel it belongs in the main engine as there's a wide variety of sky options and the main engine doesn't need to be bloated with that code.

I believe this is a strong foundation to build an engine on. With bgfx as the graphics backend we need not worry about keeping up with the latest graphics APIs. For example he's already begun development on adding DirectX 12 support. I also have an entity/component system and a material system in place and working, though they may undergo a lot of changes between now and the time someone can use this to make a game.

When can I use it?

Now that the foundation is pretty much in place, the rest of the house has to be built. We're basically missing everything. There's no terrain, foliage, editors, etc. While this is certainly an immediate negative, I think over time it will prove to be a positive thing. Its an opportunity to approach each issue from the top again and use modern techniques and research to produce something that makes sense for 2015.

For an actual timeline though, I'm not sure. This is a hobby project for me, not full time. With any luck other developers will show interest and contribute, but I'm perfectly prepared to go it alone if I have to. With no additional help I imagine I could have it usable for simple games within 6 months.

Can we see it?

Sure can! The repository is available on my github: https://github.com/andr3wmac/Torque6

And here's some screenshots from the early examples:

Image
Image
Image

Stay tuned! I'll try to keep up with regular blog posts to update everyone on progress.
LukasPJ
Site Admin
Posts: 379
Joined: Tue Feb 03, 2015 7:25 pm
 
by LukasPJ » Fri Mar 06, 2015 10:46 pm
Booh! FrankenTorque is the only engine for me!

Seriously though: Great blog and great engine, I hope to hear more from you!
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Fri Mar 06, 2015 11:18 pm
Booh! FrankenTorque is the only engine for me!
I wanted to call it FrankenTorque but the marketing department wouldn't allow it. That's right, blame the folks in marketing ;)
buckmaster
Steering Committee
Steering Committee
Posts: 321
Joined: Thu Feb 05, 2015 1:02 am
by buckmaster » Sat Mar 07, 2015 12:32 am
Woot. This is definitely very interesting. Can't wait to see where it goes. Is the ECS the current T2D implementation?
LuisAntonRebollo
Steering Committee
Steering Committee
Posts: 19
Joined: Tue Feb 10, 2015 6:20 pm
by LuisAntonRebollo » Sat Mar 07, 2015 12:21 pm
Very interesting/fun project :)

You make some changes i think are a must for future of T3D,like Assimp, TAML, Entity/Component.
About BGFX i'm not sure about this... i think i it's better a new GFX designed for new APis like Vulkan.

I'm bound at T3D at this moment, to try improve engine for current teams working with it... but i'm going to follow your project with curiosity.

:)
RichardM
Posts: 32
Joined: Tue Feb 10, 2015 10:23 pm
 
by RichardM » Sat Mar 07, 2015 1:03 pm
I vote for TRON.... TRON forever ;oP

Very interesting development, looking forward to see where this goes.
Steve_Yorkshire
Posts: 248
Joined: Tue Feb 03, 2015 10:30 pm
 
by Steve_Yorkshire » Sat Mar 07, 2015 1:20 pm
Cool stuff Mr.Mac ... but still think you missed an opportunity by not calling it The Torque Sex Engine ;)
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Sat Mar 07, 2015 1:46 pm
About BGFX i'm not sure about this... i think i it's better a new GFX designed for new APis like Vulkan.
I'm not familiar enough with the various APIs to really write a good abstraction. The GFX system in T3D is too far behind for my needs, so I choose BGFX. I didn't want to get sucked into a hole of spending months/years perfecting my own abstraction only to still have to code the rest of the engine. Since this is mainly for fun I decided to skip all that and put my trust in Branimir's skill. He hasn't let me down yet as performance is where it should be with all the APIs in all my tests.
buckmaster
Steering Committee
Steering Committee
Posts: 321
Joined: Thu Feb 05, 2015 1:02 am
by buckmaster » Sun Mar 08, 2015 6:56 am
Also, nice new logo. Did you make the 6 part? Very slick.
J0linar
Posts: 46
Joined: Thu Feb 05, 2015 8:50 pm
by J0linar » Sun Mar 08, 2015 2:20 pm
Sounds interesting, now thinking about it,
i would imagine after a T3D 3.8 release that it would be worth to rethink the course of the sc.

A project like Torque6 could secure T3D/T2D future in the long run and the Author/License Question would be out of the way as well.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 8
71 posts Page 1 of 8

Who is online

Users browsing this forum: No registered users and 1 guest