Unreal Engine 4, Unity 5.. Torque 6?

  • 1
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
71 posts Page 5 of 8
LukasPJ
Site Admin
Posts: 426
Joined: Tue Feb 03, 2015 7:25 pm
 
by LukasPJ » Sun Mar 22, 2015 9:14 pm
@ andrewmac

As soon as your shitty engine is working! :P You need to make a "Lukas do this to get it running bruh" manual :P
kynora
Posts: 6
Joined: Sun Mar 08, 2015 3:06 am
by kynora » Mon Mar 23, 2015 2:46 am
T3D 3.6.7 will have basic SDL, which is easy for multi-platform that started by @
User avatar
LuisAntonRebollo
. And next version will have many feature of T2D such as TAML. Me also already migrate my T2D game to use T3D too because it already have good editor. You rip out T2D and put 3D have ton of many work especially collision detect and realtime network.
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Mon Mar 23, 2015 3:32 am
@ LukasPJ

Image

@ kynora : Collision code from T3D is ported, but not fully implemented, and so far I've implemented it in a threaded manner so it should hopefully perform better. The networking in T3D is present in T2D as well it's just disabled. I've started to bring it back to life but it's not ready yet. Certainly a lot of work to do but hopefully in a few months it'll be viable.
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Tue Mar 24, 2015 12:13 am
50k alpha blended instanced textured particles with unique colors being updated from the CPU:



The plan is to create a simulation algorithm for particles that works in a compute shader as well as on the CPU. A compute shader can fill the instance data buffer with as few or as many particle instances as it pleases without CPU intervention, so if you switch on GPU simulation for that emitter it should be able to handle a lot more particles. There will of course be downsides to switching on GPU simulation just as there are downsides to CPU simulation. GPU will also only work on platforms using a newer openGL or DX11.

EDIT: video updated with textured particles
LukasPJ
Site Admin
Posts: 426
Joined: Tue Feb 03, 2015 7:25 pm
 
by LukasPJ » Tue Mar 24, 2015 3:47 pm
In other news, this is Torque6 as well:
// Uses the name of the class, can get the name as a parameter as well
   [ConsoleClass]
   class SimObject
   {
      // This gets called insted of SimObject::onAdd() in TorqueScript.
      public void onAdd()
      {
         // Create a wrapper based on the ID of the object
         SimObjectWrapper wrapper = new SimObjectWrapper(SimObjectWrapper.GetID("Test"));
         bool isitmethod = wrapper.isMethod("getName");
      }

      // This gets called with call("TestConsoleFunction", "foo");
      [ConsoleFunction]
      public static string TestConsoleFunction(string res)
      {
         Console.WriteLine("TestConsoleFunction");
         return res;
      }

      // This gets called with call("BeforeQuit");
      [ConsoleFunction]
      public static void BeforeQuit()
      {
      }
   }
Available here https://github.com/lukaspj/Torque6/tree/C%23-Bridge :P (not tested outside my own environment)
HeadClot
Posts: 86
Joined: Sat Feb 07, 2015 1:29 am
by HeadClot » Sun Mar 29, 2015 8:04 am
Hey,

Got a few Questions about Torque 6 and a request or two.

1. Will there be a dedicated server for T6? If yes will it be a fork of the T3D server or something from scratch? Will the server be multi-threaded?
2. What will the lighting model be? differed rendering? Forward rendering?
3. Will you be using DX12 and Vulkan? These two APIs would allow developers to get closer to the metal so to speak.
4. Will there be Physically based Rendering support?
5. I read something in the blog section of this site about C# support. Is that coming to T6? Is torque script remaining or no?

Requests -
1. Large world Support for T6 for 2D / 3D Scenes.
2. A node based Shader Editor similar to Unreal Engine.
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Sun Mar 29, 2015 2:22 pm
1. Will there be a dedicated server for T6? If yes will it be a fork of the T3D server or something from scratch? Will the server be multi-threaded?

The networking from T3D will be present in T6. It's started, but it's not ready for demo yet. Once things are working they'll be stress tested and if improvements can be made from threading areas then it'll be done.

2. What will the lighting model be? differed rendering? Forward rendering?

The current setup is deferred rendering with forward for translucent and special materials. Materials can be defined as either a ForwardMaterialAsset or a DeferredMaterialAsset which will choose the path they take. If you aren't using any features or materials that use deferred path it will switch off, so it's possible to make a game that uses forward entirely if you were so inclined.

3. Will you be using DX12 and Vulkan? These two APIs would allow developers to get closer to the metal so to speak.

Yes, bgfx author is working on DX12 and Vulkan support. This is part of the reason I chose to use bgfx, I don't need to worry about adding support, he will be taking care of it.

4. Will there be Physically based Rendering support?

Yes, but not until after the foundation is more solid. I can do PBR and realtime LPV, etc but I don't want to get sucked into working on that while things like terrain, etc are not working. I figure I'll focus first on making the engine usable, then I'll add the fancy lighting.

5. I read something in the blog section of this site about C# support. Is that coming to T6? Is torque script remaining or no?

Yes, there will be C# support thanks to @ LukasPJ. It will not replace TorqueScript unless you want it to. Modules written in torquescript or C# can work in conjunction in the same project.

1. Large world Support for T6 for 2D / 3D Scenes.

