77 sections12,626 words Source: GAME_BIBLE.mdUpdated 11 Sep 2026

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#

3. Run Structure#

Current playable demo progression:

  1. Attract / festival arrival: choose one of five kits while the seeded festival bill, venue, weather, and live-mix profile are announced.
  2. Opening Set: one uninterrupted 45-second golden-hour fight. XP levels bank rather than interrupting combat.
  3. Set Clear: a readable ≤1.55-second result vignette.
  4. Training: resolve every banked body-stat level in sequence while combat remains frozen and the music/venue continue.
  5. Merch Tent: spend HYPE on as many 20-HYPE items as the wallet allows, optionally restock the unsold slots, then deliberately continue.
  6. Main Stage: a second 45-second sunset set with a transformed version of the same seeded venue and a harder faction bill.
  7. Brute Finale: one stage-lip Brute arrives at 36.36 seconds; kicks break the guard while elbows primarily shove.
  8. 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#

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:

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#

  1. Enter a compact moshpit arena as a song or set begins.
  2. Move, attack, dodge crowd hazards, and use moshpit techniques.
  3. Defeat waves and survive changes synchronized with the music.
  4. Gain currency, experience, or crowd energy while moshing.
  5. Unlock or upgrade weapons, items, stats, and special moves.
  6. Prepare between songs, then face a harder set or boss.
  7. Assemble a build capable of defeating the headliner.

5. Music and Beat Interaction#

Music should have mechanical consequences. Candidate systems include:

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.

Tempo132 BPM, 4/4
Duration24 bars × 4 beats = 43.636 s (bar ≈ 1.818 s, beat ≈ 0.455 s)
Key centerE (power-chord / pentatonic; MIDI root 40 = E2)
FeelFestival punk: palm-muted verse, open-downstroke chorus, gang hits
Stemsdrums, bass, guitar, crowd/choir, lead/texture — 48 kHz, same zero, same length
PolicyNo generative soundtrack. No live-band impersonation. Human-authored patterns.

Form (bars, 0-indexed):

BarsNameHarmony (roots)What the ear should catch
0Count-in(silence in band)Four sticks, kick on 4
1–7Verse / warm-upE–G / E–A (I–♭III / I–IV), two-bar loopMuted 8ths, open punch on beat 3 — the riff
8–15Chorus / opening actE–A–B–A (I–IV–V–IV)All-open 8th downstrokes, kick on every beat
16–19BreakdownE E C D, half-timeAir. Kick 1, snare 3
20–23RepriseChorus againSame 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):

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 clockSong
Warm-up time < 14.5Count-in + verse
Opening act 14.5–29Chorus
Breakdown 29 until BruteBreak + reprise + loop seam
Brute BossAt = 451.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.

Dynamic-Music Technology Review (2026-08-28)#

The current choice is a Godot-native hybrid with no external middleware:

Free alternatives evaluated:

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:

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.

KitRoleAlways-on lookStarterPerk
YariThe punkPink tips (base sheet)NonePit Blood: wider on-beat window; combos last longer
LupitaThe barbackCyan towel + drink ticketsTwo Drink TicketsOpen Bar: weak scent ring even with 0 cologne; extra merch reroll; softer elbows; faster
CheoThe stagehandYellow cap + pedal at feetFeedback PedalGet Hit Get Loud: taking damage always pops a blast; more HP; slower
NeneThe DJHeadphones + synthPocket SynthIn The Mix: seeking notes always on; frail HP
IzzyThe listVIP lanyardBent VIP PassGuest 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:

Each move should have a distinct tactical identity rather than being only a different damage animation.

7. Items and Upgrades#

Confirmed item themes:

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:

Working examples, not yet balance-locked (future lines still open):

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).

