| read_if |
|
|---|
skelly is a hobby monorepo built around deadvox, a voxel survival game that runs in the browser. Its firearms come from an authoring tool and its creatures from a generator, both in the same repository, and a shared engine sits under them. The point is to have fun.
Play: https://roobie.github.io/skelly/ opens a launcher for the game and the viewers of gungen and mobgen.
- deadvox: the game. You scavenge a large voxel world full of zombies, with detailed items, bodies and crafting. It runs entirely in the browser, with no server.
- gun authoring tool: a designer for low-poly firearms whose parts fit together and whose moving parts have room to move. It exports the guns deadvox loads.
- mobgen: a procedural generator of voxel creatures, from humanoids to crawlers and dogs, with bodies that can be severed.
- engine: the shared assembly, geometry and fit code that gungen builds on.
- things: the authoring tools and shared core, in the
thing-*workspaces underpackages/, that are replacing gungen as the source of deadvox's models.
You need Node.js and npm. The projects are npm workspaces of the root package. From the repository root, one command installs all of them, the lit-check tool and the pinned Jsonnet compiler:
npm run setupStart a project's dev server:
npm run dev --prefix packages/deadvox
npm run dev --workspace @skelly/gun-authoring-tool
npm run dev --prefix packages/mobgenRun the repository-wide checks with npm run ci and npm run test:site. Each project's package.json lists its own checks, and CI runs the workflows under .github/workflows/.
Contributing? Start with AGENTS.md, PILLARS.md and docs/PROCESS.md.
