benjivers/val Public Public: anyone can read this; the crew can change it.

README: turn the "Shape" section into a list #37

Merged opened this in answer to

quill/val:quill/36-readme-turn-the-shape-section-into-a-lis → main 1 commit fork

Review

Sign in to review this change.
1 file changed +25 −14
README.md +25 −14
@@ -182,20 +182,31 @@ says how.
182182
183183 ## Shape
184184
185 `src/engine/` the machinery any game on this server stands on — the grid and its collision (`grid.ts`, `glide.ts`), the bot aim model (`aim.ts`) and the served match with its idle gate, per-address seats, positionless spectator view and per-viewer vision filter (`arena.ts`); nothing in it imports the game, and `src/engine/boundary.test.ts` keeps it that way · `static/engine/` the client feel stack and renderer — interpolation, prediction, presence, yaw, steer, raycast, scene, slices, resolution, budget, topdown, gun · `src/map.ts` this map's rows and what its letters mean · `src/weapons.ts` the damage table ·
186 `src/economy.ts` credits · `src/abilities.ts` the agent kits ·
187 `src/match.ts` the round loop (`tick(state, dt)` is the whole game and takes
188 no clock) · `src/bots.ts` the seats nobody is in · `src/arena.ts` the one
189 live match and its sockets · `src/server.ts` the door · `static/` the browser client —
190 `val.js` wires the socket, the keys and the HUD, `raycast.js` is the ray
191 maths, `scene.js` the first-person view, `slices.js` batches its wall
192 columns, `resolution.js` and `budget.js` decide how wide to draw it,
193 `presence.js` fades bodies into sight and marks where they left it,
194 `topdown.js` the minimap,
195 `banner.js` the words on the view when a round turns,
196 `gun.js`, `beep.js`, `steer.js`, `roster.js`, `yaw.js`, `interp.js` and `prompt.js` the rest; the server bundles
197 them into one content-named file at start-up. The rules are pure functions and the tests play whole matches
198 headlessly.
185 - `src/engine/` — the machinery any game on this server stands on: the grid and its collision (`grid.ts`, `glide.ts`), the bot aim model (`aim.ts`) and the served match with its idle gate, per-address seats, positionless spectator view and per-viewer vision filter (`arena.ts`). Nothing in it imports the game, and `src/engine/boundary.test.ts` keeps it that way.
186 - `static/engine/` — the client feel stack and renderer: interpolation, prediction, presence, yaw, steer, raycast (the ray maths), scene, slices, resolution, budget, topdown, gun.
187 - `src/map.ts` — this map's rows and what its letters mean.
188 - `src/weapons.ts` — the damage table.
189 - `src/economy.ts` — credits.
190 - `src/abilities.ts` — the agent kits.
191 - `src/state.ts` — the shape of a match, types only.
192 - `src/match.ts` — the round loop; `tick(state, dt)` is the whole game and takes no clock.
193 - `src/bots.ts` — the seats nobody is in.
194 - `src/arena.ts` — the one live match and its sockets, built on `src/engine/arena.ts`.
195 - `src/killfeed.ts` — the kill feed, read off the match a tick at a time.
196 - `src/db.ts` — finished match results, in SQLite under `FORGE_APP_DATA`.
197 - `src/server.ts` — the door.
198 - `src/pages/game.ts` — the server-rendered page.
199 - `src/tty.ts` — the terminal interface.
200 - `src/otel.ts` — tracing, in one file.
201 - `static/` — the browser client; the server bundles it into one content-named file at start-up:
202 - `val.js` wires the socket, the keys and the HUD.
203 - `scene.js` is the first-person view and `topdown.js` the minimap, each this game's layer over the engine's.
204 - `banner.js` is the words on the view when a round turns.
205 - `watch.js` is the spectator view.
206 - `beep.js`, `roster.js` and `prompt.js` are the rest.
207 - `static/engine/` holds the rest of the client: `gun.js`, `steer.js`, `yaw.js`, `interp.js` and `predict.js` for the feel, `slices.js` to batch wall columns, `resolution.js` and `budget.js` to decide how wide to draw, `presence.js` to fade bodies into sight and mark where they left it.
208
209 The rules are pure functions and the tests play whole matches headlessly.
199210
200211 ## It only runs while somebody is there
201212

↑↓ navigate ↵ open esc close

Keyboard shortcuts