The History of the Game Engine: Part 5 – Reinventing the Wheel
‘We don’t need to reinvent the wheel.’
It’s a phrase that means to waste time doing something which has already been successfully done and, at first, makes a lot of logical sense—after all, why spend your precious hours working on something that’s already completed? But reinventing the wheel happens in game design all the time and finds itself at the core of game engines.
In the beginning, there is nothing, and reinvention is impossible. After all, if you are the first person to make a circular spoked object and affix it to an axel, you are developing the wheel, not reinventing it. Through the 1970s and into the early 1980s, game development was all like this; every process a new one, every concept a grand idea—but it wasn’t long before things were being duplicated. Want to put some graphics on the screen? Use this routine that’s already been put together. Want to make it play a tune in the background? Wasn’t this done in the last game?
Remember that Atari ET game that got a special mention? A piece of terrible unplayable nonsense that was so bad that it literally ended up in a landfill? It was important not only because it caused a complete recession in terms of the computer game landscape but because it was a grand case of not reinventing the wheel. Pushed up against the wall in terms of deadline, Howard Scott Warshaw didn’t just utilise and reuse working routines of code; he practically did little else.
It was a failure, but it was the right type of failure.
Wheels and engines
Let’s enter analogy-land. Pretend we are building a car. What do we need? Wheels, for a start, but more; we need a good chassis, a gearbox, a clutch, brakes, and a solid engine. More than that, we need seats and doors and windows. We might even want a decent stereo.
Take a step back and imagine building the car from scratch. Somehow we have to make a wheel, and that’ll take some patience and effort. Once we have four of those, we need to work out how to make them go around corners and connect them to some sort of body. Maybe we then think about propulsion and fuel, or do we want to concentrate on safety and ensuring there’s some sort of braking system in place? Where do we sit in our car? What are we doing about passengers? Do we want red paint or blue?
Very quickly, it’s overwhelming.
Except it isn’t. Going back to the basic principle of not reinventing the wheel, we can buy those in. And the tyres. We can purchase a ready-tuned engine and research good car chassis that fit our requirements. With the internet, a moderate amount of time for study, and a willingness to learn, building a car just becomes a case of putting together the component parts. It’s still hard, requires substantial skill and a great many hours, but it’s becoming possible.
If that’s how we’d build a car, why wouldn’t we make a computer game in the same way?
Enter the Game Engine (and the Game Wheels, and the Game Gearbox)
In the beginning, there were no pre-written sections of code. No-one had ever made a little man run across the screen, jumping over obstacles and collecting coins; no-one had made it so that the pixel-art car could drive rapidly along a virtual track, its acceleration and performance carefully simulated; no-one had a method of representing three-dimensional space on a 2D monitor.
That’s not the case today, however.
With decades of history, game engines have been developed that have routines and subroutines that have been tweaked, tested, and trialled to perfection. Just like building the analogous car, it’s possible to build a game by putting together these pre-made sections of code.
It still takes skill and understanding, work and effort, patience and time, but it’s a lot easier if you don’t go reinventing the wheel.
With the major engines also comes a dedicated development interface which can put the days of pure text-based coding behind you. Using a suite of friendly tools, game components can be built with drag-and-drop logic, imported graphics, and standard systems to create a game with minimal coding experience.
This system frees up creativity, and removes yet another barrier to game creation—that of becoming a programmer.
Opening the Door to Your Imagination
It’s easy to believe that if you use a game engine, your game will look and feel similar to any of the other games built with the same tools. Yet, while there are similarities that will occur, this fear is unsubstantiated.
Remember our cars? Just because the engine is the same in each one doesn’t mean they will look or run the same. Different bodywork, wheel types, gearbox ratios, interior design and even paintwork, will make one car look and feel very different from another. The same is true with game development.
Not all game designers understand (or want to understand) object memory management, audio compression techniques, or data transfer speeds, yet these things have a huge impact on the game. Thankfully, the engine can take care of it all, leaving you to the more creative side of game development—making maps, developing NPC character models, or tweaking enemy combat intelligence.
Using a game engine takes the thousands of hours needed to interface directly with the computer chipset and does all the heavy lifting for you. But, at the end of the day, your game is still yours, developed and refined by you, with all those unique concepts that make it great.
Properly implemented, a game engine provides structure and tools to allow you the freedom to create.
Rejecting Game Engines
Just because the opportunity exists for game developers to work with an established base of tried and tested code doesn’t necessarily mean that’s what they all do. There are numerous reasons why not every programmer uses the latest engine code.
Probably the biggest obstacle is one of ownership. Unless the code is made available as open-source, free for anyone to use, then there’s the cost of licensing it for use—and that’s a cost that might not be purely financial. Many development studios’ and publishers’ codebase is a core intellectual property central to their business. For example, it’s simply not realistic to give Activision a call and ask them if you can borrow their Infinity Ward (IW) game engine (the core code for games in the Call of Duty series); they’re going to say ‘no’. Similarly, obtaining state of the art proprietary systems for racing simulators, RPG systems, strategy game AI and more is all just short of impossible.
That said, there are some very powerful and well-respected game engines available for free, including Unreal Engine, and Unity.
It’s Just Too Much
Some game engines are too big a tool for the job at hand, with unnecessary features and a learning curve that is simply too steep to make the engine useful. In these cases, perhaps a lighter, alternative engine is better, or simply ignoring a core engine altogether and developing a game with only the most basic tools.
It Doesn’t Do Exactly What You Want
Game engines are a starting point. In the hands of an able programmer, they can be tweaked and adjusted to perform the task needed. However, every now and then, you come across a game idea so radical and new that no one has developed a suitable engine. Then it’s up to you! This isn’t reinventing the wheel; it’s making a brand new wheel for a new golden age. Think, making a wheel out of metal instead of wood for the first time.
Some programmers believe they know best and that everything that has gone before is lacking. Therefore, nothing but code they have written and developed themselves will ever be good enough for this small group. This is not altogether bad, as innovation does stem from people in this bracket who are dedicated and talented, but it is not an easy road to success.
Perhaps most noteworthy, CD Projekt Red, developers of The Witcher series. They created their own engine from scratch to make sure the game did everything they really needed having determined nothing on the market was good enough.
Game Engines as Cheating
‘Back in my day, you actually had to do the work!’
Somewhere, there’s a farmer who gets up every morning, puts on his waterproofs and wellies, trudges out to a field and starts digging with a spade. He plants his potatoes by hand and will later pick them the same way, proud of how he has put in the hard work to feed himself and his family.
On the next farm along, a tractor drives through, pulling a gigantic plough. Automatic planters ensure that rows of potatoes are put in the soil at precise distances. Then, when it comes to harvest time, another machine will be used to pluck the potatoes from the soil, and they’ll be bagged and off to a supermarket in no time.
The second farmer isn’t cheating; he’s simply using tools available to him to work a larger area, and do more.
It’s easy to dismiss game engines and their associated creation tools as ‘cheating’. After all, it’s not real programming if you are not getting down and dirty with a text editor, right? In truth, like with everything else, computer games have moved on to such a level that the idea of an independent enthusiast coding the next AAA megahit from his bedroom is simply ridiculous. A low-key indie hit, perhaps (especially if he is willing to use a game engine), but a blockbuster isn’t going to happen.
It’s not cheating to use the tools available. It’s not wrong to build on all the work that thousands of programmers and developers have done before you. It doesn’t make you inferior in any way to use a game engine.
It’s just not reinventing the wheel.
Pong and Pacman are nostalgic and great, for sure, showing the way for so much that came afterwards. However, to suggest that they are better games with more longevity than Breath of the Wild, Black Ops Cold War, Resident Evil Village, or Final Fantasy XVI is simply stubborn shortsightedness.
Similarly, I do enjoy the historical thrill of seeing an ageing Penny Farthing in a museum, but it’s no match for a Ducati V4S.
Returning to our in-depth look at game engines for different genres, we follow the development of the Real-Time Strategy (RTS) genre. We look at how the game engine has influenced and improved things from those early days of flawed chess simulators to modern titles such as 2021’s Age of Empires IV.