Technical Focus

Languages & Engines

  • C++
  • C#
  • Unity
  • Custom C++ Engine
  • Git

Core Strengths

  • Gameplay Programming
  • Systems & Feature Development
  • Tools & Pipeline Development
  • UI & Interaction Systems

Technical Areas

  • Behavior Trees & GOAP
  • Steering Behaviors
  • Networking (UDP, replication basics)
  • Rendering & Shaders
  • Profiling & Optimization
  • Data-Driven Systems

Professional Experience

Filimundus — Programming Internship (Sep 2025 – Present)

Working as a gameplay programmer at Filimundus, contributing to shipped titles and building gameplay features in a production environment using Unity.

BRIO World – Railway

Released Title

Contributed to gameplay systems in a shipped commercial title.

Minigames

Released

Developed two released minigames from scratch in a production environment. Ported a legacy minigame into a new system.

Drawing Game

Unity — In Development

Built a file system for persistent user data, implemented responsive drawing UX flows, enhanced an existing drawing system, and created a custom glitter shader.

About Me

I'm a game programmer with a strong focus on gameplay and AI systems, finishing the final internship phase of my education at The Game Assembly. I enjoy building systems that make characters feel responsive, mechanics feel satisfying, and tools that help designers iterate faster.

I work in both C++ and Unity (C#), and I'm comfortable taking features from idea to implementation. Through team projects and professional work, I've collaborated closely with designers, artists, and animators — and I've contributed to released games.

Selected Technical Work

From team projects at The Game Assembly — built in a custom C++ engine

Rope/Chain Physics

Verlet Integration · Jakobsen Constraint Relaxation

Built a rope/chain physics system using Verlet integration for position-based dynamics. Each segment's new position is computed from its current and previous positions plus acceleration, removing the need to track velocities explicitly and producing naturally smooth, stable motion.

Constraints between segments are enforced using the Jakobsen method, which iteratively relaxes distance constraints over multiple passes. This keeps segments at a fixed length from each other, preventing stretching while allowing the rope to drape and swing realistically.

The combination of Verlet integration and iterative constraint solving creates a lightweight, physically plausible rope simulation suitable for real-time use — ideal for grappling hooks, chains, hanging cables, or any flexible linkage in gameplay.

Read More

RTS-style AI

Goal-Oriented Action Planning · 8-Week Solo Project

Built an RTS-style AI system inspired by Age of Empires. The AI is driven by a GOAP system and a custom planner that picks the most effective actions based on the current world state.

Farmers follow plans using A*-influenced movement, avoiding enemies while gathering resources. Soldiers respond to enemy presence or patrol low-defense areas. Goblins wander randomly, targeting vulnerable spots.

The world is grid-based with procedurally placed resources. All units share an entity system, with sprite batching handling visuals.

Read More

Enemy AI & Steering

Steering Behaviors · Behavior Trees · Object Pooling

Implemented enemy AI using steering behaviors and a shared blackboard system. Each enemy type responds to its surroundings through Seek, Arrival, Separation, Spread and Object Avoidance.

Movement and behavior are reactive and data-driven. Enemies stay in formation, avoid obstacles, and use behavior trees for decision-making.

The system is fully tweakable via ImGui controls, allowing live adjustment of speed, mass, and force, plus preset ray layouts for precise steering response.

Read More

Navmesh Creation

Recast Integration · Grid Mapping · Debug Rendering

Uses Recast Navigation to automatically generate walkable areas from level geometry, producing both a Detailed and a simplified Polymesh navmesh. The result is a clean, optimized polygon mesh for real-time pathfinding.

Converts Recast data into a custom grid format for fast lookup of node centers and connections. This grid is also used by AI behaviors like edge steering to keep enemies on-path.

The navmesh is rendered visually for debugging, showing geometry and node relationships. Fully customizable to fit different AI use cases and map layouts.

Read More