SlideShare una empresa de Scribd logo
1 de 26
Massively Social
!=
Massively Multiplayer
Paul J. Furio
Technical Director @ Novel, Inc.
1989 Multiplayer

Falcon (Spectrum HoloByte),
on the Amiga 500, 1200 baud
modem, 2 player dogfighting

1999 Multiplayer

Williams F1 Team-Team Driver,
8 player racing / Total
Annihilation – 4 player RTS,
33.6kbps modems
Year 2000 Multiplayer Game
Constraints
•
•
•
•
•
•

8-16 Simultaneous Players
33.6kbps Modems were the standard
10Hz Update Rate
UDP Messages
~430 bytes per message max overhead
Everything is all about Speed and Hiding Sync
Problems
Year 2000 Multiplayer Game
Architecture
Game
Client &
Server

Game
Client
Game
Client

Game
Client
Game
Client

• Peer-to-Peer or
Client-Server
• Authoritative
Server
• Predictive Physics
• “Twitch” Games
• 1-2 Year Dev Cycles
Late 2000’s Typical MMO
• Sharded Servers with ~10,000 Players Per “World”
• No true interaction across worlds
Server
A

Client

Client
Client
Client

Server
C

Server
B

Client

Client

Client

Client
Client
Client

Client

Client

Client

Client

Client
Client

Client

Client
The Dream of Primetime
• Joined the Xbox Live
Primetime Team in 2008
• Goal: Create Simultaneous
Online Experience for 200k
Players
• Execution: First Online Game
Show, “1 vs. 100 Primetime
Live” on Xbox 360

Realtime
Game
Server

Game
Game
Game
Game
Game
Client
Client
Client
Client
Client

+200k
users
Xbox Live 1 vs. 100
• Real Time
Interactive,
Massively Social,
Online Game
Show Experience
on a Game
Console
• ~2 Year Dev Cycle
Social Gaming
• Millions of Users
• “Friends List”
Interactions
– Leaderboards
– View Friends Content
– Limited Environmental
Interaction

• Stats, Upsells, Etc.
• Extremely Short Dev
Times (4 Month Goal)
Shift to Social
•
•
•
•
•

Massive Player Interactions
Speed of Broad Interaction Less Critical
Asynchronous Gameplay
Ability to Analyze Group Behavior
Analyze Individuals in Aggregate
How Do We Get There?
Cloud Computing

Analytics

RDB

Web Services &
Distributed Servers

GameGame
Game
GameGame
ClientClient
Client
ClientClient

NoSQL

100k+ users
to 20M+ users

• Segment Local from Global
Experience
• Embrace Web Technologies
(Distributed, Stateless Event
Processing)
• Speed Up Data Access
• Perform Massive Analytics
• Embrace The Cloud
• Engineers Must Deliver Tools
That Allow Art & Design To
Be Amazing & Engaging
Peer to Peer for Instant Interaction
Massive
Social
Services

Broadcast
Data

Game
Client

Game
Client
Game
Client

•
•
•
•

“Sphere of Interest”
Voice Chat
Group Activities
Multicast/CDN for
“Broadcast Social”
• Massive Interactions
via Other Systems
Move Away From RDB Only
• Relational Databases are Slow(er than current
alternatives)
• Keep Persistent, but Infrequently Accessed Data,
in Relational Database
• Shift Transient Data to a NoSQL Solution
RDB

User
Data

Player
Items

NoSQL

Transient
Battles
(Not Bum Fights)

Session
Data

Chat
Fast Data Access: NoSQL
• Key-Value Storage
• No Relational Calculus
• Super Fast with InMemory Data Storage
• Only Disk Access is
Asynchronous AppendOnly Logging
1 vs. 100 NoSQL Solution
•
•
•
•

Developed In-House
~50k Transactions per Second
Client Side Timing Hid Aggregation
Functions: Set, Get, Increment,
Decrement, Top-100
• Custom Operators are Key
Publicly Available NoSQL
•
•
•
•

