Sign in to follow this  
Orymus3

Time Compression in a 4X Game

Recommended Posts

Once upon a time (before Acharis started turning this into a design method), I used to come here asking about design concepts in certain game types. Today I come to you again for guidance and advice.

 

I've struggled the past 2 years with a simple concept that I can't seem to get right: Time Compression in a 4X Game.

What I mean by time compression, is the balance within any given turn to provide meaningful interaction with elements that are clearly short and long-term.

 

For example, it is expected at the end of a given turn that the population can grow organically which, for most species we know, takes a matter of months.

Likewise, within the same turn, we're expected to demonstrate progress in battles, which certainly don't take nearly as long to perform, especially if the game focuses on Tactical Elements.

 

How do you (would you) as a designer resolve this issue to keep the content balanced between high-level strategic and actual tactical implications?

Do you bother explaining this to the player, or do you just 'go with it'?

Also, how do you keep this balanced? Surely if the population grows as fast as people die, one must create artificial population shortages or balance accordingly?

 

Would love to hear your input on this.

 

Share this post


Link to post
Share on other sites

Sometimes it helps to break the mechanic down to it's simplest form. Mushroom wars is a simple kind of 4x game, where you can spend your soldiers to upgrade buildings, or attack to take over new buildings. Upgrading buildings important for the long run (which in Mushroom wars is just a couple minutes), but it weakens you for a short time. This is fine unless the other player is attacking you, or if the other player has left themselves weak and vulnerable to an attack. The more abstract setting allows the designers to simply focus on the mechanics of military vs economy, without worrying about the realism of populations growing or dying. 

 

If you want something more robust, it could be built from a core mechanic like this that lets you see very clearly how the short term and long term goals play off each other.

Share this post


Link to post
Share on other sites


Sometimes it helps to break the mechanic down to it's simplest form. Mushroom wars is a simple kind of 4x game, where you can spend your soldiers to upgrade buildings, or attack to take over new buildings. Upgrading buildings important for the long run (which in Mushroom wars is just a couple minutes), but it weakens you for a short time. This is fine unless the other player is attacking you, or if the other player has left themselves weak and vulnerable to an attack. The more abstract setting allows the designers to simply focus on the mechanics of military vs economy, without worrying about the realism of populations growing or dying. 
 
If you want something more robust, it could be built from a core mechanic like this that lets you see very clearly how the short term and long term goals play off each other.

 

Is this a turn-based asynchronous game? or does it play in real-time?

 

One of my key concerns currently is really about moving and firing in a combat where arcs matter, all the while keeping the suspension of disbelief that population grows 'for a reason'.

Share this post


Link to post
Share on other sites

Real Time, so it's pretty far off from Civilization. But it's 4x. You expand across the map, increase your production capabilities, change your tech a bit, and attack your opponents. Understanding how the 4x elements work in something so simple may help to make them work in something more complex. 

 

 

For your more specific question, I'm not quite sure what you're doing with the population. In Civilization, making military never affects your population directly (although the focus on production rather than food limits your population growth). Damaging a city occasionally damages a population, but it's infrequent enough that it doesn't match the population growth that cities have all the time. How is your game using population in combat that's becoming a challenge?

Share this post


Link to post
Share on other sites

What I mean by time compression, is the balance within any given turn to provide meaningful interaction with elements that are clearly short and long-term.
 
For example, it is expected at the end of a given turn that the population can grow organically which, for most species we know, takes a matter of months.
Likewise, within the same turn, we're expected to demonstrate progress in battles, which certainly don't take nearly as long to perform, especially if the game focuses on Tactical Elements.

that's a conceptual problem indeed:)
a strategy game is not a simulation, it is rather a statistic game. e.g. population doesn't need months for reproduction, it rather has a reproduction rate. it is like you know that radioactive elements will reduce to half in 10000 years. doesn't mean you have to wait that long, you rather get that effect continuously (al though it is not linear).

