Run Time

Runtime began as a small-scale endless runner I built in one week, but eventually grew to have an entire team of programmers, artists, and designers behind it. The game utilizes the Microsoft adaptive controller and is designed to be accessible to those who cannot use traditional game controllers or keyboards. This was my first experience as a programming lead, and while challenging, it helped me break out of my independent programming style and direct a team through a very collaborative process.

Ground and Obstacle Generation

The crux of Runtime is how level generation adapts to player movement. A lot of arc calculations and edge case protection were put into ensuring no jump is ever impossible, and the current platform will use the player’s velocity and position to generate the next platform.

Obstacles are also generated by the platforms the appear on, with logic assuring they won’t spawn too close to a platform’s edge or another obstacle.

Obstacle Interaction

Obstacles come in red, yellow, and blue. These are color-coded to three of the primary buttons on the Microsoft Adaptive Controller, which when pressed will give the player a short window of immunity to that color obstacle.

Red obstacles deal damage to the player, taking away one of the three hearts a player has before death. Yellow obstacles slow the player down, making otherwise possible jumps impossible. Blue obstacles warp player gravity, causing them to float a distance and speed based on the player’s velocity, possibly dropping them into pits or other obstacles.

This same model was used in developing the boss fight, where the boss fires color-coded lasers which can be dodged, as well as bombs which have two colors to press instead of one.

Boss Fight and Phases

The boss fight was our most ambitious addition to the game, coming as the last big feature added before the end of development. The boss has three phases and uses a state machine to swap between them. In phase one it shoots lasers, in phase two it drops bombs on platforms, and in phase three it becomes vulnerable to attack.

I primarily worked on phase two and three. In phase two, dodging a bomb allows the player to pick it up, visible as a grid-aligned array appearing under the player. In phase three, an aiming arrow appears and the player must time their shots to hit the boss.

This boss fight, though a large addition to the game, was carefully considered for how its mechanics interact with those already in the game. The emphasis on dodging, perfect timing, and aiming while moving in an arc, fit seamlessly with running gameplay and is intuitive even to new players.

Tutorial and Text Box System

This scripted tutorial explains the basics of running, jumping, dodging obstacles, and jumping through portals. Once the player has completed the tutorial, they will enter a portal and be taken right into the first stage of the endless runner.

It uses a trigger system to pause the game and initiate text box sequences, including text crawling and portrait swapping for different speakers. Adding new triggers and dialogue is simple, making it easy to scale this tutorial as new features were added to the game.