Turn-based simultaneous-move games? (like Diplomacy...)

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

Cavern is a turn-based roguelike game, which allows monsters to move simultaneously with the player in cases where that does not result in any interaction. I’ve done the same thing in the roguelike I’m working on (please see the current Feedback Friday). I find this a great compromise because play proceeds quickly, without having to wait for each of the monsters to move, in cases where it doesn’t matter. But when you get elbow-deep in combat, then you can still resolve the action one turn at a time.

A way, way back-burner project the boys and I work on from time to time is a turn-based strategy game for up to 12 players. In this case simultaneous turns are absolutely critical to keep the game moving along. Our plan hinges mostly on identifying targets — you don’t just say “attack the thing at this location” but rather “attack this unit.” So if that unit moves, your unit will still try to go attack it. But we haven’t gotten far enough in prototyping to see how fun this is in actual practice yet.

1 Like

Your back-burner project sounds interesting and unit-targeting sounds like a good approach. A few years back I started on a hex-board strategy game using simultaneous movement, and I kept running into the issue of how to manage the AI when the moves were more than one space per turn. Opposing units trying to occupy the same space were a big problem. I ended up letting the player assign units an offensive or defensive posture. It was to be another XNA project but they killed off XNA before I made much progress.

I really loved those games.

There are also games like:

  • Laser Squad Nemesis
  • Frozen Synapse

The Frozen Synapse guys made a football game that has simultaneous turns, looked good, don’t remember the name.

There’s a JRPG that does it, but I don’t remember the name. I watched video and thought it looked clunky.

The Dominions franchise does simultaneous turns, but it’s very, very different from CMAK. It actually feels almost identical to a traditional turn based game. I think they did simultaneous turns mostly to balance out who goes first and to make multiplayer games faster (they frequently take 3+ months as is).

IMO, Combat Mission did the best job - I always wanted a more accessible version of this. The way the characters respond dynamically and enter suppression or panic is awesome. There was something really magical about that game, especially in very small scenarios. It was also fun as hell to play multi player.

I think a more accessible version of Combat Mission could be a great game, it’s territory that isn’t explored much and could be really fun. You just need to reduce the amount of micro management, so issuing orders for a turn is quick (although this may be extremely difficult to get right).

2 Likes

Lara croft GO has it. I’m not sure of the other GO games like the hitman one

Agreed … and in the back of my head, once my Unity-fu is worth a damn, a less-grognard take on the CM theme has been my Secret Dream Game to build. I think XCOM:EU would have benefited greatly from simultaneous combat movement. That scale might be the key to making a Combat Mission-style game less daunting for the average player.

It was actually my dream game too, I decided to spend a little while and kick out a little turn based rpg first to practice…

I wanted to put it in a fallout/wasteland post apoc environment. Man that game would rock. Also very, very hard to get right.

1 Like

Have you been reading my game-design emails between me and my wife? :smile:

Lol!

There’s a truly great game waiting there. Just needs someone to actually build it. But man, this is a game where some of those little details need to be spot on correct, gonna be a lot of bumps on that road.

BattleTech uses simultaneous resolution for its shooting and melee phases.

1 Like

Good call, forgot about that one… and their amazing $2 million-plus Kickstarter campaign!

I think ronin . Oh wow its only $3 now, im picking it up

Steambirds

1 Like

Steambirds is pretty cool!

The second Mode 7 game is Frozen Endzone. Not sure how well it did. I was a big fan of Frozen Synapse, and I can’t wait for the day I get a chance to finish a TBSS game.

I can’t wait for the day I manage to survive the Frozen Synapse tutorials :frowning:

1 Like