CURRENT BUILD · ARCHITECTURE UPDATE
ONE BATTLE.
ONE RULE PATH.
The game, headless tools, and future balance automation now share the same BattleController and BattleRule foundation. JSON defines content; typed rules decide how it enters the battle runtime.
01BATTLE RULE FRAMEWORK · COMPLETE
BattleController is becoming a thin adapter.
BattleRuleSet provides an ordered Rule Pipeline around the existing battle flow. Typed Battle Rules receive lifecycle and calculation contexts without taking ownership of turns, damage, AI, skills, or targeting. Rules that need an approved mutation use an explicit operations boundary rather than reaching into scene objects.
- IBattleRule and typed rule contracts
- Battle start, turn, action, and finish lifecycle hooks
- Identity behavior when no rule is registered
- Battle Rule Operations for controlled runtime changes
READ THE ARCHITECTURE INDEX →RULE
↓
CONTEXT
↓
RUNTIME
02STRATAGEM SYSTEM · DATA DRIVEN
Thirty-Six Stratagems, redesigned from the data outward.
The former path mixed UI JSON with fixed runtime decisions. The new path is explicit: Version 2 JSON → Stratagem Database → Rule Factory → Battle Rule → Battle Runtime. JSON is the Single Source of Truth for names, concepts, balance values, duration, cooldown, cost, targets, and attribute weights.
RULE FACTORYVERSION 2 JSONJSON FIRST
03CONTENT MODEL · FOUNDATION COMPLETE
Effect, target, and thought profile are separate data.
EffectType selects a typed rule, TargetType describes target intent, and ten AttributeWeights preserve Philosophy, Psychology, Science, Economy, Karma, Emotion, Morality, Ideology, Individual, and Community as balance inputs. All 36 JSON definitions are prepared; four representative effects—002, 032, 033, and 035—currently have concrete runtime rules.
36 JSON4 RUNTIME RULESSAFE FALLBACK
04HEADLESS SIMULATOR · SHARED RUNTIME
Simulation no longer means a second battle implementation.
Normal battle and headless execution share BattleController.RunCoroutine(), the same Rule Bundle, and the same JSON-driven definitions. Batch statistics and learned card weighting can grow toward 1000-battle evaluation, deck research, and automated balance analysis without copying damage, AI, Hate, Skill, Status, or target logic.
SHARED CONTROLLERBATCHLEARNING
05BATTLE EFFECT FRAMEWORK · SEPARATED
Calculation and spectacle can evolve independently.
Battle Logic determines outcomes. Presentation translates immutable events. Effect owns reusable VFX. Timeline coordinates camera, audio, UI, and timing. Headless battles have no presentation consumer, while artists can polish cues without changing the calculated result.
LOGICPRESENTATIONEFFECTTIMELINE
06DOCUMENTATION · REBUILT
The README is now a technical index, not a setup dump.
The Architecture Index connects Battle System, Battle Prep, Persistence, technical debt, the Thirty-Six Stratagems, simulator flow, and current phase status. It explicitly separates completed JSON assets from implemented runtime behavior so progress reports remain testable.
BATTLEPREPPERSISTENCETECH DEBT
OPEN TECHNICAL DOCUMENTATION →