Middleware in Game Development - School of Mathematical ...

friendlybathMobile - Wireless

Nov 12, 2013 (3 years and 8 months ago)

51 views

Middleware in

Game Development

Mr. Milo Yip (mcmilo@polyu.edu.hk)

Europe
-
China Workshop on E
-
Learning and Games

(Edutainment 2005)

Multimedia Innovation Centre

Research & Development


Games & Animation


Education and Internet Technologies


Hardware and Software Development


Traditional and New Media

Education


Master of Science in Multimedia and Entertainment
Technology (MScMET)


Undergraduate (EIE, SD), High Diploma & SPEED
Courses

Overview

1.
Brief History of Game Development

2.
What & Why Middleware?

3.
Middleware Taxonomy

4.
MSMOG Development Platform

5.
Q & A

Brief History of

Game Development

Brief History (50s)


1958: “Tennis for Two”


Willy Higginbotham (Brookhaven National
Laboratories)


Analog Computer, Oscilloscope

Brief History (60s)

1961: Spacewar


Steve “Slug” Russel at MIT


PDP
-
1 (USD120,000)

Brief History (70s)

1972: Pong


Allan Alcorn at Atari


Entered home in 1975

Brief History (80s)

1981: Pac
-
man


Atari


Atari 2600/Intellivision

1982: Pac
-
man plus


Namco

Brief History (80s)

1985: NES/FamiCom


Nitendo


Motorola 6502 (8
-
bit)


Popular Game
Cartridge

Super Mario Bros.

Donkey Kong

Zelda

Brief History (90s)

1991: Wolfenstein 3D


id Software (John Carmack)


PC (386 33Mhz), VGA

1996: Tomb Raider


Eidos


PC (Pentium 133Mhz)


4MB Ram


SVGA, 3D Acceleration


Windows 95

Brief History (Today)

Gaming Platforms:


PC (Pentium 4, Display card with Shader 3.0)


Consoles

Sony Playstation 2

Microsoft XBox

GameCube


Mobiles

GameBoy Advance/DS

PDA (PalmOS, WindowsCE)

Mobile Phone (Symbian, J2ME)


Arcade

Brief History (Today)

Development Team Size Growth (estimate)






Let’s see some real cases

Design

Technical

Artwork

50s
-
70s

≤1

≤1

≤1

80s

2

3

5

90s

3

5

10

Today

5~10

10~20

20~50

Black & White

By Lionhead Studios

USD ~ 5.7M budget

25 full
-
time developers

3 contractors

~3 years

~2M lines of code

In
-
house technology

Neverwinter Night

By Bioware Corp

75 developers at peek (~160 man
-
years of
development)

40 QAs

5 sound contractors

20 translators

~5 years

In
-
house technology

Splinter Cell (PS2 version)

By Ubisoft Entertainment

76 full
-
time developers

18 contractors

5 months

Uses UnrealEngine as Middleware

What & Why

Middleware?

What Middleware?

Middleware are software that supports
application (game) development

Middleware provide the common functionalities
of specific domain of applications (game)

Application

Operating System

Hardware

Application

Operating System

Hardware

Middleware

Why Middleware?

Prevent re
-
inventing the wheel

Game system becomes more and more
complicated:


real
-
time, interactive, networked, persisted,
massive users, virtual reality system

Game development requires a vast
domains of expertise nowadays

To use technologies with success stories

Why Middleware? (cont.)

Developing a game
from ground up

is:


Expensive

Need to hire many domain experts

Train developers with latest technologies


Slow

Market changes rapidly

Publishers want shorter development time


Risky

Development of high
-
end technologies is very risky

Why Middleware? (cont.)

However, there are a few
disadvantages
:


Licensing may be a big investment


Middleware may not be fully suitable to the
project, customization may be needed


Difficult to integrate with existing assets


Developing in
-
house technologies makes

The game having unique features

Possible to re
-
use in future

Possible to sell to third parties (as middleware)


Middleware Taxonomy

Middleware Taxonomy

Graphics Rendering

Audio Rendering

Physics Simulation

Artificial Intelligence

Multiplayer

Mathematics

Special (e.g. Plant, Planet synthesis)

All
-
in
-
one (3D Game Engine)

Middleware Taxonomy

Middleware products normally include:


Application Programming Interface (API),
normally in C/C++


Runtime Components (e.g. DLLs)


Tools


Documentation


Examples

Some products are cross
-
platform

Graphics Rendering

Visual quality and fluency is very important
to games

Most games nowadays requires 3D real
-
time computer graphics

Famous products:


Criterion’s RenderWare Graphics

Graphics Rendering

Features


Lighting/Material, Shadowing


Scene Management (indoor/outdoor)


Camera Control


Animation (objects, character, facial)


Special Effects (particles, lens flare, etc)


Workflow Tools (e.g. exporting 3D models
from 3D Studio Max, Maya)

Audio Rendering

Audio in games has very important effect
to gamer’s emotion

Famous products:


RenderWare Audio

Audio Rendering

Features


Mono/Stereo playback


