Community Question of the Week: How has your game engine choice affected your overall game development journey?

Our Game Dev Community breaks down the engines they use to make games and how they might have done things differently.

November 01, 2024
Discord Question of the Week Hero image

Each week we pose a question to our game developer community on the Microsoft Game Dev Discord. The beating heart of our online developer community, our Discord server allows developers to connect with each other, share their projects, get support, and network with peers in a thriving discussion space.

This week’s question is: How do you feel that your game engine choice has affected your overall game development journey? 
 
Johann “Kaegun” Ungerer, currently working on "Making Friends", an ARPG where you play a necromancer and you ‘make’ your own friends: “Early in my game dev journey, I tried to build my own engine. We sort of had to at the time. Life and work got busy, so I stopped developing games for a few years. When I came back to it, Unreal wasn't free yet, so I opted for Unity. I had a ton of experience in C#, making it a good fit. The runtime fee debacle pushed me to change to Unreal, and I've been working in UE for a year now.  As a non-artist, I am much more comfortable making 3D games. It's far easier today to make things with store assets as placeholders (or not) than to make unique and meaningful 2D art. My initial experience in UE was all in Blueprints; I hadn't written any serious C++ in many years, so I didn't want to jump into a new engine and relearn an old language. 
 
Recently I started rebuilding my project starting in C++ and using GAS, and I'm really enjoying the bare-metal feel of it, running the engine out of the development environment, etc. With both engines I've done a fair amount of learning in VFX and technical art, and I've really enjoyed that. Unreal has felt more like working in a Game Engine, while Unity feels more like a Game Development Toolbox. You seem to write and rewrite a lot of similar systems in Unity, while in Unreal you're thinking more about the relationship between the objects, and how they relate to the engine capabilities. I've enjoyed working in both, but I think Unreal is giving me more right now than Unity did. I've decided to include multiplayer into my game, something I would not have considered if not for GAS's out-of-the-box networking replication. 
 
I don't think the engine is the most important part of game dev, it's still about creating engaging experiences and a compelling game loop, but your choice of engine will probably encourage you to focus on different aspects. Right now, I'm very focused on the relationships between my mechanics, to properly codify them as Abilities and Effects. In Unity I'd more than likely be more focused on making sure my classes are well-structured, and their relationships are easy to follow. Not that that's not important in Unreal, especially when you're building C++ first, but it seems secondary to the GAS relationships for your mechanics.” 
 
Alan “Kazu” Nguyen: “The game engine choice affects my game development journey in almost all aspects. Each engine represents its own unique mechanics and functions that can benefit or being an obstacle. In the past, I used Unity as my main engine for making games. It was beginner-friendly and there's so many tutorials you can find on the Internet to learn. Also, Unity has lots of features like importing VRM models, built-in Cinemachine, Input System and all the things on Asset Store that you can either use for free or buy. Right now, I decided to study other game engines and how they work. I tried Unreal Engine before. The graphics were beautiful, but the optimization was pretty bad since my laptop's hardware requirements are not fit for Unreal. Also, I tried Blueprints in Unreal but decided not to use it again because it's hard for me to play with nodes, and it looked hard for me to organize big chunks of nodes (like my working table).  
 
Because of these challenges, however, I discovered that I prefer straight-up programming rather than using visual scripting. I'm trying pygame, a framework which is built on Python for hobby game devs. I never tried a framework before so this can be a problem since there is no GUI and Editor to identify the position of objects (not artist-friendly), but I'll try my best and see if I truly belong to pure programming or both graphical and code.”

Manuel Cota, Software by Tarh Ik: “I don’t quite feel that the decision of creating my own home-made game engine using DirectX has affected my game development journey, although I must confess it has closed a few doors in the process. For example, the odds of working on a team are quite slim since pretty much everyone would rather work using a commercial game engine that has solid support from a professional organization. Portability is also a chore: I can only use X-Files or OBJ files for 3D models, as well as DDS for textures and WAV for sounds.  Assets in a different file format require conversion. One constraint is that my games can only be run within the Windows ecosystem: Android and iOS are simply out of scope since it would require migration to OpenGL. Third-party consoles also require a considerable effort. That’s ok, though. For me, Xbox One is the only console that has priority.” 
 
Adriano Pessoa, Lucky Raccoon Games: “Each engine has its advantages and disadvantages, whether they be graphical, learning curve or financial. In my case, I chose Unity, because of its shorter learning curve and versatility. This choice initially led me to focus my studies on mastering the main aspects of the engine (general understanding, inputs, sounds, mixing, VFX, post processing, etc.). There are many tutorials and resources available, whether to learn or buy, and this made game development in general much easier at the beginning of my journey.

Over time, I wanted to start developing for consoles, and at that point Unity started to affect me financially, since a Pro license is required to publish for consoles. However, I can say that it was a good choice to stay with Unity, because the ease of porting games to other platforms is simply incredible, in addition to the immediate return on investment. Now, I don't feel the need to migrate to another game engine, so I'm developing some libraries to further speed up game development and porting, focusing mainly on Xbox.” 
 
Want to join in on the fun? Visit the Microsoft Game Dev community on Discord to hang out with us, we’d love to see you there! 
 
Image from Mayhem Heroes on Xbox by Lucky Raccoon Games.