The First Multiplayer FPS on the iPhone, the First iTGE Game
by Deborah M. Fike · 05/08/2009 (3:35 pm) · 9 comments
It's always exciting to announce the first game made with one of our engines. Here at GarageGames, we've been squiriming in our seats to see the first iTGE game released into the iTunes AppStore. But iFPS Online breaks more firsts than just being the first iTGE game. Pick Up and Play's game is also the first multiplayer FPS available on the iPhone, serving 2 to 10 players running over Wi-Fi and 3G on iPhones and iPod Touches.
Paul Foster of Pick Up and Play took time out of his busy iTGE development schedule to talk to me about creating this break-through game. Enjoy!
Why make an FPS for the iPhone?The iPhone is a 3D capable device and the Torque engine already had many of the FPS capabilities built in. An FPS allows higher performance on the client because there are very few 3D items being rendered up close, in full level of detail. Also, the iPhone is very much a social-media device, and a multiplayer game seems like a perfect match.
What was your development process like?After porting the Torque Game Engine to the iPhone for GarageGames, Pick Up And Play was in a good position to use that expertise to extend the technology demo into a full game. We had up to nine people working on the game at any one time, although usually it consisted of a team of three/four programmers and two artists. Our staff all works together in our Laguna Hills offices. We've developed many games together and are used to intense, short schedule projects.
After we submitted a technology demo of the iTorque engine to iTunes, we spent less than four weeks creating a beta build of iFPS Online and another three to four weeks for the release candidate. For QA, we relied on our QA department (1 guy) to keep our bug database well stocked while we did a lot more informal play testing, looking for UI issues and online difficulties. We use Mantis on our server to track bugs and, even though we are in adjacent rooms, we use IM to provide short message questions and alerts and simple file transfers between team members. For online testing, we set up off-site servers to provide hosts for the game so that we could test network and router issues.
And of course we played a few (lots of) multiplayer games ourselves...
"The iPhone is very much a social-media device, and a multiplayer game seems like a perfect match." - Paul Foster of Pick Up and Play
What tools did you use to create the game?We used iTGE from GarageGames to run the game, modified to extend the networking capability. We used MacBooks and MacMinis running the Apple iPhone SDK with Xcode. Assets were generated in Autodesk 3DS Max, textures from Adobe Photoshop, and exported with GarageGames 3DS plug-ins.
What development hurdles did you run into?The single biggest hurdle was performance. While the game still doesn't run at 60 fps, it does run well enough to allow for an enjoyable experience. Optimizing for speed involved removing features that would be mostly invisible on a small iPhone screen, reducing game complexity, and designing gameplay to avoid CPU intensive activities.
A second hurdle was translating the usual FPS keyboard control interface that gamers have become used to on PCs onto a touchscreen phone with no buttons at all. We offer two optional control schemes, one using the iPhone accelerometers to steer and the other using on-screen virtual joysticks. The consensus so far is that the joystick controls is the preferred way, and we are continuing to improve the way they work to make the interface more intuitive. As a hedge, we also offer a variety of ways for the user to set the layout and sensitivity of the controls for individual preferences.
A third hurdle was networking. The iPhone is already heavily burdened by having to handle the physics, collision detection, AI, game logic, and 3D graphics, without also having to exchange data packets on every frame. This is especially true of the handset that is hosting the game.
The Torque Game Engine has already implemented a reasonable solution to load balancing the networking traffic. The main areas that needed extensions were with the initial setup of the connections and the reporting of game results to a central server when finished. A PC version of the game was used as a server to allow for efficient testing and a byproduct of that will be a PC and Mac game server that will allow players to set up their own games of up to 10 at a time (the iPhone only can handle up to 4 when hosting). We are anticipating that we will give away (yes, that means $0) these servers to encourage more LAN setups.
"The Torque Game Engine has already implemented a reasonable solution to load balancing the networking traffic." - Paul Foster of Pick Up and Play
What did you learn in creating iFPS Online?Our biggest lesson is that no matter what you set out to do, when you're done you wish you could've done more. We're taking all the wish lists and feedback from our customers and applying them to the next free upgrade of the game, as well as to new games we will release in the future.
What can we expect to see next from Pick Up and Play?As mentioned previously, we plan to release a free upgrade to iFPS Online that fixes bugs, adds more control flexibility, and more reliable networking. We will be presenting online leaderboards and game summaries as well as the free PC and Mac game servers.
Our next game will be using the same code base with a totally different environment and gameplay theme. Following that, there will be many more multiplayer 3D online games from Pick Up And Play along with possible excursions back into the more traditional console and PC markets.
Pick Up and Play will release a free upgrade to the game that includes leaderboards and PC and Mac game servers.
Having played an early version of this game in the GG office, I am excited to see it up in the AppStore. Congrats on first release and looking forward to the game servers!
For more stories like this, check out GarageGames' Developer Interview series.