SlideShare a Scribd company logo
The Science of Fun
Data-driven Game Development
Dr. Alexandra Țurcan, Deep Silver GamesLab Manager
Ruan Pearce-Authers, Senior Online Services Engineer
About us
Psychologist
Researcher
Scientist
Data
scientist in
the games
industry
UX
Researcher
in Deep
Silver
GamesLab
Alex
Ruan
Community
management
(Crytek)
Server
programmer
(Warface)
DevOps
(Homefront:
The Revolution)
Senior Online
Services
Engineer
(Deep Silver)
Dambuster Studios
We make video games.
We are one of Deep
Silver’s development
studios, along with
Volition (USA) and
Fishlabs (Germany).
You can find us on Canal
Street, near
Broadmarsh.
Homefront: The Revolution
- is an open-world first person shooter where you must lead the Resistance movement in guerrilla
warfare against a superior military force.
Homefront "Freedom fighters" trailer
Data-driven
game
development
What is data-driven game development?
• Including data in the game development process
• This data can be generated from playtests with both internal and
external players
• It can be used to make more informed decisions during game
development
• At Dambuster, we collect data in our research lab, Deep Silver
GamesLab
GamesLab: research and playtesting facility
• Fun is the ultimate goal of the game
development process
• “Fun” is a subjective experience, and for
each player it could come from
something else:
• easy game,
• hard game,
• collaborative,
• individual,
• etc.
What is “fun”?
• Observing player behaviour
• Asking for player opinion and feedback
UX methods
• Used to objectively quantify player in-game behaviour
• Take the load off observational methods
Telemetry
• Used to quantify unconscious player behaviour
• Eye tracking, skin conductance
Biometrics
Million dollar question: How do you measure fun?
UX
UX Research
• Traditionally, it’s the process of understanding the impact of
design (e.g. websites) on an audience
• Example methods:
• Interviews
• Surveys
• Observations
• Focus groups
• Heuristic evaluation / expert review
• Adapted to video games, but it doesn’t scale well and it’s not
easy to automate
• Pro: can answer the “why” questions
Telemetry
pipeline
What is telemetry?
• Data collected from running games
• Used for both development and retail builds
• Gives us quantitative behavioural data
• Example telemetry:
• Discrete events – player started a level, killed an enemy, died, etc
• Continuous data streams – player position, health, etc
Sending telemetry
• Game code is instrumented to send events appropriately
• As events are emitted, we send them to a remote server
• Events are sent in the exact order they’re emitted
• This is very useful later on!
• Think of this as a stream of data
• The first event in a telemetry stream is purely metadata
• Platform, user ID, etc
Telemetry event examples
{
"type": "telem_start",
"t": 1484132366,
"v": 1,
"data": {
"Account": {
"User": "UKPC4020",
"Platform": "editor"
},
"Build": {
"Game": "OnlineSample",
"Type": "dev"
},
"Hardware": {
"OS": "windows"
}
}
}
Telemetry event examples
{
"type": "player_spawn",
"t": 1484132366,
"v": 1,
"data": {
"Name": "PlayerBlueprint_C_0",
"Pos": {
"X": 326.24,
"Y": 3.55,
"Z": 268.38
}
}
}
Telemetry event bus
• A lightweight HTTPS/WebSocket server receives all these events
• They’re forwarded into Kafka, a log database
• Supports many consumers, with non-destructive reads
• We retain data based on storage capacity and lifetimes
• Can replay events if we find processing bugs, or need to extract
new data
Telemetry stream processing
• We’re now all set to start making use of the data!
• Processors listen for one or more specific event types
• They have local memory to combine events
• Can use RAM directly, or a Redis instance
• Output summarised/combined events to:
• Separate queues for further processing
• Permanent data storage
Example telemetry stream
Example telemetry processor in JavaScript
Permanent telemetry storage
• We use MongoDB as a default
• Rich aggregation framework for queries
• Scales well from an ops perspective
• But there’s no one-size-fits-all solution to data storage
• Special cases include: time-series data
• These databases are then used by analysis scripts and
dashboards
R is a functional language and
environment for statistical
computing and graphics.
https://www.r-project.org/
Telemetry analysis
Telemetry architecture recap
Telemetry
use cases
Telemetry for designers
- Where do players die? -
Telemetry for designers
- Can the player see the enemy who’s shooting them? -
• Player can’t see the enemy:
• not_in_FoV
• rendered / not_rendered
• Enemy is occluded:
• in_FoV
• not_rendered
• Player could be seeing the
enemy:
• in_FoV
• rendered
Telemetry for designers
- Do players become more accurate shooters over time? -
lm(accuracy ~ time) => Model explains 0.004% of variance.
Time does not predict accuracy on its own. Other predictors?
• Player accuracy doesn’t improve over time.
• Reasons why that might be:
• Not enough practice?
• Too long delay between play sessions?
• Other variables might be affecting accuracy (e.g. ammo count:
when players have loads of ammo they can afford to not be as
accurate as when they are running out of ammo)?
Telemetry for detecting subtle issues
Telemetry for business intelligence
- Timeline of mission popularity -
Telemetry for online services
- What is the relationship between ping and distance? -
• Distance is only weakly
correlated with session
ping (correlation
coefficient = 0.28).
• With every 1 km increase
in distance, the average
ping only increases with
0.01 ms.
• The value of the ping
does not change with
distance.
• So, a good matchmaking
algorithm should not
depend solely on
geographical distance.
Biometrics
introduction
Why use biometrics at all?
• It nicely complements the quantitative behavioural data provided
by telemetry and the qualitative player opinions provided by UX
methods
• It’s the only tool we have that measures unconscious player
behaviour
• Can’t be faked – player or researcher subjectivity does not affect
it
Eye-tracking
• Traditionally used in academic research to
study human visual attention
• Adopted more and more in the games
industry because it can answer questions
about player behaviour that cannot be
answered through any other means
• It is non-invasive – eye-tracking hardware
snaps onto the PC monitor and tracks eye
movements from a distance - the player
will not be inconvenienced in any way
Skin conductance
Galvanic skin response (GSR)
aka
Skin conductance (SC)
aka
Electrodermal activity (EDA)
• Measures changes in skin electrical
conductivity
• Reliable indicator of emotional state
• Not under conscious control
Stimulus
Activate body’s
autonomic
nervous system
Sweat
Skin moisture
content
increases
Skin’s electrical
conductivity increases
• Even if a person is not visibly sweating, sweat is still building up
underneath the skin, which means that GSR can still be measured.
How GSR works
Valence
Arousal
Can be measured with facial
recognition.
Can be measured with skin
conductance.
Emotions
Biometrics
implementation
Eye-tracking technical specs
• Works by reflecting near-infrared light off the cornea
• The hardware gives us (x,y) screen coordinates
• This raw data is entirely useless without game world context
• Can’t be included in telemetry directly
• Let’s see what can actually be done with this!
Eye-tracking telemetry (3D)
• This tells us which objects in the world are being looked at
• Deproject those (x,y) coordinates into a world position and
direction
• Cast a sphere through the world, see what we hit
• Customisable radius for accuracy
• When the hit object changes, log a “started_looking” event to
telemetry with object details
Eye-tracking debug visualisation
Eye-tracking telemetry (2D)
• This tells us how the player uses the UI/HUD
• The game needs to provide a 2D map of all interesting elements
• e.g. Circle for a minimap, small rectangle for a health bar
• Perform intersection testing on these elements, log events when
this changes
GSR technical specs
• GSR data is recorded in microSiemens
• Our sensors operate at 10hz (we get one reading every 100ms)
• Roughly speaking: sweat means more current goes through
• The data is just a single floating-point value
• Suitable for direct inclusion in the telemetry stream
• Means we can check response to any in-game events
Pacing volumes
• GSR data can’t be used in absolute terms
• Designers add markup objects to the world, called pacing
volumes
• These define expectations for emotional intensity at given areas
in the game
• e.g. “calm”, “moderate”, “intense”
• We can then check how well our expectations match up with
reality
GSR analysis algorithm
• Raw GSR data needs to be analysed before it can be interpreted
• An algorithm in R outputs a series of significant peaks coupled
with the events that caused them
Ledalab algorithm in Matlab (http://www.ledalab.de/) by
Benedek & Kaernbach (2010). We translated it to R.
Biometrics
use cases
Example eye-tracking use case
Example GSR use case
Other GSR use cases
• Can be used to answer questions like:
• Are various areas of the game more or less engaging for the player?
• Does dying elicit a similar emotional response as wining the mission?
• Do players panic when they run out of ammo?
• Does removing certain game elements make the game less
engaging/more boring?
• Dark Souls 3
• Homefront: The Revolution
GSR overlaid on game-play:
GSR tracking Dark Souls 3
Tools recap
Get involved!
• Sign up for playtests
• https://gameslab.dsdambuster.com/
• Contact us @AleTurcan and @returnString

More Related Content

PPT
Test strategies power point
PPTX
Alice in wonderland
PPT
200709301022360.el comic (1)
PPTX
LGBTQ Film and Television History: A Brief History (updated for 2020)
PDF
The Radio Drama & Podcasting
PDF
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
PDF
[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)
PDF
1-Introduction (Game Development - UMT Spring 2017/2018)
Test strategies power point
Alice in wonderland
200709301022360.el comic (1)
LGBTQ Film and Television History: A Brief History (updated for 2020)
The Radio Drama & Podcasting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)
1-Introduction (Game Development - UMT Spring 2017/2018)

