๐ŸŽฎ Black Trigram (ํ‘๊ด˜) - Complete Controls Reference

April 28, 2026 ยท View on GitHub

๐Ÿ” ISMS Alignment: This document follows Hack23 Secure Development Policy documentation requirements.

Version: 0.7.32
Last Updated: 2026-04-21
Status: โœ… Production-Ready (13/13 combat realism systems ยท 100%)

This document is the single source of truth for all game controls in Black Trigram. It describes the currently implemented control scheme and clearly marks planned future enhancements.


๐Ÿ“‹ Quick Reference

Desktop Controls (Currently Implemented)

ActionKey(s)KoreanDescription
Stance 1 - โ˜ฐ Geon1๊ฑด (Heaven)Bone-striking force
Stance 2 - โ˜ฑ Tae2ํƒœ (Lake)Joint manipulation
Stance 3 - โ˜ฒ Li3๋ฆฌ (Fire)Precise nerve strikes
Stance 4 - โ˜ณ Jin4์ง„ (Thunder)Stunning techniques
Stance 5 - โ˜ด Son5์† (Wind)Continuous pressure
Stance 6 - โ˜ต Gam6๊ฐ (Water)Flow and adaptation
Stance 7 - โ˜ถ Gan7๊ฐ„ (Mountain)Defensive mastery
Stance 8 - โ˜ท Gon8๊ณค (Earth)Grounding techniques
Technique 1-10Q E R T Y F G Z X C๊ธฐ์ˆ  ์‹คํ–‰Execute archetype techniques (3-10 available)
MovementW A S D or Arrow Keys์ด๋™8-directional tactical positioning
AttackSpace๊ณต๊ฒฉExecute current stance technique
Block/GuardB๋ฐฉ์–ดDefensive positioning and blocks
Vital Points OverlayV๊ธ‰์†Œ ํ‘œ์‹œToggle anatomical targeting overlay
Pause MenuESC or M์ผ์‹œ์ •์ง€Pause game / Return to menu

โœ… NEW: Zero-Conflict Control Scheme (Current Version):

In v0.5.37, all currently implemented controls avoid conflicts: technique keys (Q-E-R-T-Y-F-G-Z-X-C) are positioned around WASD for easy reach with your left hand while keeping WASD free for movement.

  • Techniques (now): Use keys around WASD (Q, E, R, T, Y, F, G, Z, X, C)
  • Movement: WASD remains fully functional
  • No browser conflicts: No function keys or Ctrl shortcuts
  • Ergonomic: All keys within easy reach of left hand
  • โš ๏ธ Future Note: The planned Advanced Footwork System (NOT YET IMPLEMENTED) proposes using X for Swap Front Foot and Z for Short Step. In that future update, technique bindings for Z/X may be remapped to avoid conflicts; refer to this document's version header for the active scheme.

Mobile Controls (Touch Screen)

ControlLocationKoreanDescription
Virtual D-PadBottom-Left (200px from bottom)๊ฐ€์ƒ ๋ฐฉํ–ฅํ‚ค8-directional movement (140x140px)
Attack ButtonBottom-Right (200px from bottom)๊ณต๊ฒฉ ๋ฒ„ํŠผGold โšก button (80x80px)
Block ButtonBottom-Right (200px from bottom)๋ฐฉ์–ด ๋ฒ„ํŠผBlue ๐Ÿ›ก๏ธ button (70x70px)
Stance WheelRight-Center์ž์„ธ ์„ ํƒCircular 8-trigram selector (200px)
Swipe Right โ†’Anywhere์ „์ง„Advance toward opponent
Swipe Left โ†Anywhereํ›„ํ‡ดRetreat from opponent
Swipe Up โ†‘Anywhere์ƒ๋‹จ ๊ณต๊ฒฉHigh attack execution
Swipe Down โ†“Anywhereํ•˜๋‹จ ๊ณต๊ฒฉLow attack execution
Two-Finger TapAnywhere๊ธ‰์†Œ ๋ชจ๋“œToggle vital point targeting mode

