Jamie Powers
Game Developer, Pixel Artist
Howdy! I'm a multi-disciplinary game developer that specializes in narrative games through anime style pixel art and programming in Godot/Unity.
Want to make an indie game? Get in contact!
Services I Offer
- Pixel Art & Animation
- Programming in Unity/Godot
Games I've Worked On
Star Apprentice
page under construction
Programming Highlights
These are solutions I've created for games I've worked on. If you'd like me to solve similar problems for your game, please contact me!
Text Shatter Effect
for Star Apprentice: Dazzling Danmaku Detective
Problem - Have text shatter when it is shot
Goals:
- Generate for arbitrary input text
- Pre-generate shatter pattern
- Allow regenerating the pattern in response to gameplay
Render Text to Texture
Use a render target texture to capture various text. In Godot, accomplished using the SubViewport node.
Generating Shatter Pattern
We generate a simple shatter pattern using polar coordinates. (The results are good enough that we do not need to use a more complex shatter algorithm.)
We expand from the origin point (usually the position it is shot) and create a strip of quads until a quad would be outside the bounding box of the texture. Noise is applied to the vertex positions to make it look random.
When generating quads, each one generates a velocity direction (outwards from center), and rotational velocity/axes/center point. These also have noise applied.
These are cached for drawing the mesh.
Drawing the Mesh
The shatter animation is defined mathematically, using a t value as its progress. We calculate the transformation of each vertex using the cached values for each quad.

Dialogue Editor and Markdown Importer
for Star Apprentice: Dazzling Danmaku Detective
Problem - Streamline import and management of dialogue sequence data
Goals:
- Graphical editor to minimize human error from memorizing syntax
- Easily preview sequences in multiple languages
- Import dialogue from a writing software
- Manage strings table/CSV keys
Writing and Exporting From Google Docs
Dialogue is first written in Google Docs. Headings define the scene, with each heading level defining part of a "folder" structure. Also features event commands and comments. When ready, the script is exported as a markdown (.md) file.
Importing Markdown Files
The importer reads the markdown file and extracts information from lines using Regex queries for each type of line it can read. It can write to a strings table CSV based on the scene's heading. It can also prefill a DialogueSequence resource with the data in the script, which saves time in creating these sequences.
Dialogue Node Editor
for uAlberta Game Design Microcredential
Problem - A node based dialogue editor usable by beginners/students in a lab exercise environment
Goals:
- Graphical editor that shows the flow of dialogue branches
Dialogue Nodes
Each node is a continuous sequence of dialogue lines. When finishing, the node can move to new nodes based on transition conditions and multiple choice questions.
The editor scans the currently opened scene to find interactable objects, and inserts these into the graph data.
Constructing Scene Nodes
The system instantiates an object structure based on the dialogue graph data, and connects them by event callbacks.




























