SlideShare uma empresa Scribd logo
1 de 36
• Happy Me
• Architecture Overview
• Architecture Detail
  Object Management System
  Server-Client Data Synchronization
  Network Message Dispatching System
•   MMO casual game
•   Room-based active server
•   Web-based Unity3D client
•   Run on social platform
• 3 system and framework developers
• 4 game developers
• 12 months of development
Internet

Database
                                     Client




           Game Servers
Player
              Data




                  Player
                   Data


Game Logic

             Player
              Data



    Server Side            Client Side
Object                            Network Message
Management                            Dispatching
  System                                System




                      Auto
             MAKESynchronization
                  OUR LIFE EASIER
                   Framework
• 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
Database



 Database




  Model                                 Model



Controller            Network         Controller
(gameplay logic)      Messages        (graphic logic)




                                                         3D
   View                                  View
                                                        Models


        Server Side              Client Side            Unity3D
Game
 Model
             Objects



             Object
  View                 Rooms
             Views



             Game
Controller             Modules
             Logic
Database



No-SQL          SQL
(Storage)   (Ranking, Log)




 Game                                                      Game
Objects                                                   Objects


Game                         Network                      Graphic
                   Modules              Modules
Logic                        Messages                      Logic


Object                                                    Object
                     Rooms              Rooms
Views                                                     Views


            Server Side                     Client Side
Object
           Views




 Game
Objects   Object    Modules




           Rooms
• A container of properties
• Serialize to and deserialize from JSON
• Hierarchy relationship (parent-child)
Property Meta Data

                      • Tags
                          • Persistent
                          • Client transfer
         Guid
                      • Type
Object   Property 1       • Long
         Property 2
                      • Name
                         • “property 2”

                      • Version
                         • 568
Object
                                               Manager


    DecoView    PetView     PlayerView                            Player
                                                         Unit
                                                                   Pet
               ObjectView
MainGame                                       GameObject
                                                                 DecoItem

 Authen                                                  Item    UseItem
               Module         Object
HomeDeco                                                         ClothItem

                                                                  Quest
SyncData                       Room
                                                    DataObject

                                                                   Job
                    Lobby      Public    Personal
Pros
• MVC design pattern practice
• Fully customizable property system
• Manage game world into one single
  system

Cons
• Challenge to manage huge number of
  objects
Server
Player.Position = (10, 20)        Room




Player.OnUpdatePosition(10, 20)
{
                                           Client
    model.MoveTo(10, 20);
}
• Process messages
• Update status                                          from clients
• Other duties…                                        • Send or broadcast
                               Message                   messages to clients
                               Processor




                    Other
                  Schedulers



                                     Synchronization
                                           Scheduler




                                                       • Synchronize data
                                                         changes between
                                                         server and clients
                                ROOM
Coffee     Downtown    Personal
 ROOMS
          Room         Room       Room




           Sync        Other       Sync
   TASK
           Other       Sync        Sync
 QUEUES    Sync        Other       Other




WORKERS            Thread Pool
1 second

                                               Other
OTHERS SCHEDULER
                                               Task

SYNCHRONIZATION                  Sync
      SCHEDULER                  Task

                   1/10 second

                                        Other Task

                                        Sync Task
      TASK QUEUE
                                        Other Task
                                        Sync Task



         WORKER                           Thread
Position
SetProperty(Position, (1, 2))   Object          Energy
                                                 Gold

                                           Change Set




SYNCHRONIZATION                          Sync
      SCHEDULER                          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.
Login        Synchronize    Buy Item
                                            Chat           RequestFriend
 - Username   - Type         - ItemType
                                            - Message      - FriendGuid
 - Password   - Properties   - Quantity




Encryption

                                                        Network package
                               Serializer
                    (Thrift, Protobuf, Json, XML)
Login                        Server
- Username
- Password
                                                          OnLogin
                                               Message
 Send
                                               Handlers
                 Serialize
                                               Login      OnAuthen
                                               Authen
                                               Move
                                               Run        OnMove

              Deserialize
                                                           OnRun

                                  Login
             Client               - Username
                                  - Password


                                  Receive
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
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai
OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai

Mais conteúdo relacionado

Semelhante a OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai

MMO Design Architecture by Andrew
MMO Design Architecture by AndrewMMO Design Architecture by Andrew
MMO Design Architecture by AndrewAgate 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 gameSon Aris
 
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 gamewe20
 
