Bytesize Adventures
Crafting bite-sized digital worlds

Devlog – 13th January 2014


This week, more porting to Sprite Kit.

I created texture atlas’s for the main menu for all device targets (iPad, iPad retina, iPhone, iPhone 5). This was satisfying as its the first time I’ve had any portion of the game running on an iPad. I expect a reasonable amount of work to optimise layouts for the iPad but at least the structure is there.

The character selection screen is also complete and, as above, running across all devices. This screen also has some layout inconsistencies to fix on the iPad. Additionally the font sizes are currently incorrect.

I’m purposely leaving some of these layout issues because the screen designs are purely placeholder at the moment – I just want to prove that they will work across multiple devices.

This screen was much more work than I had anticipated, requiring rewriting of the actions and especially the fonts. I use Glyph Designer to produce bitmap fonts for inclusion in my projects (this, I believe, avoids the messy copyright issues – you still need a license but you aren’t distributing the font file, which many licenses forbid).

Unfortunately SpriteKit doesn’t support bitmap fonts natively! Thankfully Glyph Designer provides a static library, wrapping the SKLabelNode, to add this functionality. The downside is that the font usage does require a bit of a rewrite which is slowing me down.

Furthermore, SpriteKit doesn’t support multiline labels. I can probably get around this with some creative code (detecting widths and using multiple labels for example). Still, its additional work that I wasn’t expecting.

More positively, as I was rewriting code anyway, I tidied up a niggling bug that has been present since the cocos2d version. So that was a win :)

So I’m hitting more snags than anticipated but nothing thats setting off alarm bells, yet. I think the core game class is going to be a lot of work to migrate but I think I can plough through it.

Next week I move on to the level select screen.