I noticed in UE4 the landscape works on a grid system: http://i.ytimg.com/vi/tsXVP0fykBM/maxresdefault.jpg I'm going to mimic the same thing. It makes it easy to cull landscape chunks. It's not a new idea, landscape paging has been around forever. I don't know why T3D never had it.

2. A node based Shader Editor similar to Unreal Engine.

I've wanted this since the first time I used it in Unreal Engine. This is at least part of the motivation for me to integrate nanoVG to run the backend of the GUI system. I recently pushed a GuiCurveCtrl I made that uses nanoVG bezier functions to draw nice curves:

Image

Obviously there's a lot more to a node based shader editor, but the curves are definitely a bit part of the visuals of it.
LukasPJ
Site Admin
Posts: 426
Joined: Tue Feb 03, 2015 7:25 pm
 
by LukasPJ » Sun Mar 29, 2015 2:27 pm
Hey,

Got a few Questions about Torque 6 and a request or two.

1. Will there be a dedicated server for T6? If yes will it be a fork of the T3D server or something from scratch? Will the server be multi-threaded?
2. What will the lighting model be? differed rendering? Forward rendering?
3. Will you be using DX12 and Vulkan? These two APIs would allow developers to get closer to the metal so to speak.
4. Will there be Physically based Rendering support?
5. I read something in the blog section of this site about C# support. Is that coming to T6? Is torque script remaining or no?

Requests -
1. Large world Support for T6 for 2D / 3D Scenes.
2. A node based Shader Editor similar to Unreal Engine.
Just to add on to what @ andrewmac wrote:

This is more a hobby-dev engine at this point and there is no promises that it will even reach a critical mass where you can begin to make games in it. But it's also community driven ( @ andrewmac seems to open for merging the crap I make ) so it goes as far as the community is willing to take it. I can imagine this engine reaching that critical mass, which is why I like working on it. Also it's so small that if you want to influence the outcome, this is the best time to do it :P
chriscalef
Posts: 381
Joined: Mon Feb 09, 2015 7:48 pm
by chriscalef » Sun Mar 29, 2015 6:01 pm
Hey Andrew, before you go write a new terrain paging system, don't forget to check out mine, I'm sure it could be improved upon but it might save you a few minutes. It functions at the level of simply paging .ter files before it gets into anything involving flightgear. I didn't finish making it effectively drop the terrains behind you - should be trivial but I had a problem or two and I ran out of time - but otherwise the way it works is simply setting a loadRadius in script. It will load any terrains within that radius, and then (as soon as this part works) it will drop any terrains outside the dropRadius.

http://garagegames.com/community/blogs/view/22953

The actual project on github is here:

http://github.com/ChrisCalef/Torque3D/t ... rain_pager

The game directory to test it is here:

http://github.com/ChrisCalef/terrainPager_game
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Mon Mar 30, 2015 3:05 am
@ chriscalef : I may use it for reference if I get stuck on something, but this is a completely new terrain system so I doubt I could reuse much of the code. I hashed it out tonight, it seems to be going quite well.

The idea is that there is just one giant terrain grid in the whole level (if you load the terrain module). You then load heightmaps, textures, etc into the cells, otherwise they're invisible. Here's an example of the torquescript:
// Terrain Cell 0,0 
Terrain::loadHeightMap(0, 0, expandPath("^Terrain/heightmaps/test.png"));
Terrain::loadTexture(0, 0, 0, expandPath("^Terrain/textures/grass.jpg"));
Terrain::loadTexture(0, 0, 1, expandPath("^Terrain/textures/rocks.jpg"));
Terrain::loadTexture(0, 0, 2, expandPath("^Terrain/textures/snow.png"));

// Terrain Cell 1,0
Terrain::loadHeightMap(1, 0, expandPath("^Terrain/heightmaps/test.png"));
Terrain::loadTexture(1, 0, 0, expandPath("^Terrain/textures/grass.jpg"));
Terrain::loadTexture(1, 0, 1, expandPath("^Terrain/textures/rocks.jpg"));
Terrain::loadTexture(1, 0, 2, expandPath("^Terrain/textures/snow.png"));

// Terrain Cell 0,1
Terrain::loadHeightMap(0, 1, expandPath("^Terrain/heightmaps/test.png"));
Terrain::loadTexture(0, 1, 0, expandPath("^Terrain/textures/grass.jpg"));
Terrain::loadTexture(0, 1, 1, expandPath("^Terrain/textures/rocks.jpg"));
Terrain::loadTexture(0, 1, 2, expandPath("^Terrain/textures/snow.png"));

// Terrain Cell 1,1
Terrain::loadHeightMap(1, 1, expandPath("^Terrain/heightmaps/test.png"));
Terrain::loadTexture(1, 1, 0, expandPath("^Terrain/textures/grass.jpg"));
Terrain::loadTexture(1, 1, 1, expandPath("^Terrain/textures/rocks.jpg"));
Terrain::loadTexture(1, 1, 2, expandPath("^Terrain/textures/snow.png"));
Here is the result without any stitching:
Image

And now with stitching applied:
Image

With the whole system locked into a grid I can easily calculate the nearest visible cells and only render those. I will eventually try to thread the loading process for terrain cells so it can happen seamlessly and only load the visible cells + some buffer.
  • 1
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
71 posts Page 5 of 8

Who is online

Users browsing this forum: Google [Bot] and 13 guests