Overview

I focus on gameplay and systems programming, with experience building state-driven character controllers, modular gameplay systems, UI features, and technical prototypes in Unity and Unreal Engine.

Skills

Engines, languages, and programming concepts used in personal and academic projects.

Engines

  • Unity (5+ years)
  • Unreal Engine
  • Roblox Studio

Languages

  • C#
  • C++
  • Python
  • Java

Programming Concepts

  • State Machines
  • Player Character Systems
  • Modular System Design
  • Gameplay Architecture
  • Procedural Generation

Featured Projects

Tunnel Train

Tunnel Train is a prototype game where you drill a tunnel from A to B then you run a train through the tunnel to see if it is valid.

Role: Solo Developer • Engine: Unity • Language: C# • Time: 1 week

Key Systems

  • Scalar field based destruction
  • BFS tunnel validation
  • Menu, audio, and game state management
Technical Breakdown

Goal

Create a prototype game in 1 week with the theme "From A To B.

Approach

  • Developed a dynamic tilemap using scriptable objects to hold states
  • Validated tunnels using BFS
  • Handled menus, audio, and player feedback

Outcome

Successfully completed prototype in 1 week timeframe and published on Itch.io

Reflection

This project taught me how to scope projects in a timeframe as well as 2D dynamic destruction.

Source on GitHub • Play on Itch.io

Rocket Jumper

Rocket Jumper is a completed and published 2D physics-based platformer focused on precise movement, fuel management, and level progression.

Role: Solo Developer • Engine: Unity • Language: C# • Time: 4 months

Key Systems

  • Rigidbody-based rocket movement controller
  • Level progression and checkpoint systems
  • Menu, audio, and game state management
Technical Breakdown

Goal

Create my first fully completed game and publish it on Itch.io.

Approach

  • Developed a force-driven movement system using Unity physics
  • Implemented level flow, fuel management, and failure states
  • Handled menus, audio, and player feedback

Outcome

Successfully released on Itch.io, gaining experience with polish, iteration, and the release pipeline.

Reflection

This project taught me the process of polishing and publishing a game, as well as balancing gameplay and design decisions.

Source on GitHub • Play on Itch.io

Rocket Jumper gameplay screenshot

Alien Survivor

Alien Survivor wave shooter prototype developed in first year university as part of a 7 person team. During the course of development I was the Lead programmer for this project.

Role: Lead Programmer • Engine: Unity • Language: C# • Time: 3 months

Key Systems

  • Various enemy types with AI and wave based spawning.
  • Map generation with building system
  • Menu and game state management
Technical Breakdown

Goal

Develop a game prototype as part of a team.

Approach

  • Held various meeting decussing development, design choices and roles.
  • Implmented gameplay systems.
  • Lead a team of programmers, giving my assistance during sprints.
  • Integrated end of sprint developed systems to create weekly prototypes.

Tools Used

  • Trello
  • GitHub

Outcome

Developed a wave shooter as a team and gained confidence in my ability to lead and develop in a group.

Reflection

This project taught me the the game development process when working with a team with various skillsets.

Source on GitHub •

Alien Survivor gameplay screenshot

Greedy Little Goblins

A fast-paced game jam project where the player uses shrink and grow mechanics to steal treasure from humans. Built under strict time constraints with a focus on clean gameplay architecture.

Role: Co-host and Developer • Engine: Unity • Language: C# • Time: Game Jam

Key Systems

  • State-driven player controller
  • Enemy AI and detection logic
  • Game loop systems and level flow
Technical Breakdown

Goal

Create a complete and enjoyable game for a themed game jam.

Approach

  • Implemented a state-driven character with shrink and grow mechanics
  • Rapid prototyping and iteration based on playtesting
  • Delivered a stable, playable build within the jam timeframe

Outcome

Completed and published on Itch.io, strengthening skills in scope control and rapid iteration.

Reflection

During the development of Greedy Little Goblins, I learned how to scope a game effectively and that trimming features is a necessary part of working within time constraints.

View on GitHub • Play on Itch.io

Greedy Little Goblin gameplay screenshot

Combat Combo Project

An Unreal Engine project exploring a modular, state-driven melee combat system with animation-driven combos.

Role: Solo Developer • Engine: Unreal Engine 5 • Languages: C++ / Blueprints • Time: 2 months

Key Systems

  • Finite state-based player character
  • Modular combo combat logic
  • Visual and audio combat feedback
Technical Breakdown

Goal

Learn Unreal Engine C++ while building a structured melee combat system.

Approach

  • Implemented a finite state machine for player behaviour
  • Separated combat logic from input and movement systems
  • Used animation timing to drive attacks and feedback

Outcome

Produced a functional combo combat prototype with sprinting, target dummies, and feedback systems.

Reflection

This project strengthened my understanding of Unreal Engine and C++ development.

View on GitHub

Combat system prototype screenshot

Other Projects and Experiments

Small gameplay prototypes and technical experiments exploring mechanics, tools, and systems.

  • Prototype gameplay systems
  • Gameplay utilities and tools
  • Technical README
Spline system debug visualisation

About Me

I am an undergraduate studying Game Development at MMU with a strong interest in gameplay and systems programming. I enjoy building mechanics that feel responsive and maintainable, particularly for 3D games. Outside of development, I apply the same consistency and discipline through long-term fitness training.

Visit my YouTube channel documenting my development progress
Photo of Aaron Ebrey

Get in Touch

If you are looking for a motivated gameplay programmer for a placement opportunity, feel free to contact me:

aaron.ebrey@gmail.com