Jopenmeraverse introduction
Jopenmeraverse introductionJopenmeraverse introduction
Jopenmeraverse introductionJitendra Chauhan
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftAmazon Web Services
 
Game object models - Game Engine Architecture
Game object models - Game Engine ArchitectureGame object models - Game Engine Architecture
Game object models - Game Engine ArchitectureShawn Presser
 
KVSの性能、RDBMSのインデックス、更にMapReduceを併せ持つAll-in-One NoSQL: MongoDB
KVSの性能、RDBMSのインデックス、更にMapReduceを併せ持つAll-in-One NoSQL: MongoDB KVSの性能、RDBMSのインデックス、更にMapReduceを併せ持つAll-in-One NoSQL: MongoDB
KVSの性能、RDBMSのインデックス、更にMapReduceを併せ持つAll-in-One NoSQL: MongoDB Rakuten Group, Inc.
 
Flash Camp Chennai - Social network with ORM
Flash Camp Chennai - Social network with ORMFlash Camp Chennai - Social network with ORM
Flash Camp Chennai - Social network with ORMRIA RUI Society
 
Parallel Programming in .NET
Parallel Programming in .NETParallel Programming in .NET
Parallel Programming in .NETSANKARSAN BOSE
 
Using postgre sql for 3d cms
Using postgre sql for 3d cmsUsing postgre sql for 3d cms
Using postgre sql for 3d cmsTim Child
 
Innovations in Grid Computing with Oracle Coherence
Innovations in Grid Computing with Oracle CoherenceInnovations in Grid Computing with Oracle Coherence
Innovations in Grid Computing with Oracle CoherenceBob Rhubart
 
Crawlware
CrawlwareCrawlware
Crawlwarekidrane
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudyJohn Adams
 
[shaderx7] 8.1 Cross-Platform Rendering Thread : Design and Implementation
[shaderx7] 8.1 Cross-Platform Rendering Thread : Design and Implementation	[shaderx7] 8.1 Cross-Platform Rendering Thread : Design and Implementation
[shaderx7] 8.1 Cross-Platform Rendering Thread : Design and Implementation 종빈 오
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperK.Mohamed Faizal
 
Alfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPMAlfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPMJoram Barrez
 
Memonic Architecture
Memonic ArchitectureMemonic Architecture
Memonic ArchitecturePatrice Neff
 
Lag Sucks! GDC 2012
Lag Sucks! GDC 2012Lag Sucks! GDC 2012
Lag Sucks! GDC 2012realjenius
 
NYC Amazon Web Services Meetup: How Glue uses AWS
NYC Amazon Web Services Meetup: How Glue uses AWSNYC Amazon Web Services Meetup: How Glue uses AWS
NYC Amazon Web Services Meetup: How Glue uses AWSAlex Iskold
 

Semelhante a OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai (20)

MMO Design Architecture by Andrew
MMO Design Architecture by AndrewMMO Design Architecture by Andrew
MMO Design Architecture by Andrew
 
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
 
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
 
Jopenmeraverse introduction
Jopenmeraverse introductionJopenmeraverse introduction
Jopenmeraverse introduction
 
Deep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLiftDeep Dive: Amazon Lumberyard & Amazon GameLift
Deep Dive: Amazon Lumberyard & Amazon GameLift
 
Game object models - Game Engine Architecture
Game object models - Game Engine ArchitectureGame object models - Game Engine Architecture
Game object models - Game Engine Architecture
 
Datastage Online Training
Datastage Online TrainingDatastage Online Training
Datastage Online Training
 
KVSの性能、RDBMSのインデックス、更にMapReduceを併せ持つAll-in-One NoSQL: MongoDB
KVSの性能、RDBMSのインデックス、更にMapReduceを併せ持つAll-in-One NoSQL: MongoDB KVSの性能、RDBMSのインデックス、更にMapReduceを併せ持つAll-in-One NoSQL: MongoDB
KVSの性能、RDBMSのインデックス、更にMapReduceを併せ持つAll-in-One NoSQL: MongoDB
 
Flash Camp Chennai - Social network with ORM
Flash Camp Chennai - Social network with ORMFlash Camp Chennai - Social network with ORM
Flash Camp Chennai - Social network with ORM
 
Parallel Programming in .NET
Parallel Programming in .NETParallel Programming in .NET
Parallel Programming in .NET
 
Using postgre sql for 3d cms
Using postgre sql for 3d cmsUsing postgre sql for 3d cms
Using postgre sql for 3d cms
 
