29
Introduction to MMOG Architecture

Intro to Massively Multiplayer Online Game (MMOG) Design

Embed Size (px)

DESCRIPTION

Presentation on MMOG architecture given to several app development groups interested in moving into the game design world. Much of this content was inspired by t-machine.org.

Citation preview

Page 1: Intro to Massively Multiplayer Online Game (MMOG) Design

Introduction to MMOG Architecture

Page 2: Intro to Massively Multiplayer Online Game (MMOG) Design

Experience

Built games?

In app store?

Using game center?

Server-side architecture?

MMOG projects?

Page 3: Intro to Massively Multiplayer Online Game (MMOG) Design

Agenda

What is Game

What is MMOG

MMOG Components

Unique About MMOG

MMOG Trends

Page 4: Intro to Massively Multiplayer Online Game (MMOG) Design

My Background

Data center design

Marketing strategy

Mobile development

Page 5: Intro to Massively Multiplayer Online Game (MMOG) Design

Game Loop

Receive player input

Process player actions

Calculate state changes

Apply state changes

Repeat

Page 6: Intro to Massively Multiplayer Online Game (MMOG) Design

The Game Grows Up

single-player

multiuser domain > MUD

multiplayer online game > MOG

massively multiplayer online game > MMOG

Page 7: Intro to Massively Multiplayer Online Game (MMOG) Design

MMOG is

session persistence

single virtual world

player interaction

1000+ concurrents

multiple client support

Page 8: Intro to Massively Multiplayer Online Game (MMOG) Design

Build an MMOG

3rd-party engine or in-house?

Self-hosted or gaming provider?

In-house servers or cloud?

Shared or dedicated hardware?

Shard or not-to-shard?

udp or tcp?

Peer-to-peer or server-client?

Virtualization or metal?

Client or server-side logic?

Chat or VoIP?

Windows or Linux?

MySQL or SQL Server?

Page 9: Intro to Massively Multiplayer Online Game (MMOG) Design

Player client connects to Login server

Login Server provides authorization token

Copy of token goes to World Server

Player client handed off to World Server

World Server provides character data

World Server provides connection info for

Chat Server & Zone Server

Player client handed off to Zone Server

Zone Server handles gameplay in zone

World Server handles transition between

zones

Basic MMOG Architecture

Page 10: Intro to Massively Multiplayer Online Game (MMOG) Design

Think Security

Hackers are inevitable

Spammers are inevitable

Cheaters are inevitable

Page 11: Intro to Massively Multiplayer Online Game (MMOG) Design

...the majority of MMOG development is

content

...the majority of MMOG development takes

place after launch

...MMOG core game logic will change

...MMOGs require massive quantities of

storage

Contrary to non-MMOGs

Page 12: Intro to Massively Multiplayer Online Game (MMOG) Design

...the majority of MMOG development is

content

Page 13: Intro to Massively Multiplayer Online Game (MMOG) Design

"Content" is

Storylines (missions, quests, events)

3d areas (meshes, textures, logic)

Loot (item graphics, drop rates, item stats, etc.)

Page 14: Intro to Massively Multiplayer Online Game (MMOG) Design

"Content" is not

Fancy graphics

Physics engines

AI

Core game rules

...which tend to make up the bulk of non-MMOGs

Page 15: Intro to Massively Multiplayer Online Game (MMOG) Design

Rate at which players consume content

vastly exceeds the rate at which developers

generate it

eg. 50 developers generating content &

500,000 consuming it (and users are

sharing discoveries so consumption is

exponential)

Page 16: Intro to Massively Multiplayer Online Game (MMOG) Design

...the majority of MMOG development takes

place after launch

Page 17: Intro to Massively Multiplayer Online Game (MMOG) Design

Most MMOGs release new content every 3-

12 months

Releases are large: "miniature MMOGs"

(new 3d areas, quests, items, plotlines, etc.)

Page 18: Intro to Massively Multiplayer Online Game (MMOG) Design

Underlying technology (engine) is usually

only updated when required by a content

change

Cutting-edge graphics are not a primary

selling point of MMOGs, unlike non-

MMOGs

Page 19: Intro to Massively Multiplayer Online Game (MMOG) Design

MMOG development teams typically get

larger after launch (developing new content

& keeping the old content still working)

Page 20: Intro to Massively Multiplayer Online Game (MMOG) Design

...MMOG core game logic will change

Page 21: Intro to Massively Multiplayer Online Game (MMOG) Design

Players will find a loophole and unbalance

the game, so you have to "fix" it

Page 22: Intro to Massively Multiplayer Online Game (MMOG) Design

Writing core logic that is easy to change

(and deal with side effects) is more

important than writing easy core logic

Page 23: Intro to Massively Multiplayer Online Game (MMOG) Design

...MMOGs require massive quantities of

storage

Page 24: Intro to Massively Multiplayer Online Game (MMOG) Design

Progress of every player in an MMO needs

to be independently tracked (quests

completed, equipment they own, etc.)

Page 25: Intro to Massively Multiplayer Online Game (MMOG) Design

30GB+ every 24 hours, all of which needs

to be programmatically referenced

Page 26: Intro to Massively Multiplayer Online Game (MMOG) Design

MMOG Design Considerations

How much effort is required to change an in-game item

How much effort is required to add (or remove) in-game items

How re-usable is the content

How much effort is required to re-use re-usable content

How much specialist knowledge is required to modify content and logic

How exportable is the data generated by playing the game

How analyzable is the data generated by playing the game

How much effort is required to modify core content

How much effort is required to change individual rules (and debug)

How many of the above can be made without a developer

Where can 3rd-party systems be used for server-side components

Page 27: Intro to Massively Multiplayer Online Game (MMOG) Design

MMOG Design Rules of Thumb

Use non-proprietary databases for persistence

Use relational databases

Implement game logic as raw data rather

than compiled data

Use standard scripting languages where

possible

Intense testing during development

Even more intense testing after launch

Page 28: Intro to Massively Multiplayer Online Game (MMOG) Design

The Future

Cloud is the hardware of choice

iPhone grows as gaming platform

Browser dwindles as gaming client

Ad-sponsored worlds

Educational worlds

Page 29: Intro to Massively Multiplayer Online Game (MMOG) Design

The End

References

http://www.ibm.com/developerworks/library/ar-powerup1/http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/