Memcache, Membase
Cassandra
MongoDB
Redis
–
–
–
–

Rich Command Set
Super Fast (C++)
Rediska & Predis APIs for PHP
Asynchronus Append-Only Logging
Big Data Analysis
• Millions of Users + Millions of
Transactions = Lots of Data
• Incredible Value in Data Analysis
• Use MapReduce/Hadoop to
Analyze User Interactions
• Capture Everything, Analyze
Later, Re-Analyze Even Later!
What is MapReduce?
• Distributed Compute-Cluster Analysis of Huge Data Sets
• Map: partition data into sub-problems
• Reduce: Combine answers from sub-problems to produce
output
• Each step is iterative: Mappers can feed Mappers,
Reducers can feed Reducers
• Fast: Hadoop sorted 1TB of Random 100 Byte Records in
62 seconds (across 1460 nodes)
What is MapReduce?
MAP

N

P
U

Reduce

MAP
MAP

MAP

T

Shuffle/Sort

I

Reduce
Reduce

Reduce

MAP

OUTPUT
Canonical MapReduce Example
void map(String name, String document):
// name: document name
// document: document contents
for each word w in document:
EmitIntermediate(w, "1");
void reduce(String word, Iterator partialCounts):
// word: a word
// partialCounts: a list of aggregated partial counts
int result = 0;
for each pc in partialCounts:
result += ParseInt(pc);
Emit(AsString(result));

Credit: Wikipedia
http://en.wikipedia.org/wiki/MapReduce
Cloud Computing
• “Rentable Commodity Hardware By The
Box, By The Hour”
• Cost Savings mean Almost No Reason to
CoLocate Services* (* for Large Scale Apps with Dynamic Demand)
• Scale Effectively with Dynamic Demand
• Caveat: Write code to Gracefully Handle
Hardware Failure
Amazon EC2 / Rackspace
• Spin Up New Instances Fast
• MapReduce Clusters On-Demand (or
use Hadoop)
• Integrated CDN (CloudFront/CloudFiles)
• Proven across industries (Playfish,
Netflix, Ericsson, Yelp, many more!)
Tech + Design = Winning!
• Tools enable powerful interactions
• Real strength comes in design of
applications
• Enable Content & Design Staff to Develop
Engaging, Amazing Experiences
• What do you want to learn about your
Users/Players?
• How can you create value from that
information?
The Novel Approach
• Create Gaming Experiences that are
Engaging and Fun
• Design Experiences that Provide Useful
Information about Players
• Apply Analysis to Understand Trends,
Individuals
• Use Data to Improve Productivity,
Increase Employee Happiness, Create
Better Team Dynamics, and More!
Summary
•
•
•
•
•
•

Move away from Monolithic Game Servers
Embrace the Social Paradigm
Fast Data w/ NoSQL
Big Data Analysis to find Value
Scale with Demand via the Cloud
Go Make Fun!
(novel is hiring)
•
•
•
•
•
•

Gameplay Engineers (UI/UX, Puzzles, Engine, Etc.)
Server & Service Engineers (Analytics, Services, Database)
IT/Test/Build/Deployment Engineers
Game & Web Designers (Content, Fun, Balance)
Business/Marketing/Executive
AS3, Java, C#, PHP, C/C++, Web/iOS/Android/WinMobile
http://www.novelincorporated.com/careers
Thank You
Paul J. Furio
Technical Director
Novel, Inc.
paul@novelincorporated.com

Más contenido relacionado

La actualidad más candente

Presentation nvidiacloudgaming
Presentation nvidiacloudgamingPresentation nvidiacloudgaming
Presentation nvidiacloudgaming
jwhorley2
 
Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...
Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...
Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...
Attila Cs. Nagy
 
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
The Linux Foundation
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
DataStax Academy
 

La actualidad más candente (20)

Cloud Computing and the Gaming Industry - ProfitBricks Talk
Cloud Computing and the Gaming Industry - ProfitBricks TalkCloud Computing and the Gaming Industry - ProfitBricks Talk
Cloud Computing and the Gaming Industry - ProfitBricks Talk
 
