December 24, 2015 at 02:12 #20839PaTrondParticipant
Been thinking about this myself for my own project, so when Tom said the following, he had it coming! =D
Which engine to use for a game is for sure an interesting topic and I would love to see a pro / con discussion about that in the forums!
Unreal Engine pros:
- Possibly the best graphics in a game engine today. Many, especially within architectural visualization, a script to make the light simulation much better, and it’s easy. Unreal Engine supports anything from ultra-low poly games to this. It’s simply very future proof.
- Very good distant shadows, with relatively low performance hit. Was implemented after The Kite animated short.
- The Blueprint system there for scripting/ programming is genius!
- In-engine monitoring of what type of calculations that is heaviest on the performance. Brilliant for optimization.
- Free to develop on.
- In-engine modding gives the modder good feedback and lets him/ her instance parts, and create more dynamic LODs.
- Epic (no pun intended) procedural vegetation generating.
- Allows for full C++ editing.
Unreal Engine cons:
- No good system for roads or water out of the box.
- Modding may be more complicated for some, and may require installation of Unreal Engine.
Unity pros (I know little about the last two engines, so I am not going to base this on my experience with an outdated release):
- Two Unity based games have shown a very interesting and dynamic water system: Cities: Skylines and Roller Coaster Tycoon World.
- Well established market.
- Probably not as future proof in terms of graphics as Unreal Engine.
- Not quite ‘free’. May require its own official modding kit.
What do I personally hope? I’m hoping for Unreal Engine, as long as Urban Games can get what is needed into the engine. What made Train Fever unique is primarily the city generating, and without features such as this, Train Fever would not be Train Fever.
I also hope it could speed up the development, while also giving us, modders, the ability to implement more complication custom features through the Blueprint system in Unreal Engine. I believe the engine also would be the best at allowing a wide specter of graphic options, meaning that it would allow people without much computer power to play with low enough settings, and still allow room for epic graphics for those with flagship graphics.
PaTrondDecember 24, 2015 at 04:44 #20841jm764Participant
As far as a comparison for game engines go between UE4 and Unity5: https://create3dgames.wordpress.com/2015/09/07/unity-5-vs-unreal-engine-4/
I personally find the original TF engine to be very well designed for the first game Urban Games has made and is one of my favorite custom game engines I’ve seen so far.
“If it aint too broke, patch it till you run out of duct tape…”- Jason M.
I say stick with the current TF engine and improve the performance, though if I had to pick a new engine I’d select Unity5 for compatibility and performance over features.December 24, 2015 at 11:05 #20848olahaldorParticipant
By all means, great effort making their first game on their own engine. However, I’m all in favor for a production proven engine such as Unity, or Unreal.
I’d love to see what Train Fever could be with an engine such as the two in question. Especially Unreal because of the graphics.
I can only imagine what entire forests with trees, bushes and ferns would look like, using something like SpeedTree which react to wind and trains passing by. Details. But very appealing details. SpeedTree plugs directly in Unity and Unreal. Bring it on!!
I’m not favoring one engine over another, as long as modding support will come first hand from the developers. I love the effort the modders have done to make it possible for the rest of us who don’t know programming, to make mods. But it’s always been sort of a guessing game or jumping through hoops just to make the mesh alone import perfectly. Endless hours of trial and error have gone by just to get a working mod going. I’d like to skip half of that time of failure, and rather be productive!January 2, 2016 at 20:51 #20909olahaldorParticipant
Oh by the way; please Urban, make use of PBR. It’s quite honestly a big challenge to play with the spec/gloss shader in your engine. A conversion from PBR to spec/gloss is usually straight forward, but we’re many who’s been fighting the textures a lot when we’re implementing it in Train Fever.January 6, 2016 at 11:45 #20939
Here is an interesting article on whether to use a home-grown engine or licence an existing engine – http://www.gamasutra.com/blogs/DietmarHauser/20151007/255394/License_an_engine_or_create_your_own.phpJanuary 7, 2016 at 20:38 #20950PaTrondParticipant
PBR would indeed be nice, and probably is in the top five section of my wishlist of new features. Having separate diffuse-, specular-, gloss-, normal maps, as well as opacity maps is also high on my wishlist.
Another advantage of having an engine with something like Unreal Engine’s Blueprint system, is that it’s very easy to instance almost everything, meaning everything from calculations to textures and geometry. (Almost) every modern game engine has decent or good solutions for this, so this is not Unreal Engine exclusive. This would lower load times, performance hit, and it would also make it easy for modders to make multiple textures/ liveries for the same object. The way I see it – there might be a way I don’t know of – is that the texture path has to be defined in the geometry file, meaning that if I want another asset that has the exact same geometry, but different texture, I still have to duplicate the geometry file.January 8, 2016 at 22:20 #20965
The native language of unity is C#, that means if the next game uses unity, it will be rewritten.January 8, 2016 at 22:40 #20968jm764Participant
@Enzojz If the devs use anything other than the custom engine currently used then the game has to be rewritten anyway.January 9, 2016 at 01:18 #20975
@jm764 at least the switch of language costs time. C# is an excellent language, but it doesn’t like C++ at all. I doubt if C# can do intensive calculate as fast as C++, since in C++ you can do lots of trick work, sometimes they count.
for example, in C++ you can easily get block level parallelism by openmp, in c#, you need to create task and dispatch them and sync them and manage them…
In my last project in work there is a train kinematic engine, I did the first version in C++, then 1 year later, the project manager want it written in C# like other parts of the project, so he asked another team member did it. it seems the c# version is far slower than mine c++ version.January 9, 2016 at 21:46 #20982
C# is compiled to a virtual machine, whereas C++ is compiled directly to native machine-code. This means that running C# code has the extra overhead of running on a virtual machine.
Does anyone know what language Train Fever is written in and which engine it uses?January 9, 2016 at 23:14 #20987
@electricmonk2k Train fever uses Lua script that mean they are at least using C/C++January 23, 2016 at 16:28 #21073
AFAIK, it should be possible to make Lua scripting-language for C# / Java etc programs. Is Lua used just for the mods, or also the low-level game-logic. If too much of the game is written in Lua, that might be one of the causes of the slowdown (although, it would be worth trying to optimize the approaches and algorithms used before considering rewruiting that part of the code in C++).January 23, 2016 at 18:27 #21076Blokker_1999Participant
As a Linux first person I can only say: As long as it supports more than just Windows, I’m already happy 😉
- The forum ‘General Discussion’ is closed to new topics and replies.