1 / 44

Grids And Gaming: Developing MMOGs (Massively Multiplayer Online Games) on the Grid

Grids And Gaming: Developing MMOGs (Massively Multiplayer Online Games) on the Grid. Johnny L. Hopkins (johopkin@uncc.edu) Department of Software and Information Systems College of Information Technology November 8, 2005 ITCS 5010: Grid Computing The University of North Carolina at Charlotte.

adrina
Download Presentation

Grids And Gaming: Developing MMOGs (Massively Multiplayer Online Games) on the Grid

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grids And Gaming: Developing MMOGs (Massively Multiplayer Online Games) on the Grid Johnny L. Hopkins (johopkin@uncc.edu) Department of Software and Information Systems College of Information Technology November 8, 2005 ITCS 5010: Grid Computing The University of North Carolina at Charlotte

  2. Gaming on the Grid • What is a game? • Different game genres • MMORPGs/MMORTSs/MMOGs • Basic steps to designing and developing a MMOG/MMORPG/MMORTS/ • Curent MMP Engines • Languages for MMP development • How grids can help the game development process • The “butterfly grid” • Resources for Gaming

  3. What is a Game? • What are YOUR definitions of a good video game? • Definition: “A great game is a series of interesting and meaningful choices made by the player in pursuit of a clear and compelling goal” (Rabin 2005).

  4. Different Game Genres • Action • Adventure • Arcade • Casual (Texas Hold ‘Em Poker, Pogo.com, Uproar.com, You Don’t Know Jack) • Educational (Where in the World is Carmen Sandiego) • Fighting/First-person shooters (Halo II) • Platform • Puzzle (Puzzle Pirates, Bejeweled, Sudoku) • Racing (Grand Tourismo) • Rhythm (Dance Dance Revolution) • Sports (Madden 2005) • Role-Playing (EverQuest, World of Warcraft) • Strategy (Civilization IV)

  5. MMORPGs/MMORTSs/MMOGs • Acronyms • MMORPG: Massively Multiplayer Online Role Playing Game • MMORTS: Massively Multiplayer Online Real-Time Strategy Game • MMOG: Massively Multiplayer Online Game

  6. Why MMOG/MMORPG • Social aspect • Skill • “Escape” from reality • Simultaneous interaction • “Social hijacking” • Ability to “mod” (Unreal, Quake, Half-Life, Civilization)

  7. MMORPGs/MMORTSs/MMOGs • In all cases, these are video games designed to be played over a computer network and/or the Internet (e.g. LAN parties) • EverQuest (Sony Entertainment) is the most popular MMORPG among players • Are often some of the harder games to design and develop

  8. Long development cycle (two to three years) Versioning issues Basic client-server development challenges Security: Hacking, In-game cheating, Illegal plugins, etc.) Issues with MMOGs/MMORPGs

  9. Basic Architecture of MMOGs Hsiao, Tsun-Yu and Yuan, Shyan-Ming, “Practical Middleware for Massively Multiplayer Online Games,” IEEE Internet Computing, vol. 9, no. 5, 2005, pp. 47-54

  10. Basic Steps • Create character • Save the character on the server-side • Login with character • Enable chat and “shout” • Create and enable 3D navigation • Create a database (data store) to hold info on players, stats, worlds, guilds, etc.)

  11. Different MMORPG architectures • Client/Server • Peer-to-Peer (P2P) • Grid (That’s us!!!!! ) • Distributed Systems

  12. MMORPG Architectures: Client/Server • Strong points: Mainframe heritage • Time tested: Mature and widespread • Single point of control: Allows for monitoring • Strong security: Servers are in data centers, hard to compromise systems (Yeah, RIGHT!!!) • Modular scalability: Easy to scale and extend by adding servers to server farm) • Most MMPs use this architecture (currently)

  13. MMORPG Architectures: Client/Server • Pitfalls: • Dependency on a single physical channel to data center • Having C/S architecture for MMPs (Massive Multiplayer) require large capital expense upfront • O(n^2) scalability problems (Think back to your data structures/algorithms class. Why is this bad for MMPs

  14. MMORPG Architectures: Peer-to-Peer (P2P) • Strong points • Highly scalable: Good performance • O(n^2) solution: Bandwidth grows with additional players • Massive processing capabilities: Contribute idle resources • Massive storage capability: 100s TBytes of storage at no additional costs • Low hardware expenses: Very few centralized resources, everything is done on the network • Low bandwidth requirements: No central data center, dynamic connections between each node • Dynamic topology, no single point of failure: Resilient to attacks and catastrophes • Improved latency: Ave round-trip in dynamically formed P2P network is significantly less than round trip to a fixed C/S datacenter

  15. MMORPG Architectures: Peer-to-Peer • Pitfalls • Decentralization • No guarantees of “legitimate” data sources • No way to establish data authenticity • No way to control the behavior of P2P networks

  16. MMORPG Architectures: Grids • Scalable, high-performance network: Combines the power of existing data centers and servers into a “super server.” • Massive storage capabilities: Servers AND data centers can provide terabytes of storage at no cost • Low bandwidth constraints: Generally favorably located near Internet backbones, gives ample bandwidth • Low hardware expenses: Most processing and storage takes place on servers connected to the grid, little additional resources needed.

  17. MMORPG Architectures: Grids • Pitfalls • No possibly of direct management of servers because an open grid consists of decentralized servers not owned by a single entity • Different machines running different OSes • Hard to monitor in real-time or make changes to network

  18. MMORPG Architectures: Distributed Computing • Close “cousin” to P2P networks • Focuses on contributing computer power • Shows promise for large-scale computational projects (SETI@Home) • Finds corrupted data and malfunctioning nodes by repeating the same transmission on different nodes

  19. MMORPG Architectures: Distributed Computing • Pitfall: It is not a real-time system, so you can’t use this architecture for MMORPGs

  20. Different MMP Engines • Game Gardnens • BigWorld Technology • Kaneva • Populace • Quazal • Massiv • ICE (Internet Communications Engine) • RakNet • ReplicaNet • Zona

  21. Different MMP Engines • Game Gardens (Three Rings Design, http://www.gamegardens.com) • Foundational MMP engine for Puzzle Pirates • Java-based • Client/Server architecture • FREE!!!!!!

  22. Different MMP Engines • BigWorld MMO Engine (http://www.bigworldtech.com) • Developed in Australia • Made up of client, server, tools • Licensed by comapanies in Asia • Interfaces with Python, XML, etc • Aimed at serious developers

  23. Different MMP Engines • Kaneva (Kaneva, Game Platform, http://www.kaneva.com) • First downloadable engine for online games • Integrated system (AI, persistent worlds, etc.) • Licensing: Free to $50, 000 for a sinlge use license

  24. Different MMP Engines • Populace (http://www.populace.com) • Designed for use with 3D Game Studio (Need 3D Game Studio for this to work) • Developed for a MMORPG game, but network engine was abstracted out of the game and marketed as an API • Only $149.99 (approx. $150) • Major limitation: Only usable on Windows systems

  25. Different MMP Engines • Quazal (In-Game Multiplayer Engine, Net-Z, http://www.quazal.com) • Based on duplicated objects: Game objects are duplicated to different stations on a network • When a change is made to master node, it gets “sent” to other nodes

  26. Different MMP Engines • Massiv (http://massiv.objectweb.org) • Open-source engine built on top of C++ and standard libraries • Uses client/server architecture • Extended object model • Started as a school project, no new work is being done on the engine (possible thesis topic for someone, maybe………..)

  27. Different MMP Engines • Internet Communications Engine (ICE, Zero-C, http://www.zeroc.com/ice.html) • Object-state versioning • Distribution of software updates • Efficiency • Multilanguage support (C, C++, C#, Java, Python, Visual Basic, PHP)

  28. Different MMP Engines • RakNet (http://www.rakkarsoft.com) • Uses UDP connectivity • Rapid development of online games and adding multiplayer capabilities for single-player games • Open-source but has a commercial license option

  29. Different MMP Engines • ReplicaNet (http://www.replicanet.com) • C++ based • Allows developer to focus on game logic without resorting to network programming • Shared objects • Has a freeware version (no source code), but a license costs around US$5000 (Some of the network APIs I researched for this presentation requires a game development shop to shell out at least US$100,000 or more)

  30. Different MMP Engines • Zona (http://www.zona.net) • Commercial MMP Engine • Complete solution:

  31. Different MMP Engines • Zona (cont) • Three frameworks: • Zona Application Framework (SDK) • Zona Gaming Framework • Zona Billing Framework

  32. Languages for MMP Development • C • C++ • C# • Visual Basic.NET • Delphi • Java (Java 3D) • Python (PyGame)

  33. Improving game development with Grids • Considering the needs of these individuals: • Developers: • Performance • Flexibility • Use tools (C, C++, Python, Lua, etc.) • Need to use rendering engines • Write games for PlayStation2, Xbox, etc.

  34. Improving game development with Grids • Considering the needs of these individuals: • Publishers • Finance games • Make money

  35. Improving game development with Grids • Considering the needs of these individuals: • Service provider • ISPs • Decentralization

  36. The “Butterfly” Grid • Standards-based • Chapter 13 in The Grid 2 by Foster and Kesselman • Provided the following at the time: • High-performance • Scalability • Reliability

  37. The “Butterfly” Grid: Architecture • Builds on the core grid services provided by Globus • Major Tiers: • Object Management System (OMS) • Network Protocol Stack (NPS) • Gateway servers • Daemon controllers • Game servers • Datastore • Grid Services (Think: Assignment 2)

  38. The “Butterfly” Grid: Globus Services • Staging and maintenance of a code base in distributed environment • Scheduling, monitoring, termination of application process instances in a distributed environment • Monitoring framework for real-time instrumentation

  39. The “Butterfly” Grid: Specification • Virtual organizations are defined by a game configuration specification (GCS), a XML-based spec structure with these specific tags: • <GRID>: Base node • <MACHINE>: Gives names and addresses to physical machines on the grid • <ACCOUNT>: Authentication record for players • <SOFTWARE>: Defines a version of a game

  40. The “Butterfly” Grid: Specification • GCS tags (cont.): • <WORLD>: A world is a game • <INSTANCE>: Physical instantiation of game with these tags within <INSTANCE>: • <NETWORK>: Multicast information • <SERVER>: Specifies running server process • <CONTENT>: Scripts, datafiles, executables, shared libraries • <GATEWAY>: Instantiates gateway process on a physical machine • <DATASTORE>: How the instantiated game will connect to a data store (identifiers, user names, passwords)

  41. The “Butterfly” Grid: Deployment as a GRAM Job • Had to be mapped to Globus Toolkit • Parse GCS to produce three types of output: • Game configuration file • Resource spec language (RSL) files • Production of glue scripts: executes RSL on machines and capture job submission ID

  42. The “Butterfly” Grid: Current Status • Butterfly.net has changed its name to Emergent Game Technologies • Merged with NDL • Formal announcement of product line: March 2006 • They have changed their software to create a new server engine • Have they left grid computing?............

  43. Resources • International Game Developers Association (IGDA): http://www.igda.org • Books: • Introduction to Game Development edited by Steve Rabin (Charles River Media) • Massively Multiplayer Game Development 2 edited by Thor Alexander • General Game Development • Gamasutra: http://www.gamasutra.com • GameDev: http://www.gamedev.net • DevMaster: http://www.devmaster.net • GameDeveloper Magazine: http://www.gdmag.com

  44. Conclusion • Massively multiplayer games are increasing in popularity • Many different architectures and engines to fit these architectures are available • Butterfly grid was one solution to scale for MMOGs

More Related