Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Alan Safonov — Game Programmer

Alan Safonov

Gameplay & Tools Programmer, AI Workflow Designer & Agent Engineer

Unity 6 / C#, Unreal Engine 5 / C++, Claude Code, Codex

"I build systems other people use & author against."

  • 📍 Netherlands, Remote
  • 🎯 Open to Unity/Unreal gameplay & tools roles — and to AI workflow / agent engineering work
  • 🔗 Portfolio · LinkedIn · itch.io · Other Links

Experience


Now

  • 🎮 Pixel Break — 2D top-down puzzle action shooter, 2-person team, Steam page in preparation
  • 🖐️ VR contact hands — procedural hand/environment interaction, targeting a Fab plugin
  • 🤖 Agent workflow design — governed automation, local retrieval, spec-first delivery
  • 🧩 Extracting reusable Unity packages out of shipped projects

Featured

TagDown gameplay

Lead Game Programmer · 6-person team · Unity 6.3 · GMTK Game Jam 2026 + post-jam pass

Build momentum through corridors while a ghost takes turns hunting you back. Shipped a complete loop in 4 days as sole dedicated programmer, then ran a documented stabilization pass.

  • State authorities publish events instead of reaching into each other; cross-system consequences isolated in named bridge components
  • All tuning in 8 ScriptableObject settings assets — designers rebalance without code
  • Ghost AI state machine: line-of-sight perception, chase/flee/freeze, NavMesh
  • GitHub Actions + game-ci + butler pipeline, auto-deploys to itch.io on QA push

C# Unity 6 NavMesh ScriptableObjects GitHub Actions


Solo Tools Programmer · Unity · installable via UPM

A project-specific level-flow workflow, rebuilt as a reusable package — then consumed by my own game as a tagged Git dependency.

  • ScriptableObject LevelDefinition / LevelSequence assets: stable IDs, scene refs, ordered flow
  • Replaceable scene loading via ILevelSceneLoader (fades, Addressables, save gates, tests)
  • Inspector validation for duplicate IDs, null entries, Build Settings drift — plus strict build blocking
  • Documentation and a Basic Level Flow sample for adoption outside the original project

C# Unity UPM Editor tooling

Repo · Docs · Used in production by TagDown


Solo Programmer · Unreal Engine 5 · C++

A modular gameplay ability system written to be read: ownership, behavior, and tuning data deliberately separated.

  • AbilityComponent / ability logic / DataAssets split three ways
  • Dash, Projectile and PulseScan abilities via polymorphic ability classes
  • Cooldown management and event broadcasting; tuning lives in data, not code

C++ Unreal Engine 5 DataAssets

Repo · Docs


Solo Unreal Engine VR Developer · prototype → testing

Hands that respond to what they touch, instead of replaying authored poses. Follows on from the Hand Pose Editor I built at Vertigo Games, which solved the static half of the same problem.

  • Procedural finger posing driven by surface traces and IK (CCDIK / FABRIK / FBIK under evaluation)
  • Engine path and MVP scope currently being decided; targeting a Fab plugin release

Unreal Engine VR IK

Repo


Solo Developer & Designer · Unreal Engine · C++ and Blueprints · 2024

My first Unreal project, taken from concept to finished game — then reopened six months later and rebuilt around an endlessly generating landscape.

  • Extended Edition: noise-driven procedural terrain that generates ahead of the rider, with obstacles and terrain transitions adapting during the run
  • Physics-based snowboard handling; C++ and Blueprints split across gameplay and tuning
  • Full cycle solo: gameplay, procedural content, UI/UX, audio, QA passes for performance and stability
  • Shipped, then extended — the second edition exists because the first one was finished

Unreal Engine C++ Blueprints Procedural generation Physics


🤖 AI workflow & Agent engineering

I build with agents, not from them: specs and contracts first, constrained execution, human approval at every semantic change, verification before a claim is made. The rules live in the repositories, committed next to the code they govern.

Governed agentic automation platform — solo architect & operator · Python / PowerShell / TypeScript · private repo

  • 25 tool trees where every autonomous capability is flag-gated, recorded in an audit trail, and reversible to a byte-identical prior state
  • Offline retrieval over a private Markdown corpus — local embeddings and vector store, exposed to AI assistants through a read-only MCP server, privacy enforced at index construction
  • 9 capability areas taken from manual operation to 12 scheduled unattended jobs, the fastest on a 10-minute cycle
  • Spec-first delivery: 28 specifications, 25 phased roadmaps with explicit exit gates, 29 automated test suites, a 55-check deterministic validator

