Swivel Turret Intro Comic Panel

The test project I created for my SpriteKit components library is getting out of hand. Here is a panel from the introduction comic.

Yep, my example mini-game now has an introduction animated comic (if you were wondering why I haven’t released an actual game yet).

Justifying a Code Rewrite

I have a sketchy, working version of AdventureKit:

An animated gif showing AdventureKit in action. In it, we see a square from Lecce, Puglia. To the left, a man in a trench coat walks towards a bunny in a box in the middle of the square. As he approaches, the bunny shies away from him and the man says 'He seems a little afraid of me.'

Since I announced that I was working on it last year, it has grown considerably.

After taking a hard look at what I’ve done so far, I realised that there are some fundamental problems with it. It has become more complicated and the interactions between components have gotten messy.

It also has a few key things missing that would be tricky to add at this stage:

Continue Reading →

Day of the Tentacle

As always, spoilers! Day of the Tentacle was first released in 1993, so…

Day of the Tentacle was magical to 13-year-old me. The establishing shot of the mansion with its wild, bendy architecture was mesmerising. The thick bold lines and flat shading of Purple Tentacle as he sipped the ooze and set the story in motion was like nothing I had experienced up before in a video game.

Continue Reading →

Handling Time Zones in iOS Apps

Time zones are one of those tricky programming problems. It can be difficult to understand what’s going on and maddening to debug, especially if you have customers all over the world.

The key is understanding that the Date() struct in Foundation returns an absolute timestamp in UTC. UTC is a time standard (i.e. no countries adopt it as a time zone—they would use GMT which is a time zone but, for our purposes, is identical to UTC).

Continue Reading →

Plans for 2019

I find the New Year to be a very optimistic time. I’m grateful for a lot of what the past year brought, I can take a moment ditch things that aren’t working for me, and I can ask myself what I really want to do with the next 365 days.

The year boundary provides a natural deadline in a life that otherwise wouldn’t have any. I function better with a little bit of pressure and without it I would probably spend all of my time drinking beer and playing video games.

So here are the things that I want to get done in 2019:

Continue Reading →

External Libraries with the SpriteKit Visual Editor

I’m in the process of developing a library of useful, reusable components that could be dropped as an external library into a SpriteKit project.

They include things like my NodeComponent and an abstracted way of managing three different kinds of input from either macOS or iOS (single tap/left click, double tap/right click, and pan/mouse drag). It also has a physics component and a render component—things that come up in games of all different types.

The components often have a lot of editable properties that affect how entities behave in the game. Tagging these properties with the @GKInspectable tag allows you to use these components within the SpriteKit visual editor.

Continue Reading →