Historical Strategy

War Chronicles

Relive history's greatest battles in a turn-based tactical strategy game where every decision can change the fate of your army.

Historical Campaigns Historical Battles Turn-Based Tactical Single Player
War Chronicles

History as Your Battlefield

War Chronicles was born from a simple idea: to let players relive history's greatest military campaigns by making the decisions of the rulers and generals who shaped their era.

Unlike many strategy games that use history as little more than a backdrop, War Chronicles places historical events at the heart of the experience. Every campaign is inspired by a real conflict and begins with a historical introduction that explains the political context, the key figures, and the stakes before you enter the battlefield.

Throughout each campaign, you take command of the armies of history's greatest civilizations and lead their conquests battle after battle. Every victory contributes to a larger campaign that follows the course of the conflict while introducing the peoples, nations, and military strategies that shaped history. The objective is not simply to win each battle, but to experience these campaigns as they unfolded and discover how the decisions of great commanders influenced both the fate of their armies and the outcome of history's greatest conflicts.

Key Features

Relive History's Greatest Campaigns

Experience the conflicts that shaped civilizations, one battle at a time.

Each campaign is inspired by a major historical conflict and immerses you in its political and military context. From New Kingdom Egypt to the Greco-Persian Wars, from the Peloponnesian War to the Mahajanapadas of Ancient India, as well as the legendary tales of the Iliad and the Odyssey, every campaign introduces a new era, its civilizations, and its iconic leaders.

Each campaign consists of four battles unlocked progressively, telling the story of the conflict through historical briefings, in-game dialogues, and scripted events. Every battle can be played from either side, offering a different perspective on the strategies and decisions of both armies.

Relive History's Greatest Campaigns
Every Decision Matters

Every Decision Matters

Terrain, morale, and your units' abilities determine the outcome of every battle.

Battles take place on hexagonal maps where positioning is everything. Forests, hills, rivers, fortifications, and seas influence movement and combat, forcing you to constantly adapt your tactics. The fog of war limits your view of the battlefield, while troop morale evolves throughout the fight and can even cause demoralized units to rout.

Every army is composed of units faithful to its historical era and civilization. Infantry, cavalry, archers, siege engines, and fleets all feature unique strengths, weaknesses, and characteristics. With more than fifteen different land and naval unit types, every battle offers countless tactical possibilities.

Every Battle Is Unique

Tactical AI, scripted events, and special abilities ensure that no two battles play the same.

Every battle has its own rhythm and objectives. Dialogues between commanders, historical events, scripted movements, arriving reinforcements, and unexpected developments recreate the defining moments of each campaign. Every battle can also be played from either side, offering fresh tactical approaches and a deeper understanding of each army's strategic choices.

Before every battle, choose one of six unique General Abilities to match your command style. The tactical AI adapts its behavior to the historical context of each scenario, while terrain, objectives, and scripted events constantly force you to rethink your strategy. No two victories are ever achieved the same way.

Every Battle Is Unique
Build Your Commander's Career

Build Your Commander's Career

Track your progress across campaigns and rise through the ranks.

War Chronicles currently features five historical campaigns spanning twenty historical battles, all playable from either side. Your progress is tracked through a comprehensive statistics screen displaying total games played, victory rate, kill/death ratio, campaign completion percentage, and your Commander's Rank, ranging from C to S+.

Your achievements are rewarded through Google Play Games achievements, while your progress can be saved locally or synchronized through the cloud so you can continue your journey on a new device. New campaigns will gradually expand your commander's career.

Design & Development

Behind every battle lies a game engine specifically designed to reproduce the mechanics of a historical turn-based strategy game on mobile devices.

Architecture & Technologies

A modular architecture designed to clearly separate the game engine, the application, and platform services.

War Chronicles is developed in Java using the libGDX framework, a combination that provides a portable game engine while maintaining a clean and modular architecture. The application's core orchestrates the different subsystems, including screen management, campaign loading, data persistence, the audio engine, and Android platform integration. This organization simplifies maintenance, supports future evolution of the project, and encourages component reuse.

