For a long time I was thinking about a quite abstract game design problem, to which I didn't see a good solution yet. In abstract: How can a player have owned bases, units and infrastructure in a persistent multiplayer world, which can be interacted or attacked by other players, all the while the owning player may be offline and unable to give his input?

As a concrete example:

Assume you have a very large 2D world, in which you can build bases and have units guarding them. The bases can be visited or used by other players as automated trading stations, in which you represent the vendors. But the bases should also be able to be contested by hostile players - be it plundering or outright destruction.

How can I solve the issue that the owner of the base may be offline during an attack? Or that a player attacks at times where people are usually not online (sleeping, working, school)? Or that a player may actively go or stay offline in order to exploit potential protection mechanisms? How can I avoid forcing players to go online for a certain time at certain time ranges in order to maintain such protection?

Ideas (which are not satisfactory though):

  1. Bases cannot be attacked in normal ways. People can send "troops" with a delay hopefully long enough to ensure the other player can give his optional input. The outcome of these battles is an automatically calculated result. Such sieges may go over multiple days.
  2. Bases can only be attacked while their owners are online - or have been offline for too long. The explanation why those cannot be attacked is severely lacking though - given that trading should still be possible.
  3. When a player intends to attack, both players somehow have to make an appointment in order for both to be online and to start the battle. This is a bad solution for obvious reasons.
  4. Bases are inactive and invulnerable while their owners are offline or setting it inactive, and trading/other activities continue only temporarily based on the previous online/active time. This raises issues with visible bases and ongoing infrastructure, as they'd essentially need to be hidden or hideable, and other players may get bothered by it becoming inaccessible.

What other methodology does exist or could be employed in order to tackle this online-offline issue with persistent elements? I am also open for mathematical or systematic solutions. Be reminded that other players should be able to assist either side as well, and that their online/offline times would require some consideration as well.

  • 4
    Why do you think you need to implement a solution? What is the problem? Why are automated guard units and the ability of players to co-operate not sufficient? – Jack Aidley Oct 17 at 10:20
  • 4
    Because it may lack interaction and input from the player if he is offline. In theory the attacked player could either take part in the battle (if the game mechanics would allow it), or make strategic decisions. And if the attacker attacks at times where most people sleep, the help of other players would be minimal to non-existent (not that it would be something reliable anyway). So being online or offline might be an advantage or disadvantage. – Battle Oct 17 at 10:31
  • 2
    Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. Thanks :) – Alexandre Vaillancourt Oct 18 at 13:13
  • Comments on this question have been moved to chat; please continue any discussions there, as further comments that are not directly requesting clarification will be removed. – Josh Oct 19 at 15:26

13 Answers 13

Players have lives outside of the game, so you can not expect them to protect their property 24/7. You can be a bit more cruel about this when properties are not owned by individual players but collectively by large groups of players, because if the group is large enough then at least someone will be online most of the time. But this still creates a lot of unnecessary pressure for players to play more than they want to.

So if you want online PvP battles for the control of property, then you have to balance some conflicting interests against each other:

  • The interest of the defender to defend the property when it is convenient for them and not lose property because their life outside of the game came in the way.
  • The interest of the attacker to be able to conquer any property they want as long as they are strong enough to do so.
  • The interest of the game to have both attacker and defender present for the battle, so you have a fair contest of skills.
  • The interest of everyone to play your game when they want to and not neglect their life outside of the game.

In order to balance these interests, you need some game mechanic which allows players to negotiate a date for when the battle is going to take place. The negotiation mechanic must be designed in a way that it is in the interest of both parties to have the battle as soon as possible (so no party can win or grief by biding time), but still allows both parties some degree of control in order to find a time window where both parties are present.


A good subject for a case study in this regard might be Eve Online. Disclaimer: I read a lot about Eve Online, but I never played the game myself. So please write a comment if I misunderstood something.

Players can own stations, which still exist while the player is offline. Other players can attack these stations. But as soon as the station drops to 25% shield strength, it enters what is called Reinforced Mode.

While the station is in reinforced mode, other players can not damage it anymore, but the station also loses functionality and starts to consume a resource which can not be replenished while in this mode. When there is enough of that resource in stock, then it can last for more than a day.