3D Surround Sound Emulation


Effect filters (e.g. echo, chorus, reverb, etc.)


Streaming

Physics Simulation

Traditional games have little use of physics
simulation


Collision Detection (preventing penetration among
objects and environment)

Physics become more important in game
development recently

Physics simulation add realism to games

Famous Products:


Havok


Novedex


Open Dynamics Engine

Physics Simulation

Features


Collision Detection


Kinematics Simulation


Rigid
-
body Dynamics Simulation

Hinge, ball, slider joints


Special domains

Vehicle simulation

Ragdoll simulation

Artificial Intelligence

Artificial Intelligence (AI) adds behavior to Non
-
Playable Characters (NPCs)

Behavior can be low
-

or high
-
level


Low
-
level behavior such as finding a path from
current position to target is vital to games


High
-
level behavior such as decision making adds
realism to human (or human
-
like) NPCs

Famous Products


Renderware AI

Artificial Intelligence

Features


World/Perception Modeling

Mobility (Where NPCs can move through)

Visibility (What NPCs can see)

Audibility (What NPCs can here)


Path
-
Finding


Behavior Modeling

Finite
-
State Machine (FSM)

Artificial Neural Network (ANN)

Rule
-
based Systems


Team Collaboration

Multiplayer

Multiplayer games continue to grow


Lobby Games


Massively Multiplayer Online Game (MMOG)

Multiplayer games are complicated to design
and implement (relative to single player games)


In research, it is Networked Virtual Environment (NVE)


NVE can be applied on military simulation

Famous Products:


Net
-
Z/Eterna


Terazona


Butterfly.net (Distributed Architecture)

Multiplayer

Features


Communication

TCP/UDP, Encryption, Compression

Session Management


Object

World Management, Transaction, Persistency

Remote Method Invocation (RMI)


Synchronization Management

Optimistic/Pessimistic

Dead
-
Reckoning Models

Interest Management (reduce synchronization traffic)


Lobby and User Management


Special
-

Plant

Plant simulation and rendering

Famous products


SpeedTreeRT


RealNAT

Special
-

Planet

Planet synthesis


Terrain, water, atmosphere, satellites


Very huge and detailed game worlds

Famous Products:


MojoWorld (not yet provide as middleware for
public licensing)


All
-
in
-
one (3D Game Engine)

3D Game Engines provide all
-
in
-
one solutions to
game development

Normally 3D Game Engines contain integrated
workflow tools

Famous Products


Unreal Technology (Unreal Tournament)


Source Engine (Half
-
life 2)


Jupiter (No One Lives Forever)


Renderware Studio


NetImmerse

All
-
in
-
one (3D Game Engine)

Features


3D Graphics/Audio Rendering


Input Handling


Graphical User Interface (GUI)


Physics Simulation


Artificial Intelligence


Script Engine


Integrated Tools


Multiplayer (for lobby type only)

MSMOG

Development Platform

http://micn.polyu.edu.hk/~msmog/

MSMOG Development Platform

Mini
-
Scale Multiplayer Online Game
Development Platform (MSMOG DP)


Funded by SME Development Fund (10/2003
-

3/2005, 18 months, HKD ~2M)


Developed by MIC, PolyU


Aimed at enabling game companies to
develop MSMOGs in a more rapid, efficient,
secure and affordable way

MSMOG

Types of online game nowadays


2
-
16 players lobby game


1000
-
10000 players Massively Multiplayer
Online Game (MMOG), persist world

MSMOG is a new type of online game for


<200 players in controlled network
environment (e.g. Cyber café)


Fast interaction games (e.g. fighting, racing,
sports)

MSMOG

Rationales for MSMOG


Asia have a huge number of cyber cafés


No games are designed for this market


New opportunity for Hong Kong game
industry!

MSMOG

MSMOG DP is an
all
-
in
-
one

middleware
for game development

MSMOG divides into two products:


3D Game Engine


Multiplayer Network Engine

MSMOG
-

3D Game Engine

3D Game Engine provides:


3D Graphics/Audio Rendering


Input Handling


Physics Simulation


Artificial Intelligence (AI)


Graphical User Interface (GUI)


Mathematics


Workflow Tools

All of them are tightly integrated

MSMOG



Multiplayer Network Engine

The Multiplayer Network Engine supports


World Management


Interest Management


Communication


Synchronization


Persistency


Transaction

Current performance profile


400 concurrent users at 20Hz sync.

MSMOG DP
-

Applications

Benefits of using MSMOG DP


Latest high
-
end technologies


Reducing development cost, time and risk


Local support and training

Applications


Single player, Multiplayer games


Education/Edutainment software


3D Simulation


Virtual/Mixed Reality applications

“Auroral Snare” Prototype

-

3D Multiplayer Action Game

-

3 MScMET Students’ FYP

-

3 Months of Development

-

Using MSMOG Development Platform

Q & A

Thanks!

Welcome to visit MIC!

Please contact me or

Ms. Cindy Yu (mccindy@polyu.edu.hk)

http://micn.polyu.edu.hk/~msmog/