I'm David Epel,
game developer.

Computer Science student (minor in AI) building networked multiplayer games and gameplay systems across Unreal Engine 5, Unity, and s&box. I care most about systems design and the architecture underneath the fun.

Unreal Engine 5 Unity s&box C# · C++ · Java Multiplayer Networking

Featured work

Games & gameplay systems

The projects I'd want a studio to look at first: networked multiplayer, combat systems, and the architecture decisions behind them.

Project Manager (1 of 3) · ~13-person team · CSUSM Game Dev Club

Wizard Derby

Unreal Engine 5C++Blueprints Steam MultiplayerGit LFS

A networked multiplayer racing/derby game where two wizards crew a single vehicle, where one drives, one casts spells, and they swap roles mid-race. Teams share a health pool and draw spells to sabotage opponents.

I'm one of three project managers: I run meetings, track each contributor's progress, and helped stand up the binary-safe Unreal pipeline (GitHub + Git LFS with file locking on .uasset/.umap) plus Steam multiplayer. I also wrote the C++ graph class behind the spell system — it stores each spell's rune combination and checks what players draw against them.

Designing for: a server-authoritative role-swap (driver ↔ spellcaster) and a spell-drawing system where you connect dots on an octagon, with each glyph stored as a bitmask graph in a data asset. Try it: the same system runs at the top of this page. Scroll up and drag dot to dot.
Simplicity VTT DM screen with token list, grid map, and creature stat sheet
Software Architect · Project Manager · Core Programmer · Team of 4

Simplicity VTT

Java · SwingMaven · JUnit ~6,500 LOCUML / Architecture

A desktop virtual tabletop for D&D-style games: synchronized dual screens (a full-control DM view and a restricted player view), a grid map with drag-and-drop tokens, and a turn-based combat engine resolving attacks against armor class.

I designed the three-tier layered architecture and a Dispatcher pattern with role-specific interfaces to enforce DM-vs-player permissions, and I authored the package, class, and sequence diagrams. Built test-first with JUnit and PR code reviews.

Most rewarding part: the system design, keeping the Swing UI fully decoupled from game logic so the app stays maintainable as features grow.
Roguelike deck-builder battle: hero versus slime enemies with cards, mana, and end-turn
Solo · ~69 C# scripts

Roguelike Deck-Builder

UnityC# ScriptableObjectsEvent-driven

A 2D deck-builder inspired by Slay the Spire, with working turn-based combat: a playable hero, a card/mana/hand system, targeting modes, status effects (burn/DoT), and a conditional perk system.

Built around an event-driven Action System. A central dispatcher runs each action through pre, perform, and post phases, so combat systems react to events without referencing each other. Content (cards, enemies, perks) is data-driven via ScriptableObjects, authored as assets rather than code.

Solo

Multiplayer Volleyball

s&boxC# NetworkingState Sync

A networked multiplayer volleyball game with bumping, setting, and spiking. The ball, players, and score stay synchronized across connected instances, with auto team assignment and serve rotation.

Hardest problem: letting players who join mid-game affect the serve rotation while keeping teams balanced. Solution: track per-team headcount and only update rotation on possession swaps or when the server leaves, which avoids churn on every join.

More projects

Other game & engine work

Star Wars UE5 hangar scene: TIE fighters and a ship framed in a glowing viewport over a planet

Star Wars Cinematic Level

Unreal Engine 5.73D / LightingSolo

A Star Wars themed level built from scratch: a modeled hangar environment, HDRI lighting and post-processing, and imported ships (TIE fighters). Building toward a cinematic capture in Sequencer.

C++ text-adventure roguelike console: explore menu, weapon equip, and a Skeleton encounter

Text-Adventure Roguelike

C++STLSolo → live JS port

A console roguelike with a shop/loot/boss loop, randomized math/word/logic puzzles for replay variety, a map-based inventory, and game entities modeled with struct inheritance. My first C++ game, ported line-for-line so you can play it right here.

Engineering foundations

Systems, algorithms & full-stack

The CS fundamentals and full-stack work behind the games, the kind of thing gameplay and engine programmers are expected to know well. Two of them run live on this page.

Algorithms & Data Structures C++

From-scratch, mostly templated: hash table, AVL tree, BST, min-heap, graph, and linked lists, plus an empirical Big-O experiment validating growth classes.

Sorting Analysis C++ → live JS

Implemented and benchmarked seven sorts (quick, merge, heap, radix incl. bit-mask, selection, bubble, insertion) against theoretical complexity.

Lexer & Parser Python → live JS

A regex tokenizer + recursive-descent parser for a small language (BNF grammars, operator precedence), with a Tkinter GUI. PM + core programmer, team of 4.

Full-Stack REST APIs Node/Express

Express APIs with Sequelize ORM over PostgreSQL, with full CRUD, migrations, and JWT auth using bcrypt, in an MVC structure. Self-directed during my eSUB internship.

Grocery Tracker Flask

Self-hosted full-stack app with in-browser phone-camera barcode scanning, Open Food Facts API lookups with a SQLite cache, and a decoupled three-layer architecture.

Self-Hosted Home Server Linux

Repurposed a Mac mini into a headless Ubuntu server hosting a Foundry VTT and Syncthing, with secure remote access over Tailscale (no port forwarding).

Toolkit

Skills

Engines & Game Dev

Unreal Engine 5Unitys&box BlueprintsMultiplayer networking State synchronizationEvent-driven systems

Languages

C#C++Java JavaScriptPythonC SQLF#Prolog MIPS Assembly

Architecture & Design

Layered architectureDispatcher / role interfaces DAO patternSingletonUML ScriptableObject data design

Tools & Practice

ReactGit / GitHubGit LFS JiraTest-driven dev (JUnit)Maven PR code reviewsAgile Scrum

About

Who I am

I'm a Computer Science student at CSUSM (minor in Artificial Intelligence) who builds games to learn systems design from the inside. What pulls me in isn't just shipping a playable loop, it's the architecture under it: how a dispatcher keeps a UI decoupled, how an event bus lets combat systems stay independent, how to make multiplayer feel right.

I'm Vice President of the CSUSM Game Developer Club, where I've introduced Unity to dozens of new members, and I help lead Wizard Derby. Day-to-day I work as an AI Engineer at eSUB, driving AI-tooling adoption and running weekly workshops, and I tutor CS and math as a Lead Instructional Assistant.

I like teaching, leading small teams, and the hard problems that sit between "it works" and "it's well-built."

EducationB.S. Computer Science
Minor in AI · CSUSM
GPA3.97
NowAI Engineer @ eSUB
ClubVP, Game Developer Club
RecognitionDean's List ·
STEM Task Master Award
LocationSan Marcos, CA

Get in touch

Let's build something.

Open to game development roles and internships. The fastest way to reach me is email.