Back in October, I found myself staring at Xcode's new project wizard, armed only with a sketch of an idea and a very cursory amount of knowledge of Apple's Swift language, learned during a 4-day “Hack Week” project earlier this year using the phenomenal Swift Playgrounds. Fast-forward 65 days: I'm super excited to share my new iPhone game!
Introducing Tiletto: A Tile-based Map-Making Puzzle Game!
The initial concept was fairly simple: A light and casual puzzle game combining mechanics from Solitaire and Carcassonne with daily challenges where everyone plays the same board and can compare their results with their friends.
I'll write more about the whole process in the coming weeks, but in the meantime here's a handful of random insights,
- SwiftUI, Apple's declarative app framework, makes it really easy to quickly build an app that looks and feels right on the iOS platform. If you're familiar with declarative web frameworks like React, a lot of the concepts will feel very familiar to you here.
- SpriteKit, SceneKit, RealityKit… Apple provides so many *Kits for making games and if you're coming in as an outsider it's really unclear where to start. After some early analysis paralysis, I went with SpriteKit. It's apparently an older framework, but the documentation is pretty in-depth and there's a ton of third-party resources to support learning.
- Combining SwiftUI's declarative styles and SpriteKit's imperative style was a challenge. It's manageable but adds an extra layer of mental processing for conceptualizing your app's data flow
- Speaking of an extra layer of mental processing: Hexagons. From the earliest sketch, I wanted Tiletto to use hexagon-shaped tiles. This added so much complexity to the project. Square tiles probably would have reduced the timeline by weeks, but this was one area I chose not to compromise.
- As always, watching actual people play the game provided so much valuable feedback and insights. Thank you to my early testers!
If you have an iPhone, iPad, or a Mac, I hope you'll check out Tiletto. I solved today's challenge in 38 Moves. Can you beat that? I'd love to hear what you think about it!