3.10 or wait for 4.0

There are no stupid questions, just stupid answers.
  • 1
  • 2
20 posts Page 1 of 2
andi_s
Posts: 26
Joined: Tue Feb 10, 2015 8:12 pm
by andi_s » Sat Jan 13, 2018 11:34 am
Hi all,

I read trough jeffs blog and saw what is all coming for 4.0 . With the ECS, it seems the gameplay-code side of T3D will change quite a bit, so I was wondering if it's worth to start a project now in 3.10, or better wait for 4.0? I assume a lot that I would learn now won't apply anymore in 4.0. Is this correct?
- Is there somewhere a working version which has the ECS already in?
- Is there a way to compile a mostly stable version of T3D without the need of the old directx sdk?
Then I have a few more questions regatrding 3.10:
- Is there up to date documentation somewhere on how to integrate nvidia physix? Nvidia does not provide the binary anymore, only source, so one has to compile by himself. However which source version do I have to download? After compiling T3D with physix, is there anything additional that has to be done, or is collision and stuff then automatically handled by physix? Would you rather use physix or bullet?

Thanks!

Andi
Duion
Posts: 914
Joined: Sun Feb 08, 2015 1:51 am
 
by Duion » Sat Jan 13, 2018 12:02 pm
I would not use physX it is proprietary and this comes with potential issues.
Happenstance
Posts: 29
Joined: Sat Apr 11, 2015 9:08 pm
by Happenstance » Sun Jan 14, 2018 12:04 am
It's an interesting time to start something new with T3D because as you said, 4.0 is going to change how we use the engine in some really significant ways but it's still months away so we're stuck in this strange limbo between versions.

My recommendation, assuming you're wanting to start a project now, would be to use 3.10 but pull in some of the changes that have already made it to the development branch. For my current game I've built my own 'Franken engine' based off of 3.10 but I'm using the new templates and pulled in all of the bug fixes in the development branch (as well as did some major streamlining - got rid of unused libs, pulled out basic lighting, removed all DX support/SDK requirements, etc.). I've now got a clean base to start from and I can more easily keep up with the development branch if needed.
Duion
Posts: 914
Joined: Sun Feb 08, 2015 1:51 am
 
by Duion » Sun Jan 14, 2018 2:29 am
Or just work on something that is not affected by the engine version such as art or custom scripts or custom engine functions.
HeadClot
Posts: 72
Joined: Sat Feb 07, 2015 1:29 am
by HeadClot » Sun Jan 14, 2018 3:32 am
Happenstance wrote:It's an interesting time to start something new with T3D because as you said, 4.0 is going to change how we use the engine in some really significant ways but it's still months away so we're stuck in this strange limbo between versions.

My recommendation, assuming you're wanting to start a project now, would be to use 3.10 but pull in some of the changes that have already made it to the development branch. For my current game I've built my own 'Franken engine' based off of 3.10 but I'm using the new templates and pulled in all of the bug fixes in the development branch (as well as did some major streamlining - got rid of unused libs, pulled out basic lighting, removed all DX support/SDK requirements, etc.). I've now got a clean base to start from and I can more easily keep up with the development branch if needed.


Would you mind sharing this out of curiosity?
Duion
Posts: 914
Joined: Sun Feb 08, 2015 1:51 am
 
by Duion » Sun Jan 14, 2018 11:47 am
I wonder why everyone wants to rip out basic lighting, of course it is not nice, but it gives insane amount of performance, so the game can run on very old hardware such as laptops etc and maybe mobile platforms if they should ever be supported.
Pulling out directX can make sense from an open source enthusiast standpoint.

I also prefer the old templates towards the new system, which is just confusing for now and untested.

So I would not recommend using the new stuff at all, since it has never been field tested and no games have been made with it yet, which means, you will run into a lot of bugs you will need to fix.
Happenstance
Posts: 29
Joined: Sat Apr 11, 2015 9:08 pm
by Happenstance » Sun Jan 14, 2018 3:49 pm
HeadClot wrote:
Happenstance wrote:Would you mind sharing this out of curiosity?


Sure. I'll try to get something uploaded later today. I also have a 'slim-310' branch on my github (https://github.com/chaigler/Torque3D/tree/slim-310) that's basically what I posted about earlier, except it only supports basic lighting.

