Past Project

SAQQARA

SAQQARA

A 3D RPG for watchOS made with SpriteKit and SceneKit.

When I finally got around to picking up an Apple Watch in Fall 2016, one of the first things I noticed was a lack of real games.

After hearing about Doom running on watchOS earlier in the year, and Apple bringing game technologies to watchOS 3, I spotted an opportunity. Inspired by classic dungeon crawler games, I began working on what would become SAQQARA, an homage to weird DOS games from the late 90s.

While the tech was fun to play around with at first, computational limitations of the platform became apparent early on, bringing perfomance front and center during development.

With Instruments.app totally unsupported for watchOS, I had to more or less improvise with stopwatch-logging methods wrapping heavy operations to identify slow algorithms or inappropriate data types. All in all, an excellent reminder of easy it is to take for granted the (by comparison) ultra-powerful devices we keep in our pockets.

One of the bigger architectural decisions that had to be made early on was which maze-generation algorithm I would use. While prototyping gameplay early on, the first choice was depth-first search, which yielded unpredictable corridors which spanned the area of the map.

Depth First Search in SAQQARA

This technique was dropped not longer after, as corridors and no rooms soon became tedious in-game, and generating a map with an area greater than 5x5 units would bring the process above the system’s High Water mark, crashing it shortly after launch.

The second option was something closer to recursive division, which was not only far faster, but resulted in a good mix of big and small rooms, separated by short corridors.

Recursive Division in Saqqara

For version 1.0, I was adamant on shipping essentials, and adding content iteratively in updates. After being rejected by Apple the first 4 times, SAQQARA went live right before the holiday break. As always, a great reminder to RTFM.

——

SAQQARA on the App Store

What does “Saqqara” mean?

More work

"CHAOTIC ERA", an RTS game set inside a procedurally generated universe sandbox. One year in.

Exactly a year ago, I chose to once again try my hand at making a game, and over the course of the year, I’ve tweeted biweekly progress updates in gif format. Here are some of the highlights.

TV Plan - an AR app to help make TV purchase decisions

TV Plan - an AR app to help make TV purchase decisions

ARKit on iOS.

Making “Giovanni”, a Game Boy Emulator for the Apple Watch

Making “Giovanni”, a Game Boy Emulator for the Apple Watch

A Game Boy Emulator for the Apple Watch.

© 2019 GABRIEL O'FLAHERTY-CHAN

Contact