This week… still more porting!
I successfully migrated the level select screen. The layout is far from perfect but is just about looking okay across all devices. No especially big issues here.
The big piece of work this week was migrating the core game class and its dependencies. This has involved significant change. Most of the work revolved around removing retain and release calls on properties (including in the dealloc method), replacing cocos2d texture and label calls with the Sprite Kit equivalents, replacing the actions with Sprite Kits’ implementation, and a number of syntactic differences.
The game is now loading and running but I still have some major issues. Specific cocos2d classes, such as the progress bar, will need to be replaced with custom code. I also have some node and texture positioning issues, some touches not working, etc.
There’s a non-trivial amount of work remaining and I feel a tinge of regret undertaking it. That being said I’m over the worst of it and, if I can see it through, I’ll no longer have a cocos2d library dependency (making maintainability and the support of future devices much easier). I’ll also have a universal game with support for retina iPads. Thats a pretty big win.
My target is to get the game fully ported for the end of January. Then its on to the fun stuff – game design :)