Initiative

 Initiative App

Overview

During the COVID-19 lockdown period, one of the many new hobbies I adopted was playing Dungeons & Dragons. For players the game isn’t terribly complicated, but for the Dungeon Master, there are tons of rules, exceptions, and mechanics to be aware of. One of the more complex mechanics for the DM is tracking combat. When combat starts, all players, enemies, and allies roll what is called “initiative”, which determines the order of everyone in the fight. From there, the DM has to keep track of whose turn it is and how much damage creatures are taking, all while simultaneously describing the events of the battle. For many, this all boils down to a mess of haphazard scribbles on a piece of scratch paper, and after doing thing for myself, I decided to create a better solution: the Initiative app.

The Initiative app is a tool for dungeon masters to track initiative and HP during D&D combat. The app allows DMs to add party members, enemies, and allies to the initiative order, modify hit points, and track combat from round to round. Further, DMs can create reusable parties and encounters to make rolling initiative faster and easier while playing.

I have been working on this app solo since April 2020, doing both the design and development work.

Process

User Flow Diagram

1. User Flow Diagram

To start out, I mapped out the necessary sections of the app in a flow chart. From the beginning, I wanted to be sure that this app stayed focused around its use case. Many D&D-related apps have a tendency to spread out into multi-purpose products. Here, my goal was for this app to accomplish its sole purpose as perfectly as possible, allowing DMs to use it alongside other apps and platforms they might already be using.

The app is split into three sections: Initiative, Parties, and Encounters.
The Initiative section is the main portion of the app, where users can add creatures, set initiative, and track HP.
The Parties section allows users to create reusable groups of party members and allies, speeding up the process of preparing encounters and initiative lists.
The Encounters section allows users to prepare for a session by making encounters in advance. When combat begins, the DM can choose a premade encounter, massively reducing the in-session time needed to prepare.

Early Wireframe Sketch

Main View Description

2. Design & Prototyping

Next up was getting some designs on paper and into Sketch. For the main section of the app, I decided to go with a standard card-based list view. Each creature has its own card, color coded to its creature type (purple for party members, orange for enemies, and teal for allies. For each creature, there are four actions available: set initiative, edit details, heal (add hit points), or damage (remove hit points). In creating these interactions for the cards, I wanted to be sure that each action was clear and defined, but also wanted to allow for variation in users’ mental models. My solution here was to create an “action bar” underneath the main card content, with clear icons for each action. Tapping any one of these brings up a modal alert to help perform the action. Alongside this, users can tap directly on relevant portions of the card content to access actions as well (ie. tapping on the giant initiative value brings up the initiative modal).

Below is a gallery of mockup screens. Details on each screen are provided in the captions. An interactive InVision prototype can also be found here.

3. Development & Testing

Being a one person team, the work didn’t stop at the prototype; my next move was to start on development. Initiative is an iOS app, developed using Swift. The UI utilizes the new SwiftUI framework, and uses CoreData for the backend. Being able to execute development on my own designs has benefited me tremendously as a designer. Through this and other projects, I have come to understand the capabilities of each platform I design for by actively developing for it. By doing this, I am better able to create designs that are not just pretty and usable, but can be developed properly for the target platform.

Currently, I have a beta version of the app working with the core set of features. I am testing the app myself, but am also distributing it to Dungeon Master friends of mine in order to elicit more feedback. As I get further in that process, I plan on testing it with a wider beta audience before releasing it in the App Store.