Edit: Uploaded to https://github.com/chaigler/Torque3D/tree/slim-310-al. This is 3.10 with many of the bug fixes from 4.0 ported over. SDL + OpenGL + OpenAL + Advanced Lighting only. I've left the commit history mostly intact so hopefully it'll give you some ideas on how to make your own 'Franken engine'.

Duion wrote:I wonder why everyone wants to rip out basic lighting, of course it is not nice, but it gives insane amount of performance, so the game can run on very old hardware such as laptops etc and maybe mobile platforms if they should ever be supported.
Pulling out directX can make sense from an open source enthusiast standpoint.

I also prefer the old templates towards the new system, which is just confusing for now and untested.

So I would not recommend using the new stuff at all, since it has never been field tested and no games have been made with it yet, which means, you will run into a lot of bugs you will need to fix.


I tend to tailor the engine to whatever project I'm working on. My current game is a noire murder mystery so it relies on lighting and shadows especially, which is something that basic lighting struggles with. It didn't make sense for me to leave it in when the game experience would be so drastically different between the lighting models. I'd leave basic lighting in (and probably rip out advanced lighting!) if I was making something that didn't make heavy use of light & shadow.

As for the new templates, I really like them. They're cleaner and smaller than the old templates, and I like that they're using T2D's module system which I'm also familiar with. I haven't run into any issues using them so far but I build off of BlankGame or spectatorGameplay so I'm not sure what'll find if you try to use the converted FPS template.
Last edited by Happenstance on Mon Jan 15, 2018 2:53 am, edited 1 time in total.
Jason Campbell
Posts: 221
Joined: Fri Feb 13, 2015 2:51 am
 
by Jason Campbell » Sun Jan 14, 2018 4:25 pm
I would just use 3.10 for now. Much of the skills you will learn will be applicable. Get used to compiling the engine. Get a build going with bullet physix for instance. Then when 4.0 comes out you could concurrently help squash bugs and this would get you up to speed. I'm sure that 4.0 will have some birthing issues before 4.1 can be realized. I've noticed over the years, people often did this waiting game or constantly porting to the next version. I think 3.10 to 4.0 closest similar past update was TGEA to T3D 1.0. It was different but it wasn't learning a whole new engine exactly. I could be wrong. Either way 3.10 is good to work with.
Timmy
Posts: 324
Joined: Thu Feb 05, 2015 3:20 am
by Timmy » Mon Jan 15, 2018 3:09 pm
If you are wanting to start a serious project i would wait, your entire texture pipeline will be pretty much useless (well it will require a fair bit of work converting it anyway) when moving from the current system to using a PBS one. I have a physx 3.4 branch herehttps://github.com/rextimmy/Torque3D/tree/physx3_4 and i highly recommend using it over bullet. With the all the physics plugins, i would consider it more of a base starting point, if you want to make the most of it you will have to get ya hands dirty in the engine code and most likely modify it to suit your project needs. Also I must admit i have been slack keeping it up to date with the latest development version of T3D, i haven't been actively working with T3D that much the last few months.
JeffR
Steering Committee
Steering Committee
Posts: 783
Joined: Tue Feb 03, 2015 9:49 pm
 
by JeffR » Tue Jan 16, 2018 1:18 am
Lots to discuss here, I see!

I suppose that while the workblog is a good overview of the ongoing work, it's hard to understand the scope of it in regards to the current development branch. So, allow me to take some time and answer inquiries as well as lay out the game plan a little more clearly:

To answer the starter questions, @
User avatar
andi_s


1) Correct, a good bit of how the engine handles in 3.10 will change for 4.0. Examples of this are the new template, E/C stuff and PBR rendering.

To build on this, technically speaking, the new template and e/c stuff is actually in the development branch already, it's just undergoing active work, so it's still a bit unstable compared to the full template. When 4.0 launches, the full template will be removed and the new template + modules will be utilized.
It's not as big of a deal as you think, as the exact same functionality will be doable, it's just that there's no point in doubling up the templates at that point. Just makes maintenence and work more complex.

