Challenges in Network Game Development Gilbert Hsieh GATE Lab, Gamania November 2010
Gilbert Hsieh BS, Department of Information Management, NTU, Taipei, Taiwan MS, Department of Computer Science, USC, Los Angles, CA, US Focus on 3D Graphics Rendering in USC 3 years experience in “normal” software industry in Silicon Valley 7 years experience in game industry (PS2/XBOX/PC online) Software Engineer/Project Manager/Game Producer Director of GATE Lab in Gamania
Gamania
Love to play Game + Mania = Gamania
Explore the Unlimited Possibility of Fun Gamania Vision Explore the Unlimited Possibility of Fun
Gamania Digital Entertainment Co., Ltd. Our Background Gamania Digital Entertainment Co., Ltd. Date of Establishment June 1995 Paid In USD 51.34 Million Listed In May 2002 Group Headcount 1,300 (2010 Q1) CEO Albert Liu Business Scope Online games, animations, publishing and merchandise 1 TWD = 0.031 USD
Gamania Headquarter (Taipei) Global Network Japan ─ Gamania Digital Entertainment (Japan) Co., Ltd. (Founded in 2001) China ─ Gamania Digital Entertainment (China) Co., Ltd. (Founded in 2002) Taiwan ─ Gamania Digital Entertainment Co., Ltd. (Founded in 1995) USA ─ Gamania Digital Entertainment (US) Co., Ltd. (Founded in 2009) Hong Kong ─ Gamania Digital Entertainment (HK) Co., Ltd. (Founded in 2000) Europe ─ Gamania Digital Entertainment (EU) Co., Ltd. (2010, Estimated) Korea ─ Gamania Digital Entertainment (Korea) Co., Ltd. Gamania Headquarter (Taipei) USA Amsterdam * HQ: Taiwan Honk Kong Japan Korea China
Coordinate policies and resources for game development R&D Professional: Gamania Game Studios SEEDO Games Co., Ltd., TW Feature Title: Bright Shadow Fantasy Fish Digital Games Co., Ltd., TW Feature Title : Xian Mo Dao PLAYCOO Corporation, TW Coordinate policies and resources for game development Feature Title : Lucent Heart RedGate Games Co., Ltd., TW/CN Feature Title : HERO : 108 Online FIREDOG Studio Co., Ltd., HK Feature Title : Tiara Concerto
Technical Overview
AI UI 3D Physics Database Networking Audio Graphics Image Processing 3D Graphics/Animation Networking Database Distributing System AI Physics Image Processing Audio Processing Database Networking
AI UI 3D Database Networking Distribution System Parallel Computing Image Processing Audio Physics UI 3D Graphics AI Database Networking Image Processing Audio Physics UI 3D Graphics Distribution System Parallel Computing Cloud Computing AI Database Networking Image Processing Audio Physics UI 3D Graphics AI Database Networking Image Processing Audio Physics UI 3D Graphics 3D Graphics/Animation Networking Database Distributing System AI Physics Image Processing Audio Processing AI Database Networking Image Processing Audio Physics UI 3D Graphics AI Database Networking Image Processing Audio Physics UI 3D Graphics
Integration Data Performance
System Characteristic
Buy items from other players Attack monsters Buy items from other players Chat with NPCs Move … All happened within a certain area Geographic Location is the key!
All behaviors relate to Geographic Location Computing depends on Geographic Location The data need to be considered together is upon their geographic location
Area 1 Area 2 Most game objects only interactive with other game objects in the same area.
Area 1 Area 2 Process 2 Process 1
Technical Challenges
-Data Persistence -Fault Tolerance -Security -Testing
Data Persistence
A Game World Game Server Game Server Game Server RDB Game Server We would like to update database as often as possible. We wish to scaling the database easily Game Server Game Server
Relational Database Relational database is slow
New Data Old Data New Data Database Game Server R R It may still have relationship between new data and old data Game Server
NoSQL!
Distributed memory cache?
PA System Since related object should be processed in the same node, consistency is not the most important condition
Fault Tolerance
Database Game Server Player
Database Game Server Gateway Player
Database Game Server Gateway Player How to migrate the data from the original one to the new one in a very short time is a challenge Gateway Player
Between Server
Area 1 Area 2 Replicated Process Replicated Process Process 2
Replicated Process Process 1 Process 2 Area 1 Area 2
Security
Game Bot
Retrieve encryption/decryption functions from assembly and use it directly
Testing
UI of Windows applications and Web applications are built by controls and widgets. Controls and widgets are easier to be identified by program.
All graphics!!
We found a new hope… not Obama
SIKULI Use image identification to record and replay the interactive between user and interface
2009 © Gamania Digital Entertainment Co.,Ltd. All Rights Reserved.