Player vs. Player Combat - Current Situation
Currently players can attack each other except in situations where the players' strenght differs too much. In those situations the weaker player can attack the stronger one to start a battle. Some players use PvP combat to increase their ATK and DEF stats quite extensive.
In some situations the Status Quo causes trouble, e.g. player B tricks the weaker player A into attacking him and kills him in PvP combat.
Player vs. Player Combat - Possible Options
Although training/camping is not that important anymore players still want to train (and do so), thus simply deactivating PvP combat might cause a lot of complaints.
- Opt-Out based system: Players can decide to not participate in PvP. By default they are open to PvP.
- Opt-In based system: Players can decide to participate in PvP. By default they are not part of PvP.
- Challenge based system: Players can challenge each other to fight a duel. Only if both sides agree they can fight. By default players are not part of PvP.
Implementing some kind of Opt-Out or Opt-In for PvP could be abused.
The third option is a bit more complex and still has some gaps for abuse. But due to the nature of the system abuse is quit as soon as one of the involved players dies or logs out.
Therefore we should go for a challenge based system.
Challenge System for PvP
Handling PvP combat in a challenge based system within Stendhal brings up some necessary considerations. We want to address them in this section.
- Lifecycle of challenges
- GUI design
- Server side infrastructure
Player A issues a challenge request to another player called B. If B accepts the challenge, the challenge starts between both players. If B does not react the challenge request should time out after some time. It should not be necessary to actively reject a challenge. Challenges should respect ignore lists by simply dropping challenge requests from ignored players. Players can only have one active challenge at a time.
If A and B agreed on a challenge it is established and both players can attack each other. The challenge ends when one of the two player dies. It also ends if a player logs out (or is being logged out due to lag or something like that). A challenge should expire if no fighting happens between both players for some time.