I'm a solo dev who likes to work on games during my free time. It's more of a hobby that I hope to start making money on someday. I'm an independent game designer and artist. I have a job that works usual 9 am to 5 pm Monday to Thursday. I like to have Friday and maybe weekend be my game development work. I went to school for Game Art & Design with a BA degree. I specialize in 3D game art using Maya and Blender. I also have used Unreal Engine 4 since it first came out. I have tried Unity before. I have been working with Unreal Engine 4.18 and newer. I'm in the process of making a game which got a low-poly theme with some cool effects that are more modern. I've been using UE4 for a long time and really like it. However, I suck at programming, so I try to use blueprint but even that is so confusing for me. I know that C# is much easier to learn than C++. I have done Java and C++ programming before. I know there's an add-on for Unity that lets you do scripting that converts to C# for you, I don't know what it's called, I forgot.
However, which game engine should I use for my game? Here are the requirements for my games which is important before deciding on the game engine:
- The game will be single player and also support local multiplayer (split-screen up to 4 players). NO online or LAN support.
- Low-Poly Graphics like PS1 or PC games in the late 90s
- Game engine needs to easily support realistic blood & gore such as decapitation, bleeding, decay, and dynamic body damage based on health. Unfortunately, both game engines don't have built-in gore system like RE Engine for Resident Evil 2 Remake (2019)...
- I want the game to be available for Windows, Mac, Linux, PS4, Xbox One, and Switch.
Also, I use the following software for my workflow:
- Maya LT & Blender
- Adobe Photoshop CC & GIMP
- xNormal
- Audacity
- Visual Studio
So what do you guys think I should use for my game? Unity or Unreal Engine and why?
Replies
Generally if you've problems handling the logic element too games dev then perhaps take a look at GameMaker, learning how to program as you go on something slightly less complex without the added bottleneck issues of increasingly debugging your efforts throughout.
EDIT:
These might help as well:
CodeInGame
Code Combat
In your shoes I'd choose unreal
Translation. When holding space bar, every frame add the movespeed times the frame time to the forward direction of the game object. However once you understand the above code it could be for anything, movement, shooting a projectile, changing an objects colour. Learning how to code makes you a better games artist and its empowering to write your own tools. E.g. at our studio we had a long process of creating shaders in substance painter, baking it all down to a 4K diffuse and importing it to unity. The shader itself was fairly simple so I recreated it in Unity. The texture size has gone from 4K to 64x64 so the engineers are happy, and dev time has been reduced because its all in engine. Also it open opportunities to be a technical artist. It has a steeper learning curve then blueprints, but the pay off is huge.
Blueprints can become a bit of a headache when you end up with a lot of spaghetti - but it's easily cleaned up with smart use of functions and macros.
Dismemberment is entirely supported by UE4, you can break off limbs via blueprint. I forget ita name - but it exists.
On top of that, blueprints can be automagically converted to C++. Performance gain for math-heavy blueprints is HUGE.
Biggest drawback with UE4 as others have mentioned is adding features that may need C++ knowledge.
I'm very confident in C# and C++ makes me wanna jump from a bridge more often than not - but I'd still choose UE4 simply due to how powerful and versatile it is with blueprints alone.