diff --git a/docs/vision.md b/docs/vision.md index ac37187..55c7e01 100644 --- a/docs/vision.md +++ b/docs/vision.md @@ -5,15 +5,17 @@ A focused, combat-first roguelite built around classic Final Fantasy-style party-vs-enemy battles, but with a rhythmic performance layer at the heart of every fight. Less: + - Guitar Hero - Note charts/lanes More: + - Turn-based RPG - build synergy / emergent gameplay - rhythmic combat -Feeling: +Feeling: A speedrunner playing Slay the Spire crossed with Expedition 33, driven by incredible backing tracks, expressive party builds, and fast call-and-response combat. @@ -21,11 +23,11 @@ A speedrunner playing Slay the Spire crossed with Expedition 33, driven by incre ## Design Pillars -Combat is built around "phrases" which guide the flow of combat seamlessly between planning and execution. +Combat is built around "phrases" which guide the flow of combat seamlessly between planning and execution. ### 1. Rhythm Enhances -Rhythm should feel additive, not busywork/reaction tax. +Rhythm should feel additive, not busywork/reaction tax. The difficulty is not in performing complex Guitar Hero-style note charts, rather it is matching your performance to your build, your party, enemies, and combat state. @@ -71,25 +73,25 @@ The ideal feeling is fast, confident decision-making under rhythmic momentum. ## Target Feel -* classic JRPG battle presentation -* roguelite build escalation -* rhythmic combat mastery -* Expedition 33-style timing and enemy reading -* Slay the Spire-style run decisions -* speedrunner-like flow -* party synergy as performance -* fights that feel like songs without being “pick a song” rhythm stages - -## Anti-feel - -* Guitar Hero with RPG damage numbers -* a pure action game -* a slow tactics game -* a menu-heavy JRPG -* a note highway memorization game -* a game where every single action demands precise timing -* a game where rhythm mastery invalidates build strategy -* a game where build strategy invalidates execution +- classic JRPG battle presentation +- roguelite build escalation +- rhythmic combat mastery +- Expedition 33-style timing and enemy reading +- Slay the Spire-style run decisions +- speedrunner-like flow +- party synergy as performance +- fights that feel like songs without being “pick a song” rhythm stages + +## Anti-feel + +- Guitar Hero with RPG damage numbers +- a pure action game +- a slow tactics game +- a menu-heavy JRPG +- a note highway memorization game +- a game where every single action demands precise timing +- a game where rhythm mastery invalidates build strategy +- a game where build strategy invalidates execution ## Core Combat Loop @@ -128,28 +130,28 @@ The beat system exists to make actions legible, authorable, and tunable. ## Composure -Enemies have Composure (stagger) meter. +Enemies have Composure (stagger) meter. This is the bridge between rhythm execution and RPG strategy. The player reduces enemy Composure by: -* perfect attacks -* parries -* interrupts -* exploiting recovery -* hitting weaknesses -* using job-specific tools -* answering enemy phrases correctly +- perfect attacks +- parries +- interrupts +- exploiting recovery +- hitting weaknesses +- using job-specific tools +- answering enemy phrases correctly When Composure breaks: -* enemy loses or delays its next phrase -* enemy takes bonus damage -* enemy exposes a vulnerability -* party gains Tempo -* certain job passives trigger -* combo routes open +- enemy loses or delays its next phrase +- enemy takes bonus damage +- enemy exposes a vulnerability +- party gains Tempo +- certain job passives trigger +- combo routes open This allows enemies to have rhythmic weaknesses. @@ -163,33 +165,33 @@ Tempo represents whether the party is in control of the performance. The party gains Tempo from: -* perfect actions -* exploiting recovery windows -* clean combo chains -* job synergies -* defeating enemies on beat -* maintaining streaks +- perfect actions +- exploiting recovery windows +- clean combo chains +- job synergies +- defeating enemies on beat +- maintaining streaks The party loses Tempo from: -* misses -* failed actions -* unguarded hits -* interrupted casts -* broken combo chains -* panic actions -* certain enemy attacks +- misses +- failed actions +- unguarded hits +- interrupted casts +- broken combo chains +- panic actions +- certain enemy attacks Tempo might power: -* job abilities -* emergency defenses -* extra actions -* ultimate attacks -* party assists -* rhythm window expansion -* gambit triggers -* relic effects +- job abilities +- emergency defenses +- extra actions +- ultimate attacks +- party assists +- rhythm window expansion +- gambit triggers +- relic effects Tempo should create emotional battle arcs. At high Tempo, the party feels unstoppable. At low Tempo, the player can still recover, but must play more carefully. @@ -199,20 +201,23 @@ Tempo should create emotional battle arcs. At high Tempo, the party feels unstop The game needs enough pressure to avoid detached over-planning. -Need to prototype different ideas here and see what works. +Need to prototype different ideas here and see what works. ## Characters A character has: -1. A *Job* -2. *Passive(s)* -A *Job* has: -1. *Stance(s)* +1. A _Job_ +2. _Passive(s)_ + +A _Job_ has: + +1. _Stance(s)_ -A *Stance* has: -- An *Ability* -- *Gambit(s)* +A _Stance_ has: + +- An _Ability_ +- _Gambit(s)_ ### Jobs @@ -221,28 +226,31 @@ Jobs provide abilities and gambits and can be upgraded. Jobs are the power miles ### Stances Stances are combat modes granting an ability and gambit(s). + - stances can be "swapped" in combat to cycle from a set of abilities to another -- swapping stances is an *action* with a cast time (usually short) +- swapping stances is an _action_ with a cast time (usually short) - swapping stances interrupts actions ### Passives -Innate, permanent effects. +Innate, permanent effects. ### Abilities -Abilities are *actions* that may be manually activated by the player. -- has a *cast time* (a "windup" period prior to *firing*) and *effect(s)* (the outcome of the ability, e.g. deals `5` damage) -- if cast time is `0`, the effect fires on the *beat* that the player activates it -- can either be tapped (single press) to cast immediately *or* held (hold button down) to begin casting and released to fire at a player-determined time +Abilities are _actions_ that may be manually activated by the player. + +- has a _cast time_ (a "windup" period prior to _firing_) and _effect(s)_ (the outcome of the ability, e.g. deals `5` damage) +- if cast time is `0`, the effect fires on the _beat_ that the player activates it +- can either be tapped (single press) to cast immediately _or_ held (hold button down) to begin casting and released to fire at a player-determined time - can be interrupted (by enemies and self via stance-swapping) - can be input buffered ### Gambits -Gambits are *actions* that cast automatically if no other action is casting -- may have *pre-requisites* before activating (e.g. `health` < 50%) -- can be interrupted +Gambits are _actions_ that cast automatically if no other action is casting + +- may have _pre-requisites_ before activating (e.g. `health` < 50%) +- can be interrupted --- @@ -280,15 +288,15 @@ Music should support readable timing, emotional momentum, and combat identity. Important principles: -* strong beat readability -* clear attack accents -* adaptive layering -* enemy phrases supported by instrumentation -* Tempo state reflected in music intensity -* boss phases reflected in arrangement -* perfect hits add musical punctuation -* misses create subtle disruption -* high Tempo creates richer mix layers +- strong beat readability +- clear attack accents +- adaptive layering +- enemy phrases supported by instrumentation +- Tempo state reflected in music intensity +- boss phases reflected in arrangement +- perfect hits add musical punctuation +- misses create subtle disruption +- high Tempo creates richer mix layers --- @@ -300,11 +308,11 @@ Co-op could work if each player controls one or more party members. The appeal: -* each player performs their character’s rhythm phrases -* party synergy becomes actual coordination -* one player guards while another casts -* one player sets up stagger while another bursts -* boss fights become ensemble performances +- each player performs their character’s rhythm phrases +- party synergy becomes actual coordination +- one player guards while another casts +- one player sets up stagger while another bursts +- boss fights become ensemble performances --- @@ -312,17 +320,17 @@ The appeal: Because rhythm and timing are core, accessibility needs to be considered early. -Ideas: - -* widen timing windows -* reduce planning pressure -* visual beat assist -* audio beat assist -* input latency calibration -* auto-guard assist -* simplified defensive mode -* reduce flash/VFX intensity -* practice mode for enemy phrases -* separate rhythm difficulty from strategic difficulty +Ideas: + +- widen timing windows +- reduce planning pressure +- visual beat assist +- audio beat assist +- input latency calibration +- auto-guard assist +- simplified defensive mode +- reduce flash/VFX intensity +- practice mode for enemy phrases +- separate rhythm difficulty from strategic difficulty The game should remain interesting when timing is easier, because build strategy, enemy reading, and resource management still matter.