Game Development Community

dev|Pro Game Development Curriculum

The First Multiplayer FPS on the iPhone, the First iTGE Game

by Deborah M. Fike · 05/08/2009 (3:35 pm) · 10 comments

static.garagegames.com/static/pg/torquepowered/devinterviews/header_blog_dev-interview_top.jpg


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...

static.garagegames.com/static/pg/torquepowered/devinterviews/ifps-online/iFPS1.jpg
"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.

static.garagegames.com/static/pg/torquepowered/devinterviews/ifps-online/iFPS2.jpg
"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.

static.garagegames.com/static/pg/torquepowered/devinterviews/ifps-online/iFPS3.jpg
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.

#1
05/08/2009 (3:41 pm)
Pretty cool!
#2
05/08/2009 (5:47 pm)
Wow I'm impressed, it looks like it runs smoother and controls better than Terminator does. I get frustrated with the control scheme they chose for that game.
I'll be buying this game tonight :D
#3
05/08/2009 (7:14 pm)
Sweetness, I bought it tonight and played it a little bit and was impressed with it. I really like how you managed to get the joysticks to co-exist with the jump/fire buttons. The auto-center view is a life saver and helps make the controlling of the camera much easier to manage. I also love how most of my kills where 1-shots, makes things easier instead of constantly targeting on the phone and firing hoping to constantly hit your enemy.

Superb game, well worth the money.
#4
05/08/2009 (9:59 pm)
This is fantastic!

Quote:
the first multiplayer FPS available on the iPhone, serving 2 to 10 players running over Wi-Fi and 3G on iPhones and iPod Touches.

This is unbelievable and ground breaking!

Quote:
... and 3G ...

Did you catch that? This is the first combination of 3G and true internet client server. Its a fantastic example of convergence between wireless phones and computers. The iPhone is in reality a small hand held lap top. 3g is in reality a very large and powerful network. This game is the first to take advantage of both!

Hats off to you guys! Very, very well done!!!
#5
05/08/2009 (10:42 pm)
Quote: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.

Does this mean it takes Apple 4 weeks to approve ae game? So you took advantage of the delay by submitting a tech demo early and building the release candidate so that once the tech demo was approved you could just upload RC1?

Quote:Did you catch that? This is the first combination of 3G and true internet client server. Its a fantastic example of convergence between wireless phones and computers.

So is there a PC version that can play in the same session as the iPhones/iTouches?
#6
05/08/2009 (10:50 pm)
Congrats to Paul and the rest of Pickup and Play. I've spent the past 5 months working with you guys on the iTorque technology, and I can safely say it would not be the great tech is without your efforts. A few months back I wanted to ask when your team would be putting out a game...guess I have my answer =)

It's fast. It's stable. It's a first. It's fun. It's a must-buy!
#7
05/29/2009 (9:50 am)
Looks really good.

I'm curious what is the scheduled timeframe to make iTGE available? I see the pre-order button on the product page and curious if the early adopter is available upon the pre-order? In fact, I'm ready to start, so could pre-order and even finish the game when iTGE hits RC. Also, is there a place to ask questions about iTGE, milestones, forum?
#8
05/29/2009 (10:31 am)
@Tau - Right now it is in final beta. The engine does compile and deploys to device, so you can finish a game. The docs and optimization are not complete, but we just received a major set of revisions taken from iFPS and Marble Blast Mobile to improve performance.

I will be posting road maps for iTGE and iTGB on Monday, so that will be a good place to ask questions. Once you have a license, the forums are also open to you to get support from other users and the iTorque developers.
#9
01/04/2010 (2:21 am)
@Michael: sorry to take this issue out of the iTorque 3D forums, but you said: " Right now it is in final beta " are you talking about Beta 2 or 3? because we still haven't got Beta 3, and it is unable to compile on snow leopard, could you please try and sort this out, as i have tryed to talk to David about this, but he has not given us a solid answer about the status of iTGE.
#10
06/22/2017 (2:14 am)
It Looks great!!
Lots of info on a single page and usefull for game developers.
http://supportnumbers.net/