Movement in simultaneously executed TBS

Started by
7 comments, last by riidom 9 years, 7 months ago

Hello.

I'm designing and developing Civilization like turn based strategy game where all the unit movement action happens simultaneously. What I mean is that players give orders for units where to move, but units don't move instantly. Instead they all move at once, when all players have finished their turns. All the players play their turn simultaneously too. System like this is used for the board game Diplomacy I think. I hope you understood what I'm talking about.

If you wondering why I'm planning this kind of system instead the more conventional Civ TBS movement, I give you few reasons:

  • It's more faster and fair for multiplayer experience. Players can play their turn simultaneously but there is no hurry to move units as fast as you can to win the important battle or something.
  • AI moves can be calculated at the same time while the players are playing their turn. No waiting between the turns! Waiting the AI doing its turns is something that really bugs me in modern versions of Civ games.
  • Just for the experiment: there aren't too many computer strategy games with this kind of movement approach, at least I don't know many ( Please feel free to inform me if you know some game that you think I might find interesting.)

Anyway,let's get into my problem(s). I find that there are some issues with this kind of approach of movement:

  1. Units have different movement rates. Infantry may move 1 tile per turn, while modern ship could possibly move 5 or 6 tiles.
  2. It may feel more chaotic that the 'true' turn based movement. Especially when you tell unit to move for example 3 tiles and enemy tells unit to move 3 tiles. Neither of you see that you are moving your units to same tile and battles may happen unintentionally. Also keeping track the big picture is harder when the map is filled with arrows that tells where your moving your units.

My best solution to tackle these issues is as follows:

  • Unit can only move 1 tile per turn, no matter what the movement rate is.
  • Unit movement points can go negative, and then the unit has to rest certain amount of turns after the move. For example: Infantry moves to grassland terrain (movement cost 6). It has to rest 5 turns before it can move again. Meanwhile other infantry unit is moving on railroad tile to railroad tile (movement cost 1): it can move the very next turn again.

I find this solution pretty good since it allows units to have different movement rate and it makes the situation clearer to see since not all units necessary are moving every turn. Downside is that it makes the game, especially the early game, much slower. The game will have more turns and the unit building costs/training times have to be carefully balanced too.

Other solution is to divide the turn into parts (let's call them segments) There is the city management segment that comes the last and then there is the unit movement segments before city management. For example, there could be 6 unit movement segments in one turn and the unit could move 1 tile in any segment, if it still has movement points left. However this solution is also slow, and somehow the first solution feels more natural to me.

Third solution is simply to tell unit where it moves even if it moves many tiles per turn. But as I pointed out this might result very chaotic experience.

I'm very interested to hear any opinions and possibly new ideas.

Advertisement

I agree that simultaneous turns would do a lot to cut down on the waiting.

Anyway,let's get into my problem(s). I find that there are some issues with this kind of approach of movement:

  1. Units have different movement rates. Infantry may move 1 tile per turn, while modern ship could possibly move 5 or 6 tiles.
  2. It may feel more chaotic that the 'true' turn based movement. Especially when you tell unit to move for example 3 tiles and enemy tells unit to move 3 tiles. Neither of you see that you are moving your units to same tile and battles may happen unintentionally.

I think this is ok, actually; that's how warfare has always been.

To get around it a little bit, maybe let commanders declare their intentions. You could have different "move" commands that encapsulate different contingency plans, like...

  • "move, and if you find yourself adjacent to any enemy along the way, attack"
  • "move, and if you find yourself adjacent to an enemy, retreat along your path until you're not adjacent"
  • for artillery, say it's like some Civ artillery where you need a turn to set it up. You could have a special artillery command that says "move, and if there's an enemy in range stop and set up for firing on the next turn".

You could treat these either as moves or as stances. (Like you can toggle a unit in between being in "bold stance", in which case they always try to attack, and in "cautious stance", in which case they always try to retreat.)

I'm not sure what should happen if you're bold and I'm cautious; that may require some playtesting. Maybe there's a stat like "initiative", and whichever unit has more initiative decides: if it's the bold unit, battle is joined, but if it's the cautious unit, a battle is avoided. Or maybe whichever unit moves fastest decides. Or maybe unspent movement points decide it. (That is, whichever unit has more movement points leftover gets to decide. That provides a natural tradeoff: cover more ground or save up for a potential "initiative contest".)

I don't really play strategy games, so take my thoughts with a grain of salt. ^^;

Anyway,let's get into my problem(s). I find that there are some issues with this kind of approach of movement:

  1. Units have different movement rates. Infantry may move 1 tile per turn, while modern ship could possibly move 5 or 6 tiles.
  2. It may feel more chaotic that the 'true' turn based movement. Especially when you tell unit to move for example 3 tiles and enemy tells unit to move 3 tiles. Neither of you see that you are moving your units to same tile and battles may happen unintentionally. Also keeping track the big picture is harder when the map is filled with arrows that tells where your moving your units.

These don't seem like major issues to me; the latter especially seems as though it could be an advantage.

The one problem that I do see with point (2) quoted above is the question of what happens if orders conflict. For example, consider a case in which players A and B have units on adjacent tiles. Player B orders his units to another tile; player A orders her units to attack B's units. What should happen? Similarly, if players A and B order their units on routes that intersect, what should happen?

I'd suggest that the first case be dealt with by separating moves into phases by type of order, with all orders of a given type occurring simultaneously. Note that orders would be given as before--players don't give separate sets of order for each phase. This only affects how the orders are enacted. For example, you might have an attack phase, followed by a movement phase, followed by a building phase. Then, in the case above, player B's units would attack, and then, once the combat has resolved, the remains (if any) of player A's units would move. (You might, as valrus suggests, include contingencies, either explicitly defined by the player or implicitly implemented into the game logic: perhaps movement orders are cancelled if attacked.)

In the case of "collisions", you might simply cancel further orders, or have units automatically path around each other (or even, again as suggested above, automatically attack).

(By the way, the two scenarios above perhaps include some opportunities for unit features: consider, for example, a unit that has the unique ability to always evade combat if ordered to move that turn, or one that moves two tiles of its route at a time, causing it to arrive earlier than other units, potentially avoiding "collisions" or attacks of opportunity...)

MWAHAHAHAHAHAHA!!!

My Twitter Account: @EbornIan

If you segment turns into multiple turns you're slowing the game down tremendously.

How about each turn first the units with 1 movement move, then units with 2 movement move etc, maybe giving units that defend a tile against attacker a low combat-bonus,

it would certainly cut away a lot of the chaos, and high-movement units would be used more carefull.

@powerneg: If that was in response to my suggestion, then note that I wasn't suggesting that turns be segmented into multiple sub-turns--that is, for every turn, having players issue one set of orders, then the first phase execute, then players give another set of orders, then the next phase execute, etc. My suggestion instead describes how orders are enacted: players give a set of orders, and then those orders are executed in sequence: combat, movement, and finally construction. It would slow things down a little, but nowhere near as much as would issuing multiple sets of orders, I imagine.

Put another way, it segments turn resolution in much the same way that your suggestion does, but segments it according to order type, rather than movement range.

MWAHAHAHAHAHAHA!!!

My Twitter Account: @EbornIan

Thanks for the replies.

I like the idea of giving unit orders like 'cautious' or 'bold'.

However, when I wrote that game might become chaotic, I didn't necessary mean that it's bad thing if gameplay/warfare is chaotic. What I meant that the game view becomes visually chaotic to player and it's hard to see the situation and all the orders given to units. Imagine that you have 50 tanks moving around on roads. The view is all covered with arrows/ orders given to your units, and it takes lot of effort to see which unit is moving to where.

Maybe applying civ5 rule of 1 unit per tile would ease it somehow? Or maybe encouraging to stack units into few stacks like civ4? There are many possibilities.

I think this requires careful thinking and some play testing too before the most fitting solution is found.

As to the view becoming cluttered, perhaps that could be solved by only showing the orders for the selected unit, or at least dimming the orders given to non-selected units, and perhaps--similar to your idea of using stacks--allowing orders to be issued to a group, and then only displaying them once per group (perhaps using a symbol, highlight or bounding line around the units to associate them with the orders).

MWAHAHAHAHAHAHA!!!

My Twitter Account: @EbornIan

I think you should implement "Rules of Engagment"

1) Attack on sight