๐Ÿ†• Enhanced Mobile Layout (v0.6.15+):

  • Improved Visibility: On-screen D-Pad and action buttons are positioned 200px from the bottom edge so they don't cover the combat arena.
  • TechniqueBar Positioning: TechniqueBar is positioned closer to the bottom edge at 20px (mobile) / 30px (desktop) to maximize arena visibility while remaining easily reachable.
  • No Overlap: Clear separation between TechniqueBar, on-screen mobile controls (D-Pad / action buttons), and the "Back to Menu" button.
  • Portrait Mode: Full functionality in vertical orientation
  • Touch Targets: Minimum 48px for accessibility compliance (WCAG 2.1 Level AA)
  • Z-Index Layering: On-screen mobile controls (z-index 50) > TechniqueBar (45) > HUD (40)

๐ŸŽฏ Detailed Control Specifications

1. Eight Trigram Stance System (ํŒ”๊ด˜ ์ฒด๊ณ„)

The core of Black Trigram combat is the Eight Trigrams stance system from the I Ching (ๆ˜“็ถ“). Each stance has unique combat properties and techniques.

โ˜ฐ 1: Geon (๊ฑด - Heaven)

  • Korean Name: ๊ฑด (Geon)
  • English: Heaven
  • Technique: ์ฒœ๋‘ฅ๋ฒฝ๋ ฅ (Thunder Strike)
  • Combat Focus: ๊ณจ๊ฒฉํƒ€๊ฒฉ (Bone-striking force)
  • Effects: Fractures, structural damage
  • Philosophy: Direct overwhelming power from above

โ˜ฑ 2: Tae (ํƒœ - Lake)

  • Korean Name: ํƒœ (Tae)
  • English: Lake
  • Technique: ์œ ์ˆ˜์—ฐํƒ€ (Flowing Strike)
  • Combat Focus: ๊ด€์ ˆ์กฐ์ž‘ (Joint manipulation)
  • Effects: Dislocations, mobility loss
  • Philosophy: Fluid redirection like water

โ˜ฒ 3: Li (๋ฆฌ - Fire)

  • Korean Name: ๋ฆฌ (Li)
  • English: Fire
  • Technique: ํ™”์—ผ์ง€์ฐฝ (Fire Spear)
  • Combat Focus: ์ •๋ฐ€์‹ ๊ฒฝํƒ€๊ฒฉ (Precise nerve strikes)
  • Effects: Temporary paralysis, numbness
  • Philosophy: Precise burning intensity

โ˜ณ 4: Jin (์ง„ - Thunder)

  • Korean Name: ์ง„ (Jin)
  • English: Thunder
  • Technique: ๋ฒฝ๋ ฅ์ผ์„ฌ (Lightning Strike)
  • Combat Focus: ๊ธฐ์ ˆ๊ธฐ๋ฒ• (Stunning techniques)
  • Effects: Disorientation, knockouts
  • Philosophy: Explosive shocking power

โ˜ด 5: Son (์† - Wind)

  • Korean Name: ์† (Son)
  • English: Wind
  • Technique: ์„ ํ’์—ฐ๊ฒฉ (Whirlwind Combo)
  • Combat Focus: ์ง€์†์••๋ฐ• (Continuous pressure)
  • Effects: Gradual incapacitation
  • Philosophy: Persistent grinding assault

โ˜ต 6: Gam (๊ฐ - Water)

  • Korean Name: ๊ฐ (Gam)
  • English: Water
  • Technique: ์ˆ˜๋ฅ˜๋ฐ˜๊ฒฉ (Flowing Counter)
  • Combat Focus: ์ ์‘๋ฐ˜๊ฒฉ (Adaptive counters)
  • Effects: Flow reversals, escapes
  • Philosophy: Adaptive formless response

