It’s 2024, and indie builders nonetheless face the identical query: must you use a proprietary engine or construct your individual? Just lately, Recreation Developer printed an article about Rez Graham’s speak at GDC 2024 in San Francisco. It hit dwelling for me as somebody who constructed their recreation on a customized engine as a substitute of utilizing what was already out in the marketplace. Through the improvement of Highfleet, I usually questioned whether or not that was the suitable name. So, is constructing your individual nonetheless price it, or must you persist with the big-name engines? And if it’s price it – when?
Customized engines have been vital for pushing efficiency limits or creating one thing really distinctive. Nonetheless, with industry-standard engines like Unreal and Unity providing more and more highly effective and versatile instruments, the necessity for customized engines continues to lower. On the one hand, this creates a level of uniformity, as many video games are developed utilizing the identical foundational expertise, which provides the video games a well-recognized look to gamers. On the identical time, it lowers the barrier to entry, permitting extra gifted indie builders to deliver their concepts to life. The hot button is figuring out whether or not the effort and time required to construct a customized engine aligns together with your challenge’s targets.
Three misconceptions about constructing a customized engine
1. A recreation engine is nearly rendering sprites
One frequent false impression (that we additionally initially had) when deciding to construct a customized engine is pondering that an engine is simply about rendering sprites, animations or shaders. In actuality, engines come full of a variety of performance that you simply’ll should implement your self in case you’re constructing from scratch, similar to:
-
Rendering sprites, animations, or shaders.
-
Dealing with physics and collision detection.
-
Managing enter from numerous units (mouse, keyboard, various kinds of controllers, racing wheels).
-
Making certain multi-platform compatibility (minimizing effort for porting your recreation to PS/Xbox/Nintendo/cellular platforms).
-
Constructed-in alternatives for creating multiplayer performance and dealing with community communications.
-
Help for complicated audio programs, together with spatial audio and dynamic soundtracks.
-
Optimizing efficiency for numerous {hardware} configurations, from high-end PCs to cellular units.
-
A number of different particulars, similar to built-in help for a number of languages, saving/loading recreation states, and extra.
Underestimation of the scope of options that fashionable engines present can result in months and even years of additional improvement time, particularly when you need to implement issues that the majority proprietary engines already deal with out of the field.
2. I do know my recreation’s wants and might construct a customized engine round them
This one is extremely frequent. You would possibly assume that you simply totally perceive what’s required in your particular case and create an engine that’s the good match. However in actuality, recreation improvement hardly ever goes in line with plan, particularly in indie initiatives. You would possibly begin with a easy idea, however because the challenge grows, you will have to scale the sport world or add extra complicated results. That’s whenever you notice your customized engine wasn’t constructed for these new calls for, after which efficiency begins to undergo.
Take the render pipeline, for instance. Let’s say a small indie workforce builds a customized 2D engine, and all the pieces runs nice — till they determine to scale the map 10x or add extra detailed particular results. All of the sudden, the engine struggles, and efficiency drops. At this level, the workforce has to both optimize or, in lots of instances, rewrite elements of the engine.
Perhaps the sport was constructed round DirectX 11, however now they want options from DirectX 12, which forces a full migration. Our Highfleet engine went by means of this course of, transferring from DirectX 9 to 10, and finally to 11, with every transition requiring vital rework.
Think about – a studio units out to create a 2D platformer, like most conventional ones. The designer outlines the imaginative and prescient, and the builders construct a customized 2D engine tailor-made to the sport. However after a lot of the work is already carried out, the designer decides the sport would look higher with 3D bushes within the background, casting smooth shadows on the 2D characters. For a developer utilizing a proprietary engine, this might nonetheless current challenges, however for somebody with a customized engine, it might be catastrophic. The engine wasn’t constructed for 3D rendering, and 3D wasn’t even a risk on this case, so now the workforce would want to return to sq. one: researching principle, planning the structure and render pipeline, coding the brand new performance, integrating it with the prevailing engine, testing, optimizing, and testing once more.
Even smaller, much less drastic, however frequent adjustments to the necessities for a customized engine can flip it right into a endless improvement challenge, taking worthwhile time away from refining the precise gameplay.
Screenshot from 2D platformer recreation Shovel Knight. Picture credit score: CNET.com
Proprietary engines are constructed to deal with these sorts of adjustments from the beginning, permitting you to adapt a lot quicker and give attention to what actually issues — your recreation.
3. Constructing your individual engine is quicker (or cheaper)
It ’s straightforward to assume that constructing your individual engine will save money and time, however that’s hardly ever the case. To develop a recreation utilizing an engine like Unity or Unreal Engine 5, it is advisable make investments time studying them. Whereas this may take some time, it is nonetheless a a lot smaller time funding in comparison with constructing your individual engine from scratch and studying the underlying expertise wanted for it.
For instance, as soon as a programmer understands Unity or UE5, they’ll shortly implement new options. When a brand new model of DirectX comes out or new rendering methods (like RTX) turn out to be fashionable, the engine builders deal with the combination of these applied sciences. All of the programmer has to do is replace their engine and apply the brand new options of their recreation.
Once you’re constructing your individual engine, although, updates don’t come routinely. If a brand new model of DirectX is launched or new rendering developments emerge, you need to examine the idea behind these applied sciences, and manually combine them into your engine, and solely then are you able to begin utilizing them in your recreation. This generally is a complicated and time-consuming course of, particularly for a small workforce. For instance, a fast YouTube tutorial on “How you can add RTX lighting in UE5” is 40 seconds lengthy. However so as to add RTX lighting to your individual engine, in a approach that meets all of your recreation’s wants and is well-optimized, would take far more effort and time.
One other massive benefit of proprietary engines is the huge quantity of pre-existing property, shaders, and algorithms made by different builders, which you’ll be able to simply plug into your recreation. In distinction, with a customized engine, you’re continually reinventing the wheel, chasing {industry} developments, and constructing all the pieces from the bottom up. Even applied sciences which have existed for years — similar to numerous lighting algorithms, shadows, bloom, bump mapping, various post-processing results, climate programs, water surfaces, and many others. — would require guide implementation out of your facet. Sure, open-source initiatives with the suitable licensing, developer boards, and websites like ShaderToy will be extremely useful assets, however on the finish of the day, it’s as much as you to combine all of that into your recreation.
Shadertoy.com, Greek Temple shader by Inigo Quilez
That is precisely what Rez Graham was speaking about on the GDC convention I discussed earlier. The important thing advantage of utilizing proprietary engines is what he referred to as “automated data.” By utilizing a well-established engine, you acquire entry to institutional data shared by different builders.
And about the associated fee — sure, Unity and different proprietary engines do cost charges, however these prices are minimal in comparison with the time it takes to develop your individual engine. Until you’re promoting tens of millions of copies, constructing your individual engine doesn’t provide a lot monetary profit. You can argue that it pays off in the long term, however that’s solely true in case your engine is strong sufficient to help a number of initiatives sooner or later.
What about libraries?
Certainly, a few of the options proprietary engines provide will be achieved in customized engines by utilizing third-party libraries. For instance, you’ll be able to deal with physics with libraries like Box2D, and sound with BASS. Nonetheless, whereas these libraries will be useful, you continue to have to combine them into your challenge, and so they received’t cowl all of the wants of a recreation developer in every space.
The principle problem with utilizing standalone libraries is that they solely deal with particular duties, and it’s as much as you to make sure all the pieces integrates easily. Proprietary engines, however, have already got these programs in-built, lowering the necessity for heavy customization and permitting you to focus extra on recreation improvement slightly than technical integration.
What does this imply for the {industry}?
As you’ve possible guessed, the challenges talked about above push most builders to decide on proprietary engines, which is a logical and justified resolution. Nonetheless, trying on the larger image, this creates a sure diploma of technological monopolization throughout the gaming {industry}, sadly resulting in much less challenge range.
As a result of many builders use the identical engines, like Unity, they may find yourself utilizing the identical property and shaders, inflicting video games to really feel related and even – generic. Moreover, proprietary engines are sometimes optimized for extra conventional recreation varieties. If a developer is engaged on one thing really distinctive, there are instances the place a customized engine may higher serve the challenge’s wants.
An ideal instance of a justified use of a customized recreation engine is the well-known Noita. The sport has a very distinctive idea that possible wouldn’t have labored with any current proprietary engine, a uniqueness captured within the title of its engine, “Falling The whole lot.” But, Noita doesn’t depend on superior graphical results, it’s single-player, and it was constructed completely for one platform — PC.
Screenshot from Noita. Picture credit score: Steam
Prime three causes to construct a customized engine
1. You don’t have any different selection
Screenshot from Mount & Blade. Picture credit score: Steam
Typically, you don’t have the choice of utilizing an current engine as a result of the sport you need to create depends on new expertise that isn’t supported by present engines — or can’t be tailored as simply as you’d like.
This would possibly imply constructing a large-scale simulation that wants actually low-level management to run effectively (like Dwarf Fortress or Noita). In instances like these, utilizing an ordinary engine may sluggish you down as a result of it received’t provide the flexibility to optimize on the degree you want.
One other instance is when your recreation mechanics are so distinctive that no current engine suits the imaginative and prescient. Video games like Mount & Blade wanted customized engines as a result of their gameplay doesn’t observe standard patterns, and making an attempt to make an ordinary engine work would have meant continually working into limitations or forcing it to do issues it wasn’t initially constructed for.
2. You’ve gotten (actually) massive plans
Screenshot from The Witcher 3: Wild Hunt. Picture credit score: dualshockers.com
In case you’re pondering long-term and planning to develop your studio, constructing your individual engine may make sense. This is not only a one-off funding for a single recreation — it’s one thing you’ll use throughout future initiatives as you scale. However, it’s vital to grasp the magnitude of assets required to drag this off.
By making your individual engine, you’ll be able to optimize your workflow particularly for the type of video games you’re making. That is the trail that CD Projekt RED took. Their REDEngine was developed over a few years and was utilized in hits like The Witcher collection and Cyberpunk 2077. Nonetheless, what’s telling is that even with all of the arguments in favor of utilizing their very own engine — adequate human and monetary assets, in depth expertise in engine improvement, and vital gross sales volumes that may make third-party engine licensing charges substantial — CD Projekt RED nonetheless determined to retire REDEngine and companion with Epic Video games to make use of Unreal Engine.
3. You need to be technically, legally, and financially impartial
In case you’re utilizing a third-party engine and encounter a bug or lacking characteristic that impacts your recreation, you usually haven’t any selection however to attend for the engine’s builders to repair it. With a customized engine, you’ll be able to remedy these issues instantly as they arrive up, supplying you with full management over your improvement course of.
One other draw back of proprietary engines is the associated fee. For instance, Unreal Engine 5 (UE5) takes a 5% royalty on product sales after your first million {dollars} in income. However what’s worse is that the proprietor of the engine can change the phrases of use at any time. This danger turned very actual in the course of the Unity pricing controversy in late 2023. Though they rolled again a few of these adjustments, the incident highlighted a severe danger for builders.
With a customized engine, you keep away from these uncertainties — no surprising charges, no sudden adjustments in licensing, and whole management over your tech.
Conclusion
Writing your individual engine is a posh job. It’s a pure match for big studios engaged on AAA initiatives since they’ve the manpower and assets to develop, preserve, and replace their engines to remain on prime of recent applied sciences. For these studios, the price of growing their very own engine is well offset, particularly by avoiding charges related to third-party engines. Plus, they’re usually engaged on a number of initiatives, making the funding in a customized engine much more worthwhile.
Indie builders can even profit from creating their very own engine, notably in the event that they’re engaged on a extremely specialised single-player recreation that doesn’t require multiplayer help, multi platform compatibility, or applied sciences like complicated graphical results, ray tracing, or world illumination. Moreover, indie devs could need to keep away from the dangers that include counting on proprietary engines and their altering phrases. Nonetheless, even in these instances, it’s important to weigh the professionals and cons rigorously — utilizing a proprietary engine would possibly nonetheless be the higher choice ultimately.