u/ShunGunma

Cannae, 216 BC: a turn-by-turn replay of my own game as Carthage (hex-and-counter, coming in the full release)

Cannae, 216 BC: a turn-by-turn replay of my own game as Carthage (hex-and-counter, coming in the full release)

I am the developer of a hex-and-counter wargame, and Cannae will be one of the scenarios in the full release. The video is a replay of a game I played as Carthage against the AI, from deployment to the end of Turn 6.

What happened on the map:

- Turn 1: The Carthaginian cavalry engaged the Roman horse on both wings and, with its surprise move, rode around behind the Roman line. The centre did not advance to meet the legions; it stepped back one hex and doubled its stacks.

- Turn 2: The Romans pressed into the hollow in the centre. The Libyan infantry on both flanks moved forward and turned inward.

- Turns 3–4: Attacks came from every side at 2:1 or better. Units that were forced to retreat had nowhere to go, and were eliminated.

- Turn 6: The Roman army was gone. Carthage lost one unit.

A few rules shape the battle:

- Units in contact must attack, so the Romans cannot simply hold the line and wait.

- Rome may move only a limited number of units each turn. The intention is to represent a very large army that could not easily change its facing.

- A unit that must retreat into an enemy zone of control is destroyed instead, which is what turns an encirclement into an annihilation.

- Deployment and order of battle follow Polybius (III.113–117) and Livy (XXII.45–49).

On the AI: Carthage was played by a human (me). Since then, the AI has reached a similar level. In the same test game it destroyed the Roman army without losing a unit. Averaged over many games it still loses a few more units than I did.

The counters in the video are the old ones. They are being redrawn with designs taken from coins of the period: a galley prow for Rome, an elephant for the Barcids, and a horse with a palm tree for the rest of the Carthaginian army.

Questions and criticism are welcome, particularly from anyone who knows the battle well.

Store page: https://store.steampowered.com/app/5185710/Sekigahara_1600/

u/ShunGunma — 10 days ago

Cannae, 216 BC: a turn-by-turn replay of my own game as Carthage (hex-and-counter, coming in the full release)

https://reddit.com/link/1wy3jpo/video/aw5wslbj3mth1/player

I am the developer of a hex-and-counter wargame, and Cannae will be one of the scenarios in the full release. The video is a replay of a game I played as Carthage against the AI, from deployment to the end of Turn 6.

What happened on the map:

- Turn 1: The Carthaginian cavalry engaged the Roman horse on both wings and, with its surprise move, rode around behind the Roman line. The centre did not advance to meet the legions; it stepped back one hex and doubled its stacks.

- Turn 2: The Romans pressed into the hollow in the centre. The Libyan infantry on both flanks moved forward and turned inward.

- Turns 3–4: Attacks came from every side at 2:1 or better. Units that were forced to retreat had nowhere to go, and were eliminated.

- Turn 6: The Roman army was gone. Carthage lost one unit.

A few rules shape the battle:

- Units in contact must attack, so the Romans cannot simply hold the line and wait.

- Rome may move only a limited number of units each turn. The intention is to represent a very large army that could not easily change its facing.

- A unit that must retreat into an enemy zone of control is destroyed instead, which is what turns an encirclement into an annihilation.

- Deployment and order of battle follow Polybius (III.113–117) and Livy (XXII.45–49).

On the AI: Carthage was played by a human (me). Since then, the AI has reached a similar level. In the same test game it destroyed the Roman army without losing a unit. Averaged over many games it still loses a few more units than I did.

The counters in the video are the old ones. They are being redrawn with designs taken from coins of the period: a galley prow for Rome, an elephant for the Barcids, and a horse with a palm tree for the rest of the Carthaginian army.

Questions and criticism are welcome, particularly from anyone who knows the battle well.

Store page: https://store.steampowered.com/app/5185710/Sekigahara_1600/

reddit.com
u/ShunGunma — 10 days ago

My wargame's thinking routines formed Gettysburg's "fishhook" on their own. The second image shows how they are wired.

https://i.redd.it/y3tgcna25vqh1.gif

Hello,

Image 1 shows the computer's thinking routines playing both sides of Gettysburg (1863) in a development build of my game, Sekigahara 1600. Watch the Union (blue) units. Between turn 1 and turn 9, they pull back and form a curved line from Culp's Hill, around Cemetery Hill and down Cemetery Ridge, and they hold it to the end. Historians call this the "fishhook". The thinking routines were never told to build it. The shape comes from the rules and the terrain.

Image 2 is the map of how the thinking routines are wired, drawn from the source code and from a per-unit decision log.

I am a solo hobbyist developer from Japan, working on evenings and weekends.

The core rule of the game is simple: contact is commitment. Any unit that remains in an enemy zone of control must attack. (The rules engine is called MUST ATTACK, which is the name you will see on the diagram.) There is no passive defence, so every turn is a puzzle of where to make contact and where to avoid it. Victory is decided by holding ground, not by counting kills.

That rule made the thinking routines much harder to write than I expected. When each unit simply picked its own best-scoring move, the army scattered. Units drifted toward the nearest enemy, gaps opened in the line, and key hills were left empty.

So I rebuilt the thinking routines as a chain of command, in four layers:

- Strategy (top band) decides, only occasionally, what the army is trying to achieve.

- Operations turn that into exactly one order per unit, through a single "order ledger".

- Tactics check every move against all of the rules before it is taken.

- Combat plans and resolves the attacks.

The red arrows are orders flowing down (arteries). The dashed blue arrows are reports flowing back up (veins): "I cannot reach my post", "the supply point is lost", "the general is in danger". The plan is reconsidered only when such a report arrives.

Before this, the order that decided which command won was scattered across three different places in the code, so a unit could hold several orders at once and simply follow whichever was checked first. Measuring that was what convinced me to rebuild it.

The diagram also records what does not work yet. Across 22 battlefields, the new pipeline is so far neutral in win rate, and it is still switched off by default. The bottom section lists where the pipe is still broken. My aim is not a stronger opponent but thinking routines whose moves look right to someone who knows the period, and the fishhook is the first clear sign of that.

The game has six battlefields spanning seventeen centuries (Guandu 200, Nancy 1477, Okehazama 1560, Sekigahara 1600, Shiloh 1862 and Gettysburg 1863), night turns, reinforcement schedules, nine temperaments for the thinking routines, and a full scenario editor.

A demo is planned for Steam Next Fest in October. If this is of interest, a wishlist would mean a great deal to a one-person project:

https://store.steampowered.com/app/5185710/Sekigahara_1600/

I am happy to answer questions about the rules or the thinking routines.

https://preview.redd.it/xv2mdsbo5vqh1.jpg?width=2600&format=pjpg&auto=webp&s=d125a3a4746c67d3afa4e0117f12e53528fe17f3

reddit.com
u/ShunGunma — 24 days ago