โ˜ถ 7: Gan (๊ฐ„ - Mountain)

  • Korean Name: ๊ฐ„ (Gan)
  • English: Mountain
  • Technique: ๋ฐ˜์„๋ฐฉ์–ด (Rock Defense)
  • Combat Focus: ๋ฐฉ์–ด์ „๋ฌธ (Defensive mastery)
  • Effects: Blocks, deflections, counters
  • Philosophy: Immovable defensive positioning

โ˜ท 8: Gon (๊ณค - Earth)

  • Korean Name: ๊ณค (Gon)
  • English: Earth
  • Technique: ๋Œ€์ง€ํฌ์˜น (Earth Embrace)
  • Combat Focus: ์ง€๋ฉด์ œ์•• (Ground control)
  • Effects: Throws, takedowns, locks
  • Philosophy: Grounding and overwhelming mass

2. Archetype Technique System (๊ธฐ์ˆ  ์ฒด๊ณ„)

Implementation: Q-E-R-T-Y-F-G-Z-X-C keys execute archetype-specific combat techniques (3-10 per archetype)

Each player archetype has unique techniques that reflect their combat philosophy. These techniques are more powerful than basic attacks but require Ki and Stamina resources.

Technique Properties

  • Keyboard Shortcuts: Q E R T Y F G Z X C (up to 10 techniques)
  • Resource Cost: Varies by technique (8-35 stamina, 10-35 Ki)
  • Cooldown: 4-12 seconds depending on power level
  • Damage: 25-55 base damage (higher than basic attacks)
  • Stance Requirement: Some techniques require specific trigram stances
  • Zero Conflicts: Keys positioned around WASD for easy access without interfering with movement

Archetype Technique Examples

๋ฌด์‚ฌ (Musa) - Traditional Warrior
KeyTechniqueKoreanDamageCostStanceDescription
QThunder Strike์ฒœ๋‘ฅ๋ฒฝ๋ ฅ25-3530๐Ÿ”‹ 20โšกโ˜ฐ GeonStrike with power of heaven
TIron Defense์ฒ ๋ฒฝ๋ฐฉ์–ด0-520๐Ÿ”‹ 15โšกโ˜ถ GanImmovable defensive stance
EDragon Fist์šฉ๊ถŒ30-4035๐Ÿ”‹ 25โšกAnyPierce through with dragon's might
RMountain BreakerํŒŒ์‚ฐ๊ฒฉ35-5040๐Ÿ”‹ 30โšกโ˜ฐ GeonDevastating blow that shatters mountains
์•”์‚ด์ž (Amsalja) - Shadow Assassin
KeyTechniqueKoreanDamageCostStanceDescription
QShadow Strike์•”์˜๊ฒฉ20-3525๐Ÿ”‹ 20โšกโ˜ฒ LiStrike vital points with shadow speed
TNerve Strike์‹ ๊ฒฝํƒ€15-2530๐Ÿ”‹ 25โšกAnyParalyze with precise nerve strikes
EDeadly Precision์น˜๋ช…์ •๋ฐ€25-4535๐Ÿ”‹ 30โšกโ˜ฒ LiAttack critical points with perfect accuracy
RSilent Death๋ฌด์Œ์‚ด40-6045๐Ÿ”‹ 35โšกAnyDeliver a silent, lethal strike

Technique Execution Flow

  1. Select Stance (1-8) - Choose trigram stance for bonuses
  2. Check Resources - Ensure sufficient Stamina (๐Ÿ”‹) and Ki (โšก)
  3. Press Technique Key (Q-E-R-T-Y-F-G-Z-X-C) - Execute the technique
  4. Cooldown Period - Wait 4-12 seconds before reusing (varies by technique)
  5. Resource Regeneration - Stamina and Ki regenerate over time

Note: Only the first 10 techniques per archetype are assigned keyboard shortcuts. Additional techniques (if any) can be accessed via mouse/touch on the technique bar.

Technique UI Indicators

  • Technique Bar: Displays available techniques with icons and shortcuts
  • Green Indicator: Technique ready to use
  • Red Indicator: Insufficient resources or on cooldown
  • Cooldown Timer: Shows remaining time before technique available
  • Resource Costs: Displays ๐Ÿ”‹ stamina and โšก Ki requirements