IdNameLineBody slot (always, not orbit)Effect
0Splintered DrumstickDrumHitting handFaster hits + echo strike; lifts drums
1Questionable ColognePersonal-careHipScent ring / bigger push; lifts crowd
2Bent VIP PassAccessChest lanyard+HP / Brute armor / attracts scalpers
3Last Pick in the PocketGuitarWrist / waistRicochet picks
4Feedback PedalGuitarFeetGet hit, release a blast
5Noise-Isolating EarbudsPersonal-careHeadWider beat window + gem magnet
6Two Drink TicketsAccessPocketHeal + move speed
7Pocket SynthSynthShoulder / hipSeeking arpeggio notes; lifts synth
8Patch CableStage-techOver shoulderPicks chain + extra bounce
9Warm EnergyConsumableBeltSip 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.

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:

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.

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:

These are working concepts, not locked names or final factions.

Canon Opening-Act Cast#

RoleReadBehavior
GatekeeperAnxious skinny scene-snobRushes the pit; circles during breakdown
Merch ScalperFast magenta pestAttracted by VIP; weak; Guest List pays extra
Clipboard CaptainYellow, thicker, slowerMiddle-management gatekeeper; wants the pit to behave
Gatekeeper BruteHuge 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 ropeMiniboss. Enters from the stage lip. Resists light knockback. Wind-up charge (intent). Current clock 45 s. Vacuum HYPE on death

9. Bosses#

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:

  1. 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.
  2. Set Clear (≤1.55 s): combat is atomically cleared, loose HYPE is banked, the player heals +32, and performance results are readable.
  3. Training: every earned XP level becomes one of three stat choices. These are body training, not merchandise, and no enemy or timer moves underneath.
  4. 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.
  5. Main Stage (45 s): the same generated venue opens its stage wings, deepens toward sunset, increases atmosphere, and runs a denser faction bill.
  6. 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.
  7. 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.

  1. 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.
  2. 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.
  3. Merch / food / recovery stall. Spend the set reward on multiple shop purchases, restock unsold slots, or save HYPE and continue.
  4. 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:

ComboAssistReadable action
5Crowd SurfA lifted body travels from the back of the pit toward the stage and clears a narrow vertical route.
10+Linked ArmsThree dancers sweep side-to-side and make a horizontal lane through weak enemies.
20Future Stage DiveReserve 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:

PickupImmediate game effectCost / visual consequence
Cannabis GummiesSteady small heal; crowd shove has less force for one setMovement and attack recovery become slightly sluggish
Empathy Tab (MDMA-style fiction)Nearby weak enemies hesitate and contribute HYPE instead of attacking for a short windowAfter the effect, HYPE gain is reduced until the next break
Mystery Mushroom CapLocal action slows: enemy movement/projectiles slow while the player retains normal controlHallucinated 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:

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

Cinematics#

Story lives inside play. More than one second, never more than three.

BeatLengthRule
Clear security~2.45 sQueue → 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 sLetterbox. Brute walks off the stage lip. Player frozen. Kick/impact sting
Victory vacuum~2.2 sGems finish, then the card

No cutscenes. No Guitar Hero camera flip.

11. Tone and Presentation#

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:

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.

Reference-Safety Rules#

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 slotCandidate fileTrack
Warm-upwarmup_rock_city_ransom.oggRock City Ransom Revised
Side Stageside_stage_downtown_destruction.oggDowntown Destruction
Main Stagemain_stage_plutonian_thrash.oggPlutonian Thrash
Headlinerheadliner_hammer_berserker.oggHammer 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:

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:

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#

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#

14. Decisions Needed#

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.

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:

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:

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#

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:

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.

15. Discarded / Reconsider Later#

16. Change Log#

2026-09-17/18 — Design day: AI Director, Festival Multiverse, Co-op spec (Claude)#

2026-09-03 — v0.10.1 Living Venue (Grok, unmerged)#

2026-08-30 — v0.9.2 Cutout Chaos#

2026-08-30 — v0.9.1 Generated Festival / Collage Dolls#

2026-08-30 — v0.8.0 Procedural Punk Remaster#

2026-08-28 (evening — music, kits, pit geography)#

2026-08-28#