CHARLIE HARPER

Oh, what game engine should you use? I beg you to rephrase the question.


The games industry has been hit hard as of late — Indie spaces are experiencing a bloat of talent seeking funding from dry wells, studio closures loom in our peripheral vision, layoffs put a wrench into paying bills, game-creation content has grown in popularity (making gamedev tools more accessible), and a deep shift in long held corporate structures have left developers looking to start the next project. To be frank: everyone is starting new stuff, and they have a lot of opinions.

As a chronic prototype junkie, I get it. I’m one of those skill collectors who will download a new engine just to fuss about in a couple of tools, make a breakout clone, and then never touch the repository again. The curious drive to experiment with our gadgets in weird ways is a beautiful feature of all of the game developers I have known.

However, with the controversial changes and uncertain future surrounding long-resident bastions like the Unity3D engine in the current indie market, we’ve seen the re-emergence of an industry-long conversation of “how should I make the game I want to make.” Yet competitive posturing has dominated these discussions, pushing new-talent into early-project-paralysis and stifling productive networking with “this one is open source” and “that one has the best web tools.” These conversations start in the realm of “helpful” and quickly lead down the road of choice paralysis and lack of clarity. Let the record show, I’m speaking from experience as someone who has made these comparisons and starting these conversations; I’m not making an argument that these conversations are useless, but that they are “not as important as they feel.”

In my own talks with newer developers, solo creatives, and even small scale teams; I’ve noticed that “what is the best game engine” tends to exit the social spaces and development forums; bleeding into production — often halting the most exciting and iterative part of the process (prototypes and pre-production) into a self destructive spiral.

Therefore, I would like to bring a mote of hope into the developer who might be there right now, looking for the “perfect engine” for their small project, scraping the corners of every github repo and GDC talk to see if they can find an engine that will fit their exact need and match their skillset.


The game engine you choose won’t matter — you’ll have to learn new things eventually, and you’ll cut things in order to ship, regardless. Finding out what you actually need from development is an entirely different beast.

I will warn you, dear reader, that this hopeful-essay is not a new opinion but rather I offer it as a plea for those are wasting long hours making a difficult decision harder with high expectations and a dunning-kruger level of misinformation available about what makes a particular game engine a “good choice” (especially in indie games or solo-devs). Your bandwidth for new skills will determine the place in which you should start and I wish to provide the perspective that allows you to start making things sooner, rather than if you’re doing it “right.” If this sounds like something you’ve struggled with, read on.


“I don’t know how to code in [insert language]” or “I don’t make good art” or “I need multiplayer tools” — I can’t find the engine I need!

Game-making can often feel like the entire creative spectrum is required to make something functional — because it is. Games are made up of a lot of moving parts, and there are amazing engines out there that provide shortcuts to get you to a good starting point.

There are engines that will provide you will a visual-scripting language instead of using an IDE, and asset stores are full of cheap NPCs, environments, mo-caps, sounds, and props. You’ll find an unending fount of resources depending on your engine and community. All of this is incredible, and a wonderful part of the game development industry from an artist’s perspective. It allows us to quickly prototype or iterate without sinking resources into content made from scratch, and support talent in each market.

However, there will always be obstacles. At some point in development, you will need to learn a new skill, make an asset from scratch or hire an expert to complete a task. Sometimes this is exciting and thrilling, other times this will completely halt production until a solution is found. It can come in various forms: the visual scripting language is not robust enough to perform the special method you need, or the multiplayer tools are geared towards a first-person shooter rather than a fishing chatroom. Often, these obstacles are easy to spot far in advance if you’re researching game engines in pre-production. One engine is great at making 3D platformers, but another has fantastic multiplayer support. Another is superb at drafting narrative web games, but a competitor will allow you to keep build size small. Developers who find themselves stuck here are often looking for an engine that will perfectly suit their needs, or might give up while shouting proudly that game engine is not “fully featured.”

The harsh truth is that the features that each engine possesses will need to be bent into the correct shape for individual development. Game engines by nature are purpose created, and tooled for specific output. It is up to you as the creative to harness these tools and fill the gaps that are needed to output your unique vision. You’ll need to make the engine work for you and it won’t be easy.

An even harsher truth is that sometimes the skill might be completely new territory. You might be the first person in the forums asking strange questions or will have to learn the dark arts of networking code in order to make something no one else has tried to make. If you can’t, you’ll have to cut that feature in order to save the rest of the game.

I found that game development students will sit with this in confusion for longer than I would have expected; often citing games in the past that accomplished similar goals to their own — asking why there aren’t tools for them to use to experiment in that same space. They will express valid frustration over the lack of support for making their ideas actionable from software, and there is a feeling that the thing they want to make is “impossible” without that support. And it is possibly here that you find yourself asking these same sort of questions, wondering “where that tool is.”

