Protecting Your Online RPG’s Economic Integrity
302 segments
Hi, I'm Chris Wilson. I was going to start the video by joking "if you're
an average viewer of mine, you're probably running an online RPG and
have questions about how to maintain the integrity of its economy", but honestly,
looking at the emails I get, I'm beginning to suspect this might actually be true.
Don't you hate it when you're playing an online RPG,
trying your hardest to level up and find good items, but it feels like
all the other players are miles ahead of you because they're not playing fairly?
In this video, I'm going to talk about economic integrity. Put simply, this is the ability for
players to fairly earn progress and items through in-game actions, on a level playing field, without
outside influence or cheating. Basically, that the game doesn't let people unfairly get ahead of you.
I'll discuss why it's important for developers of online RPGs to prioritise economic integrity,
what policies they should consider, how they should deal with cheating,
real money trading, and even their own customer support departments.
As some of you may know, I was one of the original creators of Path of Exile,
and ran it until late 2023. From the very first day of development,
we prioritised the economic integrity of its online realm. We wanted to make sure that
progression and items were meaningful. Players needed to know that other people couldn't just
cheat their way to the top. I think we did a good job with this overall, and learnt
a lot along the way. As more and more games launch with secure online servers these days,
I felt it was important to make a video about what I've learned over my career. The suggestions in
this video are my personal opinions after a couple of decades of thinking about this every day.
When some people hear you talking about competitive games, they assume you mean games
like Overwatch or League of Legends, but online RPGs can also be highly competitive, just in a
different way. In these games, the economy is the competitive part. Players compete to make faster
progress, get to higher levels, find better items and complete harder content before everyone else.
Each Path of Exile league launch is highly competitive. A lot of players schedule
considerable time off work and stay up overnight to play as much as they can while the economy is
fresh. Players come out of the woodwork, bringing their friends, whenever a new league starts. The
seasonal ladder reset model pioneered by Blizzard North after the launch of Lord of
Destruction is an absolutely critical part of the way that many modern Action RPGs retain players,
but it hinges on players feeling that the economy they're playing in has integrity.
These players are trading a lot of time and effort to get the feeling that they're making
real progress that matters, and finding real items that have value. If something happens to
the integrity of the economy that causes them to doubt this, then they quickly stop playing. This
is why it is so catastrophic when a game launches and then there's some bad exploit soon after
launch, wrecking the economy and everyone's interest in continuing to play that season.
As a developer, if you're paying the significant cost of server-authoritative multiplayer for your
game, it’s worth finishing the job: protect the economy those servers exist to validate.
Online RPGs are also an escape from societal class issues. Players expect a level playing field where
wealth doesn't matter. Playing an online RPG lets you outplay and outsmart the other players
to become more successful than them regardless of their real world wealth. And the economy needs to
have integrity for you to feel this way. You don't want to be playing a game where some millionaire
can buy his way in and get better items than you just because he's rich in real life.
Now sure, if the game doesn't have an online mode and is just single player,
there is no server-validated competitive economy and hence no integrity considerations
are needed. But people in single player games can just arbitrarily cheat as all
the data is local. Many players want to play on secure multiplayer servers
because it validates that progress is real. Some games have a Solo Self-found mode,
where players are unable to party with or trade with each other. In this mode, their progression
is still validated serverside so they have bragging rights about what they have achieved,
but there's no way for them to trade with a greater economy so they aren't affected by
many integrity issues. While that's exactly what some players are looking for, an overwhelming
majority of other players like to play together and trade. If you limit or remove trade from your
game to sidestep economic integrity issues, you certainly miss out on a lot of potential.
In this video, I'll be primarily talking about economic integrity for games with
trade, but many of the issues still apply to online RPGs without trade.
The first step is treating your game’s economy with respect inside your studio.
For example, let's say that a celebrity approaches you and wants to do a promotion
for your game. They're going to play it on stream alongside your lead developer
and it'll get a lot of attention. The problem is, they're famous and busy and
aren't going to play through the game to get a character ready. They want you to
pre-create a high level character for them to play. This could be really good for marketing,
but it could also completely undermine your community's trust in the game economy if you're
just going around making characters and items for people. In a situation like this, you should play
with them on a test server and to communicate to the players that it's on a test server and not
the live servers. I know it seems like it's just one character and won't impact the larger economy,
but it's about optics. If you are willing to break the seal and start interfering with what's on the
live servers, players will worry that's going on to a much larger extent they don't know about.
In a similar way, you should be very careful with who gets new information that isn't
publicly disclosed in the patch notes. For example, if you add a secret recipe
that players are meant to go looking for, and your development team knows about it,
what's to stop them using it on the live servers to get a large economic advantage themselves?
You need to make sure there are policies and rules in place that make them very
aware which information can't be used on the live servers until it's public.
The same applies to your alpha testers. They may learn secret information that
gives them an economic advantage on your live servers. Make sure they not only understand
what they're not allowed to do, but are given an opportunity to skip testing a particular
patch entirely if they want to be eligible for things like winning prizes in events.
Economic integrity is about making sure that players have equal opportunities
to earn progression and items in your game. You enforce this fairness with a combination
of policies that you post and decisions that you make in the cases where the policies don't cover
a situation. When you have to make a decision, be consistent and communicate your reasoning. If
you make a decision for the sake of fairness and players don't understand what happened,
they may perceive it as unfair, which undermines the entire point. If you explain the pros and
cons of different approaches and why you picked the one you did, then players will
hopefully respect your transparency and that you were trying to find the best overall solution.
Players remember precedents. If there's compensation for an outage or a problem,
then they will expect a similar outcome the next time it happens. If you are giving compensation,
you should do it in the form of something that doesn't affect the progression economy, like
credit for in-game cosmetics. I strongly recommend not compensating players with actual game
progression or game items, as while you may make those players happy, everyone else will see this
as interfering with the game's economic integrity. The next topic I want to talk about is players
getting unfair economic advantage by just outright cheating. This can come in many forms,
from exploiting bugs in game logic to running third party programs that reveal information
they don't normally see, to running bots that play for them while they're not there.
Ideally you've constructed your game so that no form of cheating is possible, but this is quite
hard in practise. Online RPGs are typically run as live services with new features and code going
live frequently. These are often developed under tight deadlines and may contain subtle
logic mistakes if they haven't been fully tested. I have previously posted a video on game protocol
exploitation that is worth checking out for more information. In addition, the architecture of the
games themselves may make it necessary for the game client to know certain information that
you'd really rather the player didn't see, like the entire map for the current area for example,
so that's sitting in memory ripe for nefarious programs to read it out and display it. Finally,
stopping botting is fundamentally extremely hard due to the nature of the bots being that they
pretend to be real players. So as good as your intentions are, you will likely need to have plans
and policies about how to deal with cheaters. You should work out a legal definition of cheating
for your terms of service, and a plain English one for your community guidelines. Note that
bad actors will do their best to "technically not cheat", so make sure to specify that the
guidelines will be updated over time and that it's all at the developer's discretion anyway.
There's often a fine line between efficient play and cheating. Make sure to clearly define where
the line is between a bannable exploit and just regular smart play, especially for games that
encourage players to think outside of the box. In terms of punishments for cheating,
I recommend a zero-tolerance policy, with permanent bans for intentionally exploiting
or cheating. It may sound harsh to permanently ban customers, but non-cheating players will
greatly appreciate this as a signal that you are putting the integrity of the game first.
There's a study on anti-cheat enforcement which is linked in the video's description,
that shows that non-cheating players engage with a game much more if they see that cheating players
are being punished. This sounds like common sense of course, but it's good to see it backed
up scientifically. On a side note, if you're operating in certain regions like Taiwan, get
legal advice before permanently banning players. If you ban someone for gaining economic advantage
through cheating, they may have used multiple accounts, so you should detect and punish the
associated accounts also. You should be careful about banning innocent players who
triggered the exploit unintentionally and didn't purposefully gain advantage from it. You may need
to define a threshold where guilty players are defined as people who did it more than once,
or who did it after a certain time threshold. This can be very tricky to make fair. You will
also need a robust procedure for handling appeals, when players believe they have
been banned unfairly. You need to be firm with players who did cheat, so that they can't talk
their way out of it, while being forgiving with innocent players who were flagged by accident.
This is very difficult to get right, but is worth the time and effort to investigate fully.
Players need to feel that this process is fair. Make it easy for players to report exploits,
ideally with a command or window that is tied to their play session so that you can examine
logs for relevant information about where they are and what they were doing. You should contact
players who reported useful information to thank them for their report. There's nothing worse than
going to the effort of writing up a report of a live exploit and then hearing nothing back.
Consider a bug bounty program where you reward them with a consistent and communicated reward,
potentially including real money, for reporting exploits. This would hopefully drive more people
to take the path of disclosure rather than trying to exploit a vulnerability for personal gain.
If you decide to have a policy where you just warn or temporarily suspend players for minor or
first-time offenses, you still need to remove the items or progress that they gained by cheating. If
you permanently ban someone, it's tempting to just leave their account as-is with the cheated items
or progress intact, because they're permanently banned and can never access it again. This comes
back to hurt you when a few years later, they manage to appeal the ban and get their account
back, full of all their illegal wealth. It's worth taking the time to clean up every account,
even the ones you think you're banning forever. Cleaning up accounts after economic incidents or
bugs is an extremely manual and fiddly process. It usually involves a bunch of senior developer time,
because even if you have good tooling in place, the primary characteristic of a game exploit
is that it involves abusing something new and unexpected, so you'll likely need new or updated
tools to repair the damage each time. This is all worth it though, because if players see you taking
it seriously, they will trust the game more and value their progress and time spent playing it.
Sometimes when an economic exploit is going on, the exploiters will give the cheated items to
random players, in an attempt to muddy the water and make it less likely that you'll
just ban everyone involved. This can involve a lot of manual cleanup, but you don't want to
let those exploited items get into the economy. When you're cleaning up something like this, you
should consider taking the game servers down so that things don't get worse while you're working
on it. Players will be disappointed that they can't play, of course, but they will respect that
you're putting the integrity of the game first. If you're in a situation where the economic damage
is widespread and exploited items have reached too many players, your only option may be a full
database rollback. It's very important that this is a game-wide rollback rather than a partial one
that just affects some players. That way there is no chance that any of the exploited items
have gotten out into the wider economy. It's also fairer that everyone suffers a progress setback
rather than a subset of accounts that you may have incorrectly associated with the exploit. Remember,
you're doing the rollback because the situation is not perfectly well-understood and fixable.
You're hopefully using a database system with write-ahead-logs, which means that
you can do a point-in-time rollback to just before the damage started to occur. If not,
you may have to restore one of your backups, which may be hours or days before the damage occurred,
dramatically increasing the amount of progression loss that regular players
suffer as a result of the incident. While game-wide progression loss is very bad,
it is less bad than ruining the integrity of the economy, which is potentially the entire reason
why people are playing in the first place. If you do roll back significant progression,
players will expect a very detailed explanation of what happened and why.
Rollbacks aren't always bad though. A quarter of a century ago, I was playing Diablo II online
and I accidentally sold my favourite bow to the vendor in town while their inventory was full,
so I couldn't buy it back. It was permanently gone, and I felt terrible. An hour later,
there was a realm-wide rollback to fix some unrelated problem, and I got my bow back.
You should be aware that rolling back the database may have unintended side effects, like allowing
players to profit from deterministic unknown information they had revealed after the point the
server is being rolled back to. For example, if a player identifies an item, then it gets rolled
back to unidentified, they know what that item is now and may gain a small amount of economic
advantage from this. There are of course ways to mitigate this, such as scrambling this type of
unknown information, or lazily evaluating it in a non-deterministic way, but this requires thinking
about it in advance when developing those systems. In addition to the types of cheating we just
discussed, some players may cheat by botting, either to farm additional items for themselves,
or to sell for real money. You should absolutely take this seriously and ban all accounts involved
also. The subtleties of how to detect and root out bot networks are outside the scope of this video,
but you'll likely end up with a multi-person department inside your studio doing this fulltime.
Let me know in the comments if you'd like me to talk about this area in more detail in the future.
Next up I'd like to talk about keeping players' economic progression contained in the economy
they're playing in, free from influence from outside economies such as the real world.
This is going to sound pretty obvious, but any pay-for-advantage features in your
game are going to have an effect on economic integrity. If players can pay real-life money
to alter something that alters the speed of their progression or item acquisition,
then this undermines the level playing field that you are offering as your core value proposition.
While selling pay-for-advantage stuff clearly makes money in the short term, you are choosing a
long-term play by focusing on offering a fair game that players feel good about their progress in.
What counts as pay-for-advantage isn't always clear. For example,
it's common these days for games to offer a head start of a few days or a week for players who
purchase a more expensive pre-order package. Players getting to reach the game's highest
content before people who paid less is a huge violation of the game's economic integrity.
If you do operate some kind of early access period for your game, make sure to wipe player
progress at the end of it. Also consider that early access is meant to be about iterating on
and smoothing out the game experience for the real launch. In this bad funding climate, a lot
of studios are using early access as a cash grab to get the funds they need to finish the game's
development. If this comes at the expense of the game's economic integrity, that's a big problem.
The fantasy of playing an online RPG is to win based on skill, intelligence and time spent,
and if other players can just leverage their real world situation and just buy in,
that's absolutely not fair and will undermine players' interest in playing
the game properly. Also, the tolerance of real money transactions encourages account theft,
botting and exploitation, which damage the game in other ways. You should explicitly disallow
real money trading game-wide. Players should not be allowed to trade items or progress for
things outside of the economy they're in. But that doesn't just include real money!
What many developers don't realise initially is that trading between separate economies
in game is actually very similar to real money trading. If you start a new season,
and a player arranges a trade where they give up some of the best items
from the previous season in exchange for getting ahead in the new season,
that's them getting an unfair advantage in this fresh season based on something they did in the
past. Exactly the same as working longer hours at work last week and spending the
money on those same items. Your level playing field needs to apply on a per-economy basis.
But if you keep thinking about this, you realise there are other things that
commonly happen in online RPGs that have the same consequences as real money trading. For example,
if a popular streamer gets donations of in-game items or assistance from their community,
that's basically the same thing as them paying money for that advantage,
but in this case they're paying in public recognition because they're famous. This type
of transaction is super hard to police, of course. Where do you draw the line?
Are you going to outright ban players giving items or favourable trades to their friends?
Speaking about streamers and free items, this can flow the other way, too. If a streamer has a
surplus of valuable items in game and wants their stream to become more popular, because it's their
career, they might choose to run lotteries or giveaways, where people watching them can get free
items. This also undermines the economic integrity of the game because the viewers are getting
economic progression in exchange for something they did outside of the game world itself.
One thing that people don't consider is that one of the greatest potential threats to the
economic integrity of an online RPG can be the company's own customer support
department. It's often their job to step in and fix problems that have occurred, and that
can result in unfair economic consequences for other players if there aren't strict policies.
I'll tell you a story. A number of years ago, there was a popular online RPG that had a
policy where if a player's account was hacked, they could contact customer support to request
that their items be restored. At face value, this seemed like a helpful policy, because it wasn't
the player's fault that they lost their items, and restoring them would entirely solve their problem.
The problem is, players worked out that they could pretend to have their account hacked by
loading it up with masses of valuable stuff, having a friend log in and take the stuff,
and then write in to support and report all their items were stolen. Customer support
would then helpfully restore all the items, duplicating them. They didn't have the time
or resources to track down where the potential hackers had hidden all the original items,
so the fake hacker friend went unpunished and the conspirators successfully duplicated their gear.
So, how should you go about dealing with stolen items from a policy point of view?
Well you could empower customer support with heaps of tools that can track items between
accounts and try to work out where the stolen items have been laundered to, but note that
these items may have been legitimately traded between players. If a valuable sword was stolen,
and it's currently held by someone who traded for it fair and square without being able to tell that
it was contentious, then it's very unfair on them if it's ripped away to be given back to
the original victim. That would undermine players' trust in the trade system. It's also disastrous
economically if there's a policy for the sword to just be duplicated to solve the problem.
As we saw in the duplication story before, the issue isn't just that legitimately hacked items
are duplicated, but that if restoration is possible, then players have massive
incentives to try to trick customer support with fake stories. While it's possible that
customer support could be given access to logs of what occurred in-game, it's unlikely those
logs contain enough granular detail to be able to reconstruct exactly what occurred in all cases.
It may also require specialist knowledge of exactly how the game's architecture works,
which customer support workers may not have. And because a policy allowing restorations would cause
the number of fake reports to go through the roof, it'd certainly take far too much time to
properly investigate each one with the depth that would be required to make a fair call.
Really the only practical policy for a game that prioritises its economic integrity is
to state that there are no character or item restorations under any circumstances. This
completely eliminates any chance of accidental duplication through customer support. It does mean
that players have to be responsible for securing their own accounts, of course, with unique
login credentials on their game account and any associated login systems such as email addresses
or platforms like Steam. A policy like this shows utmost respect to the integrity of the economy,
though it can of course be unfair if a theft occurs that was not preventable by the player. And
that's why, as the team running the game, you need to also work to keep accounts secure on your end
and prevent unauthorised access by other players. But preventing customer support from restoring
characters or items isn't the end of the story. Their job still involves helping players with
other issues, and even those areas can touch on economic integrity. For example, let's say that
a player writes in and wants to change the name of their character. That seems like a
completely normal thing for customer support to help with, but they still need to be careful. A
potential reason for changing your character's name is to escape a bad reputation in game. If
someone scams other players, reneges on promises, and generally becomes known as untrustworthy,
then changing their name to a new identity provides an economic advantage to them because
they are able to resume their profitable bad behaviour with a fresh slate. It's very important
that customer support policy fully considers the outcome of each possible intervention.
Your support team is effectively an admin interface to the economy. Treat it like one.
I'd like to finish this video with an example of where I personally screwed
up regarding economic integrity and fairness. Around four years ago,
we had just launched a new Path of Exile expansion, and were having some severe
technical problems with the servers that limited the number of players who could log in per
minute. The result was that a couple of hundred thousand players were stuck in a login queue,
where they were forced to wait up to two hours before they could start playing.
As you can imagine, an hour or more behind other players in a race to the new content and its
rewards is a massive economic disadvantage, so this situation really sucked. Given the server
instability, the players stuck in the queue were essentially a random selection of players.
The problem was, we had spent a lot of money marketing this launch,
and that marketing campaign involved a number of streamers who had been
booked to play for a couple of hours were sitting there streaming a login queue.
I made the decision to bypass the queue for these streamers, thinking that it's
better for everyone if those streamers could be playing and entertaining people in the meantime.
I didn't consider the economic advantage that this would give those streamers,
putting them ahead of some other players because of a real-world privilege,
and how that would be unfair. We were rightly called out on this, and I instantly realised
the mistake I had made. This was a valuable lesson in how even an hour of headstart was
an inexcusably large advantage to give people who had not done an in-game action to earn it.
It also shows how even if you structure an entire live service around economic integrity,
you still have to be so careful and fully think through every decision you make.
I hope you enjoyed this deep dive into economic integrity. Thanks very much for watching.
If you enjoyed the video, please like and subscribe, and I'll see you next time!
Ask follow-up questions or revisit key timestamps.
Loading summary...
Videos recently processed by our community