that's why it is legit to update long term effects on a continuously way. e.g. if you know it takes 9 month to increase the population by 50%, then it's 1.67 per year. hence every month would get ~10% more population. that's ofc when you assume females are brute machines.

in your game nothing is really to scale. you need to find values that make it playable best. but all settings and tweaking values need to be in scale of your logic update time. don't care about reality;)

Share this post


Link to post
Share on other sites

One of my favourite old games from the 16-bit era, Deuteros, had an interesting time mechanic. It was kind of a 4X game, not quite in the modern sense, but may be relevant to this.

 

It essentially simulated real-time, but allowed the player to skip ahead by an hour or a day at a time. Most events in the game occurred on a period of days or weeks - building a new ship would be a two week job, for example. If nothing else happened in the intervening period the player could happily skip all those days and the ship would be built almost 'instantly.' If something happened in the intervening period, especially something that required real-time attention like an unexpected attack, then the time skipping would stop and you would play through the relevant events in real-time. Assuming you survived the attack you could then go back to skipping days until the ship is finished. Usually you would have lots of things going on at once over multiple time scales, especially late in the game, so in practice you never skipped ahead by very much at the accelerated rate. But early in the game it was an elegant way to speed through things like "build my first mining ship and fly to the asteroids" which takes 22 days or whatever.

 

Of course, this wasn't just doing time acceleration and really simulating every second in between. As Krypt0n suggests, skipping a day would update the game by an aggregate effect over that period. In most cases like population growth, building a ship, or flying to a planet, the skipped time can either be solved in closed form or at least approximated over the skipped period well enough that the player would never know the difference.

 

TL:DR - I guess the point is that your game-time events could be to real-world scale as long as you can accelerate through the times where nothing happens.

Share this post


Link to post
Share on other sites


For example, it is expected at the end of a given turn that the population can grow organically which, for most species we know, takes a matter of months.

Wrong. For a couple (ie of humans) it is matter or months maybe years. But if you take a look at any larger city there are a few babies born every day. You may safely assume for the sake of your game there are no "mating seasons" for highly developed species so population growth can be proportional and limited only by planet size.

Share this post


Link to post
Share on other sites


Likewise, within the same turn, we're expected to demonstrate progress in battles, which certainly don't take nearly as long to perform, especially if the game focuses on Tactical Elements.

 

You mean a military unit only makes one combat-move every turn ? It's more like Civilisation then, most 4X will have full-blown battles with their own combat-turns every "economic" turn.

Anyway, moving through space takes time etc, and you can asume that units that are big enough to attack planets take some time to move as well.

Share this post


Link to post
Share on other sites


How do you (would you) as a designer resolve this issue to keep the content balanced between high-level strategic and actual tactical implications?

 

it all depends on where you want your game to fall on the scale of "contrived BS vs ultra realism". too hokey, and it breaks immersion. OTOH, ultra realistic might not be a lot of fun.

 

time scale problems have always been an issue in strategic games - unrealistically short building construction times in RTS's being a classic example.

 

as near as i can tell, every 4x i've played from MOO on has had to "bend the rules" a bit.  some do it better than others.

 

start with realistic and see how fun it is.  it may not work at all, like AOE etc with no advancing to the next age - probably more realistic, but probably less fun too.

 

then bend the rules as needed to make it sufficiently fun, without becoming too contrived.

 


Do you bother explaining this to the player, or do you just 'go with it'?

 

the trick is to make any bending of the rules sufficiently un-noticeable as to not require any explanation. if you have to explain it, you're already breaking immersion. remember its a 4x, you get to write the rules of the game universe, unless its some sort of historical thing like a 4x about European colonization.  So making it believable in the context of your game universe should be a little easier than making it believable in the context of the real world.

Share this post


Link to post
Share on other sites


Once upon a time (before Acharis started turning this into a design method)
:D

 


How do you (would you) as a designer resolve this issue to keep the content balanced between high-level strategic and actual tactical implications?

