"We just didn't realize the ridiculous scope of the game we were trying to make," said Dan Moskowitz, Senior Software Engineer at Maxis, creators of SimCity. "It became clear that our scope was so big we were standing on the edge of this giant chasm."
Moskowitz, speaking to an audience of game developers at the Game Developer Conference in San Francisco, described the technology behind SimCity, the "GlassBox" engine powering the game's world-building simulation and the struggles he and the SimCity team faced putting the game together.
But his panel got off to a rocky start, as he opened his presentation and his screen failed to begin loading his presentation slides.
The audience of over 100 laughed nervously as an error message popped up on the screen stating that the presentation could not connect to the servers.
It was a goof, but a good one. And a necessary one, as SimCity's failed (and still turbulent) launch has threatened to overshadow all of the hard work put in to making the game.
"As a member of the team, I apologize to anyone here who experiences frustration [playing SimCity]," Moskowitz said.
The audience laughed nervously as an error message popped up on the screen stating that the presentation could not connect to the servers.
Moskowitz touched briefly on the server issues still plaguing SimCity and mentioned the team is still working to address them, but declined to delve too deeply into what many see as the most important topic of discussion about the game.
"Anyone who brought tomatoes, I would happily direct you to our PR guy," he said.
Instead, Moskowitz took a deep dive into how GlassBox works and why SimCity behaves the way it behaves. In short: Maxis spent years of trial and error deciding how deep the simulation should go and the answer, in terms of fun, was: "not very."
Initial prototypes featured super-modular buildings (which the SimCity team calls "toys") and a level of complexity that, in the end, proved to be not only unnecessary, but also un-fun.
"At one point we thought skyscrapers were going to be stacks of units," he said, "but we quickly backed away from that."
An early version of the SimCity power station, for example, featured multiple add-ons and a variety of upgrades that performed in various ways, but the designers discovered that it was possible to upgrade the station in such a way as to break it, causing it to overheat or explode. And some heavily upgraded power stations would actually cease producing power. The result was "sim power station" which, while interesting, distracted from the core of the game.
"We had no idea how many parts would be fun or how detailed they needed to be," Moskowitz said. "Your power production could be stifled because you didn't have enough smokestacks or [they] would catch fire. We soon realized we were going down this complexity rabbit hole."
He added that, as a software engineer, it was often his responsibility to say "no" to outrageous requests and even, sometimes, his own preferences.
"It's important to remember that saying no is one of your tools, and sometimes it's a really powerful tool," he said.
Eventually the team settled on a 2 kilometer by 2 kilometer city size, and buildings that would be modular and simple enough to make building a city fun without being confusing. Upgrades were streamlined and designed to only add functionality without necessarily adding complexity.
"It felt like we were pushing this boulder up a hill," said Moskowitz. "We reached this magic moment where we felt like the boulder finally got to the top of the hill and then started rolling down the other side."
"I can't overstate how completely evil complexity is, especially in a sandbox game."
While the result worked perfectly in theory (servers aside), they found that it was still possible for players to game the system, or unintentionally create cities that would break the game.
The biggest issue they faced was city size, and massive numbers of pedestrians (which are each distinct simulations) clogging up sidewalks and using too much processing power without ever getting to their destinations. The solution they decided on had the virtue of being unique.
"We had to do something, but changing the simulation wasn't the right place for that," said Moskowitz. So they used magic, forcing some pedestrians to teleport to their destinations instead of walking, once the total number of pedestrians reached a certain level.
"[It was a] good tradeoff between performance ... without sacrificing the simulation integrity," he said.
Moskowitz said that although SimCity was designed to be a deep simulation, Maxis found over and over that making the game less complex made it more fun.
"I can't overstate how completely evil complexity is, especially in a sandbox game," he said. "Constantly ask yourself: What can I remove from the game?"