Slot Yeah plan
Slot Yeah is a research, non-commercial demo of a slot game built on the BEAF framework, using an original, royalty-free asset pack made for the project. It was built by an agent from a written plan, one checked step at a time, and the build is now complete.
As of 29 September 2026: every stage is complete — the early setup work and the move of the slot code, the framework's release without its slot-specific layer (version 0.10.0), the slot layer's release (beaf-slots 0.1.0), the game's own features, its presentation and its game setup, integration against the published packages, verification and fix rounds, and close-out.
Slot Yeah is a slot-machine game, built to test how far a game framework and a written, checkable plan can carry a real build. It reuses BEAF's shared plumbing — rendering, scenes, saving progress, and the rest — and adds a separate layer just for slot-game mechanics: a board that tumbles rather than spins, a free-spins mode, and features that carry a multiplier between spins. That slot-specific layer used to live inside the framework itself; it is being split out into its own package, so the framework stays general-purpose and the slot logic gets a home of its own. The game is being built as a short list of interchangeable features rather than one fixed piece of code, so a later slot game could reuse the same list with different features swapped in. Everything in it — art, sound, symbols — comes from an original asset pack made for this project. It is a research demo: nothing here is for sale, and nothing has shipped.
Slot Yeah is not built in one place. The slot-specific code that used to live inside BEAF is moving out into its own package, so BEAF becomes a general-purpose game framework and the slot logic gets its own home and its own release line.
| Repo | What it holds | Status |
|---|---|---|
| BEAF | The genre-neutral game framework: rendering, scenes, flow, assets, saving and the rest. Package @lordkrups/beaf. | Published, version 0.10.0 (29 September 2026), with the slot-specific layer removed; the earlier version stays available for games already using it. |
| beaf_slots | The slot-specific layer moved out of the framework, the slot feature kit (the contract features plug into and its host), the shared features (a free-spins mode, a bonus-buy option, a higher-stake option), and a small reference game used to check the move. Package @lordkrups/beaf-slots. | The slot kit, the generic features, and the multi-step and tumbling-board work are complete; the first release is published, version 0.1.0 (29 September 2026). |
| slot_yeah | The game itself: its own features, its symbols and sounds, its outcome model, and its on-screen scene. Package slot-yeah. | Built and verified, version 0.1.1 (29 September 2026). |
beaf_slots depends only on BEAF's public interface, never on anything internal to it. slot_yeah depends on both BEAF and beaf_slots, and on nothing else. Neither BEAF nor beaf_slots needs to know slot_yeah exists — that is what lets the same slot kit support a later game too.
Work runs in three stages. The first moves the slot layer into its new package and, alongside that, removes it from the framework. The second builds the game itself. The third integrates the pieces, verifies the result, and closes the milestone out. In the diagram, time runs top to bottom; an arrow means the task it points to cannot start until the task it leaves has finished.
Every stage still needs a person's plain-language go-ahead before it starts. The step that changes the framework itself (removing the slot code) additionally needs agreement from whoever is responsible for the framework's own repository at the time, since that repository is shared with other work.
All seventeen tasks, grouped by the repository each one is built in, with their status as of 29 September 2026. "Who works on it" follows the project's usual pattern: a reviewer makes the design and judgement calls, the builder does the implementation, and a checker runs verification.
BEAF
| Task | Depends on | Who works on it | Status |
|---|---|---|---|
| Remove the slot code, release 0.10.0 (P2) | P1 | The builder | Done |
beaf_slots
| Task | Depends on | Who works on it | Status |
|---|---|---|---|
| Move the slot code out (P1) | T0 | A reviewer designs it, the builder builds it, a reviewer checks it | Done |
| Multi-step rounds (T3) | P1 | A reviewer designs it, the builder builds it, a reviewer checks it | Done |
| Tumbling board (T5) | P1 | A reviewer designs it, the builder builds it, a reviewer checks it | Done |
| Feature rules and host (K1) | P1 | A reviewer designs it, the builder builds it, a reviewer checks it | Done |
| Generic features (F1) | K1, T3 | A reviewer designs it, the builder builds it, a reviewer checks it | Done |
| First release: beaf-slots 0.1.0 (R1) | P2, T3, T5, K1, F1 | The builder | Done |
slot_yeah
| Task | Depends on | Who works on it | Status |
|---|---|---|---|
| Scaffold and port (T1) | P1 | The builder | Done |
| Assets (T2) | T1 | The builder | Done |
| Outcome model and test scenarios (T4) | T3, K1, F1 | A reviewer | Done |
| Symbols, flame, pots and sounds (T6) | T1, T2, T5 | The builder | Done |
| Slot Yeah's own features (T7) | T4, T5, T6, F1 | A reviewer designs it, the builder builds it, a reviewer checks it | Done |
| Game setup, controls and acceptance tests (T8) | T6, T7 | The builder | Done |
| Integration and published versions (T9) | T8, R1 | The builder | Done |
| Verification and fix rounds (T10) | T9 | A checker, a reviewer and the builder, each running their own checks | Done |
The project's own written record
| Task | Depends on | Who works on it | Status |
|---|---|---|---|
| Orientation (T0) | none | A checker | Done |
| Close-out (T11) | T10 | A checker | Done |
Slot Yeah is built to become the base for later slot games. Each feature is a self-contained plug-in that reads and writes events through one fixed contract, and the game itself is just a list of features plus configuration. Swapping a feature out means editing that list, not rewriting the game.
Generic, built in the slot kit
A free-spins feature starts on three scatters, runs the spin counter, and plays the intro and outro; the game supplies the visuals. A bonus-buy feature lets the player pay to jump straight into a feature. A higher-stake feature raises the stake per spin and stays on until the player turns it off.
Slot Yeah's own, built in the game
Five pots, one per column, collect multipliers; the activated pots multiply the round's win at the end, carry over through free spins, and reset at the next base spin. A hot-zone effect marks the hot cells on the board, growing as symbols tumble and clearing at round end or when free spins finish. During free spins, orbs that land in a tumble retrigger the feature, adding spins to the counter.
Checked against later features, on paper only
Before committing to this shape, the design was checked against mechanics Slot Yeah doesn't use, so the contract won't need to change later. Expanding wilds, sticky wilds, roaming wilds, multipliers and mystery symbols all fit the contract as it stands, and so does a bonus wheel. A pick-me bonus fits with one small addition: an optional payload passed through the feature's action call. A hold-and-win mechanic would need a new type of board, built later. Progressive jackpots are out of scope. Nothing beyond Slot Yeah's own three features has been built from this check — it exists only to confirm the contract holds up.
The rule set: features never import each other. Start-up refuses a broken feature list. An event nobody handles is an error, not something silently dropped. Each feature's events are snapshotted, so a change to what it emits is caught by a test.
- The framework's core stays unchanged. How it's checked: a diff of the framework's kernel against a fixed baseline commit must show only test files.
- The framework's only change is removing the slot code. How it's checked: after that release, the framework's own source has no slot-family import and no slot preset left in it, and its own checks stay green.
- The slot kit only uses the framework's public interface. How it's checked: an automated import-direction rule and a scan for anything reaching past that interface, run as part of the slot kit's own checks.
- The game only uses the public parts of both packages. How it's checked: the same kind of import-direction check, run as part of the game's own checks.
- The game still plays with each feature removed. How it's checked: a swap-proof test removes each feature in turn and plays the base scenarios to completion, and the same is driven by hand before close-out.
- Automated tests run before anything is committed, and an independent check plants faults the tests must catch.
- The project's own written record acts as memory: decisions and fixes are written down as they happen, so each new session picks up from where the last one left off.
- Nothing starts and nothing ships without a person's plain-language go-ahead.
- 28 September 2026 — both new repositories created and cloned; write access checked with a dry run, nothing actually pushed.
- 28 September 2026 — confirmed the slot code depends only on the framework's public interface, so moving it out needs no framework change first.
- 29 September 2026 — orientation complete: the framework checkout recorded and its own tests confirmed unaffected, and the published framework package confirmed at version 0.9.0.
- 29 September 2026 — moving the slot code into its own package, alongside publishing tooling, is complete.
- 29 September 2026 — the framework released as version 0.10.0 without its slot-specific layer; the earlier version stays available for games already using it.
- 29 September 2026 — the slot layer's new parts (multi-step rounds, the tumbling board, feature rules and host, and generic features) and the game's scaffold and assets are under way.
- 29 September 2026 — the slot layer's new parts are complete, and beaf_slots is released, version 0.1.0.
- 29 September 2026 — the game's outcome model, its on-screen views, its scaffold and its assets are complete.
- 29 September 2026 — the game's own features, its presentation and its game setup are done.
- 29 September 2026 — integration against the published packages is done.
- 29 September 2026 — verification, including fix rounds, is done.
- 29 September 2026 — close-out is done; the build is complete.
- Overall estimate (revised 28 September 2026): about 12–14 hours of agent work plus 1–2 hours of fixes after a play-test, roughly two calendar days in total, with a playable base game expected by the end of day one.
The plan for Slot Yeah lives in the project's own written record, alongside its task list and build log. This page is generated from that record rather than written separately, so its facts and status match what is actually being tracked. Where a task is still in progress or has not started, this page says so plainly, and every status here carries the date it was true as of.