Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемАльбина Силичева
1 Massively Multiplayer Online Games and Mobile Devices
2 Overview of BigWorld Technology Complete Integrated Software Solution for MMOGs Integrated 3D Client/Server Backend Content Creation Tools/Management Tools Customisable Extensible with C++ and Python Scripting Scalable Truly Massively Multiplayer Total Load Balancing Solution Full Fault Tolerance
3 Complete Integrated Solution Content Creation Tools World, Model & Particle System editors 3ds Max & Maya exporters Supports multiple users editing shared content
4 Complete Integrated Solution Specialised 3D Client Engine Seamless streamed world content Character animation systems AI Support
5 Complete Integrated Solution Flexible Server Back-end and Tools Dynamic load balancing Fault tolerant Web based monitoring tools
6 Why Mobile Devices? Eight million WoW subscribers cant play when sitting on a bus…
7 Why Mobile Devices? Eight million WoW subscribers cant play when sitting on a bus… What can we offer them?
8 Imagine This… –Check auction house –Buy Sword of Mighty Strength –Send message to clan confirming that the dungeon raid is on for 7:30 tonight… –Spend rest of journey playing mini-games to create health potions for tonight's raid.
9 Why… Create stronger communities Competitive advantage Cheap way to add content
10 Research The Diversity of Mobile Devices Input: D-Pads to miniature QWERTY keyboards Output: tiny 5 line screens to 4" PSPs OS/Dev Environments: Symbian, Java, BREW, HTML
11 Research The Diversity of Mobile Devices Input: D-Pads to miniature QWERTY keyboards Output: tiny 5 line screens to 4" PSPs OS/Dev Environments: Symbian, Java, BREW, HTML Problem Too much diversity! Native engine support (2D/3D) for mobile devices is hard, and not always appropriate
12 Research The Diversity of Mobile Devices Input: D-Pads to miniature QWERTY keyboards Output: tiny 5 line screens to 4" PSPs OS/Dev Environments: Symbian, Java, BREW, HTML Problem Too much diversity! Native engine support (2D/3D) for mobile devices is hard, and not always appropriate Our Solution Lightweight HTML game interaction API
13 Requirements Scalability Able to handle millions of connections/players
14 Requirements Scalability Able to handle millions of connections/players Extensible API Create game specific APIs without recompiling
15 Requirements Scalability Able to handle millions of connections/players Extensible API Create game specific APIs without recompiling Simple Query Interface To web designers just like accessing a DB
16 Requirements Scalability Able to handle millions of connections/players Extensible API Create game specific APIs without recompiling Simple Query Interface To web designers just like accessing a DB Script Language Agnostic Standard web scripting language support
17 Implementation Issues HTTP is synchronous, but MMOG servers arent Need to handle multiple simultaneous requests Load balancing issues Compatibility
18 BigWorld General Architecture Client SWITCH FABRIC Internet SWITCH FABRIC Cell Server Login Server/s Base Server Database Server/s Management Server/s Client Base Server Base Server Cell Server Cell Server Cell Server
19 BigWorld General Architecture Client SWITCH FABRIC Cell Server Login Server/s Base Server Database Server/s Management Server/s Client Base Server Base Server Cell Server Cell Server Cell Server Internet
20 BigWorld General Architecture Client SWITCH FABRIC Cell Server Login Server/s Base Server Database Server/s Management Server/s Client Base Server Base Server Cell Server Cell Server Cell Server Mobile/Web Client Internet
21 BigWorld General Architecture Client SWITCH FABRIC Cell Server Login Server/s Base Server Database Server/s Management Server/s Client Base Server Base Server Cell Server Cell Server Cell Server mod_phpmod_python Apache HTTP Daemon BigWorld Web Integration Module Mobile/Web Client Internet
22 BigWorld General Architecture Client SWITCH FABRIC Cell Server Login Server/s Base Server Database Server/s Management Server/s Client Base Server Base Server Cell Server Cell Server Cell Server mod_phpmod_python Apache HTTP Daemon BigWorld Web Integration Module Mobile/Web Client Internet
23 Apache HTTP Daemon BigWorld General Architecture Client SWITCH FABRIC Cell Server Login Server/s Base Server Database Server/s Management Server/s Client Base Server Base Server Cell Server Cell Server Cell Server mod_phpmod_python Apache HTTP Daemon BigWorld Web Integration Module Mobile/Web Client Internet
24 Transaction Timeline User BrowserWeb ServerBigWorld BaseApp HTTP GET /player/getInventory Cookie: SESS_ID=a03bffe
25 PHP API Complete PHP API bw_logon($username, $password) bw_lookup_entity_by_name($entityType, $name) bw_lookup_entity_by_dbid($entityType, $dbId) bw_exec($mailbox, $baseMethodName,...) bw_pickle($pyObjectResource) bw_unpickle($pickleString) bw_pyprint($pyObjectResource)
26 Defining Methods... INT16 STRING INT8 STRING ARRAY INT32
27 Server-Side Implementation Implementation of Server-Side Methods class Avatar( BigWorld.Base ): … def getHealth( self, response ): response.health = self.cell.health response.done() def sendChatMessage( self, message ): self.allClients.showMessage( message ) # no return values required def getInventory( self, response, bagNumber ): # self.bagNames and self.bagContents are # BigWorld-aware Entity properties response.bagName = self.bagNames[bagNumber] response.contents = self.bagContents[bagNumber] response.done()
28 Web Server Code Using Functions from PHP
29 mod_python Using Functions from mod_python def listHealth( req ): # get a reference to the Avatar object known as Stig player = pyBigWorld.lookupEntityByName(Avatar, Stig) # call the BigWorld entity method result = player.getHealth() # write the health value back to the browser req.write(Health of Stig: %d % result[health] )
30 Capabilities View Character Statistics Player Chat Player to Player Object trading Auction House Tamagotchi Style Games Mini-Games (XP Grinding)
31 Example: View Player Stats
32 Example: Create Auction from Inventory
33 Example: Search Auctions
34 Conclusion Pervasive MMOG experiences anywhere Create cheap extensions to your Game Create stronger communities
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.