Playing Doctor on the iPhone with Hospital Havoc
by Deborah M. Fike · 03/13/2009 (10:07 am) · 6 comments
It's been roughly five months since we first released iTGB for iPhone game development. With some dev time behind us, we're seeing a flurry of the first Torque games being released to the App Store. It's been fantastic to be a part of a brand new platform for games, and we're excited to see what's in store that's still incubating in the minds of many of you out there.
To give you the first taste of what it's like to develop for the iPhone, I got in contact with Ray Graham, President and Chief Engineer of Bitwise Design, about their first iTorque game. Hospital Havoc is a casual time-management/arcade/strategy game for the iPhone and iPod Touch. You play a doctor with a helpful “sidekick” nurse in a small hospital room where wacky diseases are the norm. Together, you admit, diagnose, and treat various patients.
There are numerous modes of play. In Career play, the player completes 5 tutorial levels and 15 career levels that introduce each patient type available in the game. In Scenario play, levels have a very specific goal that must be achieved. In Continuous play, the player can customize their game by tweaking parameters for continuous, totally random enjoyment. For a quick demo of each mode, check out the video:
Read on for the inside scoop on how to create an iPhone game from the ground up!
What makes Hospital Havoc unique?Hospital Havoc is the first game in the App Store set in a hospital. On top of that, it’s quite comical. Though most would categorize it as a time-management game, it goes well beyond by being very upbeat and fast-paced, especially when you play at the hard difficulty level.
The game also allows character customization. The player can select to be male or female and choose from different races for both the doctor and nurse. We wanted the player to use his or her own imagination about the character and not have it forced upon him or her.
Where did your inspiration come from?ER Rush was the primary inspiration. It is also a mobile-based game that I helped to program a couple years ago in Java. I also enjoyed playing Theme Hospital, but it's been so long ago that I actually don’t remember much about the details anymore!
Hospital Havoc presents a challenging campaign, with three levels of difficulty to choose from, that includes 17 possible illnesses, three-to-six bed conditions, eight addicting scenarios, continuous play, and rousing replay ability.
What was your development process like?The game took a full 3 months to complete, and it was the sole project that I worked on during that time. Initially, there were two people working on the game for the first month: myself as programmer and Igor Ruiz (living in Spain) as the animator. At about the start of the second month, once I was convinced that iTGB was going to work for me and that the game mechanics were solid, I brought on board the artist responsible for the game interface, backgrounds, and the menu system: Benjamin Chavigner (living in France). At the start of the third month, the sound creators and voice characters came on board. Then regular play testing kicked in.
As an electrical engineer previously working in aerospace and chip design, I am very detail oriented, so the stability of the game mechanics were pretty constant throughout the process. The play testers were able to play the game a lot and provide feedback on the fun, instead of focusing on broken things.
In total there were a dozen individuals involved. And, believe it or not, the game was released two days ahead of schedule! It was originally slated to be submitted to Apple on March 2 but I was able to push it to them on February 28.
What tools did you use?We used the tools that anybody would use, I suspect. A lot of Photoshop (graphics stuff of course), pngcrush to optimize the PNGs, Torque Game Builder (obviously), XCode (to build for the device), SVN (for source control), Ant (to properly organize resources for building) and JIRA (for defect and task tracking).
Keeping game mechanics consistent throughout development allowed play testers to focus on playing for fun, not bug hunting.
Why did you use Torque to create the game?As an engineer, I love to do things the tedious, meticulous way. I would love to create a feature rich game engine of my own, but I am well aware of how much that would cost me. I really did not want to release Hospital Havoc two and a half years from now. It would have cost me a significant amount of capital to create an engine that would give me the freedom that I wanted without making massive compromises that would end up as a product that was a one-off and not as useful for future games.
So then I found iTGB. I literally found it a day after it was released. If I had looked for an engine any sooner than that, Hospital Havoc would not be available today! I really got lucky and am extremely grateful in that luck. The pricing of the engine is so much less than it would have cost me to create an engine on my own…and you get the source code to boot.
What were a few major development challenges you encountered?A lot of time was initially spent deciding the quality of graphics that I could do. Having been used to creating applications on really cruddy Java-based phones, I quickly realized how amazing things can look on the iDevices. However, I initially overshot and started to get sloppy. It became a matter of figuring out how to adequately organize and package the resources not only so they would work well with the device but also in the engine.
And, of course, I had the initial barrier of learning TorqueScript. Learning any new language and syntax takes time and a lot of patience. There is quite a lot of documentation available for TorqueScript, but sometimes the tidbit that you are looking for isn’t easy to be found. So it’s important to be willing to get your feet wet and seriously dig around in the source code itself, even if the intent is not to modify any of it. Overall, I was really confident and able to use TorqueScript within a week and a half.
How have you managed QA and beta testing so far?Very few people out there really understand (or are willing to admit) that QA and beta testing are the real secret sauce to any successful software-based business. It needs to be a part of the process from day 1, not day 90 or 145. And it’s definitely more difficult with games. There's no one true formula. But one thing everybody would agree on is that you must use a bug-tracking tool. And do not use it only to track bugs; use it to track tasks, features, and improvements. Track as much as you can in it, even the small stuff. Record everything in the tool as quickly as you can, even if it’s a possible feature or idea that sounds really stupid. I’ve had cases where those "stupid ideas" really weren’t as stupid as they initially sounded.
"I would love to create a feature rich game engine of my own, but it would have cost me a significant amount of capital to create an engine that would give me the freedom that I wanted without making massive compromises that would not be as useful for future games." - Ray Graham, lead developer of Hospital Havoc
What did you learn during development?I am constantly learning new things with every project that I work on. This one, though, was the first totally independent project for my company, so I’ve had the opportunity to learn more about complete independence, which includes a lot more risk taking, multi-tasking and collaboration with so many more people. Sometimes it feels like a miracle has occurred when everything falls into place.
What's next for Bitwise Design?Our core business has been in consulting and contracting for a lot of different software system related things, but games have always been a serious passion for me. I not only play them from time to time (nobody has enough time to play games 24/7, do they?), but games allow creativity and software engineering to be wrapped into one nice package that is an ideal move for Bitwise Design. We are currently trying to narrow down our large list of possible games down to one title. I want to give our new fans more games to play, as well as start collaborating with more developers out there and take on a publisher role so that others can take advantage of our proven engineering background.
Thanks again, Ray, both for taking the time and also being brave enough to be the first iPhone developer to finish a dev blog for our site. I personally look forward to staying in contact and seeing what's next for Bitwise Design.
For more stories like this, check out GarageGames' Developer Interview series.