Page 1 of 2

The Roadmap

Posted: Sat Aug 11, 2018 11:25 am
by JeffR
So, while we've obviously discussed a lot about what's being worked on, what the plan for 4.0 is and other future-looking notions, we haven't really laid down a specific plan - a roadmap.

So, having mulled on it for the past bit, I figured I'd go ahead and hash out the near-term plans to lead us to 4.0, and then what we expect to be done in the builds following. Obviously, it's merely a roadmap, not ZE GRAND PLAN TO END ALL PLANS and so timings and what-happens when can shift around, but I think it'd be fair to say this is what we're shooting for.
  • 4.0
    • August
      • Get the initial build of PBR done, and locked in and merged. Trying to finalize the Screen-Space Reflections currently and then it should be pretty much ready for the initial PR
      • Get module-ifcation of core directory of BaseGame template finalized and in.PR for this is live, here: #2272
      • Initial framework of the RenderPipeline stuff brought in and running - merely replicate existing render path, no changes to rest of render code or materials/shader system.Cleanup for PR underway, should be done this weekend
      • Begin some of the suggested Clean Core work - reorganizing and compartmentalizing files better.
    • September
      • Focused push to convert all game classes to E/C and GameObject instances, and flag the originals as deprecated
      • Get module-ifcation of core directory of BaseGame template finalized and in.PR just needs testing and merging
      • Begin module-ification of tools directory.Initial tests on this have started. Still need to see how difficult the main World Editor scriptbase itself will be to module-ify
      • Begin focus on polishing up workflow, making Asset Browser the pipeline focus.Started plotting changes made from my personal build into various PRs to flesh out the assets and the browser making it the tool it needs to be
      • Make BaseGame template primary template
      • Begin integration of Assimp into art workflow. Per latest workblog update. Effort on this has begun
      • Finalize decision if Material refactor will be in for 4.0 or not.Will happen post 4.0
    • October
      • If we're doing the Material refactor for 4.0, this would be the main focus - streamlining and standardizing the render pipe via the new material system.Will happen post 4.0
      • Begin building out examples and Rapid Prototype Kits
      • Have the platform stuff finalized and cleaned up, having SDL as the main platform layer
      • A few of the in-progress tool additions such as CSG can get more attention to try and lock in.
      • Begin designing out asset store in earnest to act as a focal point for examples, RPKs, addons, etc
    • November
      • Emphasis on QOL improvements, bugfixes and beginning of testing/polish phase.Been accruing a list of issues with the new template to fix along these lines.
      • Establish RC builds, test aggressively.
      • Any last minute additions missed prior can get focus during this time.
    • December
      • Release!
  • 4.1
    • Emphasis on render pipeline work - fully fleshing out the customizable render pipeline.
    • If Material Refactor didn't go in for 4.0, it'll go in here
    • DLLs, plugins, etc go here.
    • Possible rework of the terrain system.
  • 4.2
    • Look into overhaul of terrain system - Virtual Texturing and more flexible LOD system.
    • New render API system, Vulkan
4.0's been cooking for some time, not least of all because of how much it improves and changes, but once it goes out the door, we should be in a position to push updates out at a much more regular cadence, as a lot of the required groundwork for other changes will be done already.

Also, I think we can look at doing a 3.11 build of a "Everything that's not a major overhaul change" sendoff build to bridge the gap between 3.10.x and the major changes going into 4.0 like PBR and the like somewhere around the end of September.

Again, this is just a tentative plan, there's no guarantee this is exactly how it'll go, but I think it's fairly reasonable to shoot for, and it lets you fine folks in the community have an idea of what to try and target. If there's something I've missed that should be specifically called out on the list, or a question of when X would likely fit in, feel free to mention it below. As we progress, we can mark off the bits on the roadmap here so people can better keep a head about how things are progressing.

Re: The Roadmap

Posted: Sun Aug 12, 2018 7:37 pm
by Julius
Sounds great.

The new camera stuff you mentioned previously and possibly related VR improvements fit also in there somewhere?

Re: The Roadmap

Posted: Mon Aug 13, 2018 12:41 am
by Johxz
Sounds good bro! :)

Re: The Roadmap

Posted: Mon Aug 13, 2018 4:04 pm
by JeffR
@ Julius Yep, that'd be part of the initial RenderPipe work I mentioned for August. Pulled the associated code back out and got it working against devhead again, so on that side of things, mostly just need to do a codereview of it and add a few bits and bobs I wanted to make sure were in there on the first go(like being able to add type masks to the cameras so certain cameras can filter out what they render in a simplified way)

Would also note that the modulification of the core dir is mooostly done, just gotta give it the run-through, cleanup and make sure everything feasible is documented/has comments before that bad boy goes in.

And if you want ongoing progress about the PBR work, feel free to pop into the discord, me and Az are hammering on it pretty much daily :P

Re: The Roadmap

Posted: Thu Aug 16, 2018 4:31 pm
by Steve_Yorkshire
me and Az are hammering on it pretty much daily

Re: The Roadmap

Posted: Wed Aug 22, 2018 10:56 pm
by Happenstance
Sounds good, Jeff. I've been out of the loop for the last few weeks due to crunch mode at work but I haven't forgotten about the E/C stuff. I've tinkered with getting a new Item 'class' up and running with components. Plan to work through the list of existing classes and convert what I can to components sometime next month.

Re: The Roadmap

Posted: Sat Aug 25, 2018 2:43 pm
by Code_Man
Good thing you keep us on the loop, but i dont understand a whole lot of this.
Is there anything significant that gamedevs who dont mendle in the engine guts should know about?

Re: The Roadmap

Posted: Thu Aug 30, 2018 7:44 am
by HeadClot
Just a suggestion but - When stuff is done can we get a strike through on that particular thing?

Re: The Roadmap

Posted: Tue Sep 04, 2018 8:43 am
by JeffR
User avatar

Yeah, I think that'd be a good way to go about it. I was figuring we'd do like a rolling update at the conclusion of each month, but it'd probably feel a little more dynamic to go with the immediate updates.

User avatar
Big bits would be Physically Based Rendering(PBR) and subsequent likely changes to the material system being biggies as that'll change how you do art with the engine.
Beyond that, the shift over to the Entity/Component system'll mean there'll be some changes to behavior of Game Classes, but the intent is to keep the end result behavior the same.
Module/Asset system'll change how the files of the game itself are structured.

Otherwise, broad functionality'll stay the same on the front end. You'll still use TorqueScript, same general setup for the tools, etc.

Re: The Roadmap

Posted: Tue Sep 04, 2018 1:07 pm
by Timmy
With the roadmap for version 4.2, i am back now working on the first large thing i have done with T3D for quite some time, i am writing a new gfx layer that will use The-Forge (ConfettiFX is the company that the graphics guru Wolfgang Engel created). The-Forge will serve as a new backend for rendering and i will be creating some higher level classes/functions etc around it, this will bring Direct3D11, Direct3D12, Vulkan and Metal 2 support along with a very modern API, it will also use a single shader language based around hlsl which will simplify shader complexity. Going to take some time as it is a huge job, hence it has been earmarked for version 4.2 at this stage.