Presentation nvidiacloudgaming
Presentation nvidiacloudgamingPresentation nvidiacloudgaming
Presentation nvidiacloudgaming
 
Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...
Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...
Getting Cloudy with Remote Graphics and GPU Compute Using G2 instances (CPN21...
 
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyBehind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
 
From 0 to syncing
From 0 to syncingFrom 0 to syncing
From 0 to syncing
 
(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...
(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...
(GAM303) Beyond Game Servers: Load Testing, Rendering, and Cloud Gaming | AWS...
 
Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...
Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...
Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...
 
Addressables for live content management – Unite Copenhagen 2019
Addressables for live content management – Unite Copenhagen 2019Addressables for live content management – Unite Copenhagen 2019
Addressables for live content management – Unite Copenhagen 2019
 
Cloud Gaming Onward: Research Opportunities and Outlook
Cloud Gaming Onward: Research Opportunities and OutlookCloud Gaming Onward: Research Opportunities and Outlook
Cloud Gaming Onward: Research Opportunities and Outlook
 
[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture
 
4 virtual router CloudStack Developer Day
4 virtual router CloudStack Developer Day4 virtual router CloudStack Developer Day
4 virtual router CloudStack Developer Day
 
New Addressable Asset System for Speed and Performance
New Addressable Asset System for Speed and PerformanceNew Addressable Asset System for Speed and Performance
New Addressable Asset System for Speed and Performance
 
Cloud hosting survey
Cloud hosting surveyCloud hosting survey
Cloud hosting survey
 
Introduction to CloudStack
Introduction to CloudStack Introduction to CloudStack
Introduction to CloudStack
 
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
 
Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOps
 
Cloud stack for_beginners
Cloud stack for_beginnersCloud stack for_beginners
Cloud stack for_beginners
 
CloudStack Overview
CloudStack OverviewCloudStack Overview
CloudStack Overview
 
Age of Language Models in NLP
Age of Language Models in NLPAge of Language Models in NLP
Age of Language Models in NLP
 

Destacado

A practical architecture design for MMO casual game
A practical architecture design for MMO casual gameA practical architecture design for MMO casual game
A practical architecture design for MMO casual game
we20
 
Multiplayer Online Gaming
Multiplayer Online GamingMultiplayer Online Gaming
Multiplayer Online Gaming
chetnamistry
 
MMO Design Architecture by Andrew
MMO Design Architecture by AndrewMMO Design Architecture by Andrew
MMO Design Architecture by Andrew
Agate Studio
 
A Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual GameA Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual Game
action.vn
 

Destacado (19)

The problem of using a best-effort network for online games
The problem of using a best-effort network for online gamesThe problem of using a best-effort network for online games
The problem of using a best-effort network for online games
 
A practical architecture design for MMO casual game
A practical architecture design for MMO casual gameA practical architecture design for MMO casual game
A practical architecture design for MMO casual game
 
Traffic Optimization for TCP-based Massive Multiplayer Online Games
Traffic Optimization for TCP-based Massive Multiplayer Online GamesTraffic Optimization for TCP-based Massive Multiplayer Online Games
Traffic Optimization for TCP-based Massive Multiplayer Online Games
 
Anatomy of the MMO
Anatomy of the MMOAnatomy of the MMO
Anatomy of the MMO
 
Online games traffic characterization and network support
Online games traffic characterization and network supportOnline games traffic characterization and network support
Online games traffic characterization and network support
 
Multiplayer Online Gaming
Multiplayer Online GamingMultiplayer Online Gaming
Multiplayer Online Gaming
 
Multiplayer Computer Games - lecture slides 2013
Multiplayer Computer Games - lecture slides 2013Multiplayer Computer Games - lecture slides 2013
Multiplayer Computer Games - lecture slides 2013
 
Server side game_development
Server side game_developmentServer side game_development
Server side game_development
 
MMO Design Architecture by Andrew
MMO Design Architecture by AndrewMMO Design Architecture by Andrew
MMO Design Architecture by Andrew
 
Intro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) DesignIntro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) Design
 
A Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual GameA Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual Game
 
Building Multiplayer Games (w/ Unity)
Building Multiplayer Games (w/ Unity)Building Multiplayer Games (w/ Unity)
Building Multiplayer Games (w/ Unity)
 
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
 
Building fast,scalable game server in node.js
Building fast,scalable game server in node.jsBuilding fast,scalable game server in node.js
Building fast,scalable game server in node.js
 
Scalable Gaming with AWS - GDC 2014
Scalable Gaming with AWS - GDC 2014Scalable Gaming with AWS - GDC 2014
Scalable Gaming with AWS - GDC 2014
 
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
Cloud Gaming - A Green Solution to Massive Multiplayer Online Games
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
 
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
 
Hla typing
Hla typingHla typing
Hla typing
 

Similar a Massively Social != Massively Multiplayer

Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hd
slantsixgames
 
BGF 2012 (Browsergames Forum)
BGF 2012 (Browsergames Forum)BGF 2012 (Browsergames Forum)
BGF 2012 (Browsergames Forum)
Christof Wegmann
 

Similar a Massively Social != Massively Multiplayer (20)

New Commodore 64 Network Game Developments
New Commodore 64 Network Game DevelopmentsNew Commodore 64 Network Game Developments
New Commodore 64 Network Game Developments
 
Making an independend MMO - The Albion Online Story
Making an independend MMO - The Albion Online StoryMaking an independend MMO - The Albion Online Story
Making an independend MMO - The Albion Online Story
 
Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hd
 
BGF 2012 (Browsergames Forum)
BGF 2012 (Browsergames Forum)BGF 2012 (Browsergames Forum)
BGF 2012 (Browsergames Forum)
 
Multiplayer RogueLike Game for the Commodore 64
Multiplayer RogueLike Game for the Commodore 64Multiplayer RogueLike Game for the Commodore 64
Multiplayer RogueLike Game for the Commodore 64
 
Photon Session / Unite12 Conference
Photon Session / Unite12 ConferencePhoton Session / Unite12 Conference
Photon Session / Unite12 Conference
 
F# in the cloud
F# in the cloudF# in the cloud
F# in the cloud
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
 
The future of_conver_ai[6933]
The future of_conver_ai[6933]The future of_conver_ai[6933]
The future of_conver_ai[6933]
 
Maximize Your Production Effort (English)
Maximize Your Production Effort (English)Maximize Your Production Effort (English)
Maximize Your Production Effort (English)
 
Harlan Beverly Lag The Barrier to innovation gdc austin 2009
Harlan Beverly Lag The Barrier to innovation gdc austin 2009Harlan Beverly Lag The Barrier to innovation gdc austin 2009
Harlan Beverly Lag The Barrier to innovation gdc austin 2009
 
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSIONLarge-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
Large-scale Media Processing on Cloud - Cloud Asia 2016 PANEL DISCUSSION
 
DevOpsDays Galway 2017 - Skypilot Project
DevOpsDays Galway 2017 - Skypilot ProjectDevOpsDays Galway 2017 - Skypilot Project
DevOpsDays Galway 2017 - Skypilot Project
 
Inside the IT Territory game server / Mark Lokshin (IT Territory)
Inside the IT Territory game server / Mark Lokshin (IT Territory)Inside the IT Territory game server / Mark Lokshin (IT Territory)
Inside the IT Territory game server / Mark Lokshin (IT Territory)
 
Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64Multiplayer Roguelike for the Commodore 64
Multiplayer Roguelike for the Commodore 64
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation Vita
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLift
 
7 reasons why video conferencing world will never
7 reasons why video conferencing world will never7 reasons why video conferencing world will never
7 reasons why video conferencing world will never
 
Technical Challenges of Developing a Facebook Game
Technical Challenges of Developing a Facebook GameTechnical Challenges of Developing a Facebook Game
Technical Challenges of Developing a Facebook Game
 
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
DockerCon EU 2015: It's in the game: the path to micro-services at Electronic...
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Massively Social != Massively Multiplayer

  • 1. Massively Social != Massively Multiplayer Paul J. Furio Technical Director @ Novel, Inc.
  • 2. 1989 Multiplayer Falcon (Spectrum HoloByte), on the Amiga 500, 1200 baud modem, 2 player dogfighting 1999 Multiplayer Williams F1 Team-Team Driver, 8 player racing / Total Annihilation – 4 player RTS, 33.6kbps modems
  • 3. Year 2000 Multiplayer Game Constraints • • • • • • 8-16 Simultaneous Players 33.6kbps Modems were the standard 10Hz Update Rate UDP Messages ~430 bytes per message max overhead Everything is all about Speed and Hiding Sync Problems
  • 4. Year 2000 Multiplayer Game Architecture Game Client & Server Game Client Game Client Game Client Game Client • Peer-to-Peer or Client-Server • Authoritative Server • Predictive Physics • “Twitch” Games • 1-2 Year Dev Cycles
  • 5. Late 2000’s Typical MMO • Sharded Servers with ~10,000 Players Per “World” • No true interaction across worlds Server A Client Client Client Client Server C Server B Client Client Client Client Client Client Client Client Client Client Client Client Client Client
  • 6. The Dream of Primetime • Joined the Xbox Live Primetime Team in 2008 • Goal: Create Simultaneous Online Experience for 200k Players • Execution: First Online Game Show, “1 vs. 100 Primetime Live” on Xbox 360 Realtime Game Server Game Game Game Game Game Client Client Client Client Client +200k users
  • 7. Xbox Live 1 vs. 100 • Real Time Interactive, Massively Social, Online Game Show Experience on a Game Console • ~2 Year Dev Cycle
  • 8. Social Gaming • Millions of Users • “Friends List” Interactions – Leaderboards – View Friends Content – Limited Environmental Interaction • Stats, Upsells, Etc. • Extremely Short Dev Times (4 Month Goal)
  • 9. Shift to Social • • • • • Massive Player Interactions Speed of Broad Interaction Less Critical Asynchronous Gameplay Ability to Analyze Group Behavior Analyze Individuals in Aggregate
  • 10. How Do We Get There? Cloud Computing Analytics RDB Web Services & Distributed Servers GameGame Game GameGame ClientClient Client ClientClient NoSQL 100k+ users to 20M+ users • Segment Local from Global Experience • Embrace Web Technologies (Distributed, Stateless Event Processing) • Speed Up Data Access • Perform Massive Analytics • Embrace The Cloud • Engineers Must Deliver Tools That Allow Art & Design To Be Amazing & Engaging
  • 11. Peer to Peer for Instant Interaction Massive Social Services Broadcast Data Game Client Game Client Game Client • • • • “Sphere of Interest” Voice Chat Group Activities Multicast/CDN for “Broadcast Social” • Massive Interactions via Other Systems
  • 12. Move Away From RDB Only • Relational Databases are Slow(er than current alternatives) • Keep Persistent, but Infrequently Accessed Data, in Relational Database • Shift Transient Data to a NoSQL Solution RDB User Data Player Items NoSQL Transient Battles (Not Bum Fights) Session Data Chat
  • 13. Fast Data Access: NoSQL • Key-Value Storage • No Relational Calculus • Super Fast with InMemory Data Storage • Only Disk Access is Asynchronous AppendOnly Logging
  • 14. 1 vs. 100 NoSQL Solution • • • • Developed In-House ~50k Transactions per Second Client Side Timing Hid Aggregation Functions: Set, Get, Increment, Decrement, Top-100 • Custom Operators are Key
  • 15. Publicly Available NoSQL • • • • Memcache, Membase Cassandra MongoDB Redis – – – – Rich Command Set Super Fast (C++) Rediska & Predis APIs for PHP Asynchronus Append-Only Logging
  • 16. Big Data Analysis • Millions of Users + Millions of Transactions = Lots of Data • Incredible Value in Data Analysis • Use MapReduce/Hadoop to Analyze User Interactions • Capture Everything, Analyze Later, Re-Analyze Even Later!
  • 17. What is MapReduce? • Distributed Compute-Cluster Analysis of Huge Data Sets • Map: partition data into sub-problems • Reduce: Combine answers from sub-problems to produce output • Each step is iterative: Mappers can feed Mappers, Reducers can feed Reducers • Fast: Hadoop sorted 1TB of Random 100 Byte Records in 62 seconds (across 1460 nodes)
  • 19. Canonical MapReduce Example void map(String name, String document): // name: document name // document: document contents for each word w in document: EmitIntermediate(w, "1"); void reduce(String word, Iterator partialCounts): // word: a word // partialCounts: a list of aggregated partial counts int result = 0; for each pc in partialCounts: result += ParseInt(pc); Emit(AsString(result)); Credit: Wikipedia http://en.wikipedia.org/wiki/MapReduce
  • 20. Cloud Computing • “Rentable Commodity Hardware By The Box, By The Hour” • Cost Savings mean Almost No Reason to CoLocate Services* (* for Large Scale Apps with Dynamic Demand) • Scale Effectively with Dynamic Demand • Caveat: Write code to Gracefully Handle Hardware Failure
  • 21. Amazon EC2 / Rackspace • Spin Up New Instances Fast • MapReduce Clusters On-Demand (or use Hadoop) • Integrated CDN (CloudFront/CloudFiles) • Proven across industries (Playfish, Netflix, Ericsson, Yelp, many more!)
  • 22. Tech + Design = Winning! • Tools enable powerful interactions • Real strength comes in design of applications • Enable Content & Design Staff to Develop Engaging, Amazing Experiences • What do you want to learn about your Users/Players? • How can you create value from that information?
  • 23. The Novel Approach • Create Gaming Experiences that are Engaging and Fun • Design Experiences that Provide Useful Information about Players • Apply Analysis to Understand Trends, Individuals • Use Data to Improve Productivity, Increase Employee Happiness, Create Better Team Dynamics, and More!
  • 24. Summary • • • • • • Move away from Monolithic Game Servers Embrace the Social Paradigm Fast Data w/ NoSQL Big Data Analysis to find Value Scale with Demand via the Cloud Go Make Fun!
  • 25. (novel is hiring) • • • • • • Gameplay Engineers (UI/UX, Puzzles, Engine, Etc.) Server & Service Engineers (Analytics, Services, Database) IT/Test/Build/Deployment Engineers Game & Web Designers (Content, Fun, Balance) Business/Marketing/Executive AS3, Java, C#, PHP, C/C++, Web/iOS/Android/WinMobile http://www.novelincorporated.com/careers
  • 26. Thank You Paul J. Furio Technical Director Novel, Inc. paul@novelincorporated.com

Notas del editor

  1. Is slide is all about how we thought about multiplayer in the past.
  2. I mention these because I still see game companies trying to solve bigger problems using this paradigm. It doesn’t scale.
  3. What do I think of when I think of Social?
  4. Web Tech = No Monolithic Game Servers
  5. This is just about the Peer to Peer environment
  6. Custom Operators on NoSQL was key to 1v100. Having an extensible NoSQL solution where you can implement fast operators on the server/service is key to making your system work.
  7. Redis was ~3x faster than MySQL (in 2009)
  8. Capture everything and analyze later is the strategy of Ebay, who processes 50TB of new Data/Day, & analyzes 50PB/Day w/ Hadoop
  9. Hadoop, created by Doug Cutting, is a free-software license implementation of MapReduce. (Apache License)
  10. Pre-Summary: These tools enable massive, powerful interactions. We want to use them to enable great experiences. From these great experiences will come great data. Let’s use that data to create value.