SlideShare a Scribd company logo
A practical architecture design for MMO casual game
• Happy Me
• Architecture Overview
• Architecture Detail
Object Management System
Server-Client Data Synchronization
Network Message Dispatching System
A practical architecture design for MMO casual game
• MMO casual game
• Room-based active server
• Web-based Unity3D client
• Run on social platform
A practical architecture design for MMO casual game
• 3 system and framework developers
• 4 game developers
• 12 months of development
A practical architecture design for MMO casual game
Database
Game Servers
Client
Internet
Server Side Client Side
Game Logic
Player
Data
Player
Data
Player
Data
A practical architecture design for MMO casual game
Object
Management
System
Network Message
Dispatching
System
Auto
Synchronization
Framework
MAKE OUR LIFE EASIER
• Object management system
 MVC design pattern
 Dynamic data
• Auto synchronization framework
 Truly automatic («Set» and forget style)
 Synchronize the delta difference only
• Network message dispatching system
 Custom structure message
 Easy to register messages and invoke handlers
A practical architecture design for MMO casual game
Model
View
Controller
(gameplay logic)
Database
Network
Messages
View
Controller
(graphic logic)
Server Side Client Side Unity3D
3D
Models
Database
Model
Model
View
Controller
Game
Objects
Object
Views
Game
Logic
Modules
Rooms
Game
Objects
Object
Views
Game
Logic
No-SQL
(Storage)
Network
Messages
Object
Views
Graphic
Logic
Server Side Client Side
SQL
(Ranking, Log)
Database
Game
Objects
Modules Modules
Rooms Rooms
Object
Rooms
Object
Views
Modules
Game
Objects
• A container of properties
• Serialize to and deserialize from JSON
• Hierarchy relationship (parent-child)
Object
Guid
Property 1
Property 2
Property Meta Data
• Tags
• Persistent
• Client transfer
• Type
• Long
• Name
• “property 2”
• Version
• 568
A practical architecture design for MMO casual game
Object
Unit
GameObject
DataObject
Player
DecoItem
Pet
UseItem
ClothItem
Item
Quest
Job
PlayerViewDecoView PetView
ObjectView
Module
MainGame
Authen
HomeDeco
SyncData Room
Lobby Public Personal
Object
Manager
Pros
• MVC design pattern practice
• Fully customizable property system
• Manage game world into one single
system
Cons
• Challenge to manage huge number of
objects
A practical architecture design for MMO casual game
Server
RoomPlayer.Position = (10, 20)
Player.OnUpdatePosition(10, 20)
{
model.MoveTo(10, 20);
}
Client
Synchronization
Scheduler
Other
Schedulers
Message
Processor
ROOM
• Process messages
from clients
• Send or broadcast
messages to clients
• Synchronize data
changes between
server and clients
• Update status
• Other duties…
Personal
Room
Coffee
Room
Downtown
Room
Sync
Other
Sync
Thread Pool
Other
Sync
Other
Sync
Sync
Other
ROOMS
TASK
QUEUES
WORKERS
Thread
1 second
SYNCHRONIZATION
SCHEDULER
OTHERS SCHEDULER
1/10 second
Other Task
Sync Task
Sync Task
Other Task
Sync
Task
Other
Task
TASK QUEUE
WORKER
Object
Position
Energy
Gold
Change Set
SYNCHRONIZATION
SCHEDULER
SetProperty(Position, (1, 2))
Sync
Task
Pros
• Automatic synchronization property changes
• Optimal data transfer
• Best use for active server game
Cons
• Overhead to determine what has changed
since last sync.
A practical architecture design for MMO casual game
Login
- Username
- Password
Synchronize
- Type
- Properties
Buy Item
- ItemType
- Quantity
Chat
- Message
RequestFriend
- FriendGuid
Serializer
(Thrift, Protobuf, Json, XML)
Network package
Encryption
Server
Send
Client
Receive
Serialize
Deserialize
Login
- Username
- Password
Login
- Username
- Password
OnAuthen
OnMove
OnRun
Login
Authen
Move
Run
Message
Handlers
OnLogin
Pros
• Meaningful message by define custom
structure
• Familiar usage as common GUI system
(MFC, WinForm)
• Share message definition between server
and client
• Easy to apply encryption
Cons
• Unknown
• Seamless MVC framework across server
and client
• Address the most common difficulty in
design active server : the synchronization
• Base framework environment for adapting
any gameplay
A practical architecture design for MMO casual game
A practical architecture design for MMO casual game

