Sunday, September 4, 2011

Sonic 4 EP 1 iOS Impressions

The price for Sonic 4 EP 1 has invariably dropped following the trend of most applications on iOS.  Sell for the maximum that the consumer will allow then drop to catch the cheapskates.  Others take the route of giving away a base application (or charging at probably a loss) and recuperating on paid extensions.

First, this game has 17 levels + special stages for each.  Ignoring the boss-fights and the shorter levels, that's about 11 levels.  Let me put the price of this game in perspective ($4.99) for 4 zones and 11 long levels (disclaimer, I didn't research anything about the profit margins of this game).   The first sonic game had about 8 zones, or 24 levels.  Just shy of double what this game offers.  And for much more than double the cost.  My point: people who say it's worth ($0.99) ... wake up and look at the development effort!  The levels appear to be huge + multiple sound-tracks -- and testing such levels is no small feat.  The two previous published iOS games I worked on would need to be more than ($0.99) to recuperate the investment given a target market.  (For those saying it appeared on multiple consoles -- it's not up to the other machines to finance the development for the iOS version).

For those complaining about bugs / crashing.  Email SEGA.  Complaining on the Apple store ratings page might not help.  I had problems with Civ.  Emailing (convoluted process) Firaxis gave me the answer I was seeking.

Most of the game reviews already cover every aspect of the game.  I shouldn't need to go into more details there.

What I'm about to rant about is that it's a cross-platform game.  A game designed for game consoles as well as iOS.  And that's the main fault I find with it.

The developers (to save time) probably (I'm guessing here) had separated the game from everything else.  All platforms support getting input.  It is the semantics of accessing the input device that changes for each platform.  XBox will go through XNA (there might have other options), Wii through (who knows what, it's proprietary), iOS through UIKit.  (Graphics, file access, used meshes, etc. may vary depending upon the platform but I'd guess that the game itself is portable C/C++/(other?) and what changes is glue that makes the whole thing run.)

So, you have a game.  It wants left-press, right-press, up-press, down-press, and action.  That's it.  That's how multiple input schemes become possible.  Don't like pressing the virtual D-Pad on the iOS device?  Then use the tilt sensor and swipe!  A myriad of other options could be presented with little effort (normally inundating the user with frivolous options is a bad idea -- power users may like it but they aren't representative of the whole however vocal they may be).

This works perfectly on the systems with physical controls.  The Wii, XBox, and PS3.  This fails on iOS (not miserably, but it's an issue).  If you don't realize that they are just mapping controls, confusion may ensue.

Why confusion?  Let's take a special stage for example.  They say tilt left and right to turn the world.  That's confusing, but it's part of the game.  Where it fails is -- wait if I'm holding the iOS device parallel to a table?  Should sonic act like a ball in a labyrinth game and slow down?  That might actually be more intuitive.  Further still, why rotate the world when the whole device can be rotated?  The game was programmed for left/right, it gets left/right from tilting left and right.  (I've done some testing with accelerometer controls, my conclusion being that they are the hardest to do right)

Jumping is also a bit jarring.  The button is statically placed.  It's a region.  It might be easier if the region covered the whole right-side of the screen.

Moving is also difficult with the D-Pad.  To conserve screen-space, it's on the left-hand side.  Pressing right can be done by pressing from the end of the go-left button to the middle of the screen (from basic testing).  I couldn't feel a neutral position (this is probably just me complaining for nothing).

Later on there are cannons to shoot sonic to a specific spot.  It may make more sense to tap in the direction the cannon should face, but it's again press left/right to turn and action to shoot.

Game-wise, Sonic should be on the left of the screen when moving right and vice-versa.  This gives the player the ability to anticipate what will happen when running (memorizing the level is fun and all...)

Actually, I had fun playing through the first half of the game.  It's not a bad game, they mapped controls in a very coarse way which takes away from the game a bit.  And I don't complain given the price, the older games cost much more even after release.

What I want to bring to light are the challenges of cross-platform development.  The game was perfectly abstracted away to work on the traditional consoles.  iOS is a different beast.  Certain changes might actually be too drastic and require too much reworking of the levels (the special zones are difficult since Sonic has a continual pull of gravity in a given direction.  Removing that may require rethinking of the levels.  It's more nostalgic this way though!)  You might want to aim the cannon towards one of the on-screen buttons, etc.