2) Attack when attacked

3) Never attack

For different units with different speeds.

Divide the current units maximum movement by the maximum movement any unit moving has to get a delta movement

iterate each unit moving it delta movement...

I.E Unit A moves 10 tiles per turn, unit B 5 and unit C 1

A is told to move a distance of 8

B a distance of 5

and C a distance of 1

8/10=.8

5/10=.5

1/10=.1

movement:

Iteration 1: A=.8, B=.5, C=.1

Iteration 2: A=1.6, B=1, C=.2 (A and B are moved a unit distance) A:1,B:1,C:0

Iteration 3: A=2.4, b=1.5, c=.3 (A is moved a unit distance) A:2,B:1,C:0

Iteration 4: A=3.2, b=2, c=.4 (A and B are moved a unit distance) A:3,B:2,C:0

Iteration 5: A=4, b=2.5,c=.5 (A and B are moved a unit distance) A:4,B:2,C:0

Iteration 6: A=4.8, b=3, c=.6 (B is move a unit distance) A:4,B:3,C:0

Iteration 7: A=5.6, b=3.5, c=.7 (A is moved a unit distance) A:5,B:3,C:0

Iteration 8: A=6.4, b=4, c=.8 (A & b are moved a unit distance) A:6, B:4:C:0

Iteration 9: A=7.2, b=4.5, c=.9 (A is moved a unit distance) A:7,B:4,C:0

Iteration 10: A=8, b=5,c=1 (A,b and c are moved a unit distance) A:8, B:5, c:1

Another way that might work.

Move every unit one unit distance

Any unit that can move faster than 1 unit distance/turn gets moved another unit distance

Any unit that can move faster than 2 unit distance/turn gets moved a third unit distance

etc, etc. etc.

You could also make actions inbetween turns, though this would mean watering the principle of acting simultaneous quite a bit.

For example:

Unit A from player A can move 5 tiles (and does so), unit B from player B does the same. A is a scout unit, B is more unaware, with less perception skills.

Now the movement paths have been laid out by both players, so that A and B will be adjacent after moving 2 tiles each. That means, A will notice B.

The game wont tell the players if the other players have finished already or not, so after both have finished their moves and pressed "end turn", the game simulates and notices the adjacency of both units. Player B, with the unaware unit, will still see "waiting for next turn.." while player A goes into an "interception mode" or "inbetween-turn action required!"-mode and sees the state of the game 2 moves ahead, with the situation of unit B next to his own one. He can take his three remaining action points (from the 5 tiles movement, 2 are already spent) and reassign them to new actions, e.g. changing the path of unit A away from B. Depending on if he does something that B will notice, B will get into interception mode himself or if not, the turn ends and the outcome is displayed, and a new turn starts.

This topic is closed to new replies.

Advertisement