Ask GR Anything is a weekly Q%26A column that answers questions submitted by readers (as well as questions we're particularly curious about ourselves). Got a burning question about games or the industry? Ask us in the comments below and you may just get it answered!
When we started this column a few months ago, we did so with the intention of focusing on educating readers about many of the gaming industry’s nagging questions. But last week, user Dmancapri asked a very interesting question. The gist of it was: what exactly does it mean when we hear game companies talk about “game engines?”
While this is sort-of “no-duh” territory for a lot of seasoned gamers, we realized that there are probably a ton of younger and more casual gamers out there who see this term all the time, and aren’t really sure what it means. In fact, quite a few of the hardcore probably have only the most basic understanding: engines help devs make games.
So we contacted an indie programmer friend-of-a-friend to help us distill this topic down to its most basic level. "A game engine is not unlike a car engine: it drives the game on the lowest level,” said indie game designer and programmer Dan Cox. “When you turn the steering wheel or press down on the gas pedal in a car, you are providing input to some software that is telling the car how and when to move. Programmers and designers, in the case of games, can work on this software knowing that the engine will do the moving. They just need to tell the engine what to do when the player (or driver) takes certain actions."
Cue the angry tech folks to rage in the comments about how wrong we are. Take a deep breath, tech folks. We’re trying to make a very not-simple subject simple. There’s bound to be some dissonance between the reality and the simple explanation.
"Game engines take care of most of the hard work for the programmer,” said Cox. “Instead of having to worry about writing all the code to draw certain things or play sounds at different times, the programmer can tell the game engine to do that for her. Instead of spending time on writing all the necessary code to get common activities done, she can spend more time on the game itself."
In other words, the engine takes care of the gruntwork, the enormous mess of coding that comprises a major game production. This way, rather than spending all of their time wrestling with code, artists can focus on artist things, and designers can focus on new ideas and honing the game’s overall design.
Above: Unreal Technology has been the most popular recently, but many others exist as well, including Crytek's CryENGINE and Rockstar's RAGE
“Videogames are very complex,” Cox elaborated. “Each main area - graphics, audio and handling input - requires its own special code to do common things. When working on a game, the programmer wants to spend time on the game itself and not writing their own code to draw things on the screen, for instance. Game engines help them with that. They provide a standard way of doing things, a way that everyone on the team can use without worrying about it changing. A game engine can often decrease the complexity of making a game and allow the programmer or designer to create a game in less time and with less effort.”
In addition, sometimes specialty engines are created to handle complex tasks like physics. The Havoc Physics Engine was extremely popular for several years because it allowed developers a simple method (pay money, get physics) of implementing a complex physics system that would ordinarily take many man-hours to code.
So why are some engines so much more popular than others? It seemed like not a week went by in 2010 without some publisher bragging that their next game will be done using the Unreal Engine 3. Who cares? Well, a lot of people care, and that’s one of the big reasons why so many companies used UE3.
At one point, using UE3 was an automatic boost in attention for your game. It signaled to gamers (incorrectly) that a game deserved to be taken seriously. Recently, that has fallen out of practice, thanks to horrible crap-piles like Hour of Victory and Leisure Suit Larry: Box Office Bust infecting the engine’s reputation.
However, there’s another method that companies like Epic use when promoting their engines. Cox said they make their software available for free to students and other projects. The objective is to create a new generation of coders who are most comfortable using their company’s software. It’s the same reason companies like Adobe make Photoshop and InDesign much cheaper for schools than for-profit corporations.
Above: Unfortunately, Box Office Bust was also made using Unreal Engine 3
Once the engine gets sufficiently outdated, companies will usually release it to the modding community. Epic and Valve have both done this with Unreal Engine 2 and the Source Engine. This provides extra content for their games, but it also educates modders in their software. And when those modders eventually create something impressive and get hired, they’ll bring that preference to the companies they work for.
Submit your own questions in the comments (or Tweet them to @sciencegroen) and we may tackle them for a future Ask GR Anything.