iPhone game to iPad – User interface considerations

I recently began porting my iPhone game SpringFling to iPad. The most time consuming part so far has been working with the art assets to make them work on the new screen size. I had stupidly designed most of the UI for the game at native resolution (480 x 320 px) which forces me to now re-do much of the art at 1024×768. Instead of just re-creating the exact menus at a higher resolution, I’m taking this chance to re-design certain areas of the menus.

I’ve noticed an issue with some iPad games that have been ported from the iPhone version. It seems the developer, in an attempt to reuse the same art assets, keeps HUD and UI elements the same size but ends up with huge areas of empty space and useless padding. Contexts with very little info end up taking the whole screen, making the overall composition feel lonely and awkward, like sparsely placed townspeople in a model train set.

By forcing myself to re-design certain areas, it will (hopefully) help ensure a smooth and appropriate user experience on the iPad.

Here is my progress so far:

And no, I haven’t gotten around to fixing the in-game HUD imagery yet. I’ll get to it soon, nagging Nancy.


SpringFling in Apple Stores around the country!

Today I finally learned the meaning of the secretive phone call I received from Apple a few months back. Apple has put my SpringFling demo on the in-store iPod Touches that grace Apple Stores around the country. What an honor!

I’ve been meaning to update SpringFling and with Unity iPhone 1.6’s release followed by this unexpected good fortune, it may give me the boost to get some updates pushed out.

Take a look at the pics:

Thanks again to Apple for featuring a small time indie.


SpringFling 1.1 update released

Today Apple approved the SpringFling v1.1 point release which fixes numerous bugs, adds 9 new clothing items for Mr. Spring, and adds a new powerup: Ass-saving fans. They’ll seriously save your ass. That is all.

Comments Off on SpringFling 1.1 update released Comments

iPhone game development talk at Apple Store

For those interested in learning about game development on the iPhone, I’ll be giving a talk next week at the Boylston St. Apple Store. This talk will be focused specifically on the use of the Unity engine to create iPhone games. The presentation will cover the prerequisites of iPhone development, the Unity interface, code examples, and a showcasing / postmortem of my completed iPhone game SpringFling. The event details are as follows:

Date: December 2nd
Time: 6-8pm
Location: Boylston St. Apple Store, 3rd Floor

Come with questions. No laptop necessary as this will not be a development workshop.

Edit: Apple posted a blurb on Apple.com/boylstonstreet


SpringFling v1 out, v2 in the works

So, for those of you who follow the blog but weren’t aware, SpringFling is now on the App Store! (Game website and iTunes Link)

Publicity has been going well. Check out these positive reviews/previews!

  1. AGON Listing
  2. AppAdvice Review
  3. AppAdvice Preview
  4. JoyStiq Preview
  5. SlideToPlay Preview
  6. TheAppera Review
  7. TheAppsMachine Review
  8. ThePortableGamer Review
  9. TouchArcade Review
  10. TouchArcade Massive forum thread

Cool beans.

On another note, before release, I was aware of a couple of outstanding bugs and thanks to players, have filled in the gaps to find the rest of the noticeable bugs. I’ll be working to resolve these throughout the week and hopefully submit v2 some time in the near future.

One such bug revolves around general inconsistencies with AGON, scoring, achievements, and reliability of getting these awards. Here’s the bug and the fix:

Issues with AGON and things not registering:

Issues occur when the user launches the game for the first time, plays some levels, then finally decides to launch the scoreboards. Then they are prompted to make a username but at this point, actions they had taken previously are discounted, allowing the user to get to a point where the local playerprefs file believes a certain achievement is gotten but is not gotten as far as AGON is concerned. Short term solution is to reset progress from within the game. v2 fix adds a login screen when launching the game, ensuring all players are able to register their scores/achievements properly. This does NOT mean you have to approve online scores, but you do need a username to be able to store your local high scores.

Status: Fixed


SpringFling Submitted!

Hey everyone. This will be the final update before the all-important release of SpringFling on the App Store. The big news is that:

SpringFling v1 has been submitted to Apple for review!

This means that the world can get high flying springy action in 1-2 weeks, hopefully before the end of October.

Since you last heard, SpringFling has had a large amount of final polish added, including a full character customization suite that allows you to equip silly hats, beards, and glasses on the character. Some other things have been taken care of, such as a full fledged interactive tutorial, finalized level art, finalized custom soundtrack, framerate improved after some significant code optimization, and many many bug fixes. Thanks to my testers for helping make the game as solid as a v1 release can be :)

Since I’m speaking to a good amount of game devs here, I’ll mention that working with Unity iPhone was a breeze and I’m glad I chose to use the Unity engine to develop the game instead of attempting to roll my own solution. To be honest, I don’t have the programming skills to hack my own engine, and if you happen to, I can only say to shoot for the stars, but developing an engine incurs a significant overhead of time and therefore money that some would rather not deal with. Buying an engine also costs money but I have only good things to say about my development experience. Take away from that what you will.

Follow SpringFling updates on Twitter for updates from Mr. Spring
@springflinggame (twitter.com/springflinggame)

