-
Notifications
You must be signed in to change notification settings - Fork 1
Tutorial Quality of Life Knobs
QoL features follow one pattern: a project knob in presentation/version.json, off by absence, refusing loudly on a non-boolean value. The faithful build keeps its exact 1998 manners because it simply doesn't write the knob.
{
"running_shoes": true,
"autosave": true,
"settings_menu": true
}Hold B while walking to run at bicycle pace. The run borrows the bicycle's exact movement timing — it never applies while surfing and never compounds with the bike, so overworld timing rules hold by reuse rather than by new code.
The engine writes an automatic sibling of the active save slot on map-change completion and on badge beats. CONTINUE resumes whichever of manual/auto is newest; the title screen semantics are otherwise untouched. Every project already saves to its own slot, and the autosave inherits that isolation — no project can clobber another's saves.
Seats a SETTINGS row in the start menu (before EXIT) opening the engine's
settings screen: master/music/SFX volume, mute, and the display filter. The
screen is always reachable with F9 in windowed play regardless of the knob —
the knob exists so controller players get an in-game path. Settings are the
player's, stored on their machine (audio.cfg / display.cfg in the
user-data folder), never in your project — and the classic OPTIONS menu is
untouched either way.
An integer, 1–9: "save_slots": 3 gives players three characters. CONTINUE
and NEW GAME route through a slot picker showing each save's name, badges,
and play time, with confirmed delete and overwrite. Slot 1 is the existing
save file untouched — turning the knob on never migrates anything — and every
slot keeps its own autosave. Left absent, the title flow is exactly the
classic single-save one.
Bounded integers (bag 1–50, stacks 1–99, boxes 1–12 × 1–60): resize the bag, the item stacks, and the PC. With more than one box the PC gains a box picker with per-box fill counts; old saves become box 1 without migration. Left absent, everything is the classic 20/99/one-box-of-20.
One PC for the whole project: every character (see save_slots) deposits
into and withdraws from the same boxes, stored beside the saves and committed
the moment a mon moves — a new character starts with the household PC intact.
Items stay per-character.
"running_shoes": "yes" (or any non-boolean) refuses at boot naming the knob. Knobs are booleans, not strings, so a typo can't silently half-enable a feature.
More QoL options land under this same pattern release by release — check this page's neighbors and the changelog for the current set.
Monworks: MIT code · CC0 samples · everything pictured is original content. The faithful Pokémon Red build derives from your own local pokered clone and is never distributed. Pokémon is © Nintendo/Creatures/GAME FREAK; this is an unaffiliated fan engineering project.
Play
Create
Tutorials
- Writing Text
- Battle Backdrops
- Colors and Palettes
- Display Filters and Shaders
- Widescreen and Scaling
- Quality-of-Life Knobs
- Overlays (Recipes)
- Abilities & Battle Hooks
- Modern Individuals
- Per-Individual Fields
- Field Effects
- The Modern Ruleset
- Per-Save Rulesets
- Six Stats
- The Clock
- Conditioned Bindings
- Day and Night
- Sprite Variants
- Overworld Spawns
- Language Packs
- Set-Piece Battles & Narration
- Run a Server
- Join a Server
Elsewhere