โœ… Zero-Conflict Design

New Control Scheme Eliminates ALL Conflicts:

  • Q, E, R, T, Y: Top row keys around WASD
  • F, G: Middle row keys near left hand
  • Z, X, C: Bottom row keys under left hand
  • Result: No interference with WASD movement, no browser shortcuts, no function keys

Left Hand Layout:

[1][2][3][4][5][6][7][8]  โ† Stances
   [Q][W][E][R][T][Y]     โ† Techniques (Q,E,R,T,Y) + Movement (W)
    [A][S][D][F][G]       โ† Movement (A,S,D) + Techniques (F,G)
     [Z][X][C][V][B]      โ† Techniques (Z,X,C) + Vital Points (V) + Block (B)
      [Space]             โ† Attack

3. Movement Controls (์ด๋™ ์กฐ์ž‘)

3.1 Basic Movement

WASD or Arrow Keys - 8-directional movement

  • W / โ†‘: Forward | ์ „์ง„ (Jeonjin)
  • S / โ†“: Backward | ํ›„ํ‡ด (Hutoe)
  • A / โ†: Left | ์ขŒ (Jwa)
  • D / โ†’: Right | ์šฐ (U)
  • Diagonals: Combine keys for 45ยฐ angles | ๋Œ€๊ฐ์„  ์ด๋™ (Daegakseon Idong)

3.2 Tactical Steps (์ „์ˆ ๋ณด๋ฒ• - Shift+WASD)

Shift + WASD - Precise 30cm tactical repositioning (18 frames, 300ms)

Tactical steps execute committed footwork movements for positional advantage:

InputDirectionKoreanDistanceDuration
Shift+WForward Step์ „์ง„๋ณด๋ฒ•30cm300ms
Shift+SRetreat Stepํ›„ํ‡ด๋ณด๋ฒ•30cm300ms
Shift+ALeft Step์ขŒ์ธก๋ฉด๋ณด๋ฒ•30cm300ms
Shift+DRight Step์šฐ์ธก๋ฉด๋ณด๋ฒ•30cm300ms
Shift+W+AForward-Left์ „์ขŒ์ธก๋ณด๋ฒ•30cm300ms
Shift+W+DForward-Right์ „์šฐ์ธก๋ณด๋ฒ•30cm300ms
Shift+S+ABack-Leftํ›„์ขŒ์ธก๋ณด๋ฒ•30cm300ms
Shift+S+DBack-Rightํ›„์šฐ์ธก๋ณด๋ฒ•30cm300ms

Tactical Step Properties:

  • โœ… Non-interruptible: Committed movement (Priority 5)
  • โœ… Guard maintained: Fighting stance preserved
  • โœ… Stamina cost: 5 stamina per step
  • โœ… Precise distance: Exactly 30cm (one foot width)

3.3 Advanced Footwork Patterns (๋ณด๋ฒ• ์ฒด๊ณ„ - Ctrl+WASD)

Ctrl + WASD - Specialized Korean martial arts footwork patterns

Advanced footwork adds 4 distinct movement patterns for tactical combat positioning:

Circular Steps (์›ํ˜•๋ณด - Wonhyeongbo) โœ… IMPLEMENTED

Lateral movement while maintaining guard facing forward.

InputPatternKoreanDistanceDuration
Ctrl+ACircular Left์›ํ˜•๋ณด ์ขŒ30cm lateral300ms (18 frames)
Ctrl+DCircular Right์›ํ˜•๋ณด ์šฐ30cm lateral300ms (18 frames)

Circular Step Properties:

  • ๐ŸŽฏ Maintains guard facing: Body stays oriented toward opponent
  • โšก Non-interruptible: Committed footwork (Priority 5)
  • ๐Ÿฅ‹ Tactical advantage: Circle around opponent while keeping guard
  • ๐Ÿ“Š Same distance as tactical steps: 30cm movement