Do you bother explaining this to the player, or do you just 'go with it'?
Ignore/suspension of disbelief.

I feel the cure might be worse than the disease in this case, so I would just let it go. Games are not real life, the player knows it. It must be consistent within its own rules (consistent world) but not necessarily with our world (actually it should not in most cases). I found out that ignoring some issues/realism might be a HUGE benefit to the playability, so I always consider the "ignore it" option :)

 

My tricks:

- focus on one side of the timescale only (like no tactics only strategic level)

- split turns (big) and then subturns (phases) which occurs on needed basis, so sometimes you have these phases and sometimes not (a concept, haven't used it yet)

- don't use any timescale and name everything "turns", like in my current in dev game the intro says "10,000 turns ago..." also imperial governors have their age listed in turns not years. So, it's a bit of "breaking the 4th wall", but also I have a more freedom since I never said that a turn is one year. Of course it depens on the game's mood, in mine it's humouristic/cartoon like so it fits, I would not use it for all games.

- ignore and move on (my favourite, typically the most elegant solution :D)

Share this post


Link to post
Share on other sites


For your more specific question, I'm not quite sure what you're doing with the population. In Civilization, making military never affects your population directly (although the focus on production rather than food limits your population growth). Damaging a city occasionally damages a population, but it's infrequent enough that it doesn't match the population growth that cities have all the time. How is your game using population in combat that's becoming a challenge?

 

I'm trying to use population to directly translate to crew/troops. Thus, population growth also determines the available amount of troops and ship ops crew (similar to some Star Trek games amongst others).

 


that's why it is legit to update long term effects on a continuously way. e.g. if you know it takes 9 month to increase the population by 50%, then it's 1.67 per year. hence every month would get ~10% more population. that's ofc when you assume females are brute machines.

But I find it hard to balance player decision-making between tactical combat and strategic planetary growth implications so that there's a decent flow here.

 

For example, tactical combat requires a lot of input each turn given the amount of ships, whereas population growth would also imply a lot (structures to build, etc.)

If I'm to get some clearer design space in there, I need to find a suitable means to decrease the strain on the player.

One example I like is X-COM (the new game) where you spend time dealing with the macro-level and then have a very narrow scenario that is tactical. Unfortunately, I can't replicate this model in a multiplayer asynchronous experience.

 


TL:DR - I guess the point is that your game-time events could be to real-world scale as long as you can accelerate through the times where nothing happens.

 

I would love this, but in an asynchronous game, I need to put more into each "turn". Perhaps in the form of planning?

 


You mean a military unit only makes one combat-move every turn ? It's more like Civilisation then, most 4X will have full-blown battles with their own combat-turns every "economic" turn.
Anyway, moving through space takes time etc, and you can asume that units that are big enough to attack planets take some time to move as well.

 

Actually, only one "maneuver" is planned, but it can be a complex one (such as an elongated S trying to lure an opponent into a flanking position, etc.)

 


time scale problems have always been an issue in strategic games - unrealistically short building construction times in RTS's being a classic example.

 

Asynchronous gameplay is actually a big part of my problem I believe. I'm ok with bending the rules, but I still need to convince players to play "long games together" and I can't anticipate doing so in real-time, so I must put more on the backend-side and this is putting constraints...

 

 


- focus on one side of the timescale only (like no tactics only strategic level)

 

I'm actually leaning towards the exact opposite (once again). I'm trying to abstract the strategic level and focus on the tactical and logistical aspect. It seems this is a duel we've started two years or so ago and it is bound to continue that way :P

 


- split turns (big) and then subturns (phases) which occurs on needed basis, so sometimes you have these phases and sometimes not (a concept, haven't used it yet)

How do you explain that in a multiplayer asynchronous environment though? My instinct would've been to do so:

Every "turn" is really 1 MACRO turn (economy, etc.) and 10 micro-phases of combat.

But can I realistically ask the player to choose 10 movements for each of their ship in advance and consider who they might be able to fire on, etc.?

Seems like there's not enough information in real-time for them to consider this.

 


- don't use any timescale and name everything "turns", like in my current in dev game the intro says "10,000 turns ago..." also imperial governors have their age listed in turns not years. So, it's a bit of "breaking the 4th wall", but also I have a more freedom since I never said that a turn is one year. Of course it depens on the game's mood, in mine it's humouristic/cartoon like so it fits, I would not use it for all games.

I'm not that invested in realism, I'm perfectly fine with turns, and to be honest, the term "weeks" would probably fit most circumstances anyway. It's really the tactical implications that are a problem.

 

One solution I was thinking about was doing this:

- Game server host runs every "real life" day.

On mondays, it turns a "MACRO turn" and a "Micro turn"

On all other days, it runs only the Micro turn.

 

That way, every week, you get new resources to play with, your buildings are constructed, etc.

But every day, you get to fight off the opponent by focusing on the ship movement only.

 

Perhaps this would work? (now, where do I find people willing to play 7 days a week is an altogether different story!)

Share this post


Link to post
Share on other sites

In speed mode  (minimum a basic radar map of units to visualize rough situation - cutting out the rendering processing)   have an 'idle' percentage (summary) by which the player can judge whether they want to go back into 'real time' to issue more orders  (assuming this isnt a game where you constantly have to keep reprogramming unit orders while playing)

 

Hazard Events like enemy-attacks might (automatically) force the game back to real time (lest the player look away and half his forces be destroyed in the fast-time mode).

Share this post


Link to post
Share on other sites


Perhaps this would work? (now, where do I find people willing to play 7 days a week is an altogether different story!)

 

There 's plenty of browser-games that give turns or actions per day.

In this case, i 'd give the resources in the night of sat/sun, so players can play with resources on their lazy sunday(or monday, if they play from work) and make micro-movement unimportant in defending and important in attacking, thus making logging-in daily only needed during an offensive.

Share this post


Link to post
Share on other sites

Civilization just lets the battles play out over silly time scales, with centuries being spent marching across a continent in the early game. If the game is fun, players will forgive 500 year battles.

 

Another approach you could consider is using a 'battle plan'. A battle is some set number of phases, maybe 6. After each phase, units are destroyed, victory points gained, morale damaged, whatever. There are preset tactics, again, let's say 6. Each is used best in some circumstances (numerical superiority, mobile force, positional advantage,...) possibly to some different goal (win at all costs, run down the clock, damage morale) and is strong or weak to other tactics. If morale gets low enough, one side retreats after that phase, otherwise after all phases a victor (or draw) is decided.

 

The player looks at the battle and chooses the tactics for each phase. "Ok, he's got more units, he's probably going to press that advantage with "envelope" so I'll use the counter "fall back". Across the multiple phases you can choose a temporal strategy "I'll go all out in turn 2 and see if that wins, and if not I'll just fight a careful defensive fight to avoid unnecessary losses".  If you want to get complex, you could even have conditional tactics: "If I'm leading in turn 6, play defensively to hold that lead, otherwise mount a full charge to try to force a win."

 

Then the players can still make tactical decisions in combat, but the whole battle can occur in a single turn.

Share this post


Link to post
Share on other sites

I'm trying to use population to directly translate to crew/troops. Thus, population growth also determines the available amount of troops and ship ops crew (similar to some Star Trek games amongst others).

I haven't played them. Maybe a small percentage of population growth could be capable of joining the military. When they join, it's a very minor hit to the population of the city/planet, but the potential military population of that planet is reduced. The overall population of the location is still large enough to replenish the potential military population quickly. 

 

Maybe something like this would also let you play with the idea of militia or other less trained militaries, as you could still recruit military from the remaining civilian population after the prime military candidates are taken. If you don't hire military from that location for a while, the percentage of the location might stay static instead of always increasing (as the military age individuals get old, or the population gets used to peaceful times and doesn't prepare their population for war). One army might do more destruction to civilian populations when attacking an area, making it harder for the population to recover but more effectively ending rebellions, where another army might attempt to convert civilian populations to their side resulting in rebellions until the conversion is complete. 

Share this post


Link to post
Share on other sites


There 's plenty of browser-games that give turns or actions per day.
In this case, i 'd give the resources in the night of sat/sun, so players can play with resources on their lazy sunday(or monday, if they play from work) and make micro-movement unimportant in defending and important in attacking, thus making logging-in daily only needed during an offensive.

 

Possibly a better start-of-turn indeed.

That being said, within my given system I don't think all tactical maneuvers are unimportant. Those that concern moving from planet to planet certainly are, but there would be critical encounters and I feel this is penalizing players harshly for missing even 1 turn. The intent is to make a fun game, not an anti-social life experiment ;)

 

I must ponder this some more, at the risk of changing the entire game's focus...

 


Another approach you could consider is using a 'battle plan'. A battle is some set number of phases, maybe 6. After each phase, units are destroyed, victory points gained, morale damaged, whatever. There are preset tactics, again, let's say 6. Each is used best in some circumstances (numerical superiority, mobile force, positional advantage,...) possibly to some different goal (win at all costs, run down the clock, damage morale) and is strong or weak to other tactics. If morale gets low enough, one side retreats after that phase, otherwise after all phases a victor (or draw) is decided.

 

The key problem with my current battle implementation is tactics. Ships' dominating factors currently involve positioning and firing arcs (to allow for flanking advantages and trying to pursuit / outmaneuver). This can take many turns, obviously, and requires a level of detail similar to chess (or perhaps even more in-depth) which might heavily penalize players for skipping even one move.

 


The player looks at the battle and chooses the tactics for each phase. "Ok, he's got more units, he's probably going to press that advantage with "envelope" so I'll use the counter "fall back". Across the multiple phases you can choose a temporal strategy "I'll go all out in turn 2 and see if that wins, and if not I'll just fight a careful defensive fight to avoid unnecessary losses".  If you want to get complex, you could even have conditional tactics: "If I'm leading in turn 6, play defensively to hold that lead, otherwise mount a full charge to try to force a win."

 

That would work, was it not for the fact this game will play out with small numbers of ships. So a global tactic (such as surrounding a target) won't quite work in 1 2v1 scenario.

 


I haven't played them. Maybe a small percentage of population growth could be capable of joining the military. When they join, it's a very minor hit to the population of the city/planet, but the potential military population of that planet is reduced. The overall population of the location is still large enough to replenish the potential military population quickly. 
 
Maybe something like this would also let you play with the idea of militia or other less trained militaries, as you could still recruit military from the remaining civilian population after the prime military candidates are taken. If you don't hire military from that location for a while, the percentage of the location might stay static instead of always increasing (as the military age individuals get old, or the population gets used to peaceful times and doesn't prepare their population for war). One army might do more destruction to civilian populations when attacking an area, making it harder for the population to recover but more effectively ending rebellions, where another army might attempt to convert civilian populations to their side resulting in rebellions until the conversion is complete. 

 