So when the attacker wants to take the station, they either need to wait until the station runs out of resources or until the owner shows up to defend it.

The effect of this game mechanic is that the defender decides when to fight for the station. The attacker is the one who needs to stay online and prevent the defender from refueling. But it is still in the interest of the defender to react early, because while the station is reinforced, the station consumes resources without doing anything productive.


A mechanic I have seen in another MMO game (unfortunately I don't remember the name) was that the owner of a base can explicitly set time windows in which they are vulnerable to attacks. So the player can make sure that they are only attacked during times where they are usually online.

  • 7
    Good example. In a fantasy context the attacking army could "siege out" the attack, if the defending player does not try to break the siege, the city resistance breaks. Depending on how long that took, the attacker may raid less food and/or people, but maybe other produced goods as those couldn not have left the city. – PSquall Oct 17 at 11:20
  • 3
    This answer is quite helpful, especially the part about disrupting the functioning of a base and the resource mechanics (along with the inability to refuel during a siege). This still leaves one issue - if I understand correctly - the attacker would have to siege for 12-36 hours, meaning he would have to be continually online especially in the time in which defenders are as well. That would be a lot of continuous online time required for the attacker(s), possibly way too much. – Battle Oct 17 at 12:41
  • Comments are not for extended discussion; this conversation has been moved to chat. – Josh Oct 19 at 15:28
  • This "set vulnerable windows" is also eve online - the new structures (refineries, citadels etc) have that. – Zizy Archer Oct 19 at 18:44

The text-based game 1000AD handles this by letting players be attacked as normal. The way the game works, you obtain one "turn" every 15-30 minutes (depending on game speed), and one turn lets you execute one month's worth of orders.

Thus, players tend to log in every few days with 500-1500 turns available, and spend the first few pulling down their defenses, the bulk of them handling research, expansion, or attack, and the last few setting up defenses (towers, siege weaponry, armies of various compositions).

In fact, this setup has lead (over the years) to a meta where it's considered very rude to attack someone while they're online!

You could thus possibly build mechanics in order to enforce that structure, something like for the first 30 minutes of each 24-hour period that you're logged in, you're invulnerable from attack, and center the game around attacking offline foes (or at least foes that have depleted their 30-minute window).

  • That sounds quite exotic, but an interesting thought nonetheless. Given that usually players have way more offline than online time, it could indeed be a solution to instead encourage sieges on offline players, and revolve the game mechanics around that. This would also imply to use the method which minimizes players' influence on a battle while a siege "session" of an enemy player is in progress. – Battle Oct 17 at 14:58
  • This sounds a bit like the text based game TradeWars 2002. There's no etiquette against attacking online players, but it can be difficult and dangerous because the game has no built in pacing and the player with the faster ping has an advantage. – TKK Oct 17 at 17:27

Automatic defense and high turnover. Let the base defend itself automatically without input from the player. Optionally allow the player to provide some form of support if they are active at the time. If a player loses their base(s), it should be easy enough to either build more or take over somebody else's (not too easy, but not insurmountable enough that their experience is ruined by losing their one of their bases while they were offline). This allows players who are actively playing the opportunity to actually do things (take over other players' bases) at the time they are playing, regardless of the status of other players (if the base owner is online and providing whatever defensive support is available, it's more challenging/fun), and prevents players from essentially taking bases out of play by making them inactive/protected or going offline forever (or logging in for 3 minutes a day/week to seem "active" and prevent it from being attackable).

You could also have two separate types of bases: one lightweight, low-cost (to build or conquer), easier to take base as described above, and a more heavyweight, protected base that has gameplay/scheduling measures in place to ensure (or make it more likely) that the defending player - and/or their allies - are active participants in battles for control. These would be more difficult/expensive to conquer/build. Once a player gains control of one, give them an option to allow a time (within the near future) that they expect to be playing and able to actively defend. Lock the time in so they can't keep pushing it into the future forever, but give them a window (maybe an hour or two) to make the decision, so if they have a job/family/travel/school/etc. they can choose a reasonable time. If they don't, just pick a time. Most players will understand that online multiplayer games need to cater to a wider audience than just them.

As far as preventing attacks on a base while it's still accessible for trade, there are plenty of options. The mechanics are simple enough, either don't allow attacking at all, make attacking excessively costly and very ineffective, or provide severe consequences for doing so outside the allowed window. You just need some world-/story-based justification for it:

  • Environmental constraints make access by a single traveler/small caravan trivial, but access by an army impossible. Maybe seasons change or tides come/go or an event happens that opens up access to allow attacks
  • Magic fairy protects for X years, then goes away
  • Peace treaty forbids attacking, with swift and sever consequences (much larger military, advanced tech, magic, whatever) for some time
  • This is all an elaborate online game, and this player is not available. Come back later :)
  • There must be several Mobile games and thousands of clones that use such a system. You build your defenses and that is it. The attackers have full control while you may not even be allowed to look at your base when they attack. The losses are generally insignificant and if they win you usually gain some kind of shield so you can't be attacked again (removed if you attack). Usually you only risk a large portion of what your harvesters gathered and a small portion of whats in your storage. These are usually Idle games though. – Ryan Oct 19 at 19:02