Similar to The Science of Fun - Data-driven Game Development (20)

PDF
Snowplow: open source game analytics powered by AWS
PPTX
Game analytics - The challenges of mobile free-to-play games
PPTX
Visug: Say Hello to my little friend: a session on Kinect
PDF
Create a Scalable and Destructible World in HITMAN 2*
PDF
Testing Blockbuster Games: Lessons for All Testers
PDF
DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...
PDF
Big Data in the Real World. Real-time Football Analytics
PPTX
Computer Vision for Measurement & FR
PPTX
Supersize your production pipe enjmin 2013 v1.1 hd
PPTX
Filar seymour oreilly_bot_story_
PDF
Solving Cybersecurity at Scale
PPTX
From SLO to GOTY
PPTX
Distributed Systems Real Life Applications
PDF
How to not fail at security data analytics (by CxOSidekick)
PDF
Our Data Ourselves, Pydata 2015
PPTX
Azure Digital Twins
PDF
Portland vr-meetup-deck-final-shareable
PPTX
Windows 8 DevUnleashed - Session 2
PPTX
Azure Digital Twins
PDF
Telemetry: The Overlooked Treasure in Axon Server-Centric Applications
Snowplow: open source game analytics powered by AWS
Game analytics - The challenges of mobile free-to-play games
Visug: Say Hello to my little friend: a session on Kinect
Create a Scalable and Destructible World in HITMAN 2*
Testing Blockbuster Games: Lessons for All Testers
DevOpsDays Houston 2019 -Kevin Crawley - Practical Guide to Not Building Anot...
Big Data in the Real World. Real-time Football Analytics
Computer Vision for Measurement & FR
Supersize your production pipe enjmin 2013 v1.1 hd
Filar seymour oreilly_bot_story_
Solving Cybersecurity at Scale
From SLO to GOTY
Distributed Systems Real Life Applications
How to not fail at security data analytics (by CxOSidekick)
Our Data Ourselves, Pydata 2015
Azure Digital Twins
Portland vr-meetup-deck-final-shareable
Windows 8 DevUnleashed - Session 2
Azure Digital Twins
Telemetry: The Overlooked Treasure in Axon Server-Centric Applications
Ad

