December 7, 2008
As a huge fan of 16 bit era Sonic games I come to this title with a bit of prejudice. I miss the games that were about timing, pattern recognition, and improving times. If Sonic Unleashed where one game I might be pacified, but not entirely satisfied. It’s too bad Sonic Unleashed is two games, squished together like liver pate.
For some reason Robotnik (Or are they calling him Eggman now for real?) decided the best way to dominate Mobius is to blow it apart, releasing a ‘spirit’ that has mysterious magical energy. The only living creature impacted by this ancient spirit is Sonic, who now turns into a warehog at night.
The warehog levels are platform/brawler style, ala The Bouncer, but with a slightly worse combat system. To be straight with you, these levels share characteristics with the ooze you find in the bottom of a dumpster that was recently the home of rabid raccoons who forage the sewers for human refuse in order to maintain some semblance of life. I won’t go into any details; and if you decide to purchase the game I encourage you to pay someone to unlock the level select for you. That ‘half’ of the title is more of a chore than a game, and it should be avoided if at all possible.
That’s not to say this game is without merits. The best Sonic level I’ve played in 14 years finds it’s home in this title. They’re not all perfect, but when they get a level right it feels exactly like the games of old. For the other 20-something hedgehog fan out there it might be worth your time to get that level; but you’ll probably want to wait for this game to hit the bargain bin. It shouldn’t be too long.
There’s simply too much filler to recommend this game for general consumption.
Skip it: If you never owned a Genesis you are correct to ignore this series.
Rent it: Masochists, people who want to affirm their hatred of the series, and curious fans who are want to witness a glimmer of hope.
Buy it: I may very well be the ideal demographic for this game and I’m upset that I paid full price.
May 18, 2008
I had an opportunity to speak to Chris Dillman of Plaid World about developing for the iPhone.
NHR: You seem to do a lot of cross-platform development, but I notice your commercial focus seems to be on the Mac. In layman’s terms how different is developing for the iPhone compared to OS X?
CD: The iPhone OS is is fundamentally a stripped down version of OS X. In laymen’s terms it feels like we are programming a small hand held Mac from about 8 years ago. The APIs are are basically the same; Cocoa for GUI and OpenGL for graphics.
NHR: Part of the PSP’s success in the homebrew scene is due to the Lua host someone developed to allow nearly effortless ports. How difficult was it for you to get your engine running?
CD: Our 2D engine, BANG 2D, is a cross-platform game engine designed to run on Mac, Windows, Linux, and the iPhone. It was written in Lua and C++ and using SDL and OpenGL. The core engine was actually written in 100% Lua. It sounds like it would be slow, but it was fast enough to make a SNES style game run on a 1ghz machine.
To get BANG 2D running on the iPhone basically required a recompile using the same programming tools we had been developing with on the Mac in the first place. Most of the code just worked.
After that I needed a to set up a basic application shell to run our engine. Apple provided examples that showed the fundamentals needed to get a tile-based game up and running. One example was a program with a timer, an OpenGL ES context to draw into, PNG files used as textures and how to draw a tile. This was basically 90% of the graphics programming our engine was using in the first place. I was able to take one of these basic examples and merge it into our engine’s code.
After that, I had to write a abstraction layer for the iPhone, a setting of bindings that let Lua talk to OpenGL and proxy functions for SDL. For example Lua sees a set of full SDL functions on Mac, Windows, and Linux, but on the iPhone the SDL functions are remapped to our own custom functions that do the same thing on the iPhone as they would a computer.
[Editor's overly simple explanation: Think of a program as a pyramid. The part the user thinks of is the very top brick, but that brick sits on top of other bricks that the programmer wrote, in this case the Bang 2D engine. Those bricks are on top of other bricks, OpenGL and SDL, and those bricks sit on top of even more bricks, the operating system. When Chris set his bricks on the base they didn't quite fit, so he had to add another level to sit between them. This new level tells the operating system what the higher levels are doing.]
The whole iPhone port took me three days or about 40 hours of work from when I first received the developer key needed to test on real hardware. In the first three betas of the iPhone SDK you needed a official developer key to be able to develop OpenGL applications. As of Beta 4 you can develop and test OpenGL applications on the simulator application Apple provides.
NHR: Which languages do you know of that absolutely will not work?
CD: As of today there is no Java on the iPhone. It would be possible for someone to port it especially with Java going fully open source. .Net does not exist on the iPhone. That being said it should be fairly straightforward to port MONO to the iPhone. I know at least one company is actively working on this now. Porting MONO would open up applications written in C# and an host of other CLI compatible languages.
NHR: Did Apple provide you with any tools to make porting easier?
CD: You program the iPhone with all the normal Mac programming tools like XCode and profiling applications. This is a mature set of development tools and and IDE that sits on top of GCC. Basically, I felt perfectly at home as a Mac developer when developing for the iPhone.
NHR: If someone’s interested in entering programming as a hobby, would you say the iPhone is a good platform to start with apart from the costs of getting the device and sdk?
CD: Its a great platform to start with. The basic cost is zero, all you need is a Mac. The SDK is free to anyone, as is Xcode and all of Apple’s tools. The only time you need to actually pay Apple money is when you want to be able to run the software on an actual iPhone or iPod Touch. Once you pay, you’re supposed to be able to distribute though Apple’s yet to be seen iPhone Store. As for development hardware its best to NOT develop on a iPhone you actually need to use as a phone. There have been at least two times during the beta where people’s phones have been disabled for a day or so. The better and cheaper option is to pick up an iPod Touch. Its cheap and is basically the same hardware as the iPhone minus the phone parts. You also don’t have the expensive phone contract to go with it.
NHR: The iPhone’s interface begs comparison to the DS. The DS can read one pressure point at a time, how many simultaneous touch inputs can the iPhone handle?
CD: I’m not actually sure.I thought it was three but after talking to other developers I’m told it can track LOTS of inputs possibly everyone of your fingers at once. I’m told there is a piano-like demo that lets you play chords or hold down all the keys on it at one time.
NHR: As a game developer, what gets you excited about the iPhone?
CD: Oh I love the technology and cost of entry. It’s cheap to develop for. It sounds like it will be cheap to publish for with the only middleman being Apple. There will be no overhead from a traditional store as everything is online. I have loved the touch screen idea ever since I got my DS Lite. The DS is my most used console to date. I like that the iPhone has a fast CPU, plenty of ram, storage, and a real GPU. In many ways the specs seem on par with the PSP in potential power. The ARM CPU in the iPhone also has a FPU on it. Probably the best part is that the iPhone feels like you’re programming a slower but still modern PC and not a cell phone or some crippled embedded device.
NHR: When will we be able to get your game on our iPhones?
CD: We should be shipping Mouse House by fall or sooner. Right now the game is mostly completed and running on four platforms. In the next few weeks I will be optimizing the engine for iPhone.
In June I’m planning on attending WWDC to learn all about iPhone development. Come June, the SDK will go gold and should finally become public. Around that time we should also see Apple unveil the the new App Store for developers to sell games through. Until the SDK and Store is final there’s a number of unknowns holding us back even if we were ready to ship a game next month.
NHR: What’s next for you?
CD: We plan on shipping a number of cross platform 2D games by the end of the year starting with Mouse House a 2D puzzle game. More importantly though we are actively looking to raise a second round of seed level financing in order to expand our company full force into iPhone development.
NHR: You can see the press release here.