It's time again to discuss about the choice of engines, properly this time, as this topic seems to come up a lot.
I'm willing to try to create a small demo (possibly a cut down version of the current cell stage) in Unreal Engine 4 to see how good it would actually be. That's why this is for real this time.
These are the pros as I remember / can think of right now:
- Fully debugged, fully featured commercial grade engine (this should get rid of all the weird audiomanager crashes and fullscreen issues)
- Very good editor with graphical editors for materials and probably some graphical way to tweak settings like processes and compound spawning
- (Probably) every graphical effect or thing has been done before so we can look up examples of how to do things
- Source access so that if we actually need to modify the engine we still can
- I've done procedural mesh generation in ue4 before and it worked great. It required a custom mesh class but no changes to the engine
- Easier setup process: we can just tell new people to google how to get started with unreal engine 4 and they should be good to go
- Non-programmers can do more stuff like importing assets, and some might even consider using blueprint (it's a visual "programming" language, which I've heard can "fool" non-programmers to actually do programming)
- It wouldn't cost anything as only after earning 3000 dollars would we have to pay royalties. and donations don't count as revenue so that's also a plus
So basically faster development (hopefully)
And the cons:
- If we change the engine code, people on windows won't be able to use the official unreal engine releases. This may be a big deal breaker so we should probably avoid having to change the engine.
- Unreal Engine doesn't use exceptions and the build tools are quite weird with external libraries. So we probably cannot use anything external, but if we stick to json and other things that unreal engine has we should be fine.
- We need to write a tiny bit of legalese regarding the engine files in releases. Also we cannot ship any raw / uncompiled content or parts of the editor (so anyone who wants to work on thrive has to register for unreal engine and download it themselves)
- Their user agreement is pretty long and there might be some surprise I didn't manage to see (but this project doesn't seem to have any issues being open source: https://github.com/tomlooman/EpicSurvivalGameSeries ) so we should be able to distribute anything that we make (we can't use any premade assets, or at least put them on github)
- Everyone working on thrive will need to create an unreal engine account (which is free and fast to setup)
- and of course we need to scrap a whole lot of work and redesign the game architecture completely (unreal engine doesn't use the same component pattern) which may be the biggest reason besides everyone being lazy, to not do this
So basically the daunting task of reading the unreal engine license and following it (I think we should be able to keep everything we code ourselves open source, unless it's an engine modification) and of course the feeling of having wasted previous work.
Before, after discussing the following points nothing has happened so now I'm actually willing to do something about this. The reason I recommend trying unreal engine 4 is that it's completely free for us as we aren't going to be making any money and it takes only a little time to register on the unreal engine website before you can download the engine releases or download the source code (yes, thrive would still use an open source engine).
I wanted to let everyone on the team know beforehand so that we can discuss this possibility of switching engines, fully serious this time. And everyone can raise their concerns before anything is done.