Slide Steps (๋ฏธ๋„๋Ÿผ๋ณด - Mikkeureombo) โœ… IMPLEMENTED

Both feet move together without weight transfer.

InputPatternKoreanDistanceDuration
Ctrl+WSlide Forward๋ฏธ๋„๋Ÿผ๋ณด ์ „30cm200ms (12 frames)
Ctrl+SSlide Back๋ฏธ๋„๋Ÿผ๋ณด ํ›„30cm200ms (12 frames)

Slide Step Properties:

  • ๐Ÿƒ Faster than tactical steps: 200ms vs 300ms
  • ๐Ÿ”„ Interruptible: Can be canceled (Priority 4)
  • โš–๏ธ Stable base: Both feet move together
  • ๐ŸŽฏ Good for spacing: Quick in/out without commitment
Pivot Rotations (์ถ•์กฑํšŒ์ „ - Chukjok Hoejeon) โณ PENDING CONTROLS

90ยฐ rotation on planted foot for angle changes.

InputPatternKoreanRotationDuration
Future EnhancementPivot Left์ถ•์กฑํšŒ์ „ ์ขŒ90ยฐ counter-clockwise250ms (15 frames)
Future EnhancementPivot Right์ถ•์กฑํšŒ์ „ ์šฐ90ยฐ clockwise250ms (15 frames)

Pivot Properties:

  • ๐Ÿ”„ Fast direction change: 90ยฐ rotation in 250ms
  • ๐ŸŽฏ Planted foot stays: One foot is pivot point
  • โšก Non-interruptible: Committed rotation (Priority 5)
  • ๐Ÿฅ‹ Tactical repositioning: Change facing without retreating
  • โš ๏ธ Status: Skeletal animations complete, keyboard controls pending
Shuffle Step (์„ž์Œ๋ณด - Seokkeumbo) โณ PENDING CONTROLS

Quick 15cm micro-adjustment for fine positioning.

InputPatternKoreanDistanceDuration
Future EnhancementShuffle์„ž์Œ๋ณด15cm omnidirectional100ms (6 frames)

Shuffle Properties:

  • โšก Fastest footwork: Only 100ms (6 frames)
  • ๐ŸŽฏ Micro-adjustment: Half the distance of other steps (15cm)
  • ๐Ÿ”„ Fully interruptible: Can cancel anytime (Priority 3)
  • ๐Ÿƒ Fine-tuning: Perfect for precise positioning
  • โš ๏ธ Status: Skeletal animations complete, keyboard controls pending
Footwork Pattern Comparison
PatternKoreanFramesDurationDistancePriorityInterruptibleUse Case
Tactical Step์ „์ˆ ๋ณด๋ฒ•18300ms30cm5โŒStandard repositioning
Circular์›ํ˜•๋ณด18300ms30cm5โŒLateral while maintaining guard
Pivot์ถ•์กฑํšŒ์ „15250ms90ยฐ5โŒFast angle changes โš ๏ธ Controls pending
Slide๋ฏธ๋„๋Ÿผ๋ณด12200ms30cm4โœ…Quick in/out spacing
Shuffle์„ž์Œ๋ณด6100ms15cm3โœ…Micro-adjustments โš ๏ธ Controls pending

Movement Control Philosophy:

  • Regular WASD: Continuous movement, no commitment
  • Shift+WASD: Tactical steps with commitment (30cm)
  • Ctrl+A/D: Circular footwork (lateral movement)
  • Ctrl+W/S: Slide footwork (quick spacing)
  • Note: Pivot and Shuffle controls TBD (animations ready, awaiting keybinding)

Current Implementation: Simple 8-directional movement on arena grid

KeysActionDescription
W or โ†‘Move Up/NorthMove one grid cell north
A or โ†Move Left/WestMove one grid cell west
S or โ†“Move Down/SouthMove one grid cell south
D or โ†’Move Right/EastMove one grid cell east
W+A or โ†–Move NorthwestDiagonal movement northwest
W+D or โ†—Move NortheastDiagonal movement northeast
S+A or โ†™Move SouthwestDiagonal movement southwest
S+D or โ†˜Move SoutheastDiagonal movement southeast