Innovations in Grid Computing with Oracle Coherence
Innovations in Grid Computing with Oracle CoherenceInnovations in Grid Computing with Oracle Coherence
Innovations in Grid Computing with Oracle Coherence
 
Crawlware
CrawlwareCrawlware
Crawlware
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
 
[shaderx7] 8.1 Cross-Platform Rendering Thread : Design and Implementation
[shaderx7] 8.1 Cross-Platform Rendering Thread : Design and Implementation	[shaderx7] 8.1 Cross-Platform Rendering Thread : Design and Implementation
[shaderx7] 8.1 Cross-Platform Rendering Thread : Design and Implementation
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for Developer
 
Alfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPMAlfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPM
 
Memonic Architecture
Memonic ArchitectureMemonic Architecture
Memonic Architecture
 
Lag Sucks! GDC 2012
Lag Sucks! GDC 2012Lag Sucks! GDC 2012
Lag Sucks! GDC 2012
 
NYC Amazon Web Services Meetup: How Glue uses AWS
NYC Amazon Web Services Meetup: How Glue uses AWSNYC Amazon Web Services Meetup: How Glue uses AWS
NYC Amazon Web Services Meetup: How Glue uses AWS
 

Mais de Buff Nguyen

OGDC2012 Vision of VN Game Industry_Mr.Minh,Le Hong
OGDC2012 Vision of VN Game Industry_Mr.Minh,Le HongOGDC2012 Vision of VN Game Industry_Mr.Minh,Le Hong
OGDC2012 Vision of VN Game Industry_Mr.Minh,Le HongBuff Nguyen
 
OGDC2012 Just-in-time Operation in Social Games_Mr.Eiji Okuda_Glooops
OGDC2012 Just-in-time Operation in Social Games_Mr.Eiji Okuda_GlooopsOGDC2012 Just-in-time Operation in Social Games_Mr.Eiji Okuda_Glooops
OGDC2012 Just-in-time Operation in Social Games_Mr.Eiji Okuda_GlooopsBuff Nguyen
 
OGDC2012 Thiet Ke Sang Tao Cho Mobile Game_Ms.Nhung, Nguyen Hong_Ruby Cell
OGDC2012 Thiet Ke Sang Tao Cho Mobile Game_Ms.Nhung, Nguyen Hong_Ruby CellOGDC2012 Thiet Ke Sang Tao Cho Mobile Game_Ms.Nhung, Nguyen Hong_Ruby Cell
OGDC2012 Thiet Ke Sang Tao Cho Mobile Game_Ms.Nhung, Nguyen Hong_Ruby CellBuff Nguyen
 
OGDC2012 Driving Vietnam's and Your Own Future_Mr.Tetsuya Mori_DeNA
OGDC2012 Driving Vietnam's and Your Own Future_Mr.Tetsuya Mori_DeNAOGDC2012 Driving Vietnam's and Your Own Future_Mr.Tetsuya Mori_DeNA
OGDC2012 Driving Vietnam's and Your Own Future_Mr.Tetsuya Mori_DeNABuff Nguyen
 
OGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNA
OGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNAOGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNA
OGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNABuff Nguyen
 
OGDC2012 Game Designer_Mr.Nicolas_ Phuong Hoang Enix
OGDC2012 Game Designer_Mr.Nicolas_ Phuong Hoang EnixOGDC2012 Game Designer_Mr.Nicolas_ Phuong Hoang Enix
OGDC2012 Game Designer_Mr.Nicolas_ Phuong Hoang EnixBuff Nguyen
 
OGDC2012 2D Art For Realtime 3D Web Game_Mr. Khanh, Pham Ngoc Vu
OGDC2012 2D Art For Realtime 3D Web Game_Mr. Khanh, Pham Ngoc VuOGDC2012 2D Art For Realtime 3D Web Game_Mr. Khanh, Pham Ngoc Vu
OGDC2012 2D Art For Realtime 3D Web Game_Mr. Khanh, Pham Ngoc VuBuff Nguyen
 
OGDC2012 SNS Balance_2012_Mr.Le Anh Minh
OGDC2012 SNS Balance_2012_Mr.Le Anh MinhOGDC2012 SNS Balance_2012_Mr.Le Anh Minh
OGDC2012 SNS Balance_2012_Mr.Le Anh MinhBuff Nguyen
 
