Interaction Nodes

The default way of working with SpriteKit is to have the SKScene instance capture all the inputs and then have logic within that scene file to figure out the user’s intention.

In order for this to work, SKNode instances added to this scene have their isUserInteractionEnabled property set to false by default. This property prevents these nodes from capturing input and are effectively invisible to the event chain.

Continue Reading →

The Downside of Word Counts

I have been keeping a daily practice of writing at least 200 words a day towards a writing project (blog post, newsletter, speech, game dialogue, etc.) for over 900 days now.

Over that time I have developed a few vague rules—word counts are allowed to roll over but only for a maximum of two days (e.g. if I write 1,000 words, then I can have the next two days off); I can retroactively complete a day but it has to be the day following the one I missed—but the core spirit of it has remained the same and I have maintained it come what may.

Sometimes, of course, those words just won’t come.

Continue Reading →

Developing a Reusable Instruction System

I have been working on a library of basic components that is designed to work for many different types of game. It abstracts away platform-specific inputs, converting them into platform-agnostic interactions.

Taking this a step further, I have expanded this into an instruction system that takes advantage of Swift’s features to create an Instruction struct. This struct uses pseudo-English formatting that makes adding actions to entities simple and easy to read:

Continue Reading →

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).