In one of the first GDC (Game Developers Conference) panels this morning in San Francisco Ngmoco kicked things off with a presentation on how they put their flagship “freemium” FPS Eliminate together.
Their aim from the outset was to produce the definitive iPhone FPS which boasts all the features gamers expect from a console or PC equivalent. With a small team of 3 coders and a project timescale of 5 months they had their work cutout for them. Their first target was the networking code…
The biggest headache with any networked multiplayer game is the dreaded spectre of “lag”. When they looked at commercial solutions for an engine it turns out that the Quake 3 engine with it’s roots in dial up connections proved the best all round solution simply because it was designed to cope with connection speeds similar to that of today’s 3G. As the devs said, “a dialup connection from 1999 looks a lot like a 3G connection today.”
On top of all that the Quake engine gave them graphics and lighting systems, map editors and animation controllers. With all of this available to them “out of the box” the team could focus more resources on the iPhone / App specific infrastructure of menus, lobbies, in-app purchases etc.
Other interesting titbits they spoke about included matchmaking and messaging software libraries they employed, in-house testing on OS X, how many servers Eliminate uses, and how they listened to player outcries on multiplayer issues they encountered.
For those interested, a more in depth piece on the talk is here