OGDC2012 Building An MMOG For SNS Audiences_Mr. Quang, Dang Hong
OGDC2012 Building An MMOG For SNS Audiences_Mr. Quang, Dang HongOGDC2012 Building An MMOG For SNS Audiences_Mr. Quang, Dang Hong
OGDC2012 Building An MMOG For SNS Audiences_Mr. Quang, Dang HongBuff Nguyen
 
OGDC2012 Data centric Design & Operation_Mr. Hieu, Nguyen Chi
OGDC2012 Data centric Design & Operation_Mr. Hieu, Nguyen ChiOGDC2012 Data centric Design & Operation_Mr. Hieu, Nguyen Chi
OGDC2012 Data centric Design & Operation_Mr. Hieu, Nguyen ChiBuff Nguyen
 
OGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
OGDC2012 Lua In Game_Mr. Van, Nguyen NgocOGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
OGDC2012 Lua In Game_Mr. Van, Nguyen NgocBuff Nguyen
 
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen AnhOGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen AnhBuff Nguyen
 
OGDC Recruiting and Developing Human Resource in Game Studio_Mr. Tu, Truong D...
OGDC Recruiting and Developing Human Resource in Game Studio_Mr. Tu, Truong D...OGDC Recruiting and Developing Human Resource in Game Studio_Mr. Tu, Truong D...
OGDC Recruiting and Developing Human Resource in Game Studio_Mr. Tu, Truong D...Buff Nguyen
 
OGDC2012_The Story Inside Art Of Cam Gioi 3_Mr. Lam, Nguyen Quang
OGDC2012_The Story Inside Art Of Cam Gioi 3_Mr. Lam, Nguyen QuangOGDC2012_The Story Inside Art Of Cam Gioi 3_Mr. Lam, Nguyen Quang
OGDC2012_The Story Inside Art Of Cam Gioi 3_Mr. Lam, Nguyen QuangBuff Nguyen
 
OGDC2012 Game interface Design_Mr.Phu, Nguyen Xuan
OGDC2012 Game interface Design_Mr.Phu, Nguyen XuanOGDC2012 Game interface Design_Mr.Phu, Nguyen Xuan
OGDC2012 Game interface Design_Mr.Phu, Nguyen XuanBuff Nguyen
 
OGDC2012 Maintaining Longevity Of An SNS Game_Mr. Nhut, Nguyen Minh
OGDC2012 Maintaining Longevity Of An SNS Game_Mr. Nhut, Nguyen MinhOGDC2012 Maintaining Longevity Of An SNS Game_Mr. Nhut, Nguyen Minh
OGDC2012 Maintaining Longevity Of An SNS Game_Mr. Nhut, Nguyen MinhBuff Nguyen
 
OGDC2012 Art Style In Game Hang Rong_Mr. Hieu, Luc Hoang
OGDC2012 Art Style In Game Hang Rong_Mr. Hieu, Luc HoangOGDC2012 Art Style In Game Hang Rong_Mr. Hieu, Luc Hoang
OGDC2012 Art Style In Game Hang Rong_Mr. Hieu, Luc HoangBuff Nguyen
 
OGDC2012 Operating Vietnamese Games In China_Mr.Liu C Christopher
OGDC2012 Operating Vietnamese Games In China_Mr.Liu C ChristopherOGDC2012 Operating Vietnamese Games In China_Mr.Liu C Christopher
OGDC2012 Operating Vietnamese Games In China_Mr.Liu C ChristopherBuff Nguyen
 

Mais de Buff Nguyen (18)

OGDC2012 Vision of VN Game Industry_Mr.Minh,Le Hong
OGDC2012 Vision of VN Game Industry_Mr.Minh,Le HongOGDC2012 Vision of VN Game Industry_Mr.Minh,Le Hong
OGDC2012 Vision of VN Game Industry_Mr.Minh,Le Hong
 
OGDC2012 Just-in-time Operation in Social Games_Mr.Eiji Okuda_Glooops
OGDC2012 Just-in-time Operation in Social Games_Mr.Eiji Okuda_GlooopsOGDC2012 Just-in-time Operation in Social Games_Mr.Eiji Okuda_Glooops
OGDC2012 Just-in-time Operation in Social Games_Mr.Eiji Okuda_Glooops
 
OGDC2012 Thiet Ke Sang Tao Cho Mobile Game_Ms.Nhung, Nguyen Hong_Ruby Cell
OGDC2012 Thiet Ke Sang Tao Cho Mobile Game_Ms.Nhung, Nguyen Hong_Ruby CellOGDC2012 Thiet Ke Sang Tao Cho Mobile Game_Ms.Nhung, Nguyen Hong_Ruby Cell
OGDC2012 Thiet Ke Sang Tao Cho Mobile Game_Ms.Nhung, Nguyen Hong_Ruby Cell
 