Movement Properties:

  • Speed varies by stance (fast stances: Geon/Son, slow stances: Gon/Jin)
  • Stamina cost: 5-7 per cell moved
  • Animation: 8-10 frames per movement
  • Boundaries: Octagonal arena with out-of-bounds detection

3. Combat Actions (์ „ํˆฌ ์กฐ์ž‘)

Attack (Space)

  • Key: Spacebar
  • Korean: ๊ณต๊ฒฉ (Gonggyeok)
  • Function: Execute the current stance's primary technique
  • Properties:
    • Damage determined by stance and vital point targeting
    • Stamina cost: 8-15 depending on technique
    • Animation frames: 12-20
    • Range: Melee (adjacent cells)
    • Can be blocked or parried

Block/Guard (B)

  • Key: B
  • Korean: ๋ฐฉ์–ด (Bang-eo)
  • Function: Enter defensive guard position
  • Properties:
    • Reduces incoming damage by stance-specific percentage
    • Stamina cost: 3 (tap) or 2/sec (hold)
    • Vital Resistance Bonus: +15-30% depending on stance
    • Best stances for blocking: Gan (Mountain), Gon (Earth)

4. Special Features (ํŠน์ˆ˜ ๊ธฐ๋Šฅ)

Vital Points Overlay (V)

  • Key: V
  • Korean: ๊ธ‰์†Œ ํ‘œ์‹œ (Geupso Pyosi)
  • Function: Toggle anatomical vital point overlay
  • Features:
    • Shows all 70 authentic vital points
    • Filter by severity (Lethal, Critical, Major, Moderate, Minor)
    • Filter by body region (Head, Torso, Arms, Legs)
    • Search by Korean or English name
    • Scale adjustment (0.5x - 2.0x)
    • Label toggle
    • Animation toggle

Pause/Menu (ESC or M)

  • Keys: ESC or M
  • Korean: ์ผ์‹œ์ •์ง€ (Ilsijeongji)
  • Function: Pause game or return to menu
  • Options in Pause Menu:
    • Resume (๋‹ค์‹œ ์‹œ์ž‘)
    • Restart Match (์žฌ์‹œํ•ฉ)
    • Return to Menu (๋ฉ”๋‰ด๋กœ ๋Œ์•„๊ฐ€๊ธฐ)
    • Audio Volume Controls

5. Mobile Touch Controls (๋ชจ๋ฐ”์ผ ํ„ฐ์น˜ ์กฐ์ž‘)

Black Trigram provides comprehensive touch controls optimized for mobile devices (375x667px and larger).

Virtual D-Pad (๊ฐ€์ƒ ๋ฐฉํ–ฅํ‚ค)

  • Location: Bottom-left corner
  • Size: 140x140px total, 48x48px buttons
  • Function: 8-directional movement
  • Safe Area: 34px from bottom for iOS/Android notches
  • Haptic Feedback: Light vibration (10ms) on direction press

Action Buttons (ํ–‰๋™ ๋ฒ„ํŠผ)

  • Location: Bottom-right corner
  • Attack Button:
    • Size: 80x80px
    • Icon: โšก (Gold)
    • Function: Execute stance technique
    • Haptic: Medium vibration (50ms)
  • Block Button:
    • Size: 70x70px
    • Icon: ๐Ÿ›ก๏ธ (Blue)
    • Function: Activate guard
    • Haptic: Medium vibration (50ms)

Stance Wheel (์ž์„ธ ํœ )

  • Location: Bottom-center
  • Size: 200px diameter when expanded
  • Function: Select one of 8 trigram stances
  • Layout: Circular with 8 trigram symbols
  • Activation: Tap to expand, tap symbol to select
  • Korean Names: ๊ฑด ํƒœ ๋ฆฌ ์ง„ ์† ๊ฐ ๊ฐ„ ๊ณค
  • Haptic: Light vibration (10ms) on selection