Have you considered how it was done historically?

In most games that work similar to the type of game you seem to be developing (I've thinking Travian, Goodgame Empire and another one that got me so salty I can't be bothered trying to remember the name (but I remember that it had a shitty marketing technique)) combat is just a slow movement of troops, instant maths to resolve the combat and then a slow returning of troops. This is not how combat works! This is not how you would take a base historically! Conquering a fortified position is a very significant and time consuming task. Fortifications are much harder nuts to crack than game developers either realize or care to properly emulate.

My suggestion is going to make attacking another player a much larger investment of time and resources and it's also going to make defence more costly. However, it will also open up a whole lot more options for both sides. So much so that it might become a different game than you had originally intended.

Besiege them!

Assuming that the defenders have any kind of wall protecting their base, then instead of instantly resolving combat when the attackers arrive, the attackers should set up camp around their target. In other words, they should besiege them.

The siege can be strengthened by adding more troops to it. This is one way to work together with your allies. However, this goes for the defender's allies as well who can send a force to relieve them.

Supply issues will be the main driving factor

While the siege is in place the defender should be unable to gather resources as their access to the surrounding lands are cut off. Instead they start eating into their food and water* stores until they are depleted as well as burning all their wood, coal and oil for heat, light and cooking. Once the food has run out the castle surrenders unconditionally.

