Project 04 / 06 Team lead

Snake —
Embedded C

A full-featured multiplayer Snake written in C for an embedded target — game loop, collision, persistent high scores — built by a team I led in MSE 152.

Year
Jan — Apr 2026
Context
MSE 152 · Team project
Role
Team lead · Primary contributor
Stack
C · Embedded target
Fig. 04 — Game state · Player 1 · Player 2 · Food
Tick = ΔT · Input queue active

Overview

Snake sounds simple until you build it properly on an embedded target: fixed memory, real-time input, and no OS to catch you. Our version shipped with multiplayer, level progression, delta-time ticks and persistent high scores — and I was responsible for both the hardest code and the team that built the rest.

Leading the team

I served as team lead and primary contributor — which meant owning the architecture, splitting the work into pieces teammates could run with, and keeping the codebase healthy while we all committed to it.

Owning the core

Implemented the game loop, collision detection, level progression and delta-time tick control — the spine everything else plugged into.

Delegating & unblocking

Split features into clean interfaces — screens, scoring, storage — so teammates could build in parallel against the core without collisions.

Git discipline

Ran the same professional workflow as a software team: feature branches, pull-request reviews and shared code standards on every merge.

Engineering highlights

01

Input-queue buffer

Designed a queue that eliminates dropped keystrokes and enables smooth multi-key sequences — fast direction changes register exactly as entered.

02

Multiplayer with independent state

Built a multiplayer system with independent lives and per-player score tracking running in the same fixed-tick loop.

03

Persistent high scores

Co-developed a high-score system that serializes scores to non-volatile storage, surviving power cycles on the embedded target.

04

Live-state screens

Dynamic pause, start and game-over screens rendered directly from live game state — no separate UI state machine to fall out of sync.

Stack

C Embedded target Delta-time loop Non-volatile storage Git · PR workflow