Gesture Controls (์ œ์Šค์ฒ˜ ์กฐ์ž‘)

  • Swipe Right (โ†’): Advance/forward dash
  • Swipe Left (โ†): Retreat/backward dash
  • Swipe Up (โ†‘): High attack/jump attack
  • Swipe Down (โ†“): Low attack/sweep
  • Two-Finger Tap: Toggle vital point overlay

Mobile Haptic Feedback

  • Light (10ms): Menu navigation, D-pad movement
  • Medium (50ms): Attack execution, block activation
  • Heavy (100ms): Critical hits, vital point strikes, match events

๐Ÿšง Future Control Enhancements (Planned)

The following controls are documented in game-design.md but NOT YET IMPLEMENTED. They are planned for future releases.

Advanced Footwork System (PLANNED)

Swap Front Foot (X)

  • Status: ๐Ÿšง Not Implemented
  • Key: X
  • Function: Mirror stance by swapping which foot is forward
  • Properties:
    • Stamina cost: 2
    • Frames: 6
    • No position change
    • Changes attack/defense angles

Short Step (Z + Arrow)

  • Status: ๐Ÿšง Not Implemented
  • Keys: Z + Direction Arrow
  • Function: Move one cell while keeping current front foot forward
  • Properties:
    • Stamina cost: 5
    • Frames: 10
    • No auto-pivot
    • Maintains attack angle

Step & Swap (X + Arrow)

  • Status: ๐Ÿšง Not Implemented
  • Keys: X + Direction Arrow
  • Function: Mirror foot, then move one cell
  • Properties:
    • Stamina cost: 10
    • Frames: 14
    • Changes both position and foot
    • Full orientation change

Advanced Attack System (PLANNED)

Directional Attacks (PLANNED)

  • Space + โ†‘: Front-leg kick (12 stamina, 16 frames)
  • Space + โ†: Front-elbow strike (10 stamina, 14 frames)
  • Space + โ†“: Front-knee strike (10 stamina, 14 frames)
  • Space + โ†’: Back-hand strike (9 stamina, 13 frames)

Rotational Backcast (PLANNED)

  • Keys: Space then โ†“ in same frame
  • Function: 180ยฐ pivot + spinning back strike
  • Properties:
    • Stamina cost: 15
    • Frames: 20 (10 pivot + 10 strike)
    • Full position reversal

Queued Attacks (PLANNED)

  • Keys: Hold Space+Arrow during movement
  • Function: Queue attack to execute immediately after movement lands
  • Properties:
    • Reduces reaction time
    • Enables smooth combos

โš™๏ธ Control Customization

Current State

  • Controls are hardcoded with defaults defined in src/utils/controlMapping.ts
  • No in-game customization UI currently available
  • LocalStorage persistence implemented but not exposed to users

Planned Customization Features

  • In-game control remapping UI
  • Preset control schemes (Classic, FPS-style, Fighting Game)
  • Gamepad support with customization
  • Control conflict detection and resolution
  • Export/import control configurations

๐ŸŽฎ Control Design Philosophy

Principles

  1. Accessibility First: All actions available via keyboard, mouse, touch, and gamepad
  2. No Hidden Inputs: All controls clearly documented and discoverable
  3. Muscle Memory: Consistent key positions across all screens
  4. Cultural Respect: Korean terminology and philosophy integrated authentically
  5. 60fps Responsive: All inputs processed at 60Hz with minimal latency

Korean Martial Arts Integration

  • 8 Stances based on I Ching trigrams (ํŒ”๊ด˜)
  • 70 Vital Points from Korean martial arts anatomy (๊ธ‰์†Œ)
  • Authentic Techniques with Korean and English names
  • Philosophy-Driven: Each stance embodies a natural element's combat principle

๐Ÿ“ฑ Platform-Specific Notes

Desktop

  • โœ… Full keyboard support
  • โœ… Mouse support for menus
  • โš ๏ธ Gamepad support planned but not implemented
  • Target: 60fps at 1920x1080

Mobile

  • โœ… Touch controls (375x667px minimum)
  • โœ… Gesture recognition
  • โœ… Haptic feedback
  • โœ… Safe area aware (iOS/Android notches)
  • Target: 30-60fps on mid-range devices

Tablet

  • โœ… Touch controls scaled for larger screens
  • โœ… Landscape and portrait modes
  • โš ๏ธ Stylus support planned
  • Target: 60fps at 1024x768+

๐Ÿงช Testing Controls

Manual Testing Checklist

  • All 8 stances accessible via 1-8 keys
  • WASD and Arrow keys both work for movement
  • Spacebar executes attacks in all stances
  • B key activates block in all stances
  • V key toggles vital points overlay
  • ESC and M both open pause menu
  • Mobile D-pad responds to all 8 directions
  • Mobile attack/block buttons responsive
  • Mobile stance wheel selects all 8 stances
  • Gesture recognition works (swipes, two-finger tap)
  • Haptic feedback triggers correctly

Automated Testing

  • Control mapping tests: src/utils/controlMapping.test.ts
  • Keyboard controls tests: src/hooks/useKeyboardControls.test.ts
  • Combat controls tests: src/components/combat/components/CombatControlsPanel.test.tsx
  • Mobile controls tests: src/components/mobile/ActionButtons.test.tsx

๐Ÿ“– References

Code Implementation

  • Control Mapping: src/utils/controlMapping.ts
  • Combat Controls: src/systems/types.ts (line 744: COMBAT_CONTROLS)
  • Keyboard Hooks: src/hooks/useKeyboardControls.ts
  • Mobile Controls: src/components/mobile/*
  • Controls Screen: src/components/screens/controls/ControlsScreen3D.tsx

Documentation

  • Game Design: game-design.md (lines 939-1133: Combat Controls & Stamina)
  • README Controls: README.md (lines 213-287: Combat Controls section)
  • Game Status: game-status.md (Overall implementation: 7.9/10)

Testing

  • E2E Controls Test: cypress/e2e/screens/controls-screen.cy.ts
  • Combat Screen Test: cypress/e2e/screens/combat-screen.cy.ts
  • Unit Tests: Multiple files in src/ directories

๐Ÿ“ Version History

VersionDateChanges
0.5.44Jan 2026โœ… FIXED: Arrow key bug - ArrowUp now moves UP, ArrowDown moves DOWN (inverted forward mapping). Enhanced ControlsScreen with complete documentation including techniques, movement, and special features.
0.5.37Jan 2026Zero-conflict control redesign: Technique keys changed from Q-W-E-R-T-Y-U-I-O-P to Q-E-R-T-Y-F-G-Z-X-C to eliminate WASD movement conflicts
0.5.37Jan 2026Initial comprehensive controls documentation
0.5.36Dec 2025Vital points overlay (V key) implemented
0.5.30Nov 2025Mobile touch controls complete
0.5.20Oct 2025Eight trigram stances finalized

๐Ÿ’ก Tips for Players

Combat Effectiveness

  • Master Stances: Each trigram has strengths against specific body regions
  • Mix Movement: Don't just face-tank - positioning matters
  • Block Timing: Tap B right before impact for bonus resistance
  • Vital Points: Press V to study anatomy and target critical zones
  • Stance Cycling: 1-8 keys cycle quickly - find your flow

Mobile Players

  • Two-Handed: Use D-pad with left thumb, buttons with right
  • Swipe Combos: Combine swipes with button taps for variety
  • Stance Wheel: Master quick taps - don't hold the wheel open
  • Haptics: Feel the feedback - it tells you when inputs register

ํ‘๊ด˜์˜ ๊ธธ์„ ๊ฑธ์–ด๋ผ - Walk the Path of the Black Trigram

๐Ÿฅ‹ Master the controls. Master the combat. Master the art. ๐Ÿฅ‹