Turn System for Empire Building Game

Started by
16 comments, last by polyfrag 17 years ago
I'm currently working on a multiplayer (no, not massively multiplayer :)) empire building game, in the spirit of master of orion 2. A classic turn system like in MoO or Civilization probably gives a small advantage to the player moving first and it more or less forces everyone to sit around and do nothing when it's not their turn, which leads to boredom, frustration and endless games. Then there is the option of "synchronous" moves, where everyone moves at the same time, which gives a huge advantage to the fastest clicker and might bring general confusion, because you can never be sure that your opponent isn't going to move the fleet you plan to attack in the same second that you move your own fleet. Games like Imperium Galactica (2), Rebellion or Hearts of Iron used "real" time. In IG stuff would happen so fast on the galactic map, that you could never keep up with everything that was happening, let alone reacting to it or recovering the loss of a fleet or planet. The system used in HoI or Rebellion actually is great for single player games, but it relies heavily on the ability to adjust the game speed to the game situation. In a multiplayer game everybody probably likes a different speed best and you can even guess what a player is doing based on the game speed he wants (Someone building stuff with long build times will want a fast speed, someone coordinating his forces for a "surprise" attack will suddenly decide he wants a slower speed). Then you could also do "game speed bluffing", for example by choosing a slower game speed, making everybody think you want to attack, while you're basically doing nothing. All that considered it might be best to stick with fixed game speeds, but if the game speed is too slow you get long boring periods where nothing happens and if the game is too fast you get a click-fest. I also considered some sort of self-adjusting speed, where the game would gradually get slower when the game gets longer or when there are more units in the game. Somehow I also think this wouldn't work too well and might still be open to some form of abuse to control the game speed. I would really like to have a real time game, but it seems there are too many problems with it. My favourite idea so far was to have a planning phase and an execution phase, like in the board game diplomacy. In the planning phase every player can set orders for his units and manage his planets, in the execution phase units are moved, etc, and conflicts are resolved. The problem with this is that if each turn covers a larger amount of time the interactions between units and opposing orders quickly become very complex and hard to manage. For example if Player A has a fleet with speed 5 and orders it to attack Player B's fleet which is 2 'squares' away and Player B decides that his fleet is in danger and runs it away with speed 4, then A can't catch B's fleet in this turn, but he would catch up on the next turn. But Player A might not want to follow the fleet once he sees that it is moving away, because he thinks it is a trap. Or what if Player B brings in reinforcement and A decides he'd rather run his fleet away when he sees this ? So you would either need a very complex (scripted ?) system for ordering your fleets around or frequent intermissions, allowing players to change their orders if something "unexpected" happens, or maybe a very smart AI, which tries to guess what the player wants to happen in that situation and rarely fucks up (yeah, right, maybe in 20 years :/ ) You can get around most of those problems if you make the turns shorter, so that everything only moves a very short distance each turn. But I feel this would lead to lots of "empty" turns, where everyone is just busy hitting "End Turn" until something interesting happens. My latest idea is to make the game run in real-time and have regular pauses, where everyone can manage his colonies and think about his fleet movements. The real-time part would then be spent making short-term corrections to your plans and reacting to new information. This could be combined with options for changing the real-time speed and the frequency of pauses, maybe through majority votes. I haven't found the negative sides of this system yet, but I'm sure there are a few points that can be adressed, before I start implementing and testing this, so I'd like to read your comments.
Advertisement
The 2 phase system, "orders" and "execution" are not a bad idea at all. In fact the main improvement in TBS since the invention of Civilization and Master of Orion is this system.

Imperialism uses this system, Stars! uses this system. In fact, it is almost the only sensible system for multiplayer turns.

It basically takes a game like Civilization, where you issue each order, and see the results immediately in combat (oh, first unit failed, try second ... oh that didn't work, wait with other 3 units till next turn), and makes it (send in these five units to attack).

Interestingly, this is exactly how the build phases of all these games work, when you pick a building to build, nothing happens till you hit end turn, you can change your mind ... UNLESS you pick a building worth less than your previous savings, or you switch to a wonder and pay the 50% loss. These stupid exceptions make playing the game highly annoiying. If they just did NOTHING until end-turn, it would be fully self consistent.

In Imperialism, there is nothing that is not undoable, you can say, issue these orders, move these units, offer this diplomatic agreement. And then the game will solve it during the turn processing phase.

Stars! is actually the perfect example of this. Stars! is the absolute best SciFi 4X play-by-email game I've ever seen (and I've played a lot). Its so good that you can still play it today, even though its like 9 years old. And its 3rd version never came out (company died).
There is an old game called Stars! which was a TBS over BBS. In other words the usual turn time was 24 hours. The initial turns were sometimes shortened to 1 hour because there was less to do.