More Related Content

PDF
MMO Design Architecture by Andrew
PDF
Intro to Massively Multiplayer Online Game (MMOG) Design
PPTX
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
PDF
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
PPT
Building an ActionScript Game Server with over 15,000 Concurrent Connections
PPTX
Christian Corsano (Io-Interactive) - Hitman – the first episodic AAA game and...
PDF
Server side game_development
PPTX
Breaking through silos - From multi to true crossplatform using the cloud
MMO Design Architecture by Andrew
Intro to Massively Multiplayer Online Game (MMOG) Design
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
Building an ActionScript Game Server with over 15,000 Concurrent Connections
Christian Corsano (Io-Interactive) - Hitman – the first episodic AAA game and...
Server side game_development
Breaking through silos - From multi to true crossplatform using the cloud

What's hot (19)

PPTX
Photon Session / Unite12 Conference
PDF
Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...
PPTX
BGF 2012 (Browsergames Forum)
PPT
Web services
PPTX
OGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
PPTX
How to use windows azure features on windows
PPTX
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
PPTX
Photon Load Test #1
PDF
No Free Lunch: Transactions in Online Games
PPTX
SOA Doing Right
PPTX
Windows Azure Virtual Machines And Virtual Networks
KEY
Games with your head in the cloud
PPTX
Vm mobility
PPTX
Test driving Azure Search and DocumentDB
PPTX
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
PPTX
Aos canadian tour (YOW) @energizedtech - Manage AzureRM with powershell
PPT
Simple Db & Dynamo Db
PDF
PlayFab analytics gdc
PPTX
Running Open Source Solutions on Windows Azure
Photon Session / Unite12 Conference
Drupal Developer Days 2014 - Using Drupal as a 
content repository for 
onlin...
BGF 2012 (Browsergames Forum)
Web services
OGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
How to use windows azure features on windows
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
Photon Load Test #1
No Free Lunch: Transactions in Online Games
SOA Doing Right
Windows Azure Virtual Machines And Virtual Networks
Games with your head in the cloud
Vm mobility
Test driving Azure Search and DocumentDB
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Aos canadian tour (YOW) @energizedtech - Manage AzureRM with powershell
Simple Db & Dynamo Db
PlayFab analytics gdc
Running Open Source Solutions on Windows Azure
Ad

Similar to A practical architecture design for MMO casual game (20)

PPTX
A Practical Architecture Design for MMO Casual Game
PDF
Unite2014 Bunny Necropsy - Servers, Syncing Game State, Security and Optimiza...
PDF
Akka for realtime multiplayer mobile games
PDF
Akka for realtime multiplayer mobile games
PDF
Building Multiplayer Games (w/ Unity)
PDF
Jan Hloušek, Keen Software House
PDF
Scalability & Big Data challenges in real time multiplayer games
PPTX
F# in social gaming
PPTX
Developing Multiplayer Games in Unity3D
PPTX
Mastering Multiplayer Stage3d and AIR game development for mobile devices
PPTX
Improving Game Performance in the Browser
PPTX
Building an MMORPG - Here be monsters
PDF
Game network programming
PPTX
Ancient world online
PDF
Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)
PDF
Multiplayer Networking Game
PPTX
Asynchronous Multiplayer on Mobile Network
PDF
Moving pixels on someone else's screen: introduction to Unity networking
PDF
38199728 multi-player-tutorial
PDF
Intelligent integration of Social Networks and Advanced 3D Virtual Worlds, På...
A Practical Architecture Design for MMO Casual Game
Unite2014 Bunny Necropsy - Servers, Syncing Game State, Security and Optimiza...
Akka for realtime multiplayer mobile games
Akka for realtime multiplayer mobile games
Building Multiplayer Games (w/ Unity)
Jan Hloušek, Keen Software House
Scalability & Big Data challenges in real time multiplayer games
F# in social gaming
Developing Multiplayer Games in Unity3D
Mastering Multiplayer Stage3d and AIR game development for mobile devices
Improving Game Performance in the Browser
Building an MMORPG - Here be monsters
Game network programming
Ancient world online
Albion Online - A Cross-Platform MMO (Unite Europe 2016, Amsterdam)
Multiplayer Networking Game
Asynchronous Multiplayer on Mobile Network
Moving pixels on someone else's screen: introduction to Unity networking
38199728 multi-player-tutorial
Intelligent integration of Social Networks and Advanced 3D Virtual Worlds, På...
Ad