Recently uploaded (20)

PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Approach and Philosophy of On baking technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Getting Started with Data Integration: FME Form 101
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
A comparative study of natural language inference in Swahili using monolingua...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
SOPHOS-XG Firewall Administrator PPT.pptx
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
MIND Revenue Release Quarter 2 2025 Press Release
cloud_computing_Infrastucture_as_cloud_p
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
WOOl fibre morphology and structure.pdf for textiles
Approach and Philosophy of On baking technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Getting Started with Data Integration: FME Form 101
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Heart disease approach using modified random forest and particle swarm optimi...
Hindi spoken digit analysis for native and non-native speakers
A novel scalable deep ensemble learning framework for big data classification...
NewMind AI Weekly Chronicles - August'25-Week II
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Web App vs Mobile App What Should You Build First.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Ad

The Science of Fun - Data-driven Game Development

  • 1. The Science of Fun Data-driven Game Development Dr. Alexandra Țurcan, Deep Silver GamesLab Manager Ruan Pearce-Authers, Senior Online Services Engineer
  • 5. Dambuster Studios We make video games. We are one of Deep Silver’s development studios, along with Volition (USA) and Fishlabs (Germany). You can find us on Canal Street, near Broadmarsh.
  • 6. Homefront: The Revolution - is an open-world first person shooter where you must lead the Resistance movement in guerrilla warfare against a superior military force. Homefront "Freedom fighters" trailer
  • 8. What is data-driven game development? • Including data in the game development process • This data can be generated from playtests with both internal and external players • It can be used to make more informed decisions during game development • At Dambuster, we collect data in our research lab, Deep Silver GamesLab
  • 9. GamesLab: research and playtesting facility
  • 10. • Fun is the ultimate goal of the game development process • “Fun” is a subjective experience, and for each player it could come from something else: • easy game, • hard game, • collaborative, • individual, • etc. What is “fun”?
  • 11. • Observing player behaviour • Asking for player opinion and feedback UX methods • Used to objectively quantify player in-game behaviour • Take the load off observational methods Telemetry • Used to quantify unconscious player behaviour • Eye tracking, skin conductance Biometrics Million dollar question: How do you measure fun?
  • 12. UX
  • 13. UX Research • Traditionally, it’s the process of understanding the impact of design (e.g. websites) on an audience • Example methods: • Interviews • Surveys • Observations • Focus groups • Heuristic evaluation / expert review • Adapted to video games, but it doesn’t scale well and it’s not easy to automate • Pro: can answer the “why” questions
  • 15. What is telemetry? • Data collected from running games • Used for both development and retail builds • Gives us quantitative behavioural data • Example telemetry: • Discrete events – player started a level, killed an enemy, died, etc • Continuous data streams – player position, health, etc
  • 16. Sending telemetry • Game code is instrumented to send events appropriately • As events are emitted, we send them to a remote server • Events are sent in the exact order they’re emitted • This is very useful later on! • Think of this as a stream of data • The first event in a telemetry stream is purely metadata • Platform, user ID, etc
  • 17. Telemetry event examples { "type": "telem_start", "t": 1484132366, "v": 1, "data": { "Account": { "User": "UKPC4020", "Platform": "editor" }, "Build": { "Game": "OnlineSample", "Type": "dev" }, "Hardware": { "OS": "windows" } } }
  • 18. Telemetry event examples { "type": "player_spawn", "t": 1484132366, "v": 1, "data": { "Name": "PlayerBlueprint_C_0", "Pos": { "X": 326.24, "Y": 3.55, "Z": 268.38 } } }
  • 19. Telemetry event bus • A lightweight HTTPS/WebSocket server receives all these events • They’re forwarded into Kafka, a log database • Supports many consumers, with non-destructive reads • We retain data based on storage capacity and lifetimes • Can replay events if we find processing bugs, or need to extract new data
  • 20. Telemetry stream processing • We’re now all set to start making use of the data! • Processors listen for one or more specific event types • They have local memory to combine events • Can use RAM directly, or a Redis instance • Output summarised/combined events to: • Separate queues for further processing • Permanent data storage
  • 23. Permanent telemetry storage • We use MongoDB as a default • Rich aggregation framework for queries • Scales well from an ops perspective • But there’s no one-size-fits-all solution to data storage • Special cases include: time-series data • These databases are then used by analysis scripts and dashboards
  • 24. R is a functional language and environment for statistical computing and graphics. https://www.r-project.org/ Telemetry analysis
  • 27. Telemetry for designers - Where do players die? -
  • 28. Telemetry for designers - Can the player see the enemy who’s shooting them? - • Player can’t see the enemy: • not_in_FoV • rendered / not_rendered • Enemy is occluded: • in_FoV • not_rendered • Player could be seeing the enemy: • in_FoV • rendered
  • 29. Telemetry for designers - Do players become more accurate shooters over time? - lm(accuracy ~ time) => Model explains 0.004% of variance. Time does not predict accuracy on its own. Other predictors?
  • 30. • Player accuracy doesn’t improve over time. • Reasons why that might be: • Not enough practice? • Too long delay between play sessions? • Other variables might be affecting accuracy (e.g. ammo count: when players have loads of ammo they can afford to not be as accurate as when they are running out of ammo)?
  • 31. Telemetry for detecting subtle issues
  • 32. Telemetry for business intelligence - Timeline of mission popularity -
  • 33. Telemetry for online services - What is the relationship between ping and distance? - • Distance is only weakly correlated with session ping (correlation coefficient = 0.28). • With every 1 km increase in distance, the average ping only increases with 0.01 ms. • The value of the ping does not change with distance. • So, a good matchmaking algorithm should not depend solely on geographical distance.
  • 35. Why use biometrics at all? • It nicely complements the quantitative behavioural data provided by telemetry and the qualitative player opinions provided by UX methods • It’s the only tool we have that measures unconscious player behaviour • Can’t be faked – player or researcher subjectivity does not affect it
  • 36. Eye-tracking • Traditionally used in academic research to study human visual attention • Adopted more and more in the games industry because it can answer questions about player behaviour that cannot be answered through any other means • It is non-invasive – eye-tracking hardware snaps onto the PC monitor and tracks eye movements from a distance - the player will not be inconvenienced in any way
  • 37. Skin conductance Galvanic skin response (GSR) aka Skin conductance (SC) aka Electrodermal activity (EDA) • Measures changes in skin electrical conductivity • Reliable indicator of emotional state • Not under conscious control
  • 38. Stimulus Activate body’s autonomic nervous system Sweat Skin moisture content increases Skin’s electrical conductivity increases • Even if a person is not visibly sweating, sweat is still building up underneath the skin, which means that GSR can still be measured. How GSR works
  • 39. Valence Arousal Can be measured with facial recognition. Can be measured with skin conductance. Emotions
  • 41. Eye-tracking technical specs • Works by reflecting near-infrared light off the cornea • The hardware gives us (x,y) screen coordinates • This raw data is entirely useless without game world context • Can’t be included in telemetry directly • Let’s see what can actually be done with this!
  • 42. Eye-tracking telemetry (3D) • This tells us which objects in the world are being looked at • Deproject those (x,y) coordinates into a world position and direction • Cast a sphere through the world, see what we hit • Customisable radius for accuracy • When the hit object changes, log a “started_looking” event to telemetry with object details
  • 44. Eye-tracking telemetry (2D) • This tells us how the player uses the UI/HUD • The game needs to provide a 2D map of all interesting elements • e.g. Circle for a minimap, small rectangle for a health bar • Perform intersection testing on these elements, log events when this changes
  • 45. GSR technical specs • GSR data is recorded in microSiemens • Our sensors operate at 10hz (we get one reading every 100ms) • Roughly speaking: sweat means more current goes through • The data is just a single floating-point value • Suitable for direct inclusion in the telemetry stream • Means we can check response to any in-game events
  • 46. Pacing volumes • GSR data can’t be used in absolute terms • Designers add markup objects to the world, called pacing volumes • These define expectations for emotional intensity at given areas in the game • e.g. “calm”, “moderate”, “intense” • We can then check how well our expectations match up with reality
  • 47. GSR analysis algorithm • Raw GSR data needs to be analysed before it can be interpreted • An algorithm in R outputs a series of significant peaks coupled with the events that caused them Ledalab algorithm in Matlab (http://www.ledalab.de/) by Benedek & Kaernbach (2010). We translated it to R.
  • 51. Other GSR use cases • Can be used to answer questions like: • Are various areas of the game more or less engaging for the player? • Does dying elicit a similar emotional response as wining the mission? • Do players panic when they run out of ammo? • Does removing certain game elements make the game less engaging/more boring?
  • 52. • Dark Souls 3 • Homefront: The Revolution GSR overlaid on game-play: GSR tracking Dark Souls 3
  • 54. Get involved! • Sign up for playtests • https://gameslab.dsdambuster.com/ • Contact us @AleTurcan and @returnString