CLI tool that packs a collection of PNG sprites into a single atlas image and a JSON metadata file. Supports mixed file/directory input, recursive directory traversal, shelf bin-packing, and auto-calculated atlas width.
Hello, I'm
Callum Forsyth
Rust · Game Dev · Embedded Systems
I'm a CS grad who gravitates toward low-level problems — writing Rust, building games from scratch, and getting hardware to do what I want. I care about software that's fast, explicit, and close to the metal.
Work
Projects
Top-down colony builder/defender written in Rust with Bevy. Features A* pathfinding, flow-field AI, and an ECS architecture with separate plugins per feature area.
Group uni project — real-time 3D diorama built with WebGPU and WGSL shaders. Custom OBJ loader, per-object transform uniforms, and interactive controls for camera, lighting, and scene elements.
Physics-based destructible barrel and cube props targeting the Unity Asset Store. Features explosion/implosion force, debris lifecycle management, a 3-level LOD chain, non-alloc physics APIs, and object pooling. Includes a first-person demo scene.
Custom USB HID gamepad built on a Raspberry Pi Pico. Firmware written in Rust with Embassy, exposing physical buttons as standard controller inputs over USB.
Toolkit
Skills
Languages
- Rust
- C#
- JavaScript
Game Dev
- Bevy
- Unity
- WebGPU
- WGSL
- ECS Architecture
Embedded
- Raspberry Pi Pico
- Embassy
- USB HID
Tooling
- Git
- Linux
- Cargo
Background
About
I'm a CS grad who gravitates toward low-level problems. Most of my time goes into writing Rust, building games from scratch, and getting hardware to do what I want. I care about software that's fast, explicit, and close to the metal — code that doesn't hide what it's doing.
On the game side I'm building The Last Vestige, a top-down colony builder in Rust and Bevy, and a destructible props asset pack for the Unity Asset Store. On the embedded side I'm working on a custom USB HID controller running firmware written in Rust with Embassy on a Raspberry Pi Pico.
Currently looking for roles in systems programming, game engine development, or embedded software — anywhere the code has to be fast and correct.
~ whoami
Callum Forsyth
~ cat interests.txt
- - Systems programming in Rust
- - Game engine architecture
- - Bare-metal embedded dev
- - Low-latency software
~ echo $STATUS
Open to opportunities