More from we20 (20)

PDF
Nielsen SEA Cross-platform Report 2014
PDF
Hành vi và xu hướng sử dụng Internet tại Việt Nam
PPTX
Báo Cáo Hành Vi Người Tiêu Dùng Online
PDF
Bao cao tai nguyen Internet 2014
PDF
Report on Vietnam Internet resources 2014
PDF
Internet Trends 2014
PDF
2014 ASIA-PACIFIC DIGITAL OVERVIEW
PDF
2014 internet trends
PPTX
Personalized Recommendation - The Key for Engagement?
PDF
VIETNAM E-COMMERCE REPORT 2013
PDF
Báo cáo Thương mại điện tử Việt Nam 2013
PPT
ONLINE PAYMENT ACTUAL SITUATION & POTENTIAL
PPT
E-COMMERCE IN VN
PPTX
Online Mobile Game with Mobicom_eng ver.
PPT
NÓI VỀ TMĐT Ở VN
PPT
MUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAY
PDF
MOBILE APP _VIET VER
PPT
MOBILE APP _ENG VER.
PPTX
Phát triển Mobile Application
PPTX
Develop Mobile Application
Nielsen SEA Cross-platform Report 2014
Hành vi và xu hướng sử dụng Internet tại Việt Nam
Báo Cáo Hành Vi Người Tiêu Dùng Online
Bao cao tai nguyen Internet 2014
Report on Vietnam Internet resources 2014
Internet Trends 2014
2014 ASIA-PACIFIC DIGITAL OVERVIEW
2014 internet trends
Personalized Recommendation - The Key for Engagement?
VIETNAM E-COMMERCE REPORT 2013
Báo cáo Thương mại điện tử Việt Nam 2013
ONLINE PAYMENT ACTUAL SITUATION & POTENTIAL
E-COMMERCE IN VN
Online Mobile Game with Mobicom_eng ver.
NÓI VỀ TMĐT Ở VN
MUA CHUNG VA KINH NGHIEM PHAT TRIEN SOHAPAY
MOBILE APP _VIET VER
MOBILE APP _ENG VER.
Phát triển Mobile Application
Develop Mobile Application

Recently uploaded (20)

PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
cuic standard and advanced reporting.pdf
PPTX
Cloud computing and distributed systems.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
Teaching material agriculture food technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Modernizing your data center with Dell and AMD
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation theory and applications.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
KodekX | Application Modernization Development
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
cuic standard and advanced reporting.pdf
Cloud computing and distributed systems.
Building Integrated photovoltaic BIPV_UPV.pdf
Unlocking AI with Model Context Protocol (MCP)
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25 Week I
Teaching material agriculture food technology
20250228 LYD VKU AI Blended-Learning.pptx
Modernizing your data center with Dell and AMD
The AUB Centre for AI in Media Proposal.docx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation theory and applications.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
Per capita expenditure prediction using model stacking based on satellite ima...
KodekX | Application Modernization Development
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

A practical architecture design for MMO casual game

Editor's Notes

  • #28: Review lại flow