well, once again I missed a self-set deadline. I wanted to finish the first version of Streetsoccer and submit it to Apple end of the first week of January but I guess that one is over now. I’ve been busy though and the list of missing things has gotten pretty short. What’s mainly preventing me from submitting the app are a few art assets plus some bigger changes to the internal data structures that require some more testing. But hopefully, another week and than it’s finally on it’s way…
Turn-based Game Center support
The app now also offers asynchronous online play via Apple’s Game Center infrastructure (besides the real-time Game Center support and play-by-mail that were already implemented). Unfortunately, this is probably the worst documented and worst implemented API on iOS I have seen so far and so the implementation has cost me a lot of nerves (and more time than I would have thought). But it seems to work quite well now and this will probably be the preferred way to play online for most players.
When you complete your turn, the app automatically sends your move to the Game Center server and your opponent receives a notification. You can now either quit the app and wait for the notification that it’s your turn again. Or you can stay in that match. If you receive your opponents move, the app will automatically run the appropriate animations and you can continue with your next move. It feels so much like playing in the real-time server mode that I’m actually thinking about removing that part altogether.
I’ll probably write a follow up post on Game Center and describe the implementation details soon. The only thing that is missing right now is something to transfer the match results to a custom server and thus offer proper rankings. Unfortunately, Game Center’s leadership boards are to limited to use for this.
There are now labels underneath each player piece that show the name and number of the player. It’s surprising how much personality this simple feature brought to the game. I’ve implemented this in such a way that the labels are hidden when a player does his move so they don’t obfuscate things.
Bug Fixes and Misc
- Tons of bug fixes, too many to go into details here.
- Added end game animations and an animation when going into overtime.
- Reworked some menu graphics.
- Removed the achievement system (didn’t feel right, will be re-added later).
- Support for alpha maps for improved graphics (see previous post).