Regarding the E/C stuff, we're looking at not fully removing the existing 'game classes' for 4.0, but considering them deprecated. So anything Shapebase derived such as Item, Player, Vehicle, etc will be considered deprecated to be removed in the following versions.
In their place, however, will be a good list of stock components that replicate the functionality, and a default set of GameObjects to utilize in their place.
So you're not really losing any default examples or functionality, it'll just be re-implemented through the E/C stuff.

Because the old game classes won't be removed immediately, you would be able to port up any work you have from prior versions and have them function, though obviously you'll be limited going forward in capitalizing on the new stuff. That said, because of the one-for-one reimplements of those game classes as GameObjects, unless you've massively reworked their behavior, it should be a simpler job to port up to the new ones.

As Timmy mentioned, with PBR, the texture maps materials expect will be changed. The art can obviously be updated and we'll have examples of how to convert stuff up, but some work will be involved in jumping your art up from non-PBR to PBR style.

Otherwise, most of the general knowledge you'd learn by using a 3.10 build - scripting, tools, building the engine and making changes - will carry over just fine. Stuff pertaining to gameplay or art content should be able to be ported without too much of a hassle.
I'm actually plotting out a utility to import "Legacy Projects" that utilize the full template to the new BaseGame template + modules to try and streamline such a process as well for people that already have a project going.

2) As mentioned, the e/c stuff is actually in and functioning now. Easiest way to use it is the BaseGame template + one of the gameplay modules(spectator is the barebones one). You can spawn an entity via the regular existing objects in the Levels folder, and use the inspector to add components.
I do plan to PR the asset browser and a good number of improvements to the E/C stuff that's been cooking in R&D this week, so if you wanted to wait until the weekend, you could start messing around with that interface, which is probably going to be easier to work with in general.

3) If you grab development right now, it should work just fine with the modern windows SDK, since we killed off DX9.

4) The wiki docs aren't SUPER out of date, but no doubt need updating. We can look at getting those updated soon


To specify a few side points:
Basic lighting - for 4.0 we're not "removing" basic lighting, so much as shifting/repurposing it to what it really is: It's not a 'low detail render mode', but just a general "Forward Render" mode. It'll be a project setting for if you utilize Deferred or Forward. Forward is good for low-end hardware and VR, Deferred is good for more advanced render effects and post effects.

@
User avatar
Duion

So I would not recommend using the new stuff at all, since it has never been field tested and no games have been made with it yet, which means, you will run into a lot of bugs you will need to fix.


I mean, people using it is how issues get corrected, so...

@
User avatar
Jason Campbell

I've noticed over the years, people often did this waiting game or constantly porting to the next version

Yeah, this has always been an issue for people doing real production work. We're looking to make it WAY easier for people to keep up with stuff with 4.0, so once you get on the 4.0 builds, updates after that should be far, far simplier to deal with.

@
User avatar
Timmy

haven't been actively working with T3D that much the last few months.

Pft, you and your fancy vacations down in Straya-land! :P

So yeah, here's the short-form of the roadmap for the next month. The bigger, impactful stuff anyways:

Initial implement of Asset Browser,
Various improvements to the entity/component stuff, including the introduction of Systems(these two should be in this week),
Hopefully wrap on initial implement of PBR
Threadpool update to usher in the new age of Torque threading(plan is by the end of the weekend)
Update multiple parts of the engine to capitalize on the pending Threadpool update

I'm looking to do a series of videos for the BaseGame template, modules, assets and the browser, E/C stuff, and then when PBR is in, likewise get some videos tutorializing how it's used/works as well as some options for converting existing assets. I've got a library of a few thousand images I want to PBR-ify, so I'll definitely be pursuiing options before anyone else to try and figure out a good suggested baseline path for that.

Basically, gunna try and get a series of tutorials/walkthroughs for a lot of this new front-end stuff over the next couple weeks, which hopefully should make it easier for everyone to get up to speed.

As for what you should do for now? Well, I'd say mull over what I've put above. I don't think it'd be a bad idea to start getting a feel on T3D now with 3.10, but I can understand not wanting to risk 'losing' work. If you're unsure about jumping in just yet, give it a month when we should hopefully have the above locked in, and it should be much more in line with 4.0 than 3.10, at which point if you wanna be an early adopter, it'd be a good time to jump on board.
  • 1
  • 2
20 posts Page 1 of 2

Who is online

Users browsing this forum: No registered users and 4 guests