Pushing through this and finding the motivation to fill those gaps yourself is where development begins. Learning the skills required will be difficult, and the prospect can be daunting to create something as a novice or hire an expert — even worse is the idea of failure if you must cut something innovative or complicated.


“I can’t afford to use this engine” or “I need my games to be profitable.”

Under capitalism we must all survive, and I will not vilify those who are ambitious to create games to support themselves. Whether your marketplace of choice will gain a portion of your profits, or a working with a publisher pushes you to make a higher return on your development investment to keep the studio-flame alive: games cost you money to make and sell.

Counterpoint: I also will not look down on those who are aiming to get a project off the ground without any major financial investment. Games should be accessible and being creative should be free.

To be completely fair, making games to make money has always been difficult, and it isn’t getting easier. Additionally, in every part of development there will be places where investment of one form or another is required.

Maybe the game engine you want to work in has the perfect balance of out-of-the-box tools and supportive community but the cost of entry would be comparable to a month of rent. Perhaps they offer a free engine for development, but once you start to make a profit, they’ll send you a luxury-sized invoice. There might even be a near-future where they demand a fee for every copy sold or digital version installed regardless of profit (an example that hurts me to type — but one I would be remiss to ignore).

The fact is, we are not safe from the ever changing space of software subscriptions and costs. I have no doubt in my mind that a popular free engine of today will be standardized and sold via subscription years down the line. I know that the towering institutions of our present will become the dust covered ruins of our future (RIP Flash). In contrast, I believe there will always be newer (and scrappier) engines to use regardless of your expert level — and there will be a community to support game makers.

Additionally, to wrap this portion, I’ll caution that “investment” comes in many shapes and forms. If you can’t afford to use the engine that has everything you need pre-packaged, you’ll need to invest your time and effort to learn how to make those tools in a cheaper alternative.


“What about making my own engine?”

It seems that every conversation competition about the “best engine” lands somewhere in the “we’ll just make our own” solution. And if you’re motivated to complete that task: awesome — go do that.

I’m not kidding. In-house engines allow you to remain adaptable throughout development, and establish an architecture that speaks to the way you want to make games. You will have ultimate control over what your engine can do, and how it does it. It will teach you how to interface with software and platforms outside of games, and provide you with skills that transfer to several other fields of research and study. There are experts who do this for a living and it should be treated with the same amount of enthusiasm and reverence as the other glamourized parts of development. Additionally, learning to program your own rendering, physics, and logistical methods are all extremely rewarding. It is, however, VERY TEDIOUS.

For most folks, the time required to learn those skills and the investment of effort outweighs the benefit of completing the task. Making your engine from scratch is it’s own project and will require it’s own development time, and strategic investment.


“What if I run into an obstacle with an engine that I cannot overcome?”

If you’re about to start production on a game and you’re worried that an engine might not be a good fit — I understand.

The fear of “something” happening in mid development to halt production is not unfounded — even earlier examples in this article (such as cutting an innovative feature) might be a deal breaker for your project. The industry has also provided us with enough examples of engines changing policies, becoming too expensive, or failing to support older features that might force you to consider quitting.

As a lifeline, I will give you this small piece of dopamine: the game engine is not your game.

Swapping engines, upgrading tools, or pushing for more support from the engine’s creators are all viable avenues in mid-production. It will not be easy, but it is not an impossible task and there will always be a chance of failure in any risk that large.

However infrequent, the game development process demands that these sorts of choices be made on occasion, and sometimes starting over in a new engine is the exact right push you’ll need to accomplish a particular difficult bit of designing.


Finally you might beg: “There are so many engines I could use — can’t you just tell me which one is best for me?”

You’ve gotten a couple of engines you could work in, and you still have choice paralysis due to the myriad of resources available? Congratulations, you’ve got no bad options!

Roll the dice and get started.

If you’re ready to tackle whatever obstacles the engine has for you, pick one at random and be ready to stick with it. You will encounter people who want to know why you chose that engine and offer you a soapbox to defend it. There will be nay-sayers that will attempt to bring you down from your production high, and reveal why their favorite engine is better for your needs.


— conclusion time.

The skinny is that most game engines will do everything you want it to do as long as you’re willing to help it out along the way. You or Your Team should have a strong idea of your project’s bandwidth and what you’re willing to learn or invest will be a determining factor. Starting your game can easily be stopped by choices that seem important, but it boils down to what sort of pen you like to write with, not the art you’re going to make. Every piece of creation will require being flexible enough to adapt to the needs of the product or end goal.