Comments Off on SpringFling Submitted! Comments

SpringFling – Website + Trailer

That’s right folks, a real video trailer for SpringFling has been released. In addition, the app website is up and running! It’s been a long week at my full time job and a long week working on the video and website but it’s finally paying off to see it go live.

Check out the site at SpringFlingGame.com and look below for the new trailer. Let me know what you think!

And as always, the link to the HQ Quicktime Trailer.

Comments Off on SpringFling – Website + Trailer Comments

SpringFling – Sewer w/ audio

So here’s the new sewer level and accompanying musical score courtesy of Brad Scoville and Josh Dick. Any suggestions as far as art/musical stylings?

Sewer Audio

Comments Off on SpringFling – Sewer w/ audio Comments

SpringFling – Parachutes in action

Well it’s been a few days since the last update, so I thought I’d show some new goodies. I’ve been hard at work on the backend for achievements, online scoring, and other various implementations and fixes, but there’s also some eye candy to show.

First up, there’s a new powerup in action. The parachute!

This allows for much needed in-air influence over the spring at certain critical times, such as when your jetpack runs out of juice and you’re stranded over a pit of doom. Boom, parachute. Now you’re like frikkin James Bond, floating back down smoothly, the ladies eyeing your shiny metallic finish. Smoooooth.

Also, I have the art created for my next powerup, the jetpack/rocket. Things are coming along nicely. :D

Comments Off on SpringFling – Parachutes in action Comments

Tutorials – Instructing the User

While building the tutorial level for SpringFling, I started thinking about how different games choose to teach the user the basic mechanics of a game. I’m not talking about a beginning cutscene that sets up the backstory or character development, but the presentation of the controls and navigation through the game world. Some games choose to present the user with a linear sequence of static screens that present text instructions, possibly with visual diagrams to assist in comprehension. This seems all well and good but if one thing’s for sure, it’s that users rarely read text that is presented to them, especially if it stands in the way of completing a goal or getting to the ‘interesting’ part of something. Users end up skimming or blindly skipping through instructions, with a higher chance of doing so if the instructions last for more than three pages. Also, some instructions go so far past the Powerpoint 8×8 rule (8 bullets per slide, 8 words per bullet) that a wall of text is thrown at the user, forcing them to bear through the reading or skip ahead and hope they don’t get stuck.

For this reason I chose to do things a bit differently for the tutorial level of SpringFling. The plan is to create an interactive tutorial where the player never loses input control and is presented with both snippets of information (tips) and direct instruction (tasks). For example, the first step will be to instruct the user how to move their finger on the screen to compress the spring and aim in the proper direction to land in a certain designated destination. The level will then allow the player to try as many times as necessary to complete this task and upon completion, display positive feedback of the task completion and move onto the next task. This can be easily accomplished by using trigger volumes to detect the spring’s location and whether the user has completed the task. This interactive tutorial idea isn’t exactly new but especially on the iPhone, I’ve seen far too many games present game mechanics in a less than optimal way or in no way at all.

One other requirement is to be able to revisit the instructions or tutorial at any time without having to restart your game progress completely. Keeping this in mind, the tutorial level in SpringFling will be easily available from the level select menu in case the player wishes to run through it a second time to refresh their memory or remember how to, for example, apply jetpack boost to the player. The tutorial will be exitable at all times and quick to complete for someone well versed in the game, but with enough depth to properly show a beginner player how to navigate the game properly.

I’m always interested by games that present information in the game world without having to use a UI element or HUD element to display the information. An example of this is Rolando’s unique ‘hey finger’ method of addressing the user, without completely breaking the fourth wall and staying in character. You Have To Burn The Rope also displays its hilariously obvious game information on the ground and walls as you walk through the initial stages of the game. Many other games use the signpost method of showing information, although that usually triggers a UI popup to properly display the text without losing legibility by presenting it solely on a 3d sign. Edge for the iPhone also uses the very intuitive method of showing a phantom cube playing out a looping action to show the player the intended path or move to complete. It seems that in-game tutorials have really picked up in the recent past as developers realize the multitude of options that are available from interactively educating the player. (Thanks to Josh Dick for helping to come up with these examples.)

Mike Minotti seems to disagree with all of this. In a blogpost entitled I Hate Tutorials, Mike talks about why he dislikes many aspects of tutorials. He makes some valid points that ‘expert’ players are sometimes treated condescendingly in tutorials, but to say that all tutorials should be skipped because he ‘can figure out any control scheme in no time’ doesn’t mean that the rest of us wouldn’t like to progress through an intelligent well-made tutorial that quickly gets across the main ideas without boring or overworking the player with unneeded drills. He goes on to say “Whatever you do, don’t make me go through a tutorial level”. I agree that gamers have been burned in the past with some tutorials that take up too much of the players time or catering to the less experienced player but a viable solution would be to make the system adapt to how well you are completing the goals. This should keep players of all levels happy and what I plan on doing for the iPhone game.

What do you think about in-game tutorials and instructions? Should they be banned and burned at the stake? Should they be optional, manditory, adaptive, linear, static, or filled with silly hats? Voice your opinion.