MovieManager App Icon

Icon design for the movie app I just finished. I wanted something that would track all the movies I want to see and, while there are loads of these already on the App Store, I thought it would be a fun weekend project.

It uses the Open Movie Database API to get movie details and has a universal search bar that searches both saved movies and queries the network for additional options.

Three screenshots from a movie list app showing a list of movies with their posters, a search screen, and a close up of one of the posters

Useful Adventure Game Resources: Puzzle Documents

Since I started my series about handling movement, I’ve learned a lot more about Entity Component Systems and I’m changing the way my engine is structured to reflect this.

While this sounds like a Typical Simon Rabbit Hole, it has fundamentally changed how I approach game engine development and I have made some huge strides with very minimal effort. Thanks to the advantages of ECS, some features that I thought would have to wait for many versions down the line have become trivially easy to implement.

Continue Reading →

Handling Movement Part 2: Scaling and Z-Positions

In part one, I set up a Movement Component that moved sprites around a space without any regard for the type of scene that they inhabit.

However, many adventure game scenes have some sort of perspective where it’s possible for players to move around an object.

Imagine a game where, say, a character in a trench coat is visiting a square in Lecce, Italy. For some reason, there’s a crate in the middle of it:

Continue Reading →

Handling Movement Part 1: Getting from A to B

In my initial prototype I used SKActions exclusively to handle movement. It’s a fire and forget solution—I create an action with a destination point and a duration and run that action on a sprite. SpriteKit will move that sprite to the given point over the given time without me having to think about it again.

It’s great for many situations. However, there are a few limitations:

Continue Reading →