Portfolio - Reagan Cheatham

Games, tools, and 3D rendering effects.


Games

Lost Resort

A game about delivering passengers in an exotic island.

Potion Commotion

A frantic 4-player game about making bubble potions for wild forest critters.

The Good Shepherd

A short, turn-based game about retrieving a lost sheep.

Corpse Keeper

A game about tending to a nefarious haunted greenhouse.

Tools

State Machine Editor

A powerfully extendable tool for creating state machines in Unity.

TweenManager

An optimized, shorthand library for quickly tweening objects and values.

Hitbodies

A lightweight system for sweeping hitboxes.

Shaders

Texel-based Lighting

A shader for preserving pixel-art in lighting.

Floyd-Steinberg Dithering

A shader for realtime Floyd-Steinberg dithering.

Toon Shader

A feature-rich toon shader.

Contact

Email: [email protected]
Phone: (918) 271-0373


itch.io

- Developed solo within two weeks
- 1st place in Acerola Jam 0 (900+ entrants).
- Efficient compute shader for a posterize effect.
- Adaptive music changes.

itch.io

- Developed solo within one week.
- Compute shader that enforces a color palette and dithers between gradients.
- Randomized plant generation for replayability.
- Various animations, songs, sound effects, and 3D assets.

itch.io

- Developed in a weekend for Global Game Jam 2025.
- 4-player cooperative play.
- Created with a team of 6 artists and 1 programmer (myself).

itch.io

- Developed in 5 days for GMTK Game Jam 2025.
- Physics-based bus driving.
- Programmed all systems myself.
- Color palette enforced dithering.

State Machine Editor

github

Summary:
  • A visual tool for creating state machines in Unity.
  • Entirely custom editor window.
  • Prioritizes Data-Oriented Design with serialized state objects, parameter objects, and graph objects.
  • Saves to an external serialized object to allow for easy backups and copying of data.
  • Color coordinated nodes that allow for nested graphs and external graph references.
  • Editor-time reflection for injecting references.
  • You can click on images to view them closer!

Visual Graph


State Machine Component


States


TweenManager

github

Summary:
  • Tween objects for interpolating between two values.
  • Easily extendable through the TweenManager API.
  • Optimized for use in complex scenes:
    • Pools and reuses Tweens,
    • does not create any GameObjects,
    • and runs asynchronously.
  • You can click on images to view them closer!

  • Data-Oriented settings object for defining and reusing Tween settings.


  • Pre-built components for performing simple tweens.


  • Shorthand extension methods for quick prototyping.


Hitbodies

github

Summary:
  • Handles delivering, receiving, and reacting to hits across specified physics layers.
  • Highly customizable settings.
  • Editable timestep for use in either physics-based or frame-based interactions.
  • Extendable through an abstract HitBody API.
  • You can click on images to view them closer!

Texel-based Lighting



Summary:
  • A shader written in HLSL that preserves texel-density in lighting through the use of screen-space derivatives.
  • Supports all lights (directional, spotlight, pointlight, cookies).
  • Setting for posterizing.
  • Shadow casting + shadow cascades.
  • Modern mapping methods:
    • Metallic
    • Normal
    • Occlusion
    • Detail Mask
    • Detail Albedo
    • Detail Normal
    • Emission
  • Opaque, cutout, fade, and transparent rendering modes.
  • You can click on images to view them closer!

Floyd-Steinberg Dithering



Summary:
  • A full-screen shader that Floyd-Steinberg dithers the final render.
  • Captures a uniquely nostalgic Internet visual
  • Processed through an efficient multi-threaded compute shader
  • Contains settings for number of colors and render resolution
  • 300 FPS in a 500k triangle scene on a RTX 3080.
  • You can click on images to view them closer! (very important for this effect)

Toon Shader



Summary:
  • A material shader for two-tone toon rendering.
  • Works with all lights (directional, point, cookies).
  • Supports normal mapping and alpha clipping.
  • Contains various stylistic settings:
    • Outlines
    • Rim lighting
    • Ambient brightness
    • Fresnel glow
    • Selectable specular color
  • You can click on images to view them closer!