OGDC2012 Driving Vietnam's and Your Own Future_Mr.Tetsuya Mori_DeNA
OGDC2012 Driving Vietnam's and Your Own Future_Mr.Tetsuya Mori_DeNAOGDC2012 Driving Vietnam's and Your Own Future_Mr.Tetsuya Mori_DeNA
OGDC2012 Driving Vietnam's and Your Own Future_Mr.Tetsuya Mori_DeNA
 
OGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNA
OGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNAOGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNA
OGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNA
 
OGDC2012 Game Designer_Mr.Nicolas_ Phuong Hoang Enix
OGDC2012 Game Designer_Mr.Nicolas_ Phuong Hoang EnixOGDC2012 Game Designer_Mr.Nicolas_ Phuong Hoang Enix
OGDC2012 Game Designer_Mr.Nicolas_ Phuong Hoang Enix
 
OGDC2012 2D Art For Realtime 3D Web Game_Mr. Khanh, Pham Ngoc Vu
OGDC2012 2D Art For Realtime 3D Web Game_Mr. Khanh, Pham Ngoc VuOGDC2012 2D Art For Realtime 3D Web Game_Mr. Khanh, Pham Ngoc Vu
OGDC2012 2D Art For Realtime 3D Web Game_Mr. Khanh, Pham Ngoc Vu
 
OGDC2012 SNS Balance_2012_Mr.Le Anh Minh
OGDC2012 SNS Balance_2012_Mr.Le Anh MinhOGDC2012 SNS Balance_2012_Mr.Le Anh Minh
OGDC2012 SNS Balance_2012_Mr.Le Anh Minh
 
OGDC2012 Building An MMOG For SNS Audiences_Mr. Quang, Dang Hong
OGDC2012 Building An MMOG For SNS Audiences_Mr. Quang, Dang HongOGDC2012 Building An MMOG For SNS Audiences_Mr. Quang, Dang Hong
OGDC2012 Building An MMOG For SNS Audiences_Mr. Quang, Dang Hong
 
OGDC2012 Data centric Design & Operation_Mr. Hieu, Nguyen Chi
OGDC2012 Data centric Design & Operation_Mr. Hieu, Nguyen ChiOGDC2012 Data centric Design & Operation_Mr. Hieu, Nguyen Chi
OGDC2012 Data centric Design & Operation_Mr. Hieu, Nguyen Chi
 
OGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
OGDC2012 Lua In Game_Mr. Van, Nguyen NgocOGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
OGDC2012 Lua In Game_Mr. Van, Nguyen Ngoc
 
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen AnhOGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
OGDC Datastorage Solution_Mr.Dung, Dinh Nguyen Anh
 
OGDC Recruiting and Developing Human Resource in Game Studio_Mr. Tu, Truong D...
OGDC Recruiting and Developing Human Resource in Game Studio_Mr. Tu, Truong D...OGDC Recruiting and Developing Human Resource in Game Studio_Mr. Tu, Truong D...
OGDC Recruiting and Developing Human Resource in Game Studio_Mr. Tu, Truong D...
 
OGDC2012_The Story Inside Art Of Cam Gioi 3_Mr. Lam, Nguyen Quang
OGDC2012_The Story Inside Art Of Cam Gioi 3_Mr. Lam, Nguyen QuangOGDC2012_The Story Inside Art Of Cam Gioi 3_Mr. Lam, Nguyen Quang
OGDC2012_The Story Inside Art Of Cam Gioi 3_Mr. Lam, Nguyen Quang
 
OGDC2012 Game interface Design_Mr.Phu, Nguyen Xuan
OGDC2012 Game interface Design_Mr.Phu, Nguyen XuanOGDC2012 Game interface Design_Mr.Phu, Nguyen Xuan
OGDC2012 Game interface Design_Mr.Phu, Nguyen Xuan
 
OGDC2012 Maintaining Longevity Of An SNS Game_Mr. Nhut, Nguyen Minh
OGDC2012 Maintaining Longevity Of An SNS Game_Mr. Nhut, Nguyen MinhOGDC2012 Maintaining Longevity Of An SNS Game_Mr. Nhut, Nguyen Minh
OGDC2012 Maintaining Longevity Of An SNS Game_Mr. Nhut, Nguyen Minh
 
