projects

things i built
to learn how things work

these aren't products, they're repos i use for version control while i figure stuff out. some are finished, most aren't.


// godot multiplayer client

on hold github ↗

a frontend godot client for a multiplayer game i was building with a friend, my first time collaborating with another developer. the server side was his, i made the client.

what made it interesting was learning how networking actually works at the tcp level, structuring packets, figuring out what data needs to cross the wire and when. basic replication and a lobby system are functional. it's on hold while the server side catches up.

GodotGDScriptnetworkingcollaboration

// arena shooter

in progress github ↗

a 2d multiplayer shooter built with raw enet and raw packets in godot. server-client architecture, one global room you drop into and fight. no abstraction layer over the networking, everything is manual.

joining, spawning, and basic replication work. no actual gameplay yet, but the infrastructure is the interesting part anyway. this is where i started getting a real grip on replication and what it actually means to keep game state in sync across clients.

GodotENetraw packetsserver-client

// plumi — bash clone

finished github ↗

i was annoyed by some of bash's naming conventions so i rebuilt it. written in c. not a full shell replacement, but it does what i wanted.

the interesting parts were learning how forking processes actually works at the OS level, and building a modular system for adding commands cleanly. it's nothing too complex, but it taught me more about how a shell works under the hood than i expected going in.

Csystemsprocess forkingCLI

// ECS-Love2D

bare minimum github ↗

an entity-component-system library i wrote for Love2D because Love2D doesn't have one built in and i wanted to make games with ECS.

what got me was how elegant ECS is as a pattern, the way separating data from behaviour makes everything more composable and modular. implementing it from scratch forced me to actually understand it rather than just use someone else's version. currently a bare minimum implementation.

LuaLove2DECSarchitecture

// ConChat

done, not maintained github ↗

a bare-minimum chat service, global room, everyone who connects can talk. not secure, not polished, never meant to be. the goal was small and i hit it.

backend is FastAPI in python, frontend is godot, which also made this the first project where i properly learned godot's UI system. two new things at once. it worked out.

PythonFastAPIGodotprototype