Let's face it. If you don't want hurried clicking, you won't be able to play the game in 20 minutes. Think of most TBS games you have played. Did you play the game beginning to end in one sitting? Try coming up with a system to let people have time to ponder their strategy.

EDIT:
Quote:Original post by Xai
..., Stars! uses this system. ...
Stars! is actually the perfect example of this. Stars! is the absolute best SciFi 4X play-by-email game I've ever seen (and I've played a lot). Its so good that you can still play it today, even though its like 9 years old. And its 3rd version never came out (company died).


Apparently great minds think alike.
[s]I am a signature virus. Please add me to your signature so that I may multiply.[/s]I am a signature anti-virus. Please use me to remove your signature virus.
While they're not empire building games, two games you might look at for inspiration would be Laser Squad Nemesis (I know there's a demo floating around out there), and Jagged Alliance 2. They are both turn-based, but the former follows somewhat closely to your planning phase and execution phase. You give certain strategies to units to get the desired reaction when situations change mid-turn (such as "run away if you spot someone while walking"). You still have to keep the turn length short enough to give the player flexibility, but it is reasonably capable.

Jagged Alliance 2 is turn-based for all the time that is relevant to your game (it is real-time when enemies aren't present, but that doesn't really apply very well in a multiplayer game). It would have problems in multiplayer with everyone having to wait for their turn to come around, and the other problem of unrealistic actions because one person can do a lot on their turn, while all other players are just stuck and can't react. However, to remedy this problem (somewhat), they added interrupts, such that if one of your units has action points left, and they are agile and quick enough to react, their player gets an interrupt if they spot an enemy doing something on the enemy's turn. The interrupting player then gets to continue using that units action points, and the enemy has to wait until the interrupt is complete. This allows a player to leave a guy waiting, because the player suspects something might happen mid-turn. If something does indeed happen, they can then react to it. It's not perfect, but it's better than nothing.

Also, if you haven't played it before, you might consider checking out MOO3 (despite its poor reviews and all). It has planning and execution phases too, and you don't generally run into problems with wanting more control during the execution phase, simply due to how the game mechanics work in general. Combat is real-time, so during the execution phase, players will have the option to manually interact when combats need resolving, but other than that, no orders can be given, and generally, no orders need to be given.

I've personally considered this whole issue myself quite a bit, and I've been interested in doing an auto-pausing real-time system, where pauses are based on events that are relevant to players. The game would run continuously up until an event occurred that a player is interested in possibly reacting to. The game then pauses, (only for the person receiving the event), and they can do stuff (give orders, rather than perform actual actions such as moving a unit). All other players think that the game is still calculating, unless they also received an event that is relevant to them. To avoid the problem of people just waiting around for others, however, you could also have a timed event, that fires on a regular basis, and pauses the game for everyone, or otherwise try to design the system so that different players' events would frequently fire at the exact same time. Also note that under this system, you might restrict players actions to only those objects that are relevant to the event, to speed up most manual event handling, but let all actions occur under the game-wide timer event. Additionally, each user could dynamically choose what events to respond to or ignore as they thought was appropriate. (Unfortunately, micromanagers could subscribe to all events, no matter how trivial, and really slow down the game for others.)
"We should have a great fewer disputes in the world if words were taken for what they are, the signs of our ideas only, and not for things themselves." - John Locke
Personally, real time with pauses seems like the worst of both worlds. You're bored during the pause just so you can frantically click once it unpauses.

I am patterning my turn structure in my hobby project after Imperialism (an excellent game by the way). I've not come up with a nice clean way to do synchronous orders though. Hell, I've not even come up with a fairly nasty way with bunches of exceptional cases. It's all super ugly, so I'm probably going to go with iterative turns.
Quote:My favourite idea so far was to have a planning phase and an execution phase, like in the board game diplomacy. In the planning phase every player can set orders for his units and manage his planets, in the execution phase units are moved, etc, and conflicts are resolved. The problem with this is that if each turn covers a larger amount of time the interactions between units and opposing orders quickly become very complex and hard to manage. For example if Player A has a fleet with speed 5 and orders it to attack Player B's fleet which is 2 'squares' away and Player B decides that his fleet is in danger and runs it away with speed 4, then A can't catch B's fleet in this turn, but he would catch up on the next turn. But Player A might not want to follow the fleet once he sees that it is moving away, because he thinks it is a trap. Or what if Player B brings in reinforcement and A decides he'd rather run his fleet away when he sees this ? So you would either need a very complex (scripted ?) system for ordering your fleets around or frequent intermissions, allowing players to change their orders if something "unexpected" happens, or maybe a very smart AI, which tries to guess what the player wants to happen in that situation and rarely fucks up (yeah, right, maybe in 20 years :/ ) You can get around most of those problems if you make the turns shorter, so that everything only moves a very short distance each turn. But I feel this would lead to lots of "empty" turns, where everyone is just busy hitting "End Turn" until something interesting happens.