OGDC2012 Art Style In Game Hang Rong_Mr. Hieu, Luc Hoang
OGDC2012 Art Style In Game Hang Rong_Mr. Hieu, Luc HoangOGDC2012 Art Style In Game Hang Rong_Mr. Hieu, Luc Hoang
OGDC2012 Art Style In Game Hang Rong_Mr. Hieu, Luc Hoang
 
OGDC2012 Operating Vietnamese Games In China_Mr.Liu C Christopher
OGDC2012 Operating Vietnamese Games In China_Mr.Liu C ChristopherOGDC2012 Operating Vietnamese Games In China_Mr.Liu C Christopher
OGDC2012 Operating Vietnamese Games In China_Mr.Liu C Christopher
 

Último

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
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 Scriptwesley chun
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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 FresherRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
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)wesley chun
 
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 DevelopmentsTrustArc
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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)
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

OGDC2012 A Practical Architecture Design For MMO Casual Game_Mr. An, Ngo Thai

  • 1.
  • 2. • Happy Me • Architecture Overview • Architecture Detail Object Management System Server-Client Data Synchronization Network Message Dispatching System
  • 3.
  • 4. MMO casual game • Room-based active server • Web-based Unity3D client • Run on social platform
  • 5.
  • 6. • 3 system and framework developers • 4 game developers • 12 months of development
  • 7.
  • 8. Internet Database Client Game Servers
  • 9. Player Data Player Data Game Logic Player Data Server Side Client Side
  • 10.
  • 11. Object Network Message Management Dispatching System System Auto MAKESynchronization OUR LIFE EASIER Framework
  • 12. • 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
  • 13.
  • 14. Database Database Model Model Controller Network Controller (gameplay logic) Messages (graphic logic) 3D View View Models Server Side Client Side Unity3D
  • 15. Game Model Objects Object View Rooms Views Game Controller Modules Logic
  • 16. Database No-SQL SQL (Storage) (Ranking, Log) Game Game Objects Objects Game Network Graphic Modules Modules Logic Messages Logic Object Object Rooms Rooms Views Views Server Side Client Side
  • 17. Object Views Game Objects Object Modules Rooms
  • 18. • A container of properties • Serialize to and deserialize from JSON • Hierarchy relationship (parent-child)
  • 19. Property Meta Data • Tags • Persistent • Client transfer Guid • Type Object Property 1 • Long Property 2 • Name • “property 2” • Version • 568
  • 20.
  • 21. Object Manager DecoView PetView PlayerView Player Unit Pet ObjectView MainGame GameObject DecoItem Authen Item UseItem Module Object HomeDeco ClothItem Quest SyncData Room DataObject Job Lobby Public Personal
  • 22. Pros • MVC design pattern practice • Fully customizable property system • Manage game world into one single system Cons • Challenge to manage huge number of objects
  • 23.
  • 24. Server Player.Position = (10, 20) Room Player.OnUpdatePosition(10, 20) { Client model.MoveTo(10, 20); }
  • 25. • Process messages • Update status from clients • Other duties… • Send or broadcast Message messages to clients Processor Other Schedulers Synchronization Scheduler • Synchronize data changes between server and clients ROOM
  • 26. Coffee Downtown Personal ROOMS Room Room Room Sync Other Sync TASK Other Sync Sync QUEUES Sync Other Other WORKERS Thread Pool
  • 27. 1 second Other OTHERS SCHEDULER Task SYNCHRONIZATION Sync SCHEDULER Task 1/10 second Other Task Sync Task TASK QUEUE Other Task Sync Task WORKER Thread
  • 28. Position SetProperty(Position, (1, 2)) Object Energy Gold Change Set SYNCHRONIZATION Sync SCHEDULER Task
  • 29. Pros • Automatic synchronization property changes • Optimal data transfer • Best use for active server game Cons • Overhead to determine what has changed since last sync.
  • 30.
  • 31. Login Synchronize Buy Item Chat RequestFriend - Username - Type - ItemType - Message - FriendGuid - Password - Properties - Quantity Encryption Network package Serializer (Thrift, Protobuf, Json, XML)
  • 32. Login Server - Username - Password OnLogin Message Send Handlers Serialize Login OnAuthen Authen Move Run OnMove Deserialize OnRun Login Client - Username - Password Receive
  • 33. 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
  • 34. • 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

Notas do Editor

  1. Review lại flow