GDC 2012: The great middleware debate
On the same day caucuses around the U.S. line up to vote for their preferred candidate in the 2012 presidential election, two candidates squared up to debate the best practice in game design and whether it's better to build or buy a middleware engine.
In a GDC 2012 session moderated by thatgameocmpany's Kellee Santiago, Alexander Bruce of Antichamber fame and John Edwards from thatgamecompany debated whether game design is best served by licensed middleware or a custom made solution.
Alex Bruce began the debate with an opening statement aimed at those that create their own tech: "Building your own engine is like building your own Photoshop." His argument rested on the fact that developers need to balance an artist's needs with the practicality of engineering.
Instead, Bruce prefers to start with something (in his case, the Unreal engine) and then add, subtract, bend and twist it until it does what he wants. There are numerous precedents for this — Team Fortress Classic, for instance, was built on Half-Life, which was itself built on top of the Quake engine.
The advantage, said Bruce is that "engines are about optimization" which means he can spend more time and energy worrying about other aspects of the design.
He was also realistic about his abilities — sure, plenty of developers do well with homemade tech, but Bruce said, "I would not be where I am" without using a licensed engine.
He also learned about the dangers of internal engine development from one of his previous jobs: "I worked for a studio that burned itself to the ground thinking they could do everything cheaper, faster and better… but didn't allocate the resources to do it."
Bruce finished his statement by encouraging developers to prioritize how they want to invest their development time: "Technology is getting faster, but we are never getting any more hours in our day."
John Edwards then stepped forward to defend internal engine development, and conceded that he and Bruce "agree on all the points, but [not] on the conclusions." Edwards' conclusions were influenced by three problems that come with licensed engines: "Pay to pay," "leaky abstractions," and "avoiding the hard problems."
When developers and studios decide to buy a licensed engine, he said, they first pay for the engine before they even begin to make content for it. Once developers purchase this shiny new tech, "some interesting psychology takes place in the face of all these possibilities… with all its features unused, the engine is hungry… like a small child, starving for food," distracting developers from the core design of their game.
"Then you wake up months later… wondering what all these normal maps and bloom are doing in your text adventure."
The second point of trouble with licensed middleware is what Edwards called "leaky abstractions" — when you use a licensed first person shooter engine, it becomes harder to make a game unlike a first person shooter, for instance.
The third and final problem is what Edwards called "avoiding the hard problem," noting that developers can often become distracted by fancy tech with exciting bells and whistles.
"If technology were the hard part, [games like Braid or Castle Crashers] wouldn't have taken three years to make!" said Edwards. "Engines can give you the illusion of progress."
Santiago later questioned both debaters, asking whether they had any regrets about their particular approaches — suggesting that Bruce could have collaborated with an engineer.
"Yes and no." was Bruce's enigmatic reply. "Only once I got to knowing what my game actually was." The process of tinkering and twisting the engine was quite integral to his development process. "The game would not have ended up where it was if I had someone build an engine from scratch."
Edwards referenced the recently-debuted Indie Game: The Movie, which he felt exemplified how his company makes games, in that developers place themselves in the space where "there are a lot of unknowns" and a lot of creative uncertainty.