The battle engine is completely decoupled from the Android platform through a dedicated abstraction layer. Google Play services—including authentication, cloud saves, achievements, and in-app purchases—are grouped into a dedicated integration layer, while campaigns, player preferences, and progression are managed independently by the persistence and content system. This separation allows every component to evolve independently while preserving a consistent overall architecture.

Architecture & Technologies

Battle Engine

A data-driven game engine designed to be modular, high-performance, and completely independent of the user interface.

The battle engine is the core of War Chronicles. When a battle is loaded, static data—including the map, units, events, gameplay parameters, and historical content—is transformed into a Game State representing the complete runtime state of the battle. This state is then handed over to the engine, which orchestrates the entire game lifecycle: turn progression, phase management, player switching, victory conditions, and automatic saving. The user interface never manipulates the game state directly; it simply sends player commands to the engine and receives updates through a dedicated event system, ensuring a complete separation between business logic and presentation.

All gameplay mechanics are implemented as specialized subsystems operating on the same shared game state. The combat system handles both melee and ranged engagements by combining unit attributes, attack and defense types, terrain effects, morale, and tactical rules. The event engine, entirely driven by JSON files, enables battles to be scripted through configurable triggers and actions without modifying the source code. The hexagonal map includes an optimized navigation system based on multiple algorithms—including A*, Dijkstra, and BFS—combined with dedicated caching mechanisms to minimize repeated computations and deliver excellent performance on mobile devices.

The artificial intelligence is built around a modular interface, making it easy to introduce new behaviors without modifying the rest of the engine. The current implementation combines battlefield analysis, operational group formation, configurable behavior profiles (aggressive, defensive, or cohesion-oriented), heuristic planning, and order generation. Overall, the engine supports seventeen historical unit types, four attack types, four defense types, six General Abilities, three AI difficulty levels, and a complete event scripting system. The result is a generic battle engine capable of supporting new campaigns and gameplay mechanics while remaining coherent, extensible, and maintainable.

Battle Engine

Presentation Layer

A presentation layer fully decoupled from the game engine, built around specialized components and a hybrid rendering pipeline.

The Battle Game Screen acts as the bridge between the game engine and the user interface. Serving as the presentation mediator, it receives engine events, forwards player commands, and coordinates every graphical component without containing any business logic. This separation allows the battle engine to evolve independently from the interface while maintaining continuous synchronization between the game state and its visual representation.

The presentation layer is organized around three families of specialized components. Controllers implement the presentation logic by synchronizing engine events with the interface, fog of war, tactical highlights, and turn transitions. Renderers are exclusively responsible for drawing the map, units, weather effects, and animations. Finally, Widgets provide the user interface, displaying information and collecting player input while delegating all presentation logic to the controllers.

Rendering combines two complementary approaches. Static battlefield elements such as the map, hex contents, and fog of war are rendered directly using SpriteBatch to maximize performance. Interactive elements—including animated units, the hexagonal grid, widgets, dialogs, weather effects, and tutorial overlays—are implemented with Scene2D, providing a natural framework for animations, input handling, and actor hierarchy. This hybrid architecture combines performance, modularity, and maintainability while delivering a responsive and feature-rich user interface.

Battle Engine

The Project at a Glance

Every campaign is the result of extensive historical research, design, and software development.

Building a historical strategy game involves much more than developing a game engine. Every campaign requires extensive historical research, map design, unit balancing, event scripting, and countless playtesting sessions to recreate authentic battles while keeping the gameplay engaging. The figures below provide an overview of the work invested in War Chronicles.

Development Since Summer 2025
Historical Campaigns 5
Historical Battles 21
Playable Scenarios 41
Historical Content ≈17,000 words
Engine Code ≈30,000 lines
Game Data ≈13,500 lines

Support Development

All applications and games presented on this website are developed during my spare time.

If you enjoy my work and would like to support the development of new features, historical content and future projects, you can support these projects on Ko-fi. Every contribution helps me continue creating independent applications and games.