Enabling Player-Created Online Worlds with Grid Computing and Streaming Philip Rosedale and Cory Ondrejka Gamasutra, September 18, 2003 Presented by Daniel Ferstay Overview • Massively Multiplayer Online Games (MMOG) – And the people who play them • Content Distribution problem for MMOG • Second Life ™ – The Grid – Streaming • Conclusions and Discussion 1 Massively Multiplayer Online Games (MMOG) • “The hours and intensity with which players engage in games makes for very fast consumption of content” 2 How many hours and with how much intensity? • Google search for ‘everquest addiction’ gives interesting results • “EverQuest: the Latest Addiction”, Wired.com, July 29, 1999 – ~150000 players total – ~34000 players online for 3-4 hours each during peak night hours • EverQuest Widows – Yahoo! group that offers a space for people to vent and support each other through relationship crises. – Missed anniversaries, threatened divorce, breakups, etc. 3 Good News, Bad News • Game players who enjoy the content of a game play it a lot. • The more players play, the more content they consume 4 Question • How can game designers provide enough content to keep players engaged? • Previous approaches – Provide large amounts of content in game (Final Fantasy) – Make content reusable; replay value (GranTurismo) – Make experience dependent on interaction with other human players (Quake) 5 Problem • Persistent-world online games – Players pay a monthly subscription fee to play the game • Designers keep players engaged by frequently updating interactive content – Exploration of 100 hours of content can take only a few weeks of game play. • This approach is costly • Balancing act between time/cost to develop content, time to play content and monthly subscription fee. 6 Solution • Allow players to modify and customize game content and features • Works well for single player games and FPS where customization amounts to modifying local configuration files • This approach raises technical problems for MMOG 7 Second Life • Persistent-World MMOG • Online society shaped entirely by it’s residents • Players create/modify their avatars to look and sound like anything • World landscape is provided but players create the objects which populate the world – Houses, boats, furniture, art, etc. • See: The Metaverse in Neal Stephensons “Snow Crash” 8 Second Life 9 Content Distribution Problem • How do we distribute player-customized content (graphics, sound, geometry, animation, behaviour) to other players in real-time? • The online world is one big contiguous space populated by players who can: – Create, edit, and move objects • The world contains hundreds of thousands of objects that have unique: – Textures, physical properties, shapes, permissions, etc. 10 Content Distribution Problem cont. • Shipping the games current contents to users in a box requires > 100 CDs • Patching users with new in-world content when they logged in would require downloads of 10s of megabytes per day • Storing and manipulating all of the game content on a centralized database would yield a transaction rate of > 10000 read/writes per second during peak hours • These numbers grow linearly with the number of players 11 Content Distribution Solution: The Grid • Distribute the objects across a tiled grid. • Each tile in the grid represents one machine running a ‘sim’ – Simulates physics, manages objects/behaviours/terrain for a fixed square region of space (~16 acres) 12 The Grid cont. • Simulator machines talk to their four nearest neighbours in the grid – Solves scaling problem as world becomes large • As objects move around the world, their representations are transferred from simulator to simulator – Using higher order prediction, players and objects transition across simulation borders seamlessly. 13 The Grid cont. • As players move around the grid, they maintain streaming connections only to the simulator machines they are near. • Simulators compute the information and objects that can be seen – Transmits only information that is new to the player (or has changed) – Players need only a thin client (a world viewer) to play the game • To grow the world, add simulator machines to the grid. 14 Streaming • Game requires a broadband connection. – Average bandwidth to a client ~100Kbps • Compression is needed – Each sim supports ~10000 objects; players can see a large percentage of these. • Graphical representations of objects are built out of simple geometric shapes. – Generalized meshes are too complex and don’t compress as efficiently 15 Streaming cont. • Texture and audio data are compressed – Allows players to put thousands of large textures and a large number of audio sources into a scene. 16 Streaming is expensive • Clients receive information related to: – Frustum culling, change detection, motion interpolation/extrapolation, compression, and packet construction and management. • Multiple servers stream data to different ports on the client machine via UDP – UDP allows for a more responsive/controllable stream then TCP. • Avoids TCPs “slow start” congestion controls. • Reliability built around loss detection and data correction – Not retransmission 17 Conclusions • A Grid of simulators solves the problem of scale when users are allowed to create and modify objects in a large online world • Streaming data to players in real time allows users to modify the online world in a collaborative and interactive manner. 18 Thank You Any Questions? 19 Discussion • In what ways could this game be improved? – Graphics are simple, low polygon count – Multiple UDP streams get blocked by Firewalls – Adaptive congestion control vs. 100Kbps magic number for client bandwidth • Is it reasonable to expect players to create all of the content in the game? 20
© Copyright 2026 Paperzz