I don't see there is that much of a problem with restricting units to speed 1 if you just design the game around it. It neatly removes all the need for scripting and such, and you don't really need things to move at different speeds in order to provide strategic and tactical depth when you think about it.

Another issue which I think is related and which often comes up with strategy games is the handling of large numbers of units. I happen to play Freeciv a lot. Here, players write hacked interfaces to move hundreds of stealth fighters at once. If you don't play with the hacked client, you lose. A perfectly designed TBS game in terms of rules and interface would not provide any benefit to hacked interfaces.

Now, I don't think a cap on the number of units you can have is a very good solution. I also don't think the Diplomacy system of one unit per tile would work well. I think it is necessary to specifically design the rules and the interface to deal with this issue. My suggestions are:

1. Provide weapons that can kill multiple units on the same tile: Dragons breath, artillery or some such.

2. Have a small upkeep, not so big that it effectively caps the number of units you can have, but big enough that players will sometimes decide to disband outdated units.

3. Have an AI that sets "suggested moves and actions" at the beginning of each turn, and allow the player to go through and change them. Basically, the game can play itself - the results should merely be very defensive and suboptimal play.

4. Let the length of turns be determined by having each player tick off their preferred turn length (can be changed at any time), and setting the actual turn lengths to be the average of that.
Some interesting ideas here. Just thought I'd mention that turn-based games don't always offer an advantage to the player who goes first, or at least not only to them: a well designed turn-based game will give the player who goes last a chance to respond to what's already happened that turn, compensating a bit by allowing them to react, even though they are less likely to be able to seize the initiative themselves. See Julian Gollop's masterpiece Chaos for example.

There's also the fact that the order a turn is resolved does not have to be the same each time. Some tabletop wargames like Games Workshop's Lord of the Rings have a "priority phase" at the start of the turn, that determine who goes first for the rest of the current turn. (LOTR is also a good example of allowing the player who goes second to respond - the player with priority goes first in each phase, but the phases are divided, such that player A will move then B will move, and only then are fights resolved - so although A gets to charge first, B gets to respond to the charge and gang up on important enemy fighters). Such a priority system tends to work best with only two players, though.

I do like the idea of separate planning and execution phases, though there should be some way of interrupting execution to react based on initiative. If your lone Scout unit has been ordered to explore a forest, and suddenly an entire horde of enemies emerge from the cover of the forest, the Scout should be able to enter an automatic "panic" state, rather than mindlessly attempt to continue into the woods, and certain doom.
Quote:Original post by Thermodynamics
There is an old game called Stars! which was a TBS over BBS. In other words the usual turn time was 24 hours. The initial turns were sometimes shortened to 1 hour because there was less to do.

EDIT:
Quote:Original post by Xai
..., Stars! uses this system. ...
Stars! is actually the perfect example of this. Stars! is the absolute best SciFi 4X play-by-email game I've ever seen (and I've played a lot). Its so good that you can still play it today, even though its like 9 years old. And its 3rd version never came out (company died).


Apparently great minds think alike.

I'll definately check out Stars!, if I can get it somehow. The demo links in the FAQ seem to be down. It's age shouldn't be too much of a problem, after all I still play StarCraft, which will also be 9 years old in a few days (I think) ;)

Quote:Original post by Thermodynamics
Let's face it. If you don't want hurried clicking, you won't be able to play the game in 20 minutes. Think of most TBS games you have played. Did you play the game beginning to end in one sitting? Try coming up with a system to let people have time to ponder their strategy.

Hehe, well, the most multiplayer TBS games I played were actually finished in one (very, very long) sitting or never finished at all. My situation is probably special, because I have a group of close friends who are still insane enough to forget about everything else, just to play a computer game for a weekend ;)

Quote:Original post by Agony
I've personally considered this whole issue myself quite a bit, and I've been interested in doing an auto-pausing real-time system, where pauses are based on events that are relevant to players. The game would run continuously up until an event occurred that a player is interested in possibly reacting to. The game then pauses, (only for the person receiving the event), and they can do stuff (give orders, rather than perform actual actions such as moving a unit). All other players think that the game is still calculating, unless they also received an event that is relevant to them. To avoid the problem of people just waiting around for others, however, you could also have a timed event, that fires on a regular basis, and pauses the game for everyone, or otherwise try to design the system so that different players' events would frequently fire at the exact same time. Also note that under this system, you might restrict players actions to only those objects that are relevant to the event, to speed up most manual event handling, but let all actions occur under the game-wide timer event. Additionally, each user could dynamically choose what events to respond to or ignore as they thought was appropriate. (Unfortunately, micromanagers could subscribe to all events, no matter how trivial, and really slow down the game for others.)