The method is public even where the platform isn't — committed artifacts, not claims:

  • Parallel-Worktree-Contracts.md — ownership contracts that kept 6 people and their agents across ~20 branches from damaging serialized Unity assets
  • Engineering-Decisions.md — decision record maintained during a 4-day jam
  • A Python/Tkinter desktop utility, publicly released — spec, phased roadmap with exit gates, release notes, third-party license notices, and a documented readiness review before publication

More AI-related posts on LinkedIn.

Claude Code Codex MCP Python PowerShell TypeScript Local embeddings + vector store


🏆 Game jams

Three consecutive GMTK Game Jams — 27,591 entries between them. Each one a finished, publicly playable, publicly rated build.

Year Game Role Result Links
2026 TagDown — first-person momentum chase
Theme: Countdown · Unity 6.3 · 6-person team
Lead Game Programmer #132 / 10,555 Audio · #329 Enjoyment
top 1.3% · 15 ratings
Play · Jam page
2025 Rendezvous with Death — 3D psychological narrative puzzle
Theme: Loop · Unity · 3-person team
Lead Game Programmer #43 / 9,518 Narrative · #330 Artwork
top 0.5% · 23 ratings
Play · Jam page
2024 Pixel Break — 2D top-down puzzle action shooter
Theme: Built To Scale · Unity · 2-person team
Game Programmer #44 / 7,518 Creativity · #197 Overall
top 0.6% · 43 ratings
Play · Jam page

Pixel Break grew out of its 2024 jam build into an ongoing commercial project. TagDown's audio system became a reusable Unity package.


📦 Also shipping (no public repo)

Pixel Break — 2D top-down puzzle action shooter · Game Programmer · 2-person team · 2024–present Custom resizable playable game-window mechanic, stencil-buffer masking, runtime settings persistence. The level-flow tooling here became the Unity package above. ▸ Play Game Jam build

Governed agentic automation platform — solo architect · Python / PowerShell / TypeScript · private 25 tool trees where every autonomous capability is flag-gated, audited, and reversible to a byte-identical prior state. Offline retrieval over a private Markdown corpus (local embeddings + vector store) exposed to AI assistants through a read-only MCP server.


🧑‍🎓 Studies & experiments

Project What it answers Stack
Utility vs Reflex AI Comparative study of utility-based vs reflex-based decision-making in a real-time simulation C# / Unity
Occlusion vs Portal Culling Measured comparison of two culling strategies C# / Unity
Trello Cover Color Power-Up Small workflow tool, shipped as a Trello Power-Up HTML / JS
Earlier team & school projects (2021–2024)
Cinematic QTE Experience · Unreal · 7-person team · 2024–2025
Product Owner / SCRUM Master / Dev Team Lead. Motion capture pipeline; built a mocap sync tool for facial + body capture.
Watch
Toy Room Showdown · Unity · 7-person team · 2023
Sole programmer. Asymmetric party game; Photon online multiplayer, PC + mobile builds, accelerometer input, original soundtrack.
Watch · Repo
3D Exploration Quest Game · Unity · 6-person team · 2022
Sole programmer. Quest/task system, switching between player and vehicle control states, node-based pedestrian and traffic movement over NavMesh.
Watch · private repo
Scribble Tales · Unity · 2022
Co-op read-and-draw story game for a parent and child. Runtime text-file story loading, audio system, branching story paths.
Watch · Repo
Seaside Monster Cup · Unity · 7-person team · 2023
Sole programmer. Kart racing with power-ups; car physics, local 4-player split-screen, Cinemachine and post-processing.
Repo



Toolbox

  • Engines Unity 2021 · Unity 2022 · Unity 6 · Unreal Engine 5
  • Languages C# · C++ · Python · PowerShell
  • Gameplay ScriptableObject-driven design · State Machines · NavMesh AI · Physics & Interactions
  • Tools Unity Editor tooling · UPM packages · Unreal DataAssets · Editor validation
  • XR Meta Quest · Hand interaction & pose authoring
  • Pipeline Git / Git LFS · Perforce · GitHub Actions · game-ci · butler
  • AI / Agents Claude Code · Codex · MCP servers · Prompt engineering · Context engineering · Harness engineering · Local embeddings & vector search · Spec-first agent workflows

Also worked with: Java, libGDX, GXPEngine, SQL/Node.js, Flutter


📫 https://www.linkedin.com/in/alansafonov - Open to collaboration and inquiries

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors