Programming & Gameplay Systems
I’ve been programming commercial games, school projects, jam games, and personal projects since 2016. I’m proficient in C#, which I’ve used for 90% of my projects with Unity. I’ve also built game jam projects in Godot using GDScript, worked on web tools using JavaScript/HTML, and written custom editor extensions.
Core Strengths
- Gameplay Architecture: Designing clean, scalable, event-driven C# codebases.
- Navigation Systems: Implementing custom pathfinding (A*) and spatial reasoning on dynamic spaces.
- AI Behaviors: Implementing state machines and behavior trees for reactive, tactical NPC logic.
- Engine Tools: Building custom inspector tools and editors in Unity to speed up asset workflows.
Technical Case Study: PEToSET Pathfinding
The Challenge
In PEToSET (a grid-based strategy game inspired by auto-battlers and FTL), the core programming challenge was building a grid-movement system where units navigate inside ships that are themselves moving in relation to each other.
The Solution
Instead of one static, level-wide navigation grid, I implemented a modular grid hierarchy. Each ship maintains its own local grid space. Units move and resolve pathfinding relative to their host ship’s grid coordinates.
I wrote a custom A* Pathfinding System optimized for these shifting grids:
- Dynamic Local Transforms: Translating global target inputs into local coordinate matrices.
- Local Grid Path Queries: Running node searches inside the ship’s isolated coordinate map.
- Multi-grid Intersections: Handling node transitions when ships latch onto each other, allowing boarders to cross over into enemy grids.
By decoupling the grid navigation logic from Unity’s global physics coordinate space, the AI and RTS commands stayed 100% stable, regardless of how the parent ships rotated, moved, or collided in the scene.