History
Evolution Timeline
- July 9, 2022: Initial physical concepts and notebook design work began.
- July 11, 2022: Project renamed from Panoplia to Phalanx: Duel.
- July-August 2022: Legacy Ruby implementation explored combat logic and test-driven behavior.
- February 2026: Modern TypeScript engine established with real-time multiplayer support.
- April 27, 2026: v1.0.0 Stable Release. Global matchmaking, state persistence, and legal hardening.
- July 22, 2026: v1.5.0. The engine gained explainable combat mathematics, independent assurance checks, replay/liveness evidence, and a stronger tactical bot.
- August 2026: The project entered a maintenance and presentation phase: production remains the canonical runtime while the local harness can record complete, narrated games for teaching and demonstration.
From Game Idea to Living System
The history is also a history of changing the medium. The Camp Tesomas notebook established the physical language: formations, four suit roles, and damage that could travel through a line. Friendly tabletop matches made those rules playable. The Ruby implementation turned the notebook into an executable experiment, where combat behavior could be tested and revised.
The current TypeScript system carries that same idea into a server-authoritative virtual tabletop. A web client, bot opponents, Go terminal client, persistent action ledger, replay checks, and OpenTelemetry diagnostics all consume the same deterministic state transitions. The result is not merely a digital adaptation: it is a continuously testable record of the original tabletop design.
For the artifact trail behind this narrative, see the cross-repository project timeline.
The Design Journey
Explore the complete sequential history of Phalanx: Duel. This immersive viewer follows the project from the first tabletop card layouts to the final 28-page design notebook.
Archived Technical Artifacts
To preserve implementation history, selected source artifacts are maintained as historical references:
assets/history/primary/resources/(Early scratch/resource files)assets/history/legacy/code/(Legacy Ruby combat and spec files)
Note: These archives represent previous iterations and may not reflect current v1 rules.