Of course, the attackers also need to eat and feeding an army away from their home is no small task. Their choices for this is...
1. Supply caravans. This will be the main way to resupply your troops. You can provide it yourself, rely on an ally to provide it or negotiate for it with third parties (perhaps on the threat of besieging them next if they don't).
2. Scavenge. This will only be able to provide a little bit of food. It's not enough for a large force for a long time, but it works as a stop gap if you're having trouble with supply lines.
3. Raiding. This is more effective than scavenging, but it causes significant collateral damage to the surrounding land, which is bad if you intend to conquer the land for yourself. It also puts a limit to how much you can raid. Raiding can however be an end goal in and of itself as you weaken your enemy and then leave without actually trying to take their base.

Both scavenging and raiding the countryside requires the besieger to disperse some of their troops for some time, which is a perfect opportunity for the defender and their allies to sally out of the base to strike at the besieger's main camp or for allies outside the siege to pick off these smaller scavenging/raiding parties.

Supply caravans might seem like the superior choice now, and they should be, but you might want to make them vulnerable to interception in some way.

Lots of choices!

You now have a siege in progress. This gives both sides a number of options to consider.

Defender:
1. Wait... Hope that the attacker will leave or that an ally will come and relieve you. If nothing happens your base's inhabitants will begin to starve when supplies run out and eventually surrender unconditionally. However, it takes two to have a siege and your besieger's troops are locked in their position unless they want to abandon the siege.
2. Sallying out is an option for the confident defender faced with an attacker who tries to bite off more than they can chew. End the siege early by defeating the besiegers while they are at their weakest.

Attackers:
1. Wait... As long as you have a steady stream of supplies to keep your troops from starving and disbanding you can win by just waiting out the enemy to consume theirs.
2. Raid the countryside to spite the enemy into attacking you or just to weaken them for future engagements.
3. Assail the walls to try to take the castle with overwhelming force. This is very difficult as a well-built fortification can be defended by a handful of men in the face of a many times larger foe.

Both:
Negotiate! You want to take the castle for yourself? Save yourself time and resources by offering the defender safe passage for their troops to leave. Your attacker wants resources? Offer to pay them off to break the siege. Maybe you and your allies can make an offer juicy enough that one besieger abandons his allies who then become easy pickings.

Maybe the besieger has some other purpose with the siege? Just about anything can be negotiated! Just make sure that there's no penalties for breaking a siege and going home or at least that they are much lower than the penalties for continuing the siege. You don't have to develop for all the possible outcomes from negotiation. Let the players resolve matters by sending each other messages and they will find ways to achieve the outcome within the game mechanics.

The siege mechanics should open up a lot of strategical options as well. Consider that the A-Alliance wants to conquer the B-Base of the C-Coalition. A-A will send their main forces to B-B. But they also send smaller forces to besiege some nearby bases. These forces aren't large enough to take those bases, but they are large enough to prevent the enemies in those bases from sallying out and coming to the aid of B-B. C-C has the option of sending forces from further away to relieve B-B or they could start dislodging the enemies around the surrounding bases to free up more troops and supply sources in preparation to finally relieve B-B. However, doing so may cause them to arrive too late. Choices are fun. Making the right choice is a challenge in and of itself and it turns warfare into more than just a contest of who can amass the most troops and throw them at sleeping players.**

Combat

Here's the crux of the matter. This is the part which the question focused on. This suggestion has so far lessened the problem by reducing the amount of combat by instead implementing a war on resources and time. This makes it more historically accurate, but combat is still an important aspect of the game and perhaps the most fun part for some players. How we deal with it depends how you intend for combat to work in your game. I will explore those options further down, but first we deal with the issue of players being overwhelmed by enemies they are not prepared for.

The siege mechanics deal with this by forcing an attacking enemy to first besiege the base. However, this is pointless if the enemy can just attack and overwhelm the defender right away. Sieges take time. Therefore, after arriving there should be a cooldown before the besiegers can attack. This time represents the time it takes to build ladders and siege engines*** and preparing your forces for an attack. The cooldown should be longer the better fortified their enemy is and the timer should reset after every attempted attack. The defender might have a good view of the surrounding area and thus be able to tell how long it will take before their besiegers' cooldowns finish. Though the besieger doesn't have to attack as soon as the cooldown runs out. They can take their merry time just sitting about if they wish.

Also remember to give the defender a significant advantage! Attacking a fortified base is difficult and costly, which is why sieges were the overwhelmingly most common form of warfare historically (if you have a fortress then why not use it, you know?). This needs to be true in your game too or the whole siege mechanic becomes pointless. If the attackers doesn't need to commit a lot of forces to win a siege without waiting it out then it becomes too hard to defend against even an alliance of equal strength. You want your players to be able to stand a decent chance of defending against a superior enemy alliance or whomever attacks first will simply steamroll their enemies.

Instantly resolved combat
If you want the Travian style battles which are instantly resolved mathematically rather than having the players play the actual combat, then we're done here. The siege mechanics and attack cooldowns will give the defender and their allies plenty of time to react to the attacker. You don't need to be present for the actual battle, you just need to know ahead of time when a battle might happen so that you can prepare in time.

The movement of enemy troops and the attack cooldown should give enough time to make you aware of the threat unless you stay offline for a long period of time, like over 24 hours. As long as you check in once a day that should be enough, so that an entire alliance doesn't just decide to gang up on you while you're sleeping so that you wake up to having lost your strongest castle without any warning.**

RTS/TBS
If you want combat that requires the players to move pieces on a field to actually play out the combat, then there's no way around it, your players must negotiate for a time to play out the combat. You should build a system around it and you may have to do some time jumping to achieve it.

For example, if the attacker suggests one time to fight and the defender suggests a later time then you shouldn't allow allies of the defender coming to relieve the siege in between those two times to take part in the combat, as that would be unfair to the attacker who wanted to fight before the arrival of more enemies. If the relieving ally tries to negotiate for combat with the attacker upon arriving, then that combat should not be allowed to be held before the combat which the attacker tries to negotiate a time for with the defender, because that would screw up the timeline and make the attacker fight with a weakened force in a battle that was supposed to take place before he was weakened.

In other words: the timeline of the battles, and thus the order in which they should be fought, should be determined by the initial time suggested even if that did not become the agreed upon time. Which players that can participate in the battle should also be determined by who was at the siege at the initially suggested time. Cooldown effects should only take the initially suggested time into account. Name the battles using the in-game time of the initially suggested time to make it more clear to the players.

If the sides have trouble organizing a time on which to fight and there are multiple fights being queued then that could lead to a series of fights which -according to in-game time- only takes a few days end up spanning a whole week or two IRL. This is fine though. By implementing the suggested siege mechanics you've already determined that your game will be the long con kind of game where things elapse more slow and steady.

After a battle the attacking or relieving force should get the option of retreating back home and thus cancelling their participation in upcoming battles. Or course, the defenders who are trapped in their base don't get a choice. If any player doesn't show up for battle at the predetermined time then their forces will be played by an AI. If no one shows up then the battle will be auto-resolved mathematically. This is so that upcoming battles can continue as expected. To prevent decimation of anyone's forces because they weren't there to cancel their upcoming battles you could implement a moral mechanic which causes troops to automatically retreat back home if they are poorly supplied and/or losing too many battles.

Downsides?

If you implement the siege mechanic as suggested then you are probably going to end up with a game that works very differently than you had originally imagined. The overarching strategical part of the game has to become more slow paced for the siege mechanic to work and the players needs to put more consideration into their strategical actions. This will appeal to some players and it will turn other players off, just like with any major design decision. However, the important part of the question -how to prevent players who are sleeping or otherwise pre-occupied with real life from being curb-stomped by alliances of opportunistic hyenas**- has been solved. Because you now have a game where players are fine if they just check in once a day or so due to the slower pace.


*Water is an essential resource which is consumed in large amounts. If your base doesn't have a well then it will need to store a massive amount of water. Normally a base would have a well, but if you choose to build your base on an easily defensible mountain top then it might not be possible to find water.

**Yes, I'm salty.

***Unlike what most strategy games suggest, you don't actually drag siege towers and trebuchets with you from home. You build them at the siege with locally sourced lumber.

  • 1
    Those mistakes you criticize, and what "game developers either realize or care to properly emulate" aren't really mistakes, they are deliberate design choices. Their marketing isn't "shitty", it's annoying but effective. The goal with that game design is to trick players to pay more money, and then abuse the sunken cost fallacy to make them addicted and make them pay even more money for the privilege of not playing, due to the fear of losing their base (so they pay real money for automatic defenses while they are offline). – vsz Oct 19 at 6:08
  • 2
    @vsz Yes. Allow me to reiterate.** – Kapten-N Oct 19 at 6:31

There are a few ways to deal with this, which can be combined as desired.

Rate-limit attacks

This can be done in two ways:

Any given player can only be attacked so many times during some time period (by anyone).

If you don't allow outright destruction, the in-game explanation can be that there are only so many resources that can be taken from a base. If you do allow outright destruction, the best explanation might be honour - in-game it's viewed as disgraceful to "kick someone while they're down", and generals would outright refuse to launch such an attack.

It might make sense to incrementally do this, as in each successive attack on the same player reduces the rewards.

Any given player can only attack so many times during some time period.

This indirectly addresses the problem by limiting how many attacks can happen overall, thus also limiting how often any given player can be attacked (especially if you combine this with the locality suggestions below).

You can have attacks take some time, just have a delay between attacks (for soldiers to heal and rest) or have each attack cost some soldiers, which requires time to be replaced.

Don't punish the defender (much)

The extreme here is that you only "punish" the attacker - their attacks cost them resources and soldiers, and they gain resources if they win, and the defending player isn't punished at all. This isn't really ideal for a "proper" multiplayer game, as you want your actions to affect others.

The middle ground is to "punish" the defender less severely than the attacker (they only lose certain types of resources, or they just lose less of it). How much less severely is something you'll need to play-test and optimise.

Limit rewards from attacking weak or far away players

This is a less direct way to deal with this.

Attacks come with some overhead, which is dependent on the size of your army and the distance they must travel (you need to deploy your army, feed everyone on their way there, maybe lose a few soldiers to wildlife, disease or weather, etc.).

If you attack someone much weaker than you or far away, this overhead may very well be greater than the most you can hope to gain from such an attack (and you can also just refuse to execute such an attack for this reason).

The way this addresses the problem is by limiting who can attack who, which also limits how many times someone can get attacked.

You should be careful here to try to avoid situations where players can only attack a few small number of other players (or no other players).

Note: coming online to find your base severely damaged is generally just not fun

That's not to say there's no way to make a fun game where this happens, but you should be careful here. I'd only really recommend this if you don't spend too long building a base from scratch to a point where you have something decent (e.g. a few minutes), you have many bases at the same time, thus losing one is not really a big deal, or losing your base still allows you to keep most of your wealth (have a global bank?), which will allow you to quickly get a decent base up and running again.

  • Interesting concepts. I also thought about asymmetrical warfare, in the sense that the attackers have to invest a multiple of resources in order to actually siege for destruction (but not much more for looting). Another concept is, which you pointed out, some form of exhaustion to units - implying a mechanic in which some resources are not only consumed, but instead can have downtimes. Another concept you mentioned which I didn't thought of yet might be to have a part of resources be recovered when losing a base, mitigating the loss but losing the strategic position. – Battle Oct 18 at 5:56

Give allied players an incentive to defend on behalf of offline players.

The MMO Dark Age of Camelot featured three warring player factions. A faction could gain advantages by capturing and holding bases in the PvP area. These bases were not owned by individual players; they gave their bonus to an entire faction and could be "claimed" by a guild for prestige.

You could come up with some variation on that for individually owned bases. For example, individual control of a base could give some bonus to a player's guild or faction, or players could be awarded XP for defending the base of an offline friendly player. Even just alerting online players that a friendly player's base is under attack could attract them there for PvP action.

Many MMO RTS games delay attacks based on distance, and limit the size of the attack based on supply lines. They also tend to grant defense bonuses to defenders that are not available to attackers. For example, attackers may be limited from sending only X troops, but defenders might have unlimited troops (e.g. as many troops as they can build), walls, traps, and so on, which can be upgraded.

Make it more difficult for attackers to succeed, and they'll consider their choices carefully, especially if there's also a real-time attack delay (e.g. an attack will take one hour to reach a target, and you'll lose those troops for defense during the duration). If practical, allow an option to send a push notification or some other means to alert offline users of an imminent attack. Attacks should also probably be rate-limited so that throwing a large number of smaller waves won't wear down an opponent that can't respond readily.

As mentioned elsewhere, reaching some critical threshold should trigger a protective mechanism of some type. For example, attacks become less effective, no further resources can be farmed from the target, auto-build troops or allow "wounded" troops to return to battle at some time. A defeated player should still have a decent chance of rebuilding after a severe attack.

OK maybe a contrarian answer here, and totally opinion based, but...

Don't be ashamed to make people a slave of the game (and money)

Basically, people will put an insane amount of time (and money) into a game if it's really good. So let the fear of consequence of offline attacks encourage more play time (and more money spending).

Ideas

Let bases for offline players suffer and defend very weakly. That encourages players to play more. Or conversely, may actually drive them away from your game.

Send players live alerts telling them they are under attack. This gets them to login and play, or decide to just let the base die.

Charge them extra money for levels of auto-defense that make offline-player bases a lot harder to attack.

Caveat

This will fail miserably if your game isn't good. If you can't get players addicted, this will fail. And it won't work for any kind of "casual" game.

  • That's an advocatus diaboli answer right there. But I appreciate that as well! However, keep in mind while you could say that if the game in particular is good, such practice could still cause massive frustration to people (and drive them away) and thus make it worse again. Also you'd likely breed a more aggressive (toxic?) player base and drive away peaceful ones (assuming the game is not only about PvP). – Battle Oct 19 at 5:38
  • @Battle - definitely speaking for that chap with the bifurcated tail on this answer :) I agree with your conjecture about aggressive/toxic players as well. If you're willing to go down that path, there are some, let's say, more interesting solutions to the challenge. – Tim Holt Oct 19 at 18:12

How about a system where you have a certain amount of time to defend yourself, like a day or so.

Imagine this: Attacker sends the attack, and is told by the game something like "Your attack will be completed in 1 day" So they have to wait a day for the result of their attack.

The defender then gets a notification "You are under attack! You have 1 day to defend yourself!" So they can choose a moment of the day to defend themselves. If they don't however, it will be an automatic loss.

If you want to, you can even make the defender pay whatever currency you use to extend that time.

This would allow the both parties to act whenever they want, and allow the defender to fully prepare themselves for the attack, without allowing them to stall for much time.

However, this would also mean that the attacker can't act live, so they'd have a big disadvantage, meaning you should make attacking easier than defending.

This also causes problems if the defender cannot be active for the day. In that case, I'd implement an "AFK" feature, where you tell the game that you'll be inactive for some time, so the game will pause any progress from you during that time. Attackers may still be able to attack, but their attacks won't start until the defender is no longer "AFK".

  • Oh... one thing is indeed a very helpful thought - having an option to render bases both invulnerable and inactive by choice. So the states could be one of three: Player online, player offline, inactive. This distinction alone is quite useful and allows for a bit more harsh conditions for offline players with active bases because you can fairly expect online presence roughly every ~24h. Very good. – Battle Oct 20 at 10:17

From a player perspective

A pet peeve of mine, as a game player, is when a game tries to hard to get me to play more, so much so that the games advertise themselves as "addictive" are the ones I stay away from the most.

However, I realize that a game that doesn't get played is of no benefit to anyone, so games should provide some draw to continue playing, and play somewhat regularly.

Having said that, I would propose a combination of 2 elements:

First, an automatically adjusting difficulty on the AI for the offline player and, second, something like a "difficulty" setting manually selected by the players themselves, but related to how often they expect to be online.

Some examples:

If an offline player selected an "Easy" difficulty, then their base might be invulnerable for 24 hours after their last login. After that, their base can be attacked, but their are given a defending AI with a 99% success rate (or whatever number is reasonable for the specific game mechanics) at defending the base. That percentage then slowly decreases over time, for as long as the player doesn't log in, until it reaches 1% (or other applicable pre-set minimum). Logging in takes it back to halfway between the min and max AI levels, and slowly increases from there for each consecutive day they log in or for the length of each gameplay session, etc.

If an offline player selected a "Hard" difficulty, then their base might not have the 24 hour invulnerable period after their last login. Instead, the defending AI starts at 99% success rate (or whatever number is reasonable for the specific game mechanics) at defending the base, as soon as they log off. That percentage then slowly decreases over time, for as long as the player doesn't log in, until it reaches 1% (or other applicable pre-set minimum). Logging in doesn't take it back to halfway, but immediately starts slowly increasing for each consecutive day they log in or for the length of each gameplay session, etc.

Add intermediary "difficulty levels" and fine tune the numbers and concept as needed for the specific game mechanics and application.

Perhaps, to make the first option less unsatisfactory, you could have your deterministic battles play out in real time to the attacker (and to the defender if they're on), with the means by which the battles are decided being some manner of tactical 'programming' done by the players that gives both sides small scale agency without requiring active participation. Possibly also restrict battles to, say, one per day to make it more difficult to exploit flaws in a defender's strategy once it has been observed without giving them the opportunity to remedy them.

A few simple rules:

  1. Ongoing sieges when logging off procede as normal.

  2. Once all ongoing sieges have been resolved, apply a defensive boost that gradually declines over a set period.

  3. Succesful attacks on other players (while online, obviously) increase this period, succesful attacks on you reduce it.

  4. Once the defensive bonus decreases to 0, mark the player 'inactive' such that no interactions, positive or negative, are possible.

This sounds like a game I used to play called Ogame (initially a German game I think). You had a fleet which could only be attacked while in orbit around one of your planets, so when you went offline, you'd send it on an 8 hour (for example) round trip so that you know what time you had to log in to interact with it again.

Good player would determine when your fleet was due back and send theirs to arrive (hopefully) seconds before yours arrives back and crash it. You'd be left with the survivors.

  • 2
    Welcome to Game Development Stack Exchange. Please note that we expect answers to answer the question which was asked. This answer seems to describe a mechanic and then right away why this mechanic does not fulfill the goal stated in the question (a skilled attacker can estimate when to send their fleet to cause maximum damage to an offline player). So this answer does not really answer the question. – Philipp Oct 22 at 10:41

protected by Philipp Oct 22 at 10:37

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.