I feel this might cause an endless stream of interruptions, when the number of events gets large. And this would especially be true for me, because I will micromanage _everything_, as long as it helps me to get an edge in the game.
Hmm, I don't know, maybe I'll still try it out, the implementation shouldn't be too different from the other real-time-with-pauses system.

I played JA 2, but again I think you would get very many interruptions, when you have more than a handful or so of units on the map. I will try to find the Laser Squad Nemesis demo tho.

Quote:Original post by Telastyn
Personally, real time with pauses seems like the worst of both worlds. You're bored during the pause just so you can frantically click once it unpauses.

The way I imagine it, there would be so much to do that you can't do everything in the real-time phase and after all if everyone is bored during the pauses, because there is nothing to do you can still hit "end turn", so the pauses are short or increase the real-time speed or decrease the frequency of pauses.
You will still get some fast clicking (more Total War/Medieval "fast" than Starcraft fast) and that will probably drive away some players, but it might also get others interested and after all I should worry about actually finishing the game before I think about it's popularity :)

Quote:Original post by Telastyn
I am patterning my turn structure in my hobby project after Imperialism (an excellent game by the way). I've not come up with a nice clean way to do synchronous orders though. Hell, I've not even come up with a fairly nasty way with bunches of exceptional cases. It's all super ugly, so I'm probably going to go with iterative turns.

And now I'll also have to try out Imperialism (I'm glad I don't have any deadlines on this project).

Quote:Original post by Wiggin
I don't see there is that much of a problem with restricting units to speed 1 if you just design the game around it. It neatly removes all the need for scripting and such, and you don't really need things to move at different speeds in order to provide strategic and tactical depth when you think about it.

Hmm, I think speed and mobility in general can add lots of strategic and tactical depth, especially in a space scenario (or really any game), where large fleets could be self-sustaining and supply lines might not be necessary. Such a sytem might also be more suited or even lead to a WW1 style game with lots of entrenching. But I'll still think about it, as I haven't really decided how inter-system travelling should work in the game. Hyperspace/Warp ? Jumpgates ? Everything moved closer together than in reality and "standard" FTL travel ?

Quote:Original post by Wiggin
Another issue which I think is related and which often comes up with strategy games is the handling of large numbers of units. I happen to play Freeciv a lot. Here, players write hacked interfaces to move hundreds of stealth fighters at once. If you don't play with the hacked client, you lose. A perfectly designed TBS game in terms of rules and interface would not provide any benefit to hacked interfaces.

Units are/can be packed into fleets, which should remove most stacking issues. The game will also have "move all" and maybe "move all of same type/with same speed" buttons.

Quote:Original post by Wiggin
Now, I don't think a cap on the number of units you can have is a very good solution. I also don't think the Diplomacy system of one unit per tile would work well. I think it is necessary to specifically design the rules and the interface to deal with this issue. My suggestions are:

1. Provide weapons that can kill multiple units on the same tile: Dragons breath, artillery or some such.

2. Have a small upkeep, not so big that it effectively caps the number of units you can have, but big enough that players will sometimes decide to disband outdated units.

3. Have an AI that sets "suggested moves and actions" at the beginning of each turn, and allow the player to go through and change them. Basically, the game can play itself - the results should merely be very defensive and suboptimal play.

4. Let the length of turns be determined by having each player tick off their preferred turn length (can be changed at any time), and setting the actual turn lengths to be the average of that.

First of all I currently only have "tiles" as a way to speed up calculations, without any (atleast so far) impact for the players. In space, where stars and planets provide natural points of interest, tiles in my opinion don't add anything besides maybe some artificial restrictions to movement.

1: I will have manual or simulated combat between fleets, not individual units and I don't know if I like the idea of strategical weapons that can wipe out entire "stacks".

2: Yep, certainly. (Although I will make sure that you don't get any "Our engineers decided to scrap the Deathstar, because we couldn't pay the maintenance costs" messages, like in Rebellion ;) )

3: This might be a good idea, if I ever decide to implement AI players. For now it's probably way too much work for very little benefit.

4: Yes, good idea. I also think that the average should be biased towards the lowest selected choice, because not being able to do something, is worse than getting "too many" turns/pauses.
here's the gamespot page for imperialism:

http://www.gamespot.com/pc/strategy/imperialism/index.html

i think you can still find Imperialism II on ebay.

I'll look for stars! links that still work when i'm at home.
I already found both the Imperialism demo and Stars!, but thanks for the help anyway :)

This topic is closed to new replies.

Advertisement