Moshpit Elite - Living Game Bible
Status: Living document; never considered finished. Role: Canonical source of truth for the game. Update rule: Every accepted idea, naming change, mechanic, character, item, enemy, stage, narrative detail, and technical decision must be reflected here. Superseded ideas should be moved to Discarded / Reconsider Later rather than silently erased when their history may be useful.
1. High Concept#
A music-festival arena-survivor inspired by the compact runs and build variety of Brotato. The player fights and dances through a moshpit while self-appointed gatekeepers try to control who belongs in it. Combat escalates across a festival lineup, from the warm-up and opening act through minibosses and the final headliner encounter.
The fantasy is not merely surviving a crowd: it is building a ridiculous festival loadout, learning powerful moshpit moves, reacting to the song, and reclaiming the pit from people determined to ruin it.
2. Core Principles#
- Music drives play. Songs influence timing, waves, hazards, and unlockable moves rather than serving only as background audio.
- The pit stays kinetic. Movement, crowd pressure, knockback, and positioning should be as important as raw damage.
- Short runs, expressive builds. Items, weapons, moves, and character choices create noticeably different play styles.
- A full festival day. A run begins at golden hour with reckless energy and ends at the headliner with the player visibly and mechanically exhausted. Time of day, crowd pressure, stage scale, music, gear, and presentation carry that emotional arc together.
- Festival satire with an inviting heart. The game makes fun of exclusion and scene posturing; its underlying message is that the pit belongs to everyone.
- Readable chaos. The screen may become wild, but threats, beats, pickups, and player actions must remain legible.
3. Run Structure#
Current playable demo progression:
- Attract / festival arrival: choose one of five kits while the seeded festival bill, venue, weather, and live-mix profile are announced.
- Opening Set: one uninterrupted 45-second golden-hour fight. XP levels bank rather than interrupting combat.
- Set Clear: a readable ≤1.55-second result vignette.
- Training: resolve every banked body-stat level in sequence while combat remains frozen and the music/venue continue.
- Merch Tent: spend HYPE on as many 20-HYPE items as the wallet allows, optionally restock the unsold slots, then deliberately continue.
- Main Stage: a second 45-second sunset set with a transformed version of the same seeded venue and a harder faction bill.
- Brute Finale: one stage-lip Brute arrives at 36.36 seconds; kicks break the guard while elbows primarily shove.
- Demo results / new seed: clearing or losing offers another generated festival. The full campaign's Headliner and Encore remain future scope.
The target campaign can later add Supporting Acts, a food/intermission zone, the true Headliner, and Encore. They are not falsely represented as playable.
3A. Development Model and Creative References#
Recommended Production Model: Focused Indie#
Plan this as a solo or very small-team indie game with a tightly controlled first release. Build one excellent playable slice before expanding the lineup, song count, items, or platforms. The project should not be scoped like an id Software AAA production.
Use several developers as reference pillars rather than trying to imitate one studio wholesale:
- Blobfish / Brotato: primary reference for achievable scope, compact arenas, short waves, shop decisions, readable builds, and replayability. Kits are one body, different hats and perks — not unique animation sets per character. Slot row of owned merch. Mid-set three-choice table.
- Kenny Sun / Ball x Pit: reference for frequent micro-decisions, stacking weapons that snowball, and “one more run” pacing. Do not copy brick-breaker balls or the town layer; steal the cadence of gems → level → three choices → immediately stronger.
- poncle / Vampire Survivors: reference for a simple input layer supporting deep combinations, escalating spectacle, secrets, and generous progression.
- LocalThunk / Balatro: steal rule-shaped upgrades, a boss rule announced before the fight, skip-for-a-tag later, and
chips × comboHYPE pops. Do not steal cards, antes as poker, or 150 jokers. - Mega Crit / Slay the Spire: steal unique laminates vs stacking stickers, relic bar (our loadout), elite drops a relic, shop can dump a bad sticker, rest = one short choice. Do not steal cards, energy, or a 15-node map this slice. Keep Brute wind-up as intent.
- Brace Yourself Games / Crypt of the NecroDancer: reference for connecting music to game rules while keeping musical information readable.
- Midway / Revolution X: spatial sentence only — band on stage, you on the floor, stage is why the room exists. Do not become a light-gun rail shooter.
- id Software: secondary reference only for combat feel: immediate feedback, clear threats, strong audio, decisive hits, and constant forward momentum. Do not copy its production scale, realism, content volume, or technology strategy.
Current Scope Principle#
The playable slice proves the distinctive core: one body / five kits, one seeded pit that transforms between two timed sets, two mapped recorded-rock auditions, banked training, a multi-buy merch tent, Codex, crowd shove, a living stage band, and one Brute finale. More maps, songs, and unique animation sets come after that loop is fun. Do not start an architecture week or a 150-item catalog to celebrate a good night.
Working practices (small team)#
The pad is QA. One feel change per playtest. Fail-closed launcher. One writer of Main.cs. Bible vs build must agree. Juice the Opening Act before adding verbs. Cinematics 1–3 s. No neural score, no cards, no real-money shop.
Full list (do now / do next / never, plus how Brotato–Balatro–StS actually scoped): GROK_INDIE_PRACTICES.md. Codex should treat that file as the production companion to this bible, not as a feature request.
These references and the production model are current recommendations, not yet locked decisions.
4. Core Gameplay Loop#
- Enter a compact moshpit arena as a song or set begins.
- Move, attack, dodge crowd hazards, and use moshpit techniques.
- Defeat waves and survive changes synchronized with the music.
- Gain currency, experience, or crowd energy while moshing.
- Unlock or upgrade weapons, items, stats, and special moves.
- Prepare between songs, then face a harder set or boss.
- Assemble a build capable of defeating the headliner.
5. Music and Beat Interaction#
Music should have mechanical consequences. Candidate systems include:
- Enemy waves and arena events triggered by song sections.
- Bonuses for attacking, dodging, or using moves on the beat.
- A crowd-energy or hype meter built through rhythmic play.
- Special moshpit moves unlocked during a song after meeting performance goals.
- Breakdown moments that change the rules or trigger major crowd movement.
- Intro and warm-up music that teaches mechanics before full combat intensity.
The game should remain playable by players who cannot or do not want to perform strict rhythm inputs. Beat accuracy is currently envisioned as a rewarding bonus, not a hard requirement.
Opening Act Song — Locked Music Theory (v0.4)#
The current scratch set is an original 24-bar loop, not a cover and not neural audio. Hits are recorded CC0 instruments sequenced in tools/build_recorded_scratch.py. The mix must let this arrangement be heard; do not mute the guitar until “hype unlocks” it.
| Tempo | 132 BPM, 4/4 |
| Duration | 24 bars × 4 beats = 43.636 s (bar ≈ 1.818 s, beat ≈ 0.455 s) |
| Key center | E (power-chord / pentatonic; MIDI root 40 = E2) |
| Feel | Festival punk: palm-muted verse, open-downstroke chorus, gang hits |
| Stems | drums, bass, guitar, crowd/choir, lead/texture — 48 kHz, same zero, same length |
| Policy | No generative soundtrack. No live-band impersonation. Human-authored patterns. |
Form (bars, 0-indexed):
| Bars | Name | Harmony (roots) | What the ear should catch |
|---|---|---|---|
| 0 | Count-in | (silence in band) | Four sticks, kick on 4 |
| 1–7 | Verse / warm-up | E–G / E–A (I–♭III / I–IV), two-bar loop | Muted 8ths, open punch on beat 3 — the riff |
| 8–15 | Chorus / opening act | E–A–B–A (I–IV–V–IV) | All-open 8th downstrokes, kick on every beat |
| 16–19 | Breakdown | E E C D, half-time | Air. Kick 1, snare 3 |
| 20–23 | Reprise | Chorus again | Same candy, extra hats |
This is statement then lift, not a wandering bassline. Verse space makes the chorus feel like a chorus. I–IV–V–IV in E is a punk formula (not a copied melody). I–♭III (E–G) is the mosh-pit pentatonic lift into A.
Ear candy (required):
- Verse: palm-mute chatter, then one open chord on beat 3 so a civilian can hum the hole.
- Chorus: relentless open downstrokes. Drums go four-on-the-floor.
- Gang choir + stick/rim click on beats 2 and 4 of chorus/reprise (“hey” without lyrics).
- Lead stem chants E–G–A–G (E3–G3–A3–G3) every chorus bar. That is the sticky bit. Do not replace it with a meandering solo.
- Count-in teaches the grid before the body attacks.
What we studied and did not copy: Ramones space (play, pause, punch), pop-punk mute-then-open, Blitzkrieg-style gang hits on 2 and 4 as a festival device not as “hey ho let’s go.” The riff, chant, and lyric-free choir pattern are original to Moshpit Elite.
Gameplay clock vs the song (known mismatch, design debt):
| Combat clock | Song |
|---|---|
Warm-up time < 14.5 | Count-in + verse |
Opening act 14.5–29 | Chorus |
Breakdown 29 until Brute | Break + reprise + loop seam |
Brute BossAt = 45 | 1.36 s into loop 2 = count-in hats |
Brute must eventually land on a musical downbeat (bar 20 reprise at 36.36 s, or second chorus at 58.18 s). Until then the HUD tells the truth: pokes bounce, kicks land — but the drop is still late to the song. Moving BossAt is a feel change and needs a playtest note.
On-beat bonus: attacking inside a small window around the beat (wider with Noise-Isolating Earbuds, wider still on Yari) grants extra damage, HYPE, hit-stop, and the “ON BEAT” shout. Missing the beat still fights. Rhythm is candy, not a fail state.
Audio Technology Direction#
Use Godot's built-in audio system for the prototype and initial production. Do not add FMOD, Wwise, or another licensed middleware until the built-in system demonstrably blocks a required feature.
- Base soundtrack: original custom music, composed internally, commissioned, or licensed directly from participating bands.
- Shipping music format: matching 48 kHz stereo Ogg Vorbis stems for long-form music. All stems begin at the same zero point and share an identical duration.
- Stem structure: begin with drums, bass, guitars/synths, and a vocal/crowd or texture layer. Godot
AudioStreamSynchronizedstarts sub-streams together and allows their volume to change independently as hype rises. - Sound effects: short WAV/QOA assets for attacks, impacts, UI, pickups, crowd reactions, and environmental one-shots. Use original recordings, commissioned work, or sample libraries whose commercial-game licenses are archived.
- Timing data: each song receives a data resource containing BPM, initial offset, beat/bar grid, named sections, breakdowns, and authored event markers. Gameplay reads compensated audio playback time rather than trusting frame time.
- MIDI: useful for composing, arranging, exchanging tempo maps, and generating timing markers during development. Export instruments to audio stems for the shipped game; Godot supports MIDI input but not general MIDI output/playback as the core soundtrack solution.
- Trackers: optional for a deliberate arcade/chiptune stage or a composer who works best in a tracker. They are not the primary runtime music system; render the final tracker composition to matching stems.
- Procedural synthesis: acceptable for small reactive elements such as a tinnitus effect, feedback swell, UI tone, or crowd-energy layer. Do not generate the main soundtrack live at runtime.
Dynamic-Music Technology Review (2026-08-28)#
The current choice is a Godot-native hybrid with no external middleware:
- Use
AudioStreamSynchronizedfor vertical remixing: all song stems remain in sample-aligned playback while hype controls their individual bus volumes. - Use
AudioStreamInteractivefor horizontal resequencing: authored intro, verse, breakdown, miniboss, recovery, and finale clips transition according to a beat-aware transition table. - Add a small C#
MusicDirectorowned by this project. It exposes semantic game parameters such ashype,danger,boss_phase, andfocus, queues musical changes for authored beat/bar boundaries, and emits beat, bar, and section events to gameplay. Keep song metadata in Godot Resources so it remains inspectable and source-controlled.
Free alternatives evaluated:
- Resonate (MIT): mature-looking Godot addon with player pooling, stemmed tracks, and crossfades. It may be useful later for sound-effect pooling, but its music features overlap Godot's built-ins and would add a GDScript dependency.
- Godot AMP (MIT): purpose-built stem toggling with BPM and time-signature data. It is compact and relevant, but the project can implement the required behavior directly in C# with fewer third-party assumptions.
- G4 Audio System: promising pure-GDScript event/parameter layer with adaptive stems, beat tracking, voice stealing, and pooling. Its published roadmap still labels important editor/player features as future work, so it is a watch-list project rather than a production dependency.
- FMOD Studio: feature-rich and currently has a free Indie license for qualifying studios/projects, but it is proprietary. The common Godot 4 GDExtension explicitly lacks C# bindings and lists older tested Godot/FMOD versions, making it a poor fit for this C# Godot 4.7 project today.
- Wwise: also powerful and currently free at its Indie budget tier, but it is proprietary and adds authoring, integration, licensing, build, and platform complexity that the current game does not need.
Revisit middleware only if the native prototype proves unable to deliver reliable bar-quantized transitions, manageable authoring across many songs, performance on Steam Deck, or a clean workflow for an external sound designer. "Free tier" is not treated as the same thing as free/open-source technology.
Generative-Audio Policy#
Generative tools may be used for disposable exploration only unless the creator later approves a specific tool with commercially safe terms and documented input rights. The preferred shipped soundtrack is human-authored and artist-forward.
Any AI-assisted audio that ships must be documented for Steam's content survey, checked for illegal or infringing material, and backed by saved provenance and license records. Live-generated music is outside the current scope and would also require disclosed safeguards. Never imitate a living band or vocalist without an explicit collaboration agreement.
6. Combat and Movement#
Weapons#
Weapons are part of the build system. Exact categories and tone remain open. They may include improvised festival objects, musical equipment, conventional game weapons, or exaggerated comedy weapons.
Body-Based Melee#
The protagonist is also a weapon. Core auto-attacks and upgrades should include mosh-derived physical actions rather than relying entirely on held equipment:
- Elbow: short, fast side arc with high stagger.
- Shoulder/body push: broad shove with exceptional knockback and crowd-space control.
- Kick/leg sweep: slower extended lane or semicircle that catches several enemies.
- Stomp: close radial pulse that lands particularly hard on a downbeat.
- Headbang/hair whip: repeated short-range orbiting damage, with variants for different hairstyles or headgear.
- Running bump: movement speed converts into collision force without requiring an attack button.
Animation may exaggerate reach far beyond realistic anatomy through squash, smear frames, delayed limbs, perspective distortion, and impact trails. Do not give the character the recognizable rubber-body rules, poses, or attack language of One Piece. The original mechanical identity is stored pit momentum: the body absorbs bass and crowd impact, then releases it through impossible-looking but rhythmically timed strikes.
Animation Quality Bar#
Character motion must not look like flat artwork rotating around a pivot. Keep bodies upright in the arena, mirror authored facing poses, and reserve small lean, squash, recoil, hair, fabric, and crowd response for secondary motion. The next dedicated polish pass should study the animation craft of Guilty Gear, Street Fighter III, Cuphead, and The Eternal Life of Goldman: decisive silhouettes, anticipation, strong key poses, smear or overshoot frames, brief hit-stop, recovery, and rich hand-drawn timing. Goldman's useful lesson is that bodies, hair, cloth, and weight should almost never freeze on a single held drawing. These are craft references only; all character designs, poses, effects, and frame sequences must remain original to Moshpit Elite. Do not reproduce Goldman, his cane, or that game's ligne-claire fairy-tale world.
At gameplay scale, every enemy role requires a different silhouette, face family, hair mass, posture, and color block—not merely a thinner or heavier body. The regular gatekeeper is an anxious skinny scene-snob. The Gatekeeper Brute is a huge, calm Afro-Puerto Rican woman venue enforcer with a broad round face, heavy braids and shaved sides, planted two-palm stance, orange staff vest, burgundy shirt, teal cargo pants, taped hands, whistle, and red barrier rope.
Working Protagonist Origin: The Soundcheck Incident#
Preferred working direction: a catastrophic feedback event during soundcheck exposed the protagonist to an overloaded stack of amps, experimental stage gear, bad wiring, and the first surge of the crowd. They emerge with kinetic resonance—the ability to store vibration and physical pressure, exaggerate a body movement for an instant, and discharge the energy as force.
This is not connected to another dimension. The exact explanation can remain deliberately questionable: mutation, freak acoustics, contaminated energy drink, or simply cartoon logic. The alternative is that the protagonist was always absurdly strong and the incident merely revealed it. Keep both possibilities open until the narrative tone is tested, with the Soundcheck Incident as the current prototype premise.
Playable Kits — Same Body, Different Lie (Brotato rule)#
Kits share one combat body (the same idle/run/elbow/kick sheets). They differ by portrait, tint, always-on signature gear, starter merch, and a perk that changes the set in the first twenty seconds. Unique walk cycles per kit are a later art week, not a requirement to ship the roster.
| Kit | Role | Always-on look | Starter | Perk |
|---|---|---|---|---|
| Yari | The punk | Pink tips (base sheet) | None | Pit Blood: wider on-beat window; combos last longer |
| Lupita | The barback | Cyan towel + drink tickets | Two Drink Tickets | Open Bar: weak scent ring even with 0 cologne; extra merch reroll; softer elbows; faster |
| Cheo | The stagehand | Yellow cap + pedal at feet | Feedback Pedal | Get Hit Get Loud: taking damage always pops a blast; more HP; slower |
| Nene | The DJ | Headphones + synth | Pocket Synth | In The Mix: seeking notes always on; frail HP |
| Izzy | The list | VIP lanyard | Bent VIP Pass | Guest List: extra magnet; merch table favors new items; scalpers drop extra; scalpers appear |
Title: Left/Right selects the kit, A clears security. The pit must still read the kit on the body, not as orbiting icons.
Input Philosophy#
The game is controller-first and uses a minimal-button survivors-like control model inspired by Brotato. Normal combat requires only movement with the left stick or D-pad; weapons aim and attack automatically. Keyboard movement remains supported. Menus use standard direction and confirm/back controls.
A later special mosh move may use one face button if testing proves that it adds meaningful expression. Avoid twin-stick aiming, ability bars, or button-heavy combat unless the creator explicitly reopens the control direction.
Special Moshpit Moves#
Moves are unlocked or upgraded while moshing to the song. Early candidates:
- Circle Pit
- Wall of Death
- Crowd Surf
- Two-Step
- Windmill
- Stage Dive
Each move should have a distinct tactical identity rather than being only a different damage animation.
7. Items and Upgrades#
Confirmed item themes:
- Energy drinks
- Weapons
- Festival gear
- Perfume, cologne, deodorant, and other exaggerated personal-care items
- Guitar picks, drumsticks, strings, straps, cables, pedals, and musician tools
- Instrument families including guitars, basses, microphones, drum machines, keyboards, samplers, and synthesizers
- Stage and sound equipment such as amps, speakers, mixers, tuners, fog machines, lights, and monitors
- Festival credentials and paper goods: VIP passes, backstage laminates, wristbands, hand stamps, drink tickets, setlists, guest-list slips, and press badges
- Adult / 18+ comedic items, subject to a later decision about content rating and storefront restrictions
Possible supporting item space includes ear protection, wristbands, patched clothing, food, merch, and suspicious festival supplies. Individual items are not yet canon until selected and specified.
Item-Language Direction#
Loot should feel as though it came from somebody's pockets, a merch table, a green room, a musician's case, or the stage itself. Avoid generic fantasy-stat objects when a funny festival or music equivalent can communicate the same effect. All initial equipment should use original fictional designs and names; recognizable brands remain reserved for properly licensed collaborations.
Build the larger gear categories as item lines with a shared gameplay voice:
- Guitar line — attack shape and shredding: picks become rapid projectiles, strings add chaining or bleed-like vibration, pedals modify attacks, and a guitar produces wide strum arcs or feedback bursts.
- Bass line — knockback and downbeats: heavy low-frequency pulses move crowds, reward attacks on strong beats, and help the player create breathing room.
- Drum line — tempo and repeated impact: sticks, practice pads, cymbals, and drum machines accelerate beat-triggered attacks or build combos across a bar.
- Synth/sampler line — modulation and weird control: arpeggiated bolts, held notes, filters, loops, and sample pads create chaining, status effects, or patterns that evolve with hype.
- Vocal/microphone line — cones and crowd response: shouts, call-and-response, mic swings, and monitor feedback influence groups rather than single targets.
- Stage-tech line — area control: amps, speakers, lights, cables, fog, and mixers create zones, hazards, rerouting, and environmental combinations.
- Personal-care line — social space and comedy: perfume or cologne creates a lingering scent cloud that changes enemy approach or pushes back the packed crowd; deodorant could reduce a pressure/debuff mechanic. Keep the humor adult and absurd without targeting real people or protected groups.
- Access/status line — economy and controlled privilege: VIP passes, wristbands, stamps, and backstage credentials improve shop choices, rerolls, rewards, or access to special between-song spaces. Strong credentials can confuse or weaken certain gatekeepers, but status items may attract scalpers, influencers, or extra attention. Make this satire and build strategy, never a real-money pay-to-win system.
Working examples, not yet balance-locked (future lines still open):
- All-Access Laminate: occasionally makes a gatekeeper hesitate and grants a short opening; stacking access items improves between-song rewards.
- Crumpled Setlist: previews the next song section or upcoming arena event, allowing the player to prepare before the change.
Canon Merch Table (Opening Act)#
The mid-set three-card break is the store for this slice. It is a merch table, not a gold shop. HYPE gems level you; they do not buy a second currency yet. A between-song stall (spend HYPE, dump a sticker, paid reroll) is the next store, after the opening act is fun.
Chance: three cards. New merch weight 3, stacks under 3 weight 2, maxed weight 1. One reroll per break (two on Lupita). Izzy’s Guest List raises the weight of unowned merch. No real-money shop.
Stickers stack. Laminates should not (design debt: VIP and Pedal still stack in code; they should cap at 1 like Slay the Spire relics).
| Id | Name | Line | Body slot (always, not orbit) | Effect |
|---|---|---|---|---|
| 0 | Splintered Drumstick | Drum | Hitting hand | Faster hits + echo strike; lifts drums |
| 1 | Questionable Cologne | Personal-care | Hip | Scent ring / bigger push; lifts crowd |
| 2 | Bent VIP Pass | Access | Chest lanyard | +HP / Brute armor / attracts scalpers |
| 3 | Last Pick in the Pocket | Guitar | Wrist / waist | Ricochet picks |
| 4 | Feedback Pedal | Guitar | Feet | Get hit, release a blast |
| 5 | Noise-Isolating Earbuds | Personal-care | Head | Wider beat window + gem magnet |
| 6 | Two Drink Tickets | Access | Heal + move speed | |
| 7 | Pocket Synth | Synth | Shoulder / hip | Seeking arpeggio notes; lifts synth |
| 8 | Patch Cable | Stage-tech | Over shoulder | Picks chain + extra bounce |
| 9 | Warm Energy | Consumable | Belt | Sip speed and a little HP |
Visual rule: merch is worn. Pedal on the floor at the feet, lanyard on the chest, earbuds on the head, stick in the striking hand. Orbiting icon planets are discarded. The loadout bar at the bottom of the HUD is the Brotato slot row / Spire relic bar — that stays. Sticker icons keep a tiny gaffer tab, not a giant tape X across the object.
HYPE: gems still fill XP. Score is casino: pickup pay is gems × combo (and +1 if currently on-beat). Kills pop +HYPE and xCOMBO. Combo 5 / 10 / 20 shout WALL OF DEATH / CIRCLE PIT / STAGE DIVE (mosh-move names as banners, not yet as separate buttons).
Codex#
Pause → Down opens the Pit Codex. Entries unlock when seen (offered, owned, or spawned): the ten merch, Gatekeeper, Scalper, Clipboard Captain, Brute, and the chance rules. Unseen is ???. Session-lived for now; no save file yet.
Festival Archive (next Codex tab)#
The Codex grows into a player-facing Festival Archive. It is an illustrated game bible inside the game, unlocked by play—not a developer folder.
- Pit Files: factions, miniboss tells, item rules, and discovered drop lore.
- Stage Passes: the queue, golden-hour opening act, sunset/night variants, and short art/process notes.
- Backstage Notes: concise fun facts about animation tests, a discarded visual, or why a particular crowd behavior exists. Never a wall of prose.
- Band Board: a legal music/provenance page naming the current track or licensed collaboration, not a faux band endorsement.
Each page needs one strong illustration, three short lines at most, and an unlock condition. The title screen and pause Codex remain fast; the Archive is optional texture for players who want the behind-the-scenes material.
Current Project-Owned Art Pass (v0.5.4)#
The opening stage now uses festival_pit_stage_afternoon_v2.png: a reviewed, project-owned golden-hour plate with the same north-stage / open-pit geography as the night version. The night plate remains a later time-of-day variant.
Combo assists use distinct transparent helper art rather than code circles:
crowd_surf_luna_v1.png— Luna, a magenta-vest crowd surfer.crew_linked_arms_v1.png— the three-person linked-arms lane crew.
These assets are generated offline, inspected, versioned, and integrated as project art. They are not generated live in the shipped game. Future generated variants follow the same review/provenance process and must not imitate a named living artist or commercial game’s specific style.
Instrument items should visibly and audibly join the arrangement where practical. For example, acquiring the bass-line capstone may introduce or emphasize the bass stem. This connection must remain musically authored so stacked items enhance the song instead of producing uncontrolled noise.
Working Item: Noise-Isolating Earbuds#
An original generic earbud item—not called AirPods and not shaped or marketed to imitate a specific commercial product. It grants Focus, currently proposed to improve automatic targeting and widen timing forgiveness for beat-based bonuses while reducing a future crowd-noise or sensory-pressure effect. Exact balance and rarity are undecided.
Future Music and Brand Collaborations#
Real bands, tracks, festival brands, or products may appear later through carefully selected collaborations or optional DLC. They must feel like part of the festival rather than interrupting play as advertisements.
- The base game must be complete and coherent without licensed content.
- Never use a band recording, composition, logo, likeness, product shape, or trademark without written permission covering the intended platforms, territories, duration, marketing, trailers, streams, and DLC availability.
- Prefer artist packs that combine a licensed song with a naturally matched set, stage, item, cosmetic, or challenge.
- Preserve replacement/fallback data paths so expired content does not break save files or the core run structure.
- No gameplay advantage should require buying branded DLC.
- Collaboration contracts and rights clearance require qualified legal review.
8. Enemies and Gatekeepers#
The antagonists are gatekeepers associated with the festival and music scene. They are not from another dimension; that concept has been explicitly rejected.
Previously proposed faction directions, still unconfirmed:
- Genre Police
- Scene Veterans
- Phone Zombies
- Influencer Crew
- Security Brutes
- Merch Scalpers
- Fake Fans
- Headliner Elitists
These are working concepts, not locked names or final factions.
Canon Opening-Act Cast#
| Role | Read | Behavior |
|---|---|---|
| Gatekeeper | Anxious skinny scene-snob | Rushes the pit; circles during breakdown |
| Merch Scalper | Fast magenta pest | Attracted by VIP; weak; Guest List pays extra |
| Clipboard Captain | Yellow, thicker, slower | Middle-management gatekeeper; wants the pit to behave |
| Gatekeeper Brute | Huge calm Afro-Puerto Rican woman venue enforcer: broad round face, heavy braids and shaved sides, planted stance, orange staff vest, burgundy shirt, teal cargo, taped hands, whistle, red barrier rope | Miniboss. Enters from the stage lip. Resists light knockback. Wind-up charge (intent). Current clock 45 s. Vacuum HYPE on death |
9. Bosses#
- Multiple minibosses appear during the festival progression.
- The final boss is associated with the headliner.
- Boss mechanics should interact with the current song, crowd formation, or stage environment.
- Boss blinds (from Balatro, festival-translated): the HUD announces the Brute rule before they drop, not only a countdown. Current line:
POKES BOUNCE. KICKS LAND.Future blinds: no magnet, half push, only on-beat damage. Player plans into the rule. - Brute death drops gems and should later drop one unique laminate.
Individual later-boss identities remain open. The Opening Act miniboss is the Brute above.
10. Arenas and Festival Progression#
The run advances through stages or arenas that represent an escalating festival experience. Working possibilities include an entrance area, small stage, side stage, food/merch zone, main-stage crowd, and backstage or encore space. These locations are exploratory rather than confirmed.
Current Playable Run Spine (v0.8, locked for the prototype)#
This is the vertical slice to improve before adding separate maps:
- Opening Set (45 s): warm-up, Opening Act, Supporting Acts, and breakdown are song sections inside one uninterrupted fight. Phone Zombie, Merch Scalper, and Clipboard Captain receive deterministic first introductions; the run seed then biases the bill toward flashes, scalpers, captains, or a mixed crowd.
- Set Clear (≤1.55 s): combat is atomically cleared, loose HYPE is banked, the player heals +32, and performance results are readable.
- Training: every earned XP level becomes one of three stat choices. These are body training, not merchandise, and no enemy or timer moves underneath.
- Merch Tent: three visible items cost 20 HYPE each. Buy zero, one, two, or all three; bought slots show SOLD. DOWN restocks unsold slots for an escalating HYPE cost. B / Esc deliberately starts Act Two.
- Main Stage (45 s): the same generated venue opens its stage wings, deepens toward sunset, increases atmosphere, and runs a denser faction bill.
- Brute Finale (36.36 s): regular enemies clear and the Brute enters once from the stage lip. The song continues; a sting punctuates the entrance.
- Demo Clear: a 2.2-second victory card says the real Headliner is still ahead. Restart creates a fresh festival seed.
This progression is a strong state change inside one modular diorama, not six art-complete maps. New factions must enter as a readable verb, hazard, or boss.
Upgrade rule: a choice freezes player, enemies, timer, and combat effects; the music, band loop, stage LEDs, and audience ambience continue. The pause screen is the only full stop.
Timed-Set Run Contract (implemented foundation)#
The current 36-second spine proved movement, a break, and a Brute entrance. It is not the final run rhythm. The next pass adopts the clearer Brotato-style promise: play one complete, escalating set, then make build decisions in peace.
- Play a 45–60 second song-set. XP and HYPE accumulate; no card interrupts a good fight. Verse, chorus, crowd surge, and a miniboss are authored beats inside that set.
- Set break. The arena clears and the selected music keeps playing at a low crowd-bed level. Resolve every earned level-up choice in sequence.
- Merch / food / recovery stall. Spend the set reward on multiple shop purchases, restock unsold slots, or save HYPE and continue.
- Next act. Carry the visible body gear, HYPE economy, and new rule into a harder song/arena. The final act remains the Headliner.
This makes level cards a reward instead of a recurring speed bump, gives the Merch Tent a real job, and allows each arena to own a full musical mood. The first playable implementation should be one 45-second opening set + one set-break screen, not a six-stage content explosion.
Implemented foundation (v0.8): Round 1 counts down from 45 seconds to Set Break. XP levels bank during combat. The break plays a ≤1.55-second festival vignette, resolves every banked training choice, then opens a three-slot multi-buy Merch Tent. This is the first real proof of the sequence, not the final economy; locking items, selling gear, food, and risky Afterparty stock are later.
Rhythm Tells and Mosh Crew (v0.5.4)#
Rhythm must be readable without a separate rhythm-game UI. The player’s facing direction shows two small closing brackets during the last third of each beat. When the brackets meet there is a brief white strike line: land the elbow or kick then for the existing on-beat reach, damage, HYPE, hit-stop, and camera punch. The stage/band downbeat is the larger environmental confirmation.
Bosses use the same language: a telegraph begins, the player learns its count, then attacks inside the safe/strong beat. That is the useful Punch-Out!! influence—pattern observation and body-readable tells—not a copy of its fights.
At combo milestones the crowd temporarily joins the player rather than becoming another permanent weapon button:
| Combo | Assist | Readable action |
|---|---|---|
| 5 | Crowd Surf | A lifted body travels from the back of the pit toward the stage and clears a narrow vertical route. |
| 10+ | Linked Arms | Three dancers sweep side-to-side and make a horizontal lane through weak enemies. |
| 20 | Future Stage Dive | Reserve for a larger, authored clear once its art and camera are good enough. |
Each assist lasts around two seconds, is earned by play, and expires. They are festival actions with silhouettes and collision space, not floating drones.
Enemy Drops and Afterparty Oddities (future item line)#
Enemies always drop HYPE gems. Special enemies can very rarely drop a visible lost-item pickup during a set: Scalpers drop ticket scraps, Phone Zombies drop cracked-phone parts, and Security Brutes drop a sealed confiscation pouch. The player chooses whether to cash it in at the stall or use it for a powerful, temporary effect. It must read as a pickup in the pit, not an item orbit.
The adult festival tone can include controlled-substance satire, but never real-world dosing, medical claims, or advice. Effects are deliberately gamey, have immediate drawbacks, and are described as suspect contraband:
| Pickup | Immediate game effect | Cost / visual consequence |
|---|---|---|
| Cannabis Gummies | Steady small heal; crowd shove has less force for one set | Movement and attack recovery become slightly sluggish |
| Empathy Tab (MDMA-style fiction) | Nearby weak enemies hesitate and contribute HYPE instead of attacking for a short window | After the effect, HYPE gain is reduced until the next break |
| Mystery Mushroom Cap | Local action slows: enemy movement/projectiles slow while the player retains normal control | Hallucinated fake gatekeepers and fake gems clutter the screen; they cannot damage or reward |
For store pages and Steam compliance, these are a late-game 18+ content toggle or a fictionalized “Afterparty” line—not a tutorial or endorsement of drug use.
Time of Day#
The opening act is late afternoon / golden hour, not a black club. The pit must remain readable at a glance: warm sun on the ground, cyan/pink stage LEDs, and black ink rims around the player/enemies. Progression can later carry the festival through sunset, night, rain, and headliner lights; each time change is an arena mood and readability pass, never an excuse to hide gameplay.
Live Venue Layer (v0.5.6)#
The stage plate is treated as a composition of animated layers: LED panels throb independently, pennants sway above the barrier, and a traveling light bar crosses the stage on the beat. The center floor stays visually quiet for combat. HYPE pickups are now faceted colored chips with a center mark—not anonymous yellow balls—so the reward reads as festival currency at a glance.
Procedural Punk Diorama (v0.9.2, articulated collage)#
The game does not become a Minecraft-like voxel project. Its generative art language is a seeded, hand-cut 2.5D punk diorama. The fixed painted arena plate is no longer the world backdrop: code constructs the sky, skyline, stage shell, pit perspective, tents, queue gate, crowd ring, weather, props, and motion. Project-owned paintings remain the material library and readable character anchors.
Every run exposes a replayable PIT-XXXX seed. That seed owns:
- a named venue assembled from four roof/truss grammars and side-stage modules;
- one of four curated festival palettes and one geometric LED/banner motif;
- speaker stacks, stitched banners, LED tiles, vendor canopies, truss towers, inflatable oddities, floor tape, cracks, cups, arrows, and stickers;
- confetti, heat haze, coastal dust, or a stage-hit-driven static storm;
- a faction bill biased toward Phone Zombies, Merch Scalpers, Clipboard Captains, or a mixed bill, while preserving deterministic first introductions;
- the cameo identity, reward/shop random stream, and restrained live-music mix profile, so the displayed seed describes one reproducible festival;
- a Main Stage transformation: wings move, sunset grading deepens, FX energy rises, and the same venue feels like a later hour rather than a disconnected random backdrop.
The Collage Sampler keeps that generated geometry from looking like generic flat shapes. Seeded crops from the original arena painting supply concrete, graffiti, cloth, stage-deck, tent, gate, building, and floor textures. Normal spectators are miniature articulated cut-out dolls: each original character is cropped into separate head, torso, sleeve, and leg pieces with lagged joint motion, bob, lean, phones, and crowd reactions. One seeded rear spectator has a rare looping cartoon sickness gag; it never overlaps the combat floor. Costume silhouettes remain geometric so banana/alien gags read instantly. The result is procedural composition wearing the project's authored color, brush, and pattern language.
The attract screen previews the current wristband/seed, palette, pennants, weather motion, venue name, faction bill, and music profile before entry. Enemy touring crews inherit subtle seeded body scale, tint, wristband/lanyard/shoe accents, behavior weighting, and deterministic spawn rolls. Randomness may vary composition and pressure; it may not hide the player, move combat onto the stage, erase faction silhouettes, or generate copyrighted logos/characters.
Implementation is split between FestivalDiorama.cs (pure generated run data) and Main.cs (Godot drawing and gameplay). Future improvements should add small curated module libraries and validation rules, not replace the project with unbounded neural generation. Particles/shaders are suitable for atmosphere; voxels may appear later as a special filter or one arena, not the global style.
Spatial Sentence of the Opening Act Pit (locked)#
The camera is a shallow bird’s-eye over the circle, not Guitar Hero Live (on stage looking at the crowd) and not Revolution X FPS (in the house staring at the PA). Geography is the same as a real pit: stage is north and sacred; the fight is the floor.
y small STAGE — truss, PA, living band overlay
LIP — wall. Nobody walks the decks. Brute drops from here.
middle PIT — playable floor, most of the 1280×720
ring CROWD — belt that shoves bodies back in
y large heads — painted foreground; do not skate through it forever
- Band: a playing loop (guitars + drums) sits on the painted stage and moves on the beat. The north wall performs; it is not a poster.
- Crowd: the ring bobs. If the player or an enemy enters the crowd belt, the audience shoves them back into the pit, harder on the beat.
- Roam: the playable floor is most of the screen, not a tiny box. Walk toward the stage, the bar, and the sides; the belt is the consequence.
- Readability: player and enemies get a black ink rim and a heavy shadow so they do not melt into the plate. Do not draw debug pulse rings or stick-crowd candy on top of a finished painting. Stage lights on the plate stay; extra rave cones stay small.
Cinematics#
Story lives inside play. More than one second, never more than three.
| Beat | Length | Rule |
|---|---|---|
| Clear security | ~2.45 s | Queue → gates → pit plate. Overlay clears (does not go black). Zoom ~5%, not 18%. Song count-in starts on A. Skip after 0.3 s with A |
| Brute drop | ~2.15 s | Letterbox. Brute walks off the stage lip. Player frozen. Kick/impact sting |
| Victory vacuum | ~2.2 s | Gems finish, then the card |
No cutscenes. No Guitar Hero camera flip.
11. Tone and Presentation#
- Loud, playful, rebellious, and affectionate toward festival culture.
- Satire targets gatekeeping and exclusion, not ordinary fans or musical tastes.
- Visual and audio feedback should make upgrades feel increasingly absurd.
- Adult humor may exist, but the desired content rating has not been chosen.
Recommended Art Direction: Punk-Festival Cartoon#
Use the approachable clarity and absurd comedy associated with television cartoons such as Regular Show as a loose reference, but do not reproduce that show's character construction, proportions, line language, or recognizable design elements. Moshpit Elite needs its own immediately identifiable visual identity.
Current art-direction proposal:
- View: 2D top-down or shallow three-quarter arena view.
- Characters: chunky, exaggerated silhouettes that remain readable when the crowd overlaps; distinct head shapes, jackets, hairstyles, and movement poses.
- Lines: thick, slightly imperfect ink outlines rather than perfectly sterile vector curves.
- Color: near-black and warm off-white foundations with limited neon accents inspired by wristbands, stage lights, safety tape, and screen-printed posters.
- Texture: photocopied zines, torn flyers, stickers, marker scribbles, patches, halftones, and distressed screen-printing used selectively around clean sprites.
- Animation: economical pose-to-pose animation for scope, with aggressive squash, smears, hit flashes, and crowd waves reserved for gameplay impact.
- Physicality: permit very large, muscular, compact, lanky, and otherwise unconventional bodies across all genders. Strong women should read as genuinely formidable rather than as delicate characters with strength mentioned only in dialogue.
- UI: a layered festival-flyer and backstage-pass aesthetic, kept clean enough for rapid item and stat decisions.
- Readability rule: arenas remain darker and quieter than characters; enemies, pickups, hazards, and mosh-move ranges receive separate accent colors.
The desired result is Saturday-morning cartoon readability vandalized by a punk show flyer. This is a recommended direction awaiting a visual prototype, not a locked production style.
Adult Animation and Biercade Reference Notes#
The target should feel plausibly at home beside late-night adult animation while remaining an original Moshpit Elite identity. “Adult Swim” is a tone reference, not branding to place in the game or a style to reproduce.
- Late-night adult-animation principle: begin with a simple, readable cartoon premise, then let it become uncomfortable, surreal, crude, or unexpectedly elaborate. Humor may live in pauses, background details, bad behavior, and abrupt tonal escalation rather than constant dialogue.
- ***Superjail!* principle:** use dense simultaneous micro-events, elastic bodies, visual chains of cause and effect, and background jokes that reward rewatching. Gameplay must preserve threat readability, so the most extreme density is reserved for breakdowns, special mosh moves, bosses, transitions, and victory sequences. Do not copy its characters, prison imagery, layouts, or exact line and color treatment.
- ***Dorohedoro* principle:** combine grimy environments, intimidating physical silhouettes, bizarre transformations, casual humor, and characters who can be brutal and warm in the same scene. Its notably powerful women are a useful permission to design genuinely massive female fighters. Do not reproduce Noi, Nikaido, their costumes, magic, proportions, masks, or the series' specific worldbuilding.
- ***Heavy Metal* principle:** use the confidence of adult illustrated animation, lurid music-driven fantasy imagery, surprising visual effects, and the feeling that soundtrack and picture are inseparable. Do not use its green-orb device, stories, characters, compositions, or airbrushed illustrations.
- **Netflix/Studio Mir Devil May Cry principle:** study sharp silhouettes, stylish pose changes, kinetic action staging, impact frames, and contemporary adult-animation pacing. Keep Moshpit Elite comedic, top-down-readable, and visually original; do not reproduce Dante, weapons, demons, costumes, or combat choreography.
- Biercade / Old San Juan principle: combine a narrow lived-in venue, arcade cabinets at the edges, framed local art and posters, warm imperfect walls, overhead club lighting, Puerto Rican presence, and a tightly packed community rather than a generic American festival backdrop.
- Biercade Harlem Shake observation: a fixed high wide shot first shows a believable social space, then the musical drop instantly converts it into organized visual chaos: costumes, people at different heights, flags, props, and dozens of unrelated motions sharing one frame. This calm-to-explosion contrast is directly useful for song breakdowns and the hype system.
Reference-Safety Rules#
- Never trace, redraw, photographically reproduce, or closely reconstruct Biercade murals, posters, logos, costumes, floor plan, or identifiable patrons.
- Do not use Adult Swim, Regular Show, or Superjail! names, logos, characters, signature props, or near-identical character designs in shipped assets or marketing.
- Build new characters from the game's own festival archetypes and Puerto Rican cultural research, with documented references and artist attribution where appropriate.
- Reference the energy, spatial density, escalation, community, and handmade art culture—not protected compositions or brand identity.
- Any direct collaboration with a Puerto Rican artist should use written terms covering credit, payment, ownership, and promotional use.
Immediate Art Validation#
Create one original 16:9 style frame showing a readable pre-breakdown arena and a matching post-breakdown chaos variant. It should include one player, one original gatekeeper, an energy drink pickup, arcade/festival environmental cues, and a special-move readability test. No production asset batch begins until this frame proves the direction.
First Applied Art Pass#
The first original splash/title illustration was generated and integrated on 2026-08-28. It establishes a packed shallow-overhead venue, central body-impact silhouette, thick distressed ink, limited magenta/cyan/acid-yellow stage color, arcade-edge details, and a handmade festival-flyer title. It is an exploratory project asset, not a final marketing key art commitment.
The splash is used as Godot's boot image and as a controller-friendly title screen with a code-rendered start prompt. The greybox pit also begins adopting the visual language through distressed safety-tape marks, less geometric player/enemy silhouettes, a patched punk protagonist, and credential-like enemy details.
The first procedural gameplay figures were rejected after hands-on review because the player read as a robot and enemies read as arcade ghosts. They are not part of the intended visual identity. The replacement pass uses original human raster sprites: a muscular Puerto Rican punk woman as the player, a separate elbow-smear attack pose, and an angular clipboard-and-lanyard festival gatekeeper.
At gameplay scale, preserve silhouette and motion before facial detail. Use approximately 80–100 vertical pixels for the player during the prototype and test every character both at source resolution and in a crowded 1280×720 arena.
Large character art may appear as preloaded impact stingers, not conventional cutscenes. Target 0.10–0.18 seconds, do not decode video or load files at trigger time, do not interrupt input, and reserve the treatment for major body pushes, special moves, miniboss breaks, or victories. Avoid long cutscenes throughout the game; story should live primarily in play, short transitions, environmental jokes, and skippable compact exchanges.
Animation and Simulated Physics Direction#
Use a hybrid animation system. Authored poses own attack anticipation, contact frames, recovery, hitboxes, and locomotion timing. Lightweight damped springs may add body lean, squash/settle, hair lag, vest-tail bounce, wristband motion, and impact recoil. Physics must never shift a hitbox or obscure a combat tell.
For production characters, prepare separated art layers or a weighted 2D mesh for head/hair, torso, arms, legs, vest tails, and accessories. Godot Skeleton2D and Bone2D are candidates for deformation and authored motion. Keep critical gameplay behavior independent of Godot's experimental skeleton-modification stack; use full PhysicalBone2D simulation only for controlled deaths, crowd surfing, or special comedy moments where instability is desirable.
v0.5.3 Recorded Arena Audition Pack#
The title screen carries four recorded arena-track auditions instead of asking a generated scratch loop to pretend it is a finished soundtrack. Press Up/Down at the gate to hear a candidate, then clear security to take that track into the run. Combat remains frozen for merch choices, but the selected track, band, lights, and crowd continue.
| Festival slot | Candidate file | Track |
|---|---|---|
| Warm-up | warmup_rock_city_ransom.ogg | Rock City Ransom Revised |
| Side Stage | side_stage_downtown_destruction.ogg | Downtown Destruction |
| Main Stage | main_stage_plutonian_thrash.ogg | Plutonian Thrash |
| Headliner | headliner_hammer_berserker.ogg | Hammer of the Berserker |
These are a temporary playable CC0 audition pack from Ragnar Random's Rock Music For Games release; it is tagged CC0 and “no generative AI was used.” Archive the source and license with every distribution build. This does not replace the production goal: commissioned, original, or explicitly licensed band tracks with authored stems and beat maps.
First Applied Audio Pass#
Pit Test v0.1 started with a sine-wave scratch loop. That pass is superseded: the current scratch mix sequences recorded CC0 instrument one-shots (kick, snare, hats, electric bass, guitar fifths, room hiss) into an authored 140 BPM eight-bar riff. Hits are not neural audio and not oscillator toys. Distortion and arrangement are original. This is still a prototype bed, not a final song or mix, and it must not be replaced with generative-music models.
Reproducible sources:
- Sample fetch:
tools/fetch_recorded_samples.py - Sequencer:
tools/build_recorded_scratch.py - Provenance / licenses:
assets/audio/library/PROVENANCE.md - Output stems and SFX:
assets/audio/scratch
The older oscillator script tools/generate_scratch_audio_v2.py remains only as history of the first adaptive-audio test.
12. Accessibility and Safety#
To design later:
- Reduced flashing and screen-shake options
- Independent music, effects, and crowd-volume controls
- Beat visualization and timing-assistance options
- Color-independent threat indicators
- Alternatives to rapid or precisely timed inputs
- Clear fictional framing for unsafe real-world pit behavior
13. Technology#
Committed Engine and Development Stack#
The project will use Godot 4.7.2 .NET, C#, and Visual Studio Enterprise 2022. Godot's scene and signal systems suit modular enemies, items, stages, and song events, while C# provides strong tooling and debugging in the creator's existing Visual Studio environment.
Godot 4.7.2 .NET is installed locally at C:\Tools\Godot\4.7.2-dotnet. The existing Visual Studio installation includes the .NET desktop development workload required by Godot's official guidance.
The canonical project root is D:\_pre_2027\moshpit-elite. No game source, generated project metadata, or game-design documentation should be placed loose in the parent D:\_pre_2027 workspace.
Initial Release Target#
- Storefront: Steam
- Primary launch platform: Windows PC
- Secondary compatibility goal: Steam Deck, tested early through Proton and reconsidered for a native Linux build when release scope is clearer
- Steamworks features such as achievements, cloud saves, and controller metadata will be selected after the core prototype is proven.
Possible Web Version#
A web version may be ported after the Steam game is established. Godot 4 C# does not currently export to the web, so this is not expected to be a one-click export. Keep domain rules, balance data, song metadata, and content definitions isolated from Steam APIs and presentation code. This reduces the later effort of creating a GDScript web client or adopting another supported web route. The Steam version must not be constrained by the speculative web port before the core game works.
Initial Technical Direction#
- 2D game using Godot 4.7.2 .NET and C#
- Data-driven definitions for items, weapons, enemies, moves, and songs
- Song timeline or beat-map resource that emits gameplay events
- Modular wave director and arena rules
- Seeded run generation where practical
- Keyboard/controller support from the beginning
14. Decisions Needed#
- Final title confirmation and formal trademark/store-name clearance for the working title Moshpit Elite
- Whether the initial Steam release also ships a native Linux build
- Whether a later web version earns the cost of porting the C# gameplay layer
14A. Production Milestones#
Current State: Art/Audio Cohesion (v0.10.1, fix/v010-art-audio-cohesion)#
Canonical launcher footer: **V0.10.1 // LIVING VENUE**. Branch is not merged.
Crowd portraits cheo/lupita/nene/izzy are true cutouts (border-punched alpha). Player reads first (warm rim, no cyan brackets); enemies second (floor tells, not actor circles); crowd/band third. Festival patches sample authored floor / canvas / metal / wall / poster windows. One afternoon→sunset grade keeps the pit bright.
Crowd has five async families (headbang, two-arm pump, clap, phone, recoil) with anticipation/action/recovery/rest. Band sheet band_pose_sheet_v1.png is five roles × three poses. Phone / scalper / captain carry a glow-phone, shirt pile, or clipboard. HYPE tokens are wristband / ticket / pick / pin. Worn merch is body geometry on the player; table icons stay on the merch tent.
Run music is the original 132 BPM / 24-bar / 43.636 s five-stem set (WRISTBAND STOMP), not the CC0 audition OGGs. Title plays a muffled stem mix of the same hook. Training/merch ducks stems without restarting. Set 2 lifts the same song. BossAt = 36.36 is bar 20 of this map. CC0 tracks remain on disk as auditions. Matched-loudness RMS: stem mix about −14 dBFS vs CC0 about −8 dBFS (CC0 peaks over 0 dBFS). If a later listen rejects the stems, restore auditions; do not keep a louder-but-generic default just because it is familiar.
Physical pad playthrough and 1280×720 live captures are still Gate 4.
Current State: Generated Festival / Cutout Chaos (v0.9.2)#
The current pre-alpha demo is a truthful two-set loop. Round 1 is an uninterrupted 45-second Opening Set with banked XP. Set Clear resolves all body-training levels, then the Merch Tent allows multiple 20-HYPE purchases and restocks before the player deliberately starts Round 2. Main Stage runs another 45-second set; the Brute enters once at 36.36 seconds and ends the demo when defeated. The true Headliner, campaign progression, save data, accessibility suite, and shipping content are not implemented, so this is not alpha.
FestivalDiorama.cs now generates a coherent festival identity from the visible run seed: venue name, palette, roof rig, screen motif, sixteen side-stage modules, floor history, atmosphere, faction bill, cameo, shop/reward random stream, and music-performance profile. The attract screen previews that identity. Act Two transforms it toward sunset rather than loading an unrelated picture. Restart rolls a new seed. This is curated procedural composition around project-owned art—not a voxel rewrite and not live neural image generation. v0.9 removes the fixed plate entirely; v0.9.1 samples its painted material onto generated surfaces. v0.9.2 increases the floor/background fragment density and splits audience art into independently moving paper-puppet body pieces.
Four regular enemy roles have distinct verbs and deterministic introductions. The seed changes their later weighting, dimensions, color accents, and touring badges while preserving silhouettes. HYPE wallet, XP, and performance score are separate. The Brute rule is real: light attacks mostly shove, kicks meaningfully break the guard. Player and enemies are y-sorted on the sacred pit floor; nobody walks across the north stage or foreground crowd.
The stage shows five roles—bassist, vocalist, analog-synth player, drummer, and guitarist—driven by the mapped beat. v0.10.1 plays the original 132 BPM stems as the run identity; CC0 110/120 BPM auditions remain files, not the default fight song. Headphone A/B of that swap is still required before calling the song final.
Classic arcade brawlers and expressive fighting-game stages remain craft references for hierarchy and energy only. All shipping characters, stage modules, names, imagery, animation, and music must remain original or properly licensed.
Current State: Festival World Pass / Kits (v0.4.4)#
Playable Opening Act on Godot 4.7.2 .NET. Controller-first. Movement-only auto melee (elbow, fourth-hit kick, body push, running bump). Crowd belt shoves. Five Brotato-style kits. Ten merch as worn gear plus a HUD slot row. Mid-set merch table. Pause Codex. 132 BPM 24-bar original scratch set with count-in, verse hook, chorus candy, breakdown, reprise. Band overlay plays on the north stage. 1–3 s cinematics (entrance, Brute from the lip, victory). HYPE pops gem × combo and on-beat shouts. Brute HUD names the rule.
Launcher: PLAY_MOSHPIT_ELITE.cmd (import, dotnet build, then Godot). Work that is not on main yet lives on fix/visible-merch-and-codex until Codex reviews. src/Main.cs remains one immediate-mode file; coordinate writers.
Current State: Pit Test v0.3 (historical)#
The Godot 4.7.2 .NET project now contains a playable Opening Act loop with Pit Momentum combat and looping frame-by-frame character sheets. Player idle, run, elbow, and kick, plus gatekeeper and brute walks, stay in motion instead of holding a single drawing. It still has controller/keyboard movement, automatic attacks, escalating gatekeepers, the merch break, the Brute drop, hype, death, and instant restart.
This is not yet the musical vertical slice: it has no actual song, authored song sections, upgrades, item selection, mosh move, or miniboss.
Next Iteration: Pit Test v0.1 — Kinetic Soundcheck#
Build a focused 60–90 second playable loop that proves the character's physical combat and the stem-music premise before adding broader content.
- Replace the generic basic projectile with an automatic elbow arc using a visibly exaggerated smear/reach, a short hit pause, strong impact sound, and readable knockback.
- Add an automatic body push that triggers when crowd pressure becomes high, creating space without adding another required button.
- Introduce one Gatekeeper Brute whose size, wind-up, and resistance make the new melee impacts easy to evaluate.
- Add a project-owned C#
MusicDirectorand a temporary original scratch loop with at least drums, bass, and noise/crowd layers. Hype brings layers in and damage or low momentum briefly strips the arrangement back. - Drop one three-choice upgrade break during the test: Splintered Drumstick, Questionable Cologne, or Bent VIP Pass. The choice must create an immediately noticeable mechanical or musical difference.
- Preserve movement-only normal combat and instant controller restart.
The iteration passes when a new player can understand within thirty seconds that their body attacks automatically, pushing through the crowd matters, and their performance changes the music. It must also run from the repaired Windows launcher without immediately closing. Art remains placeholder except for the minimum smear, impact, and UI treatment required to judge feel.
Implementation status: feature-complete for creator playtesting on 2026-08-28. The generic bullets and geometric figures were replaced by elbow/body-push melee, human raster sprites, spring-based body motion, a brief impact stinger, and an original adaptive 140 BPM scratch mix. Validation remains pending hands-on notes about character scale, controller feel, audio balance, attack clarity, and whether the impact stinger is exciting or distracting.
Next Iteration: Pit Test v0.2 — Opening Act#
Turn the feel test into the first compact build-making loop:
- Keep the muscular protagonist readable while adding one authored kick or leg sweep and improving elbow anticipation/contact/recovery.
- Add a single three-choice upgrade break using Splintered Drumstick, Questionable Cologne, and Bent VIP Pass; each choice must visibly change the remaining encounter.
- Add one Gatekeeper Brute with a clear wind-up, resistance to light knockback, and a 60–90 second opening-act entrance.
- Divide the adaptive track into an intro, escalation, breakdown, and miniboss section instead of relying only on vertical stem intensity.
- Add basic pause/audio controls and retain controller-first navigation.
- Keep story presentation inside play and sub-second impact stingers; no long cutscenes.
The iteration passes when the player can finish one short opening act, make one interesting item choice, hear the musical structure respond, and defeat or lose to a readable miniboss.
Implementation status: playable Opening Act loop landed on 2026-08-28, then thickened the same day as v0.2.1 Pit Momentum. Elbows and the fourth-hit sweep now use a short anticipation / contact / recovery chain, with hit-stop and an optional on-beat damage bonus. Running into the crowd at speed converts momentum into a body bump. Item choices now diverge mechanically and musically: Drumstick adds an echo strike and lifts the drum stem; Cologne pulses a scent ring and crowd layer; the Bent VIP Pass heals, resists the Brute, and attracts fast magenta Merch Scalpers. During the breakdown, regular gatekeepers circle instead of rushing. Hands-on validation of feel, scale, and audio balance is still due.
Milestone 1: Pit Test#
A short greybox used to answer whether moving and fighting in the pit already feels good:
- Player movement and controller input
- One basic automatic or aimed attack (control model still to be chosen)
- One chasing gatekeeper enemy
- Damage, knockback, health, death, and instant restart
- Basic crowd-pressure feel and readable placeholder feedback
Status: v0 implemented on 2026-08-28. Hands-on controller feel and balance still require creator playtesting before the milestone is treated as validated.
Milestone 2: Musical Vertical Slice#
- One temporary or original test track with authored song sections and beats
- Wave director responding to the track
- Three regular enemy behaviors
- Experience/currency and mid-set upgrades
- Five to ten items or upgrades
- One special mosh move
- One miniboss
- One complete opening-act loop with temporary art and audio
This milestone proves the game's distinctive idea and comes before broad content production.
Alpha Definition#
Alpha means the full intended game loop is playable from start to finish with placeholder or incomplete content. It is allowed to be unbalanced and visually rough, but it must include:
- Festival arrival, warm-up, opening act, escalating stages, miniboss, headliner, results, and restart
- Functional combat, crowd/mosh movement, song events, upgrades, items, and build choices
- At least one complete representative run
- Keyboard and controller support
- Save data for settings and required progression
- Pause, settings, accessibility foundations, and failure/recovery flows
- No known blocker that prevents completing a run
Alpha Distance Estimate#
From the technical-bootstrap state, a tightly scoped solo/small-team alpha is currently estimated at 8-14 focused development weeks. This is a planning range, not a release promise. Original music, polished art, content volume, licensing, online features, and major redesigns can expand it substantially.
- Single-player only versus later local/online co-op
- Original soundtrack versus licensed or user-supplied music
- Run length and number of songs/stages
- Art style and camera perspective
- Content rating and limits for 18+ humor
- Exact meaning and identity of the final headliner boss
15. Discarded / Reconsider Later#
- Gatekeepers from another dimension: Rejected. Avoid the word and premise of dimensional invaders unless the creator explicitly reopens it.
- Orbiting merch icon planets around the player: Rejected as lazy. Merch is worn on the body; the HUD slot row remains.
- Cards, energy, draw piles, 15-node act map, 150 jokers: Rejected for this slice. Steal cadence and rule-shaped items from Balatro / Slay the Spire, not their verbs.
- Guitar Hero Live camera (on stage looking at the crowd): Rejected. Kills Brotato movement. Stage stays north; camera stays over the pit.
- Neural / live-generated soundtrack: Rejected. Recorded samples, authored patterns. No fake vocals.
- Full voxel conversion now: Reconsider later only as a special arena or optional filter. It would discard the strongest authored character art and spend the prototype budget rebuilding animation, collision, and readability.
- Unbounded per-run neural art/music generation: Rejected for runtime and shipping. Seeds assemble curated owned/licensed modules; they do not invent uncontrolled assets, logos, performers, or songs during play.
- Giant gaffer-tape X as the merch-icon brand: Rejected. Tiny tape tab only.
16. Change Log#
2026-09-17/18 — Design day: AI Director, Festival Multiverse, Co-op spec (Claude)#
- AI Director (
coordination/AI_DIRECTOR_SPEC.md): real-time intensity meter + 4-phase pacing loop (Build Up → Peak → Fade → Relax), invisible rubber-banding near death, variable reward on "clutch" survival, Elite enemy concept for Peak phase. Not yet implemented — spec only, GDScript-ready. - Festival Multiverse (
coordination/FESTIVAL_MULTIVERSE_SPEC.md): the shipped Story Mode uses ONE festival identity (Aftershock) only — root cause of "repetitive" feedback. Spec adds 3 new identities (Solstice Grove/Woodstock-style, Neon Dune/Coachella-style, Ember Circuit/Burning Man-style), a Festival Passport meta-progression system, and per-run Curse/Blessing modifiers. Not yet implemented. - Co-op Multiplayer spec (
coordination/MULTIPLAYER_SPEC.md, backlog itemSTEAM-JOIN-SESSION-1): Brotato-style shared arena / individual shop model, revive-not-death-individual, scoped first slice (2-player, Arcade Mode only, no cross-platform). Flags physics-based combat as the real netcode risk — needs an isolated prototype before any ship date. - Opening arc room content (
coordination/OPENING_ARC_SCENARIOS.json,VARIATION_ENGINE.json): dialogue/objective/key-item data for the 4-room Rat Trap → Keg Rollers → Security Chief → El Tío Monstruo dungeon model already built instory-editor.html, ready to wire into real room-to-room play. Not yet wired in. - Verified fixes: high-pitch audio bug (
EARS-V76-1) confirmed actually shipped at?v=78(4 duplicate hi-hat synth functions hardcoded to silent) — this bible entry corrects the queue, which still showed it awaiting?v=77verification. - Process note: none of the above was in this bible until now — today's design work lived only in
coordination/(a working log, not a reference doc) and nearly got lost. Added here specifically so it doesn't.
2026-09-03 — v0.10.1 Living Venue (Grok, unmerged)#
- Punched crowd-portrait alpha; player warm rim; floor-tell wind-ups; authored material windows; afternoon-to-sunset grade.
- Five crowd behavior families; 5×3 band pose sheet; faction props; diegetic HYPE tokens; worn merch as body pieces.
- Default run song is the 132 BPM five-stem
WRISTBAND STOMPwith continuous bar position through training/merch and a Set 2 mix lift. CC0 auditions kept.
2026-08-30 — v0.9.2 Cutout Chaos#
- Split miniature audience portraits into separately animated head, torso, arm, and leg crops so the crowd has joint lag instead of rigid whole-body bobbing.
- Hotfix v0.9.2A makes all overlapping paper parts opaque, lowers the cutout shadow, and gives four asynchronous pump/clap/headbang pose families distinct jump, sway, step, and limb clocks instead of a synchronized zombie bob.
- Increased side modules, floor marks, and atmosphere fragments while preserving the quiet combat center; added one rare seeded rear-crowd sickness gag.
- Verified C# build with zero warnings/errors and a clean headless Godot launch.
2026-08-30 — v0.9.1 Generated Festival / Collage Dolls#
- Replaced the fixed festival background in gameplay and attract mode with a fully seeded generated sky, skyline, stage, pit, tents, queue, and crowd ring.
- Added a collage sampler that maps seeded crops of the original arena painting onto generated buildings, stage/deck, modules, tents, gates, and floor patches.
- Rebuilt the procedural crowd as moving miniature original-character cut-outs with cropped bobble heads, generated limbs, phones, costumes, foreground depth, and music/event-driven reactions.
- Verified the complete fail-closed launcher: import exits, C# builds with zero warnings/errors, v0.9.1 starts headlessly, and the process exits normally.
2026-08-30 — v0.8.0 Procedural Punk Remaster#
- Rebuilt the demo contract around one 45-second Opening Set, banked training, a multi-buy/restock Merch Tent, a second 45-second Main Stage, and one Brute finale. Removed the Round-1 Brute contradiction and separated score, XP, and spendable HYPE.
- Added
FestivalDiorama.cs: a visible replayable seed now generates the venue name, palette, four rig grammars, motif, side modules, floor marks, weather, faction weighting, cameo, shop/reward rolls, and music-performance profile. - Made the attract screen, venue, Main Stage transformation, atmosphere, enemy touring accents/body variants, spawn bill, stage palette, and recorded-song section dynamics participate in the same seeded identity.
- Added multi-item merch shopping: three 20-HYPE slots remain available after a purchase, SOLD slots persist, unsold stock can be rerolled for escalating HYPE, and B / Esc starts Act Two.
- Mapped the checked-in run auditions to measured beat clocks, kept Main Stage music continuous through the Brute, and disabled bonuses on unmapped tracks.
- Verified
dotnet build MoshpitElite.sln: zero warnings and zero errors. Godot headless scene smoke completed without C# or scene errors; hands-on physical gamepad and audio-quality approval remain creator tests. - Replaced the launcher's hanging
--editor --quitasset step with Godot's dedicated--importone-shot mode; the verified import now completes and exits.
2026-08-28 (evening — music, kits, pit geography)#
- Locked Opening Act music theory: 132 BPM, 24 bars, E center, verse E–G / E–A with open punch on 3, chorus E–A–B–A open downstrokes, gang hits on 2 and 4, lead chant E–G–A–G. CC0 sequenced stems. No neural score.
- Recorded the combat-clock vs loop-seam Brute timing debt (45 s vs 43.6 s).
- Locked five Brotato-style kits (Yari, Lupita, Cheo, Nene, Izzy): same body, worn signature gear, real perks.
- Canonized the ten merch table, worn-body visual rule, Codex, HYPE × combo.
- Locked pit geography: stage north and living, crowd belt shoves, 1–3 s cinematics, ink-rim readability.
- Added Balatro / Slay the Spire / Revolution X steal-and-refuse list.
- Discarded orbiting merch planets, GH Live camera, card-game verbs, giant tape X.
- Added small-team working practices and
GROK_INDIE_PRACTICES.md(pad is QA, one feel change per test, fail-closed launcher, no architecture week).
2026-08-28#
- Created the living game bible.
- Captured the festival moshpit arena-survivor premise.
- Recorded stages, arenas, minibosses, opening act, headliner final boss, setup music, items, weapons, adult item themes, and song-linked mosh moves.
- Removed the alternate-dimension premise.
- Added Godot 4 as the recommended prototype engine.
- Added a focused-indie production recommendation and creative reference pillars: Blobfish, poncle, Brace Yourself Games, and selected combat lessons from id Software.
- Committed to Godot 4.7.2 .NET, C#, and Visual Studio Enterprise 2022.
- Set Steam as the storefront and Windows PC as the initial launch platform, with Steam Deck compatibility as an early secondary goal.
- Moved the entire project under
D:\_pre_2027\moshpit-gameand subsequently renamed the root toD:\_pre_2027\moshpit-elite. - Recorded a possible later web port and the architectural separation needed to keep it feasible despite Godot 4 C# lacking web export support.
- Adopted Moshpit Elite as the working title after a preliminary exact-name search found no obvious game or Steam listing. Formal clearance remains due.
- Defined the Pit Test, musical vertical slice, and measurable alpha criteria.
- Recorded the technical-bootstrap state at roughly 3-5% of alpha functionality and an initial 8-14 focused-week estimate for a tightly scoped alpha.
- Added the punk-festival cartoon art-direction proposal: TV-cartoon clarity, original character construction, zine/screen-print texture, limited neon color, and festival-flyer UI.
- Added late-night adult-animation, Superjail!, and former Biercade/Old San Juan reference principles plus explicit reference-safety rules.
- Recorded the Biercade Harlem Shake video's calm-to-chaos composition as a model for musical breakdowns and defined a two-state 16:9 style-frame test.
- Committed to controller-first, movement-only normal combat with automatic attacks and minimal menu buttons.
- Added generic Noise-Isolating Earbuds and the proposed Focus effect.
- Added licensing, integration, fallback, and fairness rules for possible future band music, brand collaborations, and optional DLC.
- Implemented Pit Test v0 with movement-only controller play, automatic combat, escalating enemies, health, knockback, hype scoring, death/restart, and a temporary beat-reactive visual pulse.
- Selected Godot's built-in audio system, synchronized Ogg music stems, WAV/QOA effects, and authored beat-map resources as the production audio direction.
- Defined MIDI and trackers as composition tools, limited procedural-audio uses, and a cautious Steam-aware generative-audio policy.
- Fixed the playtest launcher path and made it preserve an error code if Godot closes unexpectedly.
- Compared current free dynamic-music options and selected a Godot-native hybrid: synchronized stems for vertical remixing, interactive clips for horizontal resequencing, and a small project-owned C# music director. Recorded Resonate, AMP, G4 Audio, FMOD, and Wwise as evaluated alternatives rather than current dependencies.
- Expanded the item language around perfume/personal care, musician accessories, instrument families, synths/samplers, and stage equipment. Defined musical item lines with distinct mechanics and a possible authored connection to soundtrack stems.
- Added an access/status item line built from VIP passes, laminates, wristbands, stamps, drink tickets, setlists, and press credentials, including economy, scouting, gatekeeper-counter, and risk/reward hooks.
- Added body-based mosh melee (elbows, shoulder pushes, kicks, stomps, hair whips, and running bumps), with exaggerated reach driven by stored pit momentum rather than copied rubber-body powers.
- Added the provisional Soundcheck Incident and kinetic-resonance origin, while preserving "always absurdly strong" as an alternate explanation.
- Added high-level, reference-safe notes from Dorohedoro, Heavy Metal, and the Studio Mir/Netflix Devil May Cry adaptation, emphasizing muscular character variety, grimy adult-animation energy, and readable kinetic action.
- Defined Pit Test v0.1, Kinetic Soundcheck, as the next implementation: a 60–90 second elbow/body-push combat test with one brute, reactive scratch stems, and a single three-item choice.
- Generated and integrated the first original Moshpit Elite splash/title image, added a controller-friendly title screen, configured the Godot boot splash, and began translating the punk-flyer character language into the greybox arena.
- Added the first original scratch-audio pass: reproducibly synthesized 48 kHz drums, bass, distorted guitar, crowd/noise, impact, hurt, and defeat assets; a C# music director keeps stems synchronized and raises layers with pit intensity.
- Fixed title-screen controller entry by listening directly for A or Start from any joypad instead of relying only on Godot's generic UI-accept mapping.
- Rejected the robot/ghost-like procedural gameplay figures, added original human player idle/elbow sprites and a human gatekeeper sprite, and removed unexplained bullets in favor of automatic elbow arcs and crowd-pressure body pushes.
- Defined a hybrid animation approach: authored combat frames plus lightweight spring simulation for secondary motion, with full physics reserved for special moments.
- Added preloaded 0.16-second impact stingers with no input lock, explicitly rejected long cutscenes, and upgraded the scratch soundtrack to an eight-bar 140 BPM riff with a fifth synth layer plus elbow-whoosh and body-push effects.
- Marked Kinetic Soundcheck feature-complete for hands-on validation and defined Pit Test v0.2, Opening Act, around one item choice, a leg attack, authored song sections, and a Gatekeeper Brute payoff.
- Implemented the playable Opening Act v0.2 loop: automatic fourth-hit sweep kick, a three-choice merch break at 20 seconds, four adaptive song sections, Gatekeeper Brute spawn/charge/miniboss health at 45 seconds, victory/restart, controller pause, and master-volume adjustment.
- Replaced full-body sprite rotation with upright left/right facing, authored combat-pose swaps, subtle lean, and squash. Set a future animation-quality pass using reference-safe craft notes from Guilty Gear, Street Fighter III, and Cuphead.
- Rejected the first Brute draft because it visually inherited too much from the skinny gatekeeper. Version 2 establishes an intentionally different identity, silhouette, posture, face, hair, and palette.
- Established Git branch ownership and structured Codex/Grok handoffs. Integrated Grok's v0.3 QA work for quieter rate-limited pickup audio and clearer stale-build diagnostics, then resolved Brute-victory gem vacuum and controller pause behavior during frozen merch choices without adding another gameplay system.
- Built the v0.4 Festival World Pass as a connected spatial sequence: the title begins inside a humid Caribbean-night admission line outside worn venue walls; confirmation triggers a sub-one-second security-gate push-in; gameplay opens inside a layered live festival with a performing band, stage equipment, crowd ring, foreground spectators, haze, moving lights, parallax follow, beat pulse, and restrained camera zoom. These are atmosphere and depth layers, not cutscenes.
- Replaced the repetitive eight-bar scratch loop with an original 24-bar, 132 BPM recorded-sample rock arrangement. Its authored form is count-in, palm-muted verse, open power-chord chorus, half-time breakdown, drum fill, and final reprise. Rhythm-game accessibility and live-band structure are reference goals; no song, chart, interface, or protected material from Rock Band or Guitar Hero may be copied.
- Added Pit Test v0.2.1 Pit Momentum: authored elbow/kick phases, running bump, on-beat bonus, MusicDirector playback-time beat clock, item-specific stem bias, cologne scent rings, Drumstick echo hits, and VIP-attracted Merch Scalpers. Breakdown now orbits regular gatekeepers instead of only mixing stems louder.
- Replaced still-pose combat drawing with looping frame-by-frame sheets for player idle/run/elbow/kick and gatekeeper/brute walk, harvested from motion video of the existing original sprites. Added The Eternal Life of Goldman as a craft-only fluidity reference: always-alive silhouettes, overlapping hair/cloth/weight, smear follow-through. Identity stays Moshpit Elite.
- Replaced the oscillator scratch mix with sequenced recorded CC0 one-shots (drums, bass, guitar fifths, room hiss). No generative-music models. SFX are layered recorded hits and whooshes. Provenance lives in
assets/audio/library/PROVENANCE.md. Still a prototype bed, not a final song. - Added the Brotato / Ball x Pit addictive cadence to the Opening Act: HYPE gems drop on kills, a fast first level, stacking merch from an eight-item festival pool, one reroll, kill combos, magnet/vacuum, and spawn rate tied to song sections. Body combat stays movement-only; ricochet picks and synth notes are extra auto-attacks, not a brick-breaker clone.
- Wired Kenney CC0 casino chips, confirms, dice/shuffle, and firework bangs to gem pickups, level-ups, merch grabs, rerolls, combos, and victory, plus spark bursts on screen. Familiar gambling-dopamine audio, recorded not generated.