[Music] so my name is george ing and i'm the chief technology officer at ggwp the topic is applying methods from other domains to identify gamer behaviors so while i've been a gamer i'm relatively new to any professional application to gaming i've been a data scientist in a wide variety of domains including defense intelligence financial services and healthcare and professional sports i've also taught game theory at uc irvine and american university and machine learning at uc berkeley a bit more about ggwp gwp aims to help reduce toxic and disruptive behaviors in games more specifically we use machine learning to identify gamer behaviors i can share some examples of the type of work throughout our presentation now it's it goes without saying that context matters not just in identifying particular expressions or events that may be of interest but to try to factor in context
in a scalable way where possible a quick recap most of you are familiar with the fair play alliance disruptive conduct framework we have four errors expression delivery channel impact and root cause expression is basically what form does it take and here we we look at detecting behaviors and i walk through an example to start the delivery channel where does it happen in in and around online games we won't cover that here uh impact who is affected by it in what ways what are the consequences we talk a little bit more about this and root cause why does it happen and what does it express so we start with looking at expression um and we i'll give you a little bit of background in terms of how we think about building models so there's top down which starts with hypothesis and on the left you see a data scientist
venn diagram so first i'll describe each component in it and why it's relevant so in order to have a hypothesis requires domain expertise and having the right mathematical background is helpful to translate a hypothesis into an appropriate test so when dealing with large data sets and running things at scale this requires engineering expertise um in gaming obviously because of uh machine capture there's the potential for a lot of data so let's look at some specific examples from for ministry so suppose i'm trying to identify hackers uh domain matters because it's helpful to understand how hacking works and to understand the motivation of hackers you know is it a financially motivated attack like with the crime syndicate is it a nation-state um trying to demonstrate strength is the goal entertainment like with script kitties so cheating can be seen as a specific type of hacking that modifies the game
the point here is that the initial intuition gives us guidance on how to ultimately scope a research question so what would relevant proxy data be for my question how do i translate my question in into data in other words does that target data require additional collection does it require pre-processing aggregation normalization in some form and ultimately statistical modeling helps inform how do we evaluate a hypothesis the other approach we look at here is bottom-up modeling which basically is data mining or searching for patterns within data oftentimes we don't know exactly what we're looking for even when we have a specific hypothesis we can easily misjudge the distribution of behaviors so for example just because when we know there's shooters out there we may not be aware of the different proportions right most games you'll know aimbots because people are very sensitive to it but maybe some other types
are a little bit like things that just reduce gun recoil are less easy to detect initially because players don't report them as much in general bottom up modeling is often used to identify the baseline in an environment common applications are are like identifying cheats and fraud in these cases we first define normal to be able to use a nominal detection algorithms to then identify abnormally bad we use both top down and bottom up modeling in our work and i'll use it here to illustrate a single event detection example so suppose we want to build a model that detects players wrongfully not reviving down teammates well one definition of wrong is that the player did not perform some action that you know the designers intended or that others perform regularly or that improves game outcomes in some way so
let's use the second definition right so we're looking at normalc uh we first perform some basic data analysis and we show the results in these charts um so the left chart illustrates um so on the y-axis you see the distance to the enemy and on the x-axis you see the distance to the down teammate we also capture how much time is left to look at a revive and we break this up into six different charts uh blue dots represent revives that happen and red dots represent cases where the teammate was not revived so for the top row we have a short time left to revive we only see successful revives when the teammate is very close to the down teammate um when there's more time left on the bottom row we can see that the upper left quadrants on the chart tend to be mostly blue and what that means is that the player is relatively closer to the nearest teammate or relatively farther away from the opponent which is what we expect um note also that we do see much more variation when the time to revive
increases substantially which also is what we'd expect uh the right chart summarizes information by showing the average probability revived based on the distance the down team made how the different colored lines illustrate um our way of factoring an enemy distance here this view really highlights the correlation between distance to teammate and probability revive uh even a very simplistic model clearly has has some signal right but but i think we can do a little bit better here so we've confirmed our initial hypothesis that uh it's it's possible to predict reviving likelihood um here we we further show uh that example by using concentric circles around the player to illustrate the probability of revive based on distance right and and this overland map i think really helps highlight this um we acknowledge that this is far from a perfect model you know the distance doesn't factor in like actual walking distance and sight lines and doesn't do well in buildings
um but again even this baseline model does reasonably well um we can also look at other um potential characteristics that might be relevant so we look on the right we see things like health of player and down teammate the number of previous revives and time available which is related um to the number of previous times revived and other teammate position right it makes sense that you know unless someone's covering an angle or taking fire that the closest teammate would would be more likely to make the revive and finally since it's a battle royale we factor in circle position as well in other words if a team is far from the ring it's more likely to to not make sense to revive in in that situation we build a richer model by using these attributes and we use an ensembl tree that captures these elements determine the probability of a revive we then take the residuals from this model to identify likely cases when teammates should have revived but did not or in other words when the model predicts the high probability of revive
and the player did not revive then we'll actually detect these incidents so next i want to get a little bit deeper into context uh so when we look at root causes we also want to understand other relevant factors that that could be tied to the vet such as the type of player or the personas expectations based on game experience now showing example skill level uh initiation and triggering so um within the scope of a match or potentially across multiple matches if there's history between players like who started it did someone get provoked and then finally the social factors in social environment and what i mean here is just you know uh expectations when playing with friends is very different if you're playing with the you know club clan or group a full pre-made versus the partial pre-made and solo queue are all very different environments so uh next i'll illustrate some of these examples from games as well
so first thing i want to look at is presonus so the the chart here shows different types of players as clustered by features such as damage and kills per second average walk and loot speed uh depending on the game we can also look at things like character selection items and ability usage health and ammo sharing etc some leads just highlight skill differences others show differences about how a player likes to play the game so using the non-revive example does our view change really if the player tends to play support roles um it can right the expectation would be that this player would be more likely to revive in most cases so we do want to come up with positive attributes as well we want to make sure that we're just not rewarding certain types of play styles unless it's you know good game design to reward those those play styles for some reason um but ultimately this we we do think that the persona could be a consideration right different personas get triggered differently different personas react to situations differently so we want to
factor in these elements where possible so what about expectations players often go into games with some expectation in how their teammates will and should play some something that appears to be simply sub-optimal strategy um or or not following the meta at low ranks could really you know um be viewed as griefing in higher ranks so how do we consider that difference so the chart shows uh friendly fire proportions by ranking ability higher ranks as you go down unsurprisingly more of the friendly fire occurs in lower ranks there's some exceptions with raises stopper and and um you know service hunter's theory which if you play the game makes a bit of sense given the spread and impact of one and hunter spirit course goes across the entire map basically uh we factor in ranking experience where possible when we try to determine deliberateness
how that translates is usually we look at low rank situations very differently things are you know require a certain level of experience of the game before you can see something as being deliberate and and this is supported when we look at the distribution of play behaviors and strategies and and even character choice by iraq so what about initiation and responses well we believe that this is very relevant um and can help inform severity obviously being triggered is different than you know being unprovoked uh here we provide some examples from the league of legends trivino these are from reports so we expect more toxicity than average um some interesting summary statistics to share when we use simple models such as uh just you know blockless detection and word embeddings derived from them we see that 35 of all players made some potentially offensive statement and over 90 of these
matches have more than one player making toxic statements we also tagged some examples of what our models flagged even using our more conservative models that does leverage some game specific language still finds that over 50 of matches have more than one player making toxic statements so not as high but still very high also to qualify things i should note that not all statements are equally offensive of course um there's general toxicity which uh we're generously tagging here but you can you know further filter to identity hate you can look at targeted versus non-targeted there's a lot of things that are criticizing gameplay we also look at conversation level stuff both negative like with bullying and positive with like mentoring and encouraging players um not surprisingly that this gets harder and harder right it can be problematic to uh sift through the sarcastic you know good jobs and unsolicited advice that isn't well received often in league
um going back to the main theme here we note that nearly 20 of these cases had a player other than the offender appear to start things we try to consider the context like this when a value and severity of these different events so uh related different triggers there's environmental ones as well um you know think about the term rage quitting for example players are often triggered by losing especially in these competitive pvp games the table shows valor and friendly fire by score difference it's clear that when players become less concerned with avoiding friendly fire once the score difference is large in particular one team is losing by a lot we see evidence of higher friendly fire rates in in our case um while we see this as like regular behavior um we we don't adjust the severity for the different cases we decide not to lower it or increase it um
indirectly we do factor this in in wind probability models which i'll describe later uh we do try to capture still because it can still be relevant information to help inform game design for example uh should a game consider allowing surrender even earlier in lopsided contests so uh another contextual factor is uh social ones right uh we rarely consider events where an offender and victim are part of the same full stack premade we also factor in re-queuing and adding to a friend's list where possible um essentially the standards for behavior change when you're playing with close contacts there's enough of a relationship where the parties chose to play with each other so in the recurring case even if it was with solos the potential victim chose to re-cue with defending player which provides some evidence that either the event wasn't so severe or you know the the victim thought it was worth being carried so they were willing to re-cue
um we evaluate these events differently in particular when we have a group playing with other groups or solos sometimes these cases can be even more serious and take on a bullying like quality where groups gang up on solos uh going into this anecdotally we had cases where um people told us about the reported player actually being the victim but even in our own analysis once you're able to to look at report data in conjunction with gameplay data we've observed some of these cases as well where the reported player is actually the victim of group harassment um this chart shows that for both ranked and unranked cases um pubg players that are part of pre-made stay way closer together maybe even too much based on optimal strategy in casual games in particular uh solo players stray more than 100 further from their teammates on average
another event severity consideration should be the impact of the victim there are special cases maybe you put cheating there certainly you put things like predatory behavior there that are beyond the scope of games but for competitive games the um a primary consideration is just the focus on rank achievement and in these cases the timing of the event and impact and win percentage matter a lot so we look at a few examples that that highlight this so the game state matters substantially um you know griefing in general is bad so friendly fire can be bad on the chart on the left what you see is an example of a a case where the enemy's already cleared you only see red dots left which is one team they are the defending team you can see a green dot representing the spike in a game of valoran this means that the attacking team has been already cleared because the enemy has already been eliminated friendly fire this time is
very unlikely to cause a team to lose and in this case in most cases it does not if you look on the chart on the bottom right we can further see friendly fire by round note that the highest friendly fire rate occurs in round 12. round 12 is the last round prior to sides change so you don't get to keep your weapons or abilities or economy and note that this example occurred in round 12 so in this case the victim didn't even have to rebuy shields and weapons we should still make the argument that the victim's death impacted his or her kd ratio so maybe it's not zero impact but you can see that it's lower impact than other potentially similar cases so because we feel that in competitive games uh the change in the victim's win percentage is important uh we we decided to build a win probability model for these different games um and the the expected win percentage then
will fluctuate throughout these games uh if we go back to the previous example again um in that case there was a greater than 99 chance that that team would win uh this doesn't change at all even with the friendly fire there's four teammates left you kill one it's very likely that one of you still manages to defuse um this change is zero when the kill happens in transition time um so again it's just more evidence that the enemy cleared case is is lower severity um i built similar models to this for the nba and major league teams to evaluate the value different plays for example in the nba i wanted to evaluate the impact of a pass um that that didn't directly lead to a score so a swing pass um and here we can compare the expected points for that possession based on spacing location of the team and opponents and skill sets um on that possession
after the pass and prior to that pass and that difference will be the value rewarded or taken away from that player right so games like pub g are a bit more complicated than a sporting event because there are many teams so in all these battle royales the most obvious change or impact is just the number of players and teams remaining so the sharp below shows a team that ultimately wins and it shows their probability of winning across time throughout the game so even though the team is skilled the initial probability is very low due the sheer number of squads in the game notice that each time the team engages and does positively their probability increases quickly and if they engage and do poorly their probability decreases so until the team is eliminated their probability should slowly climb over the course of the game basically because they're surviving and not being eliminated we build a model that also factors in the type of squad so pre-mades generally
have a bump because they have better communication although some games only match premades with pre-made so it's uh it can be a moot point um pre-game skill and in-game performance the in-game performance idea usually is around momentum so the concept of readiness to engage in battle royale is there i think there's a more explicit one here um when you you know defeat or kill off other teams you're often the ones to collect their loop loot um also we look at things like team health and equipment and distance from the circle so let's go back to our non-revive example for a second what would happen if the teammate decided not to revive a team revive his teammate what was the impact to that one percentage so we can see that depending on the game state that not revive could have made a big difference um so maybe we would want to use that as a severity consideration as well
so once we create the models the more important question is how do we actually use them and how do we interpret these outputs while the models will have the benefit of greater consistency and lower costs as compared to you know any form of manual review or moderation all ml models will suffer from some inaccuracy with both false positives and false negatives it's important to consider the ramifications of applying each model positives are going to be more impactful in different situations for instance for many consumer recommendation systems the damage of recommending the wrong movie is fairly trivial you can just stop the movie you can watch something else right what about some financial service applications that i've worked on well what about credit card holds if you charge your credit card outside of your location they'll often get
blocked right people forget to uh note or inform the credit card company that they're traveling um but the adverse impact is pretty small so a false positive just means that you know someone has to uh send a text to validate or make a call to validate that they're actually using the card and then it gets reactivated what about loans um you know the the amount matters a lot what if it's something large like a mortgage what does someone wrongly gets denied a mortgage and then is unable to purchase a house you can see the ramifications of that on on someone's quality of life um i've i've had the unique experience of working in a wide range of environments where models were applied with different stakes the the highest stakes were around third identification where a false positive could have led to a wrongful arrest or even possibly wrongfully taking someone's life so in these situations obviously false positives have to be taken very seriously and at best models are just the
components in form a manual analysis decision so so in general what does this mean what should we do well in theory we always want to build the best algorithms or best models in practice there are things like development costs and ongoing maintenance costs for gaming there may be further adverse game performance impact to store more events right in general we're more willing to take on these costs when the stakes are high if there are um if there are if there's greater value in accuracy we want to be conservative and minimize these false positives in these cases we need to accept that we will have more false negatives because of this trade-off so how does this apply to gaming specifically i think we can be greedy when applying warnings or other interventions that have little adverse impact to players they can even appear to be general warnings non-targeted warnings
example during load times a reminder to show mission statements and player crates have been found and be effective we have to be more careful when applying penalties rather than warnings because of potential false positives there are many ways to implement this for example we can apply access restrictions for different durations under different channels based on you know different severity levels listed here in these charts as illustrative examples in general higher severity again means that we should be more conservative when classifying events and players is bad the most serious punishment in a game is generally to ban a player from all channels we should note that a seasoned player who has spent a you know decent amount of money and time in a game will be much more impacted by a band than a relatively new account um there isn't a single solution for everyone we should consider the trade-offs by thinking carefully about each application and the type of players that would benefit and be adversely impacted by any proposed change
one partial solution that we considered is um looking at reputation scores so what if we're concerned with uncertainty of any single modeled event or report could we create a more complete view and look at players across time and across multiple games so one solution is to create this you know holistic reputation score that would factor in inputs from multiple sources and events um this reputation score would be more complete and consistent since it considers different sources so it wouldn't suffer any biases from a single event and would have more of the advantages of large samples you could factor in you know chat audio gameplay and different types of grief events together uh while there still could be individual issues such as faulty reports again the larger sample size helps the system be right more on average and while we could do uh well we could you know create
numerous sub scores and components from this at the top level i think it's important to have a single number which makes it easier to interpret and use this is ideal for factoring different types of events weighed by many uh different severity levels and and the simplicity matters because it helps people use this in some way right um there's a reason why things like fico score while a lot of modelers believe they can build a better one are so widely adopted because it's simple and interpretable um this isn't you know a solo approach um it's it's a complimentary piece and should be used with other tools such as stronger penalties that should be enforced on more extreme behaviors but this gives a pretty good overall view of a player that can be used in things like matchmaking and aggregate can be used to provide a view of the overall game health so speaking of overall game health uh here we we look at a sample of more than
40 games that have been released for more than two years so we can evaluate retention in a more apples-to-apples type way here we're trying to evaluate the impact of toxicity in general there's a lot of studies that try to look at this but it's impossible to find a definitive one so we're continuously trying to refine ours we use reddit because you know while we have some game data we certainly don't have it for like every game um and for the study we use some custom detection algorithms on subreddit posts and comments and we use this as a proxy for toxicity and then we group games into three different buckets of toxicity to examine the player retention impact for each group over different one-year periods so when we compare to high toxicity which not surprisingly has the worst retention we mean that we find that medium toxicity games have about 10 higher retention and low toxicity games have more than 16 percent higher retention than comparable high toxicity games
this is significant when we consider the number of players for some of these games and the revenue impact of a few even a few percentage points can have given games of the scale this impact can further be amplified when we think about it across time as retention rates can be compounded as some of these issues with retention aren't addressed by by game teams and and finally just just to recap given the proliferation and richness of data available in games and the vast number of reports that the popular games need to deal with it makes sense to automate event detection um teams should also account for conte contextual factors where possible and we showed some illustrative examples of things that we look for and obviously we're just getting started as well we recognize that there's a lot more that we can do here um and and finally companies should consider the potential penalties and tie them to the models that they are using so
they should consider the penalties that they plan and pose and optimize models to best support these use cases if you stuck with me till then again thank you for for your time [Music]
Auto-generated captions from YouTube — names and numbers may be misheard.
Distilling the key insights…
Game Developers Conference · 2026
Game Developers Conference · 2026
GameMakers · 2025
Comments