Anybody know of other turn-based games with simultaneous move resolution?
I have always been a huge fan of Diplomacy, and I’m in the process of reviving my never-released XNA project (and that project was itself revived from something I wrote in the pre-web days of LAN-based multiplayer). In another thread I mentioned battlefront.com’s Combat Mission games. They’re a more video-game-like sim with 3D graphics and tanks and explosions (and I would kill to have their games on Xbone so I could veg on the couch and play it). I can’t think of any others.
Just wondering if there are any others I’ve missed over the years. I’ve noticed a few of the cheesy “battle” games technically fall into this category but I’m wondering about games with a little depth to them.
For laughs, here’s a massive debug log from move resolution for a mere seven move orders representing a pair of common adjudication test cases. Dip has a reputation for being extremely complicated to judge via code, which is why I originally became interested in writing my own:
CREATING ORDERS:
Parsing Order: TUN GRE
Unit type is Infantry
Tunisia attacks Greece.
Parsing Order: ION C TUN GRE
Unit type is Fleet
Ionian Sea convoys Tunisia to Greece.
Parsing Order: AEG ION
Unit type is Fleet
Aegean Sea attacks Ionian Sea.
Parsing Order: F GRE S AEG ION
Unit type is Fleet
Greece supports Aegean Sea attacking Ionian Sea.
Parsing Order: CON SMY
Unit type is Infantry
Constantinople attacks Smyrna.
Parsing Order: SMY ANK
Unit type is Infantry
Smyrna attacks Ankara.
Parsing Order: ANK CON
Unit type is Infantry
Ankara attacks Constantinople.
ERROR MESSAGES:
ORDER RESOLUTION: INITIALIZATION PASS
Resolve begin: ITA TUN GRE (Unresolved, Unresolved)
Adjudicate in : ITA TUN GRE
Find path for ITA TUN GRE using 1 convoys
Extend path TUN
Convoy by WME? False
Convoy by TYS? False
Convoy by ION? True
Resolve begin: ITA ION C TUN GRE (Unresolved, Unresolved)
Adjudicate in : ITA ION C TUN GRE
Test dislodgement of ITA ION C TUN GRE
Resolve begin: TUR AEG ION (Unresolved, Unresolved)
Adjudicate in : TUR AEG ION
Target area: ITA ION C TUN GRE
Target is stationary or moving head-to-head.
Calc move support for AEG from player 'ITA'
Resolve begin: TUR F GRE S AEG ION (Unresolved, Unresolved)
Adjudicate in : TUR F GRE S AEG ION
Test dislodgement of TUR F GRE S AEG ION
Resolve begin: ITA TUN GRE (Failure, Guess)
Resolve out: ITA TUN GRE (Failure, Guess)
Find path for ITA TUN GRE using 1 convoys
Extend path TUN
Convoy by WME? False
Convoy by TYS? False
Convoy by ION? True
Resolve begin: ITA ION C TUN GRE (Failure, Guess)
Resolve out: ITA ION C TUN GRE (Failure, Guess)
Path found? False
Adjudicate out: TUR F GRE S AEG ION (Failure)
Resolve out: TUR F GRE S AEG ION (Failure, Guess)
Support: 0
Not head-to-head, calc hold strength.
Calc area hold for ION
Hold: 1
Offense: 1
Defense: 1
Adjudicate out: TUR AEG ION (Failure)
Resolve out: TUR AEG ION (Failure, Guess)
Adjudicate out: ITA ION C TUN GRE (Success)
Resolve out: ITA ION C TUN GRE (Success, Guess)
Push ION TUN
Extend path ION TUN
Convoy by TYS? False
Convoy by ADR? False
Convoy by AEG? False
Convoy by EME? False
Goal reached.
Push GRE ION TUN
Path found? True
Target area: TUR F GRE S AEG ION
Target is stationary or moving head-to-head.
Calc move support for TUN from player 'TUR'
Support: 0
Not head-to-head, calc hold strength.
Calc area hold for GRE
Hold: 1
Offense: 1
Defense: 1
Adjudicate out: ITA TUN GRE (Failure)
Adjudicate in : ITA TUN GRE
Find path for ITA TUN GRE using 1 convoys
Extend path TUN
Convoy by WME? False
Convoy by TYS? False
Convoy by ION? True
Resolve begin: ITA ION C TUN GRE (Success, Unresolved)
Adjudicate in : ITA ION C TUN GRE
Test dislodgement of ITA ION C TUN GRE
Resolve begin: TUR AEG ION (Failure, Unresolved)
Adjudicate in : TUR AEG ION
Target area: ITA ION C TUN GRE
Target is stationary or moving head-to-head.
Calc move support for AEG from player 'ITA'
Resolve begin: TUR F GRE S AEG ION (Failure, Unresolved)
Adjudicate in : TUR F GRE S AEG ION
Test dislodgement of TUR F GRE S AEG ION
Resolve begin: ITA TUN GRE (Success, Guess)
Resolve out: ITA TUN GRE (Success, Guess)
Adjudicate out: TUR F GRE S AEG ION (Dislodged)
Resolve out: TUR F GRE S AEG ION (Dislodged, Guess)
Support: 0
Not head-to-head, calc hold strength.
Calc area hold for ION
Hold: 1
Offense: 1
Defense: 1
Adjudicate out: TUR AEG ION (Failure)
Resolve out: TUR AEG ION (Failure, Guess)
Adjudicate out: ITA ION C TUN GRE (Success)
Resolve out: ITA ION C TUN GRE (Success, Guess)
Push ION TUN
Extend path ION TUN
Convoy by TYS? False
Convoy by ADR? False
Convoy by AEG? False
Convoy by EME? False
Goal reached.
Push GRE ION TUN
Path found? True
Target area: TUR F GRE S AEG ION
Target is stationary or moving head-to-head.
Calc move support for TUN from player 'TUR'
Support: 0
Not head-to-head, calc hold strength.
Calc area hold for GRE
Hold: 1
Offense: 1
Defense: 1
Adjudicate out: ITA TUN GRE (Failure)
Resolve out: ITA TUN GRE (Failure, Resolved)
Resolve begin: ITA ION C TUN GRE (Success, Unresolved)
Adjudicate in : ITA ION C TUN GRE
Test dislodgement of ITA ION C TUN GRE
Resolve begin: TUR AEG ION (Failure, Unresolved)
Adjudicate in : TUR AEG ION
Target area: ITA ION C TUN GRE
Target is stationary or moving head-to-head.
Calc move support for AEG from player 'ITA'
Resolve begin: TUR F GRE S AEG ION (Dislodged, Unresolved)
Adjudicate in : TUR F GRE S AEG ION
Test dislodgement of TUR F GRE S AEG ION
Resolve begin: ITA TUN GRE (Failure, Resolved)
Resolve out: ITA TUN GRE (Failure, Resolved)
Find path for ITA TUN GRE using 1 convoys
Extend path TUN
Convoy by WME? False
Convoy by TYS? False
Convoy by ION? True
Resolve begin: ITA ION C TUN GRE (Failure, Guess)
Resolve out: ITA ION C TUN GRE (Failure, Guess)
Path found? False
Adjudicate out: TUR F GRE S AEG ION (Failure)
Resolve out: TUR F GRE S AEG ION (Failure, Guess)
Support: 0
Not head-to-head, calc hold strength.
Calc area hold for ION
Hold: 1
Offense: 1
Defense: 1
Adjudicate out: TUR AEG ION (Failure)
Resolve out: TUR AEG ION (Failure, Guess)
Adjudicate out: ITA ION C TUN GRE (Success)
Adjudicate in : ITA ION C TUN GRE
Test dislodgement of ITA ION C TUN GRE
Resolve begin: TUR AEG ION (Failure, Unresolved)
Adjudicate in : TUR AEG ION
Target area: ITA ION C TUN GRE
Target is stationary or moving head-to-head.
Calc move support for AEG from player 'ITA'
Resolve begin: TUR F GRE S AEG ION (Failure, Unresolved)
Adjudicate in : TUR F GRE S AEG ION
Test dislodgement of TUR F GRE S AEG ION
Resolve begin: ITA TUN GRE (Failure, Resolved)
Resolve out: ITA TUN GRE (Failure, Resolved)
Find path for ITA TUN GRE using 1 convoys
Extend path TUN
Convoy by WME? False
Convoy by TYS? False
Convoy by ION? True
Resolve begin: ITA ION C TUN GRE (Success, Guess)
Resolve out: ITA ION C TUN GRE (Success, Guess)
Push ION TUN
Extend path ION TUN
Convoy by TYS? False
Convoy by ADR? False
Convoy by AEG? False
Convoy by EME? False
Goal reached.
Push GRE ION TUN
Path found? True
Adjudicate out: TUR F GRE S AEG ION (Success)
Resolve out: TUR F GRE S AEG ION (Success, Guess)
Support: 1
Not head-to-head, calc hold strength.
Calc area hold for ION
Hold: 1
Offense: 2
Defense: 1
Test prevent strengths:
Adjudicate out: TUR AEG ION (Success)
Resolve out: TUR AEG ION (Success, Guess)
Adjudicate out: ITA ION C TUN GRE (Dislodged)
Dependency-loop detected, Backup Rule called.
Convoys involved, implement Szykman rule.
Resetting TUR AEG ION
Resetting TUR F GRE S AEG ION
Failing ITA ION C TUN GRE
Resolve begin: ITA ION C TUN GRE (Failure, Resolved)
Resolve out: ITA ION C TUN GRE (Failure, Resolved)
Resolve out: ITA ION C TUN GRE (Failure, Resolved)
Resolve begin: TUR AEG ION (Unresolved, Unresolved)
Adjudicate in : TUR AEG ION
Target area: ITA ION C TUN GRE
Target is stationary or moving head-to-head.
Calc move support for AEG from player 'ITA'
Resolve begin: TUR F GRE S AEG ION (Unresolved, Unresolved)
Adjudicate in : TUR F GRE S AEG ION
Test dislodgement of TUR F GRE S AEG ION
Resolve begin: ITA TUN GRE (Failure, Resolved)
Resolve out: ITA TUN GRE (Failure, Resolved)
Find path for ITA TUN GRE using 1 convoys
Extend path TUN
Convoy by WME? False
Convoy by TYS? False
Convoy by ION? True
Resolve begin: ITA ION C TUN GRE (Failure, Resolved)
Resolve out: ITA ION C TUN GRE (Failure, Resolved)
Path found? False
Adjudicate out: TUR F GRE S AEG ION (Failure)
Resolve out: TUR F GRE S AEG ION (Failure, Resolved)
Support: 0
Not head-to-head, calc hold strength.
Calc area hold for ION
Hold: 1
Offense: 1
Defense: 1
Adjudicate out: TUR AEG ION (Failure)
Resolve out: TUR AEG ION (Failure, Resolved)
Resolve begin: TUR F GRE S AEG ION (Failure, Resolved)
Resolve out: TUR F GRE S AEG ION (Failure, Resolved)
Resolve begin: ENG CON SMY (Unresolved, Unresolved)
Adjudicate in : ENG CON SMY
Target area: ENG SMY ANK
Resolve begin: ENG SMY ANK (Unresolved, Unresolved)
Adjudicate in : ENG SMY ANK
Target area: ENG ANK CON
Resolve begin: ENG ANK CON (Unresolved, Unresolved)
Adjudicate in : ENG ANK CON
Target area: ENG CON SMY
Resolve begin: ENG CON SMY (Failure, Guess)
Resolve out: ENG CON SMY (Failure, Guess)
Player can't displace his own unit.
Adjudicate out: ENG ANK CON (Failure)
Resolve out: ENG ANK CON (Failure, Guess)
Player can't displace his own unit.
Adjudicate out: ENG SMY ANK (Failure)
Resolve out: ENG SMY ANK (Failure, Guess)
Player can't displace his own unit.
Adjudicate out: ENG CON SMY (Failure)
Adjudicate in : ENG CON SMY
Target area: ENG SMY ANK
Resolve begin: ENG SMY ANK (Failure, Unresolved)
Adjudicate in : ENG SMY ANK
Target area: ENG ANK CON
Resolve begin: ENG ANK CON (Failure, Unresolved)
Adjudicate in : ENG ANK CON
Target area: ENG CON SMY
Resolve begin: ENG CON SMY (Success, Guess)
Resolve out: ENG CON SMY (Success, Guess)
Unit moving from target area, not head-to-head.
Calc move support for ANK from player 'ENG'
Support: 0
Not head-to-head, calc hold strength.
Calc area hold for CON
Resolve begin: ENG CON SMY (Success, Guess)
Resolve out: ENG CON SMY (Success, Guess)
Hold: 0
Offense: 1
Defense: 0
Test prevent strengths:
Adjudicate out: ENG ANK CON (Success)
Resolve out: ENG ANK CON (Success, Guess)
Unit moving from target area, not head-to-head.
Calc move support for SMY from player 'ENG'
Support: 0
Not head-to-head, calc hold strength.
Calc area hold for ANK
Resolve begin: ENG ANK CON (Success, Guess)
Resolve out: ENG ANK CON (Success, Guess)
Hold: 0
Offense: 1
Defense: 0
Test prevent strengths:
Adjudicate out: ENG SMY ANK (Success)
Resolve out: ENG SMY ANK (Success, Guess)
Unit moving from target area, not head-to-head.
Calc move support for CON from player 'ENG'
Support: 0
Not head-to-head, calc hold strength.
Calc area hold for SMY
Resolve begin: ENG SMY ANK (Success, Guess)
Resolve out: ENG SMY ANK (Success, Guess)
Hold: 0
Offense: 1
Defense: 0
Test prevent strengths:
Adjudicate out: ENG CON SMY (Success)
Dependency-loop detected, Backup Rule called.
All moves, implement circular move rule.
Allow ENG SMY ANK
Allow ENG ANK CON
Allow ENG CON SMY
Resolve begin: ENG CON SMY (Success, Resolved)
Resolve out: ENG CON SMY (Success, Resolved)
Resolve out: ENG CON SMY (Success, Resolved)
Resolve begin: ENG SMY ANK (Success, Resolved)
Resolve out: ENG SMY ANK (Success, Resolved)
Resolve begin: ENG ANK CON (Success, Resolved)
Resolve out: ENG ANK CON (Success, Resolved)
ORDER DUMP:
who FROM SUP INTO Order
--- ---:-- --- ---:-- --------------------------------------------
ITA TUN GRE Attack Failed, no valid path <Failure>
ITA ION TUN GRE Convoy Failed due to Syzkman convoy-paradox rule <Failure>
TUR AEG ION Attack Failed, insufficient force <Failure>
TUR GRE AEG ION SupportAttack Failed, dislodged by unit from TUN <Failure>
ENG CON SMY Attack Success <Success>
ENG SMY ANK Attack Success <Success>
ENG ANK CON Attack Success <Success>
END OF TEST