Prototype Plans

I am in the process of building two prototypes to explore different ways I could build an adventure game on iOS.

The first is an ARKit app. You interact with characters and then they send you off to real world locations to meet other characters, collect items, and solve puzzles.

The second is a more traditional 2D engine using SpriteKit and is heavily inspired by LucasArts’ legendary SCUMM engine. I want to create something modular that could then be used for many years in dozens of games.


The purpose of this prototype is to look at using geofencing, notifications, and map searches to create an immersive experience. First, I want to make sure that this is technically feasible and then I want to see if this experience is compelling enough to flesh out into a full game.

Specific things I would like to explore:

  • ARKit plane detection and the automatic insertion of models once suitable planes have been detected (as opposed to user-initiated placement)
  • 3D modelling workflows between Blender and Xcode
  • Map searches for generic locations and then, using these results, managing distance, accessibility, storage, and interaction with game state
  • Using geofencing triggers to progress the game
  • Handling interactions between players and the characters that appear

Traditional Engine

I want to see if I can build the engine as a CocoaPod. The idea is that any games I create would use this pod and would then only need a collection of assets. These assets would include simple JSON data files that describe rooms and dialogue trees.

All of the character interactions, movement, inventory management, game state management, and music and sound effect playback would be handled automatically by the engine based on these assets.

Specific things I would like to explore:

  • A standard JSON format that would describe room parameters (e.g. walkable areas, object locations, NPC locations, environmental triggers, etc.)
  • A separate JSON format to describe dialogue trees, with support for triggers, branching dialogue, and basic conditionals
  • Having the engine first look at the app bundle to load assets from there first before falling back to internal framework defaults (this is for some on-device debugging ideas I have)
  • The feasibility of recreating something like this in C# for use in Unity—I’m using Swift and SpriteKit because I’m faster with them, but ideally I’d like to have something that can deploy to as many platforms as possible (publishing a game on the Nintendo Switch—now that would really be something…)

I’m giving myself just under a week to build both these prototypes. The tight deadline is to encourage quick and dirty solutions over polished code and assets, as the sole purpose of these apps are to help me make a decision about my future direction and I know what I’m like.

I will not get distracted chasing perfection. I will not get distracted chasing perfection. I will not get distracted…