Thoughts on Designing the Perfect PvP Game
Classes
In many PvP games, you select a class or hero with predefined spells and abilities.
This often creates a rock-paper-scissors design, where certain classes overwhelmingly dominate others.
Even if a game is balanced overall, you may experience matches where one class is far stronger than another. While balance might even out over many games, it still means that a single choice at the start can heavily influence the outcome.
Players can also feel restricted if their preferred playstyle doesn’t fit any existing class, which can make the game feel limiting or even pointless to play.
Some games argue that this class choice is strategically rewarding, sometimes called “counter-picking”. I don’t believe the benefit outweighs the cost.
Winning because your class inherently dominates your opponent feels good, but losing because your class is inherently weak against theirs feels frustrating.
A single choice or random selection at the start shouldn’t have such a major impact.
I would estimate that in such systems, roughly 70% of the outcome depends on skill, and 30% depends on the initial choice or randomness.
In some games, poor choices put you at a disadvantage for the entire match.
My goal is to eliminate this problem by replacing static, predefined classes with dynamic classes that are created during gameplay.
This shifts the importance from one big choice at the start to many smaller, strategic choices during the match.
It not only removes the initial imbalance but also encourages more dynamic and creative gameplay.
Many games also have “best builds”, which can be dull because players simply follow a guide rather than innovate, which can also feel repetitive.
With dynamic classes, players create their own builds in real-time.
There’s no single dominant strategy or “best build” because opponents can adapt their builds to counter yours during the match.
This makes creativity a powerful tool and reduces the effectiveness of meta builds.
One downside of dynamic classes is that it can be harder to immediately read enemy capabilities — such as distinguishing a mage from a warrior — but during testing, players quickly recognize what other players can do.
At the same time, players are constantly considering the opponent’s next moves to gain a tactical advantage.
Full counter-picking isn’t possible, as each player still needs a build that can handle any enemy player in the opposing team.
Chaotic or unconventional builds are also harder to counter, further rewarding creativity.
However, some players may prefer predefined classes, and the game accommodates that, but the core is dynamic, player-driven design.
Skill-Based vs. Randomness
PvP games often include elements of randomness, such as dodging attacks or landing critical hits.
For example:
- If you are the one dodging attacks: You might not notice it much, since you rarely think about what didn’t happen, but you feel good because you won the fight.
- If you are the one landing critical hits: You feel very happy, because seeing big damage numbers and a large drop in your opponent’s health feels good, and it also feels satisfying because it helped you win. However, the win wasn’t entirely due to your skill, and you might have a subtle sense that it was somewhat undeserved.
- If you are the one attacking and the opponent dodges multiple attacks, or if you are hit by consecutive critical strikes: You feel frustrated, as the outcome wasn’t fully under your control, and it can make you question whether the game relies too much on chance rather than skill.
Winning due to luck can feel satisfying yet undeserved, while losing because of bad luck can feel frustrating and unfair.
This issue is further amplified when combined with snowballing (explained in more detail in the next section), which can make random events feel even more impactful on the outcome of the game.
Random outcomes are often intended to let anyone defeat anyone else, but they can lead to emotional highs and lows disconnected from player skill.
I estimate that many PvP games are about 80% skill and 20% randomness.
Too much randomness, however, can undermine the skill-based aspect, making games feel arbitrary.
Therefore, we chose to remove randomness completely, even though this creates a purely skill-based game.
The downside of a pure skill-based system is that some players enjoy the possibility of winning through luck, as is the case in many party games, which, in my opinion, consist of roughly 80% randomness and 20% skill.
Another potential drawback is that in a fully deterministic game, the player with superior skill will almost always win, which can reduce engagement for other players. However, with dynamic classes, this issue is mitigated.
Each game session becomes unique and unpredictable, rather than fully deterministic. If skill gaps still create problems, an ELO-based matchmaking system can help ensure balanced and fair matchups.
Randomness can create uncertainty and emotional highs, but in this game, those feelings come from not knowing exactly what the enemy team is capable of. A well-timed attack with a carefully crafted build can create tension and uncertainty for the opponents, while providing excitement and satisfaction for yourself.
Unfair Advantages
Snowballing occurs in many PvP games when the winner of a fight gains an advantage — through XP or gold, making their character grow stronger and even harder to beat in the next fight.
This creates an environment where certain players are always “the ones to fear”.
While this can feel rewarding, a skilled or creative player can achieve a similar effect without snowballing mechanics.
- If you are the snowballed player, you can defeat almost any other player 1v1, which feels extremely satisfying. Instantly killing opponents provides a strong sense of power and success.
- If you are the target of a snowballed player, you feel completely helpless, as your skill alone cannot overcome their advantage.
Being killed almost instantly is unsatisfying and frustrating.
This creates a toxic dynamic, where players — or even an entire team — can snowball so far ahead that only they are enjoying the game, while the rest of the players are left frustrated and powerless.
I believe this is a key reason why many games that use snowballing mechanics are known for having toxic communities.
Additionally, players choosing the role of a support often have significantly slower character growth compared to snowballed players, making their roles less enjoyable and rewarding.
Our solution is to remove snowballing entirely.
In this game, XP exists solely as a measure of time (one XP per second), ensuring all players grow at the same rate.
This also eliminates issues like kill-stealing, where some games reward the player who lands the last hit on an opponent.
The downsides of removing snowballing include potentially reducing the sense of progression and flattening excitement.
However, because players can still counter-pick enemy choices, it is still possible to experience the feeling of overwhelming success even on an even playing field.
Losing positions are also recoverable through strategic counter-picking.
Another potential drawback is that removing snowballing reduces the risk-and-reward incentive for engaging in fights, which could encourage passivity.
This is mitigated by game modes that force conflict, such as control points — choosing not to fight can result in losing the game.
On another note, in some PvP games, players can be disabled for over 20 seconds through a chain of stuns, roots, or similar effects.
I think this is poor design because it turns a real-time game into a turn-based experience — no one enjoys waiting 20 seconds while being unable to act.
To address this, some games implement diminishing returns, which is also the approach our game uses.
Diminishing returns reduce the duration of successive disables on the same target, preventing long disables.
However, in that 20-second example, the game did have diminishing returns but used separate diminishing-return groups for different types of disables — for example, stuns and roots might belong to different groups. This meant that some class combinations could chain disables from multiple groups without triggering the diminishing returns, allowing them to lock down opponents for a long duration. As a result, these combinations became disproportionately strong, and players were forced to prioritize optimal pairings instead of playing the classes they enjoy.
In contrast, our game applies diminishing returns to all disables, avoiding this issue.
Finally, while some games introduce pay-to-win mechanics, we chose not to use them, because our core design principle is that PvP should reward skill on an even playing field.
Not Playing
Some games make players wait while dead to emphasize the impact of death in PvP, sometimes forcing waits of several minutes. In my view, this is a poor design choice.
Long respawn times can be frustrating, causing players to tab out or lose immersion, which interrupts the flow of gameplay. Games are meant to be played, not just watched or waited through.
In this game, death has minimal downtime. Under normal circumstances, respawns are under 3 seconds, only extending to around 10 seconds when near your spawn.
This keeps players engaged while still providing a brief penalty. The walk back from spawn acts as a natural punishment and also gives players a moment to plan their next build choice.
Ganking
Some games reward ganking, where multiple players attack a single, isolated enemy at the same time.
While this can introduce a tactical element, it also removes skill from the encounter — battles are essentially won automatically by the ganking team.
The targeted player of a gank can do nothing, since the ganking team can spam all their spells and abilities to almost instantly kill the player.
This is frustrating for the player because they have no opportunity to use their own skill to influence the outcome of the battle.
This is a design flaw that other older games handled better by making such tactics harder to execute.
In our game, ganking is limited through several mechanics.
Team damage is enabled, forcing players to avoid hitting allies, and kiting mechanics allow isolated players to retreat while slowing pursuing attackers.
This gives a lone player a fair chance to fight back and potentially turn the encounter around through smart play.
As a side effect of team damage together with diminishing returns, you can apply disables — such as stuns or roots — to your allies before a battle begins, effectively using them as a buff instead of against enemies. Doing this reduces the duration of future disables that the enemy can inflict on those allies.
Introducing team damage does open the door to griefing via intentional team damage, which is frustrating.
To prevent this, the game uses a real-time anti-grief system. Players who deal excessive team damage can easily be reported, resulting in the griefer being stunned for a significant duration. Repeat offenders are kicked from the game, and persistent griefers can face permanent bans.
Note about Frustration
In some specific games, frustration is often part of the intended experience. These games are structured so that failure provides clear feedback within repeatable, predetermined, and static scenarios, allowing players to learn, adapt, and eventually overcome challenges. In that context, frustration can support growth and a sense of achievement.
However, PvP games that are not easily repeatable, predetermined, or static cannot borrow that same design. In most cases, frustration in PvP arises from unfair design or chance-based elements, making defeat feel arbitrary rather than instructive.
Overall Thoughts
I believe games should be fun to play, enjoyable enough to make you laugh, rather than experiences where you have to be serious most of the time.
At the same time, I think games should be as balanced as possible — but balance doesn’t mean players should have to play seriously or feel pressured.
I want games to reward skill, creativity, decision-making, and tactical play, while minimizing frustration from randomness, snowballing, or punishing mechanics.