I feel there are a lot of workarounds for this, but that the combat aspect is the key issue in my current design (as per the above).

Share this post


Link to post
Share on other sites

I'm actually leaning towards the exact opposite (once again). I'm trying to abstract the strategic level and focus on the tactical and logistical aspect. It seems this is a duel we've started two years or so ago and it is bound to continue that way
No, this time we agreed on this :) I suggested to choose one, only tactic and no strategy being viable too  :)

 


How do you explain that in a multiplayer asynchronous environment though?
Oh boy... multiplayer. Yeah, that's problematic. I don't think that one would work in multiplayer. Sorry, no advice from me then :(

Maybe try realtime route (not that I'm the fan of it)?

Share this post


Link to post
Share on other sites

let me see if i have this right...

 

its 4x, online multiplayer. turn based.

 

by asynchronous, i assume you mean that a player logs on, enters their moves for the day, then waits til midnight for the server to "turn the crank" and resolve all player moves?

 

and you seem to have three concerns:

 

1. what if a player doesn't log in to move their ships in battle? the combat system models maneuvering and arc of fire, which really requires player input each turn, or AI to do it for them, based on some orders (tactics) the player chooses.

 

2. how to model short term actions (combat moves) and long term actions (population growth) at the same time in a believable way.

 

3. how to model military size (total troops available) as a function of population size.

 

is this correct?

 

if so...

 

issue #1 is the big thing. AI takes over as needed is probably the best solution. needless to say, it needs to be decent AI.

 

for issue #2, you can either have population and related actions trickle in a little every turn or so, or have a "strategic turn" every 10 combat turns or whatever. you should probably not start with any pre-conceived notions (1) of how much of the player's time should be spent on tactics vs strategy. just start with what makes sense, and let the chips fall where they may. from what you describe, sounds like 70-90% of the game play will tend to be tactical in nature - everything except where to fly to and what to build.  but if you think about it, in a 4x, you basically fly places, build stuff, and fight - oh and negotiate - another type of strategy game play found in 4x's.

 

(1) pre-conceived notions are called "cognitive baggage" in generic design sciences, and are considered a bad thing. IE they create an artificial box you don't allow yourself to think outside of, therefore possibly excluding superior designs, simply because you never consider them.

 

issue 3 seem pretty straight forward. mil = 0.01 * pop or something like that.  the only tricky part is what to do when population falls.  technically, the military should not shrink immediately, only through combat losses and folks mustering out. but replacement and new recruits should not be available until the standing military falls below the cap set by pop * 0.01 or whatever. sounds like you should model folks mustering out at all times. when mil is below cap, new recruits will fill the need automatically, so nothing to model there. : )

but when mil is greater than cap, you'll want to reduce mil from time to time to reflect folks mustering out, but no new recruits available due to low population. not sure how you'd want to handle that. prompt the player to select a unit for deactivation? 

Share this post


Link to post
Share on other sites

The key problem with my current battle implementation is tactics. Ships' dominating factors currently involve positioning and firing arcs (to allow for flanking advantages and trying to pursuit / outmaneuver). This can take many turns, obviously, and requires a level of detail similar to chess (or perhaps even more in-depth) which might heavily penalize players for skipping even one move.

 

 

An asynchronous chess game can take weeks. I'm not sure how much more contiguous time than that you can reliably expect from a player.

 

What if you move the strategic level up to a community thing? Have N factions that every player chooses from when they sign up. You play tactical battles against enemy factions. If you win, your faction gets some benefit: for example, maybe at any time there's multiple large scale battles being fought, and the winner chooses which one to contribute to.

 

There could be a voting mechanism for strategic decisions, or each player manages a planet where the production is shared among the whole faction. The strategic level could just be concerned with obtaining some sort of victory points, or the units a player gets in a battle could depend on the faction's research/production/etc. But basically there's a strategic narrative you participate in, but each tactical battle might be against a different human opponent.

Share this post


Link to post
Share on other sites


What if you move the strategic level up to a community thing? Have N factions that every player chooses from when they sign up. You play tactical battles against enemy factions. If you win, your faction gets some benefit: for example, maybe at any time there's multiple large scale battles being fought, and the winner chooses which one to contribute to.

 

A thought that merits attention for sure.

There are many ways to go about making this kind of metagame, I'll give this some thought, thanks!

Share this post


Link to post
Share on other sites


There's a discussion with Soren Johnson in episode 14 of the Game Design Round Table podcast. They discuss time handling in Civ 4 a bit from around 20 mins in, may be interesting for readers of this thread.

 

Also very interesting take on multiplayer in 4X at around 51:00.

 

Thanks for bringing it up!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this