Korean Martial Arts Combat Simulator — Eight Trigrams · 70 Vital Points · 51 Authentic Techniques
어둠의 무예로 완벽한 일격을 추구하라 — "Master the dark arts through the pursuit of the perfect strike"
"어둠 속에서 완벽한 일격을 찾아라" — "In darkness, seek the perfect strike."
Authentic Korean martial arts deserve more than a flashy combo system. Black Trigram (흑괘) is the cultural-tech sister project to Riksdagsmonitor and EU Parliament Monitor in the Hack23 portfolio: where those projects apply structured intelligence tradecraft to democratic transparency, Black Trigram applies the same engineering rigor to combat simulation — turning the I Ching's Eight Trigrams (☰☱☲☳☴☵☶☷), 70 anatomically-precise vital points (급소) across 4 body regions and 14 TCM meridians, and 51 traditional techniques into a typed, testable, deterministic, accessible, browser-first Korean martial arts simulator.
It is a complete 13/13 combat-realism platform — body-part health, vital-point targeting, enhanced anatomy, visual feedback, pain response, consciousness levels, breathing disruption, trauma visualization, balance/vulnerability, combat-readiness HUD, injury-based movement, bone-impact audio, and counter-attack AI with limb-exposure detection — running at 60fps on desktop and 55fps+ on mobile, validated across 518 tests (372 unit + 146 new), with 75%+ coverage, WCAG 2.1 AA accessibility, and full OWASP / OSSF / SLSA 3 supply-chain hardening.
| Pillar | What it means in this project |
|---|---|
| 🥋 Cultural Authenticity | Hangul + Revised Romanization + meaning for every term. 51 techniques sourced from Hapkido, Taekwondo, Taekkyeon, Kuk Sool Won, Tang Soo Do, Hwa Rang Do, Gumdo, Ssireum, Subak, Yudo, Gongkwon Yusul. 127 medical references underpin the 70 vital points. |
| 🎯 Anatomical Precision | 70/70 vital points, 4 body regions, 5 severity levels, 14 TCM meridians, 28-bone skeletal animation, 7 hand poses, 4 grappling states. Counter-attack AI with limb-exposure detection. |
| ⚙️ Engineering Rigor | TypeScript strict mode, React 19, Three.js 0.184, R3F 9, Drei 10, Vite 8 — 60fps desktop, 55fps+ mobile, 75%+ test coverage, 518 tests, deterministic combat math. |
| 🔐 Radical Transparency | Frontend-only · zero backend · zero PII · public ISMS · CodeQL · ZAP DAST · Lighthouse · OSSF Scorecard · SLSA 3 attestations · CycloneDX SBOM. |
📊 Production-readiness snapshot (v0.7.32) — see game-status.md and ARCHITECTURE.md:
| Metric | Value | Source |
|---|---|---|
| Product version | 0.7.32 | package.json |
| Overall quality | 9.4 / 10 — Production-Ready | game-status.md |
| Combat realism systems | 13 / 13 (100%) | game-status.md |
| Vital points | 70 / 70 (4 regions · 5 severity · 14 TCM meridians · 127 medical refs) | game-status.md |
| Trigram stances | 8 / 8 | game-status.md |
| Player archetypes | 5 / 5 | game-status.md |
| Techniques | 51 across 4 categories | game-status.md |
| Skeletal animation | 28 bones · 7 hand poses · 4 grappling states | game-status.md |
| Tests passing | 518 (372 + 146 new) | game-status.md |
| Test coverage | ~75% (target 80%+) | game-status.md |
| Performance | 60fps desktop · 55fps+ mobile (validated) | performance-testing.md |
| Accessibility | WCAG 2.1 AA | accessibility-test.yml |
| Last architecture review | 2026-04-21, Architecture v2.1 | ARCHITECTURE.md |
The published game is the audience-facing companion to this open-source TypeScript / React Three Fiber package. Bookmark these entry points:
|
|
🎮 Live Game — blacktrigram.com The production WebGL build. Eight Trigram stances, 70 vital points, 5 fighter archetypes, full 3D skeletal combat. Hardware-accelerated Three.js · 60fps desktop, 55fps+ mobile · WCAG 2.1 AA accessibility · keyboard, mouse, touch, and gesture controls. Hosted from AWS CloudFront + S3 (multi-region) with Route 53 health-checked DNS failover to GitHub Pages. |
|
|
📘 TypeDoc API Reference Strict TypeDoc output covering every public type, interface, hook, component, and system: Eight Trigram philosophy, vital-point system (all 70 points), combat math (damage / accuracy / counter-attack), 5 archetypes, audio engine, and Korean–English bilingual JSDoc. Strict notDocumented:true validation drives 100% public-API coverage.
|
|
|
🛡️ Security Architecture Trust boundaries, browser-only sandbox model, CSP, SRI, no-PII data flows, cryptography choices, supply-chain controls (OSSF Scorecard, SLSA 3, SBOM, Dependabot, CodeQL, ZAP). Aligned with Hack23 Information Security Policy and Secure Development Policy. |
|
|
🎯 STRIDE Threat Model STRIDE-per-trust-boundary analysis with MITRE ATT&CK mapping, attack trees for the most likely abuse paths (e.g. dependency injection, supply-chain compromise, XSS via user-uploaded content — none accepted), and explicit residual-risk acceptance. Aligned with Hack23 Threat Modeling Policy. |
|
|
🗺️ Roadmap to v1.0 (Q3 2026) Production-Ready release plan. Combat realism complete (13/13). Remaining: training-mode polish, Korean localization to 100%, mobile performance budget tightening, v1.0.0-rc validation. See also VISION_2026_2034.md for the 8-year strategic plan and FUTURE_ARCHITECTURE.md for the post-v1.0 architecture. |
|
|
📊 Comprehensive Status Report Source-of-truth metrics: 13/13 combat realism, 70/70 vital points, 28-bone skeletal animation, 51 techniques, 518 tests, 75%+ coverage, 60fps / 55fps+ mobile. Updated 2026-04-21 alongside ARCHITECTURE.md and THREAT_MODEL.md. |
|
|
📦 npm: blacktrigramReusable game systems, combat mechanics, animation framework, and Korean martial arts data, published as ESM with strict TypeScript types. Subpath exports: blacktrigram/systems, /types, /audio, /utils, /components, /hooks, /data. Each release ships with an SLSA 3 provenance attestation and a CycloneDX SBOM.
|
|
|
🤖 Ask DeepWiki AI-indexed knowledge base over the entire Black Trigram repository. Best for natural-language deep-dives into combat math, archetypes, vital-point algorithms, animation rigging, or Three.js performance choices. |
The combat loop is fully deterministic, frame-accurate, and side-effect-isolated. Player input is normalised, fed through the active trigram stance, validated against vital-point geometry, scored for damage, and rendered in Three.js — all within a single 16.6 ms frame budget.
classDef korean fill:#000000,stroke:#FFD700,color:#FFD700,stroke-width:2px
classDef tech fill:#001a1a,stroke:#00FFFF,color:#00FFFF,stroke-width:2px
classDef combat fill:#1a0000,stroke:#FF6B6B,color:#FF6B6B,stroke-width:2px
class A,J tech
class B,C,D korean
class E,F,G,H,I combat</div><div class="mermaid light">%%{init:{"theme":"default"}}%%
flowchart LR A[🎮 Input<br/>Keyboard · Touch · Gesture] --> B[☯️ Trigram Stance<br/>건태리진손감간곤] B --> C[🦴 Skeletal Pose<br/>28 bones · 7 hand poses] C --> D[🎯 Vital-Point Targeter<br/>70 points · 4 regions · 14 meridians] D --> E[⚔️ Damage Calculator<br/>severity · accuracy · archetype bonus] E --> F[🩸 Body-Part Health<br/>pain · consciousness · breathing · balance] F --> G[🤖 Counter-Attack AI<br/>limb-exposure detection] G --> H[🎨 Three.js Render<br/>60fps · trauma · particles · shaders] F --> I[🔊 Audio Engine<br/>bone impact · breath · 국악] H --> J[♿ WCAG 2.1 AA HUD<br/>combat readiness · haptics] I --> J
classDef korean fill:#000000,stroke:#FFD700,color:#FFD700,stroke-width:2px
classDef tech fill:#001a1a,stroke:#00FFFF,color:#00FFFF,stroke-width:2px
classDef combat fill:#1a0000,stroke:#FF6B6B,color:#FF6B6B,stroke-width:2px
class A,J tech
class B,C,D korean
class E,F,G,H,I combat</div><pre><code class="language-mermaid">flowchart LR
A[🎮 Input<br/>Keyboard · Touch · Gesture] --> B[☯️ Trigram Stance<br/>건태리진손감간곤]
B --> C[🦴 Skeletal Pose<br/>28 bones · 7 hand poses]
C --> D[🎯 Vital-Point Targeter<br/>70 points · 4 regions · 14 meridians]
D --> E[⚔️ Damage Calculator<br/>severity · accuracy · archetype bonus]
E --> F[🩸 Body-Part Health<br/>pain · consciousness · breathing · balance]
F --> G[🤖 Counter-Attack AI<br/>limb-exposure detection]
G --> H[🎨 Three.js Render<br/>60fps · trauma · particles · shaders]
F --> I[🔊 Audio Engine<br/>bone impact · breath · 국악]
H --> J[♿ WCAG 2.1 AA HUD<br/>combat readiness · haptics]
I --> J
classDef korean fill:#000000,stroke:#FFD700,color:#FFD700,stroke-width:2px
classDef tech fill:#001a1a,stroke:#00FFFF,color:#00FFFF,stroke-width:2px
classDef combat fill:#1a0000,stroke:#FF6B6B,color:#FF6B6B,stroke-width:2px
class A,J tech
class B,C,D korean
class E,F,G,H,I combat</code></pre></div>
See COMBAT_ARCHITECTURE.md for the full pipeline (3,300+ lines), FLOWCHART.md for business / combat process flows, and STATEDIAGRAM.md for the complete state machine.
Black Trigram is a realistic Korean martial arts simulator that teaches authentic vital-point combat through precise anatomical targeting. Master traditional techniques via modern 3D combat mechanics across 5 distinct fighter archetypes.
|
🎯 정격자 |
⚔️ 비수 |
🥷 암살자 |
💀 급소격 |
Master combat through 5 distinct fighting philosophies — each with unique vital-point bonuses, archetype-specific techniques, and signature visual effects:
| Archetype | Korean / English | Combat Philosophy | Special Focus |
|---|---|---|---|
| 🏯 | 무사 (Musa) · Traditional Warrior | Honor through strength | Military discipline, overwhelming force |
| 🥷 | 암살자 (Amsalja) · Shadow Assassin | Efficiency through invisibility | Stealth approaches, instant takedowns |
| 💻 | 해커 (Hacker) · Cyber Warrior | Information as power | Environmental manipulation, tech-assisted strikes |
| 🕵️ | 정보요원 (Jeongbo Yowon) · Intelligence Operative | Knowledge through observation | Psychological manipulation, precise timing |
| ⚡ | 조직폭력배 (Jojik Pokryeokbae) · Organized Crime | Survival through ruthlessness | Dirty fighting, improvised weapons |
Master 70 authentic vital points (급소) distributed across the I Ching's eight trigrams. Each stance shapes the active hitbox geometry, technique pool, defensive posture, and audio profile:
| Trigram | Korean / Meaning | Combat Focus | Combat Effects |
|---|---|---|---|
| ☰ | 건 (Geon) — Heaven | Bone-striking force | Fractures, structural damage |
| ☱ | 태 (Tae) — Lake | Joint manipulation | Dislocations, mobility loss |
| ☲ | 리 (Li) — Fire | Precise nerve strikes | Temporary paralysis, numbness |
| ☳ | 진 (Jin) — Thunder | Stunning techniques | Disorientation, knockouts |
| ☴ | 손 (Son) — Wind | Continuous pressure | Gradual incapacitation |
| ☵ | 감 (Gam) — Water | Blood-flow restriction | Circulation disruption |
| ☶ | 간 (Gan) — Mountain | Defensive counters | Counter-attacks, blocks |
| ☷ | 곤 (Gon) — Earth | Ground techniques | Throws, takedowns |
Built for combat realism, 60fps performance, and production-grade engineering:
VitalPointTargeter — Interactive 70-point anatomical targeting with polygon-based zone detectionCombatTracker — Real-time damage, pain, consciousness, breathing, and balance monitoringTechniqueCalculator — Deterministic damage / accuracy / counter-attack math (51 techniques)CombatAnalyzer — Post-match technique-effectiveness analysisThreeJSRenderer — Hardware-accelerated 3D combat visualization with skeletal animation (28 bones)CounterAttackAI — Archetype-aware riposte system with limb-exposure detection📖 Full reference:
CONTROLS.md— single source of truth for all keyboard, mouse, touch, gesture, and haptic controls.
WASD / Arrow Keys — 8-directional tactical positioning1–8 (Eight Trigrams)
1 ☰ Geon (Heaven) — bone-striking force2 ☱ Tae (Lake) — joint manipulation3 ☲ Li (Fire) — precise nerve strikes4 ☳ Jin (Thunder) — stunning techniques5 ☴ Son (Wind) — continuous pressure6 ☵ Gam (Water) — adaptive counters7 ☶ Gan (Mountain) — defensive mastery8 ☷ Gon (Earth) — ground controlB — defensive positioning and blocksSpace — execute current stance techniqueV — toggle 70-point anatomical targeting overlayESC / M — pause menu / return to introIn-depth technical and cultural analysis from the Hack23 development team.
System Architect · Pattern Recognition Expert · Philosopher-Engineer
View Agent Profile
Simon Moon reveals the hidden structures and sacred geometry in Black Trigram's architecture through the Law of Fives and numerological patterns.
🥋 Black Trigram ArchitectureFive Fighters, Sacred Geometry Five fighter archetypes discovered through combat-domain analysis. Cultural authenticity meeting mechanical depth — with zero backend architecture. |
⚔️ Black Trigram Combat SystemTraditional Korean martial arts mapped to 70 biomechanical vital points. Five collision systems with anatomical precision and respect for cultural tradition. |
🥽 Black Trigram Future VisionVR Martial Arts & Immersive Combat Five-year evolution roadmap from immersive 3D fighter to VR martial arts training platform. Korean martial arts preservation through immersive technology. |
Developer · Repository Inspector · Code Archaeologist
View Agent Profile
George Dorn provides repository deep-dives based on actual code inspection, not assumptions. Each analysis includes cloned repositories, file counts, dependency reviews, and verified metrics.
💻 Black Trigram Code AnalysisStack: TypeScript 6.0.3 · React 19 · Three.js 0.184 · Vite 8 Examined |
🎮 Black Trigram Implementation RealityCombat Code: TypeScript vs. Martial Arts Physics George's technical commentary on collision-detection challenges, performance optimization for 60fps combat, and Easter eggs hidden throughout the codebase. Easter Eggs: land exactly 23 hits → FNORD victory screen · Konami code unlocks "Hagbard Mode" · health at 23% → UI pulses urgently. |
📚 Full Hack23 Blog — 50+ posts on cybersecurity, ISMS policy, and software architecture through radical transparency.
"Code is reality made computational. If it doesn't work, nothing else matters." — George Dorn
| System | Status | Notes |
|---|---|---|
| Body-Part Health | ✅ | 8-part damage tracking |
| Vital-Point Targeting | ✅ | 70 authentic Korean vital points |
| Enhanced Anatomy | ✅ | Polygon-based zone detection |
| Visual Feedback | ✅ | Damage numbers, hit effects, combos |
| Pain Response | ✅ | Realistic pain accumulation (production-tested) |
| Consciousness Levels | ✅ | 4-level awareness system |
| Breathing Disruption | ✅ | Respiratory targeting affects stamina/accuracy |
| Trauma Visualization | ✅ | Injury rendering, bruising progression |
| Balance / Vulnerability | ✅ | Stance-based weakness windows |
| Combat-Readiness HUD | ✅ | Real-time multi-system status display |
| Injury-Based Movement | ✅ | Damage constrains mobility and stance access |
| Bone-Impact Audio | ✅ | Bone-contact and fracture sounds |
| Counter-Attack AI | ✅ | Limb-exposure detection · archetype-aware ripostes |
📊 Detailed Status Report → · 🗺️ v1.0 Roadmap → · ⚔️ Combat Architecture →
🎮 Play live → blacktrigram.com · 🎮 GitHub Pages mirror → hack23.github.io/blacktrigram
# Clone
git clone https://github.com/Hack23/blacktrigram.git
cd blacktrigram
# Install (requires Node ≥ 26)
npm ci
# Start the dojang
npm run dev
# Production build
npm run build
# Run tests
npm run test # Vitest unit
npm run test:systems # combat-system focused
npm run test:e2e # Cypress E2E
# Generate API docs (TypeDoc)
npm run docs
npm install blacktrigram
// ESM with strict TypeScript types
import { CombatSystem, VitalPoints } from 'blacktrigram/systems';
import type { TrigramStance, PlayerArchetype } from 'blacktrigram/types';
At Hack23 AB we believe true security comes through transparency and demonstrable practices. Black Trigram is governed by the public ISMS-PUBLIC framework, aligned with ISO 27001:2022, NIST CSF 2.0, CIS Controls v8.1, EU CRA, NIS2, and GDPR.
scorecards.yml/attestationscodeql.ymlzap-scan.ymllighthouse-performance.ymlaccessibility-test.ymldependency-review.ymlWORKFLOWS.md| Policy | Alignment |
|---|---|
| Information Security Policy | Master security governance |
| Secure Development Policy | SDLC, code review, testing, threat modeling |
| Open Source Policy | License compliance, OSSF Scorecard, SBOM |
| Vulnerability Management | CodeQL, ZAP, Dependabot, SLA |
| Cryptography Policy | TLS 1.3, SRI, no client secrets |
| Threat Modeling | STRIDE per trust boundary |
| Access Control Policy | GitHub branch protection, signed commits |
| Network Security Policy | CDN, WAF, CSP, HSTS, SRI |
| Backup & Recovery Policy | Multi-region S3 + GitHub Pages DR |
| Incident Response Plan | Security disclosure, runbooks |
| Risk Register | Project risks tracked centrally |
| Compliance Checklist | ISO 27001 · NIST CSF · CIS v8.1 mapping |
| Security Metrics | KPIs and dashboards |
| AI Policy | Copilot governance, EU AI Act, NIST AI RMF |
| Data Classification Policy | Public · no PII |
| ISMS Transparency Plan | Public-disclosure strategy |
| CLASSIFICATION.md | Business-impact analysis |
📊 Full project ↔ ISMS mapping: ISMS_REFERENCE_MAPPING.md
Black Trigram is part of the Hack23 portfolio — a connected suite of open-source platforms applying transparent engineering and structured-intelligence tradecraft to high-stakes domains:
| Project | Description |
|---|---|
| 🥋 Black Trigram | This repo — Korean martial arts simulator (Three.js / R3F / TypeScript) |
| 🕵️ Citizen Intelligence Agency | Swedish political-intelligence and accountability platform |
| 📊 CIA Compliance Manager | CIA-triad compliance dashboard with business-impact mapping |
| 🗳️ Riksdagsmonitor | Swedish Parliament monitor — autonomous AI newsroom in 14 languages |
| 🏛️ EU Parliament Monitor | European Parliament political-intelligence platform |
| 🛰️ European Parliament MCP Server | TypeScript MCP server exposing EP open data to LLMs |
| 🌐 Hack23 Homepage | Hack23 AB corporate site — radical transparency in practice |
| 🔐 ISMS-PUBLIC | Public Information Security Management System framework |
🌐 Hack23 AB — hack23.com · Blog · Security Posture
The frontend is statically deployed to AWS CloudFront + S3 in multiple AWS regions with Route 53 health-checked failover to GitHub Pages as disaster-recovery — supporting the RTO/RPO commitments above with no backend dependencies. See BCPPlan.md and SECURITY_ARCHITECTURE.md.
| Impact | Financial | Operational | Reputational | Regulatory |
|---|---|---|---|---|
| 🔒 Confidentiality | Negligible | Negligible | Low | Negligible |
| ✅ Integrity | Negligible | Moderate | Moderate | Negligible |
| ⏱️ Availability | Negligible | Low | Low | Negligible |
We welcome contributions in code, documentation, Korean cultural review, accessibility audits, and security research.
CONTRIBUTING.md — contribution workflowCODE_OF_CONDUCT.md — community standardsSECURITY.md — responsible disclosure (use the dedicated channel; do not file public issues)Apache License 2.0 — see LICENSE.
🎮 Play → blacktrigram.com · 📘 API Docs · 📦 npm · 🤖 DeepWiki
Experience authentic Korean combat techniques with anatomical precision across 5 unique fighting archetypes, 8 trigram stances, and 70 vital points.
🥋 흑괘의 길을 걸어라 — Walk the Path of the Black Trigram 🥋