Middleware in Game Development Mr. Milo Yip (mcmilo@polyu.edu.hk) Europe-China Workshop on...

Preview:

Citation preview

Middleware in Middleware in Game Development Game Development

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

Europe-China Workshop on E-Learning and Games (Edutainment 2005)

Multimedia Innovation CentreMultimedia Innovation Centre

Research & DevelopmentResearch & Development Games & AnimationGames & Animation Education and Internet TechnologiesEducation and Internet Technologies Hardware and Software DevelopmentHardware and Software Development Traditional and New MediaTraditional and New Media

EducationEducation Master of Science in Multimedia and Entertainment TMaster of Science in Multimedia and Entertainment T

echnology (MScMET)echnology (MScMET) Undergraduate (EIE, SD), High Diploma & SPEED CoUndergraduate (EIE, SD), High Diploma & SPEED Co

ursesurses

OverviewOverview

1.1. Brief History of Game DevelopmentBrief History of Game Development

2.2. What & Why Middleware?What & Why Middleware?

3.3. Middleware TaxonomyMiddleware Taxonomy

4.4. MSMOG Development PlatformMSMOG Development Platform

5.5. Q & AQ & A

1.

Brief History of Brief History of Game DevelopmentGame Development

Brief History (50s)Brief History (50s)1958: “Tennis for Two”1958: “Tennis for Two”

Willy Higginbotham (Brookhaven National Willy Higginbotham (Brookhaven National Laboratories)Laboratories)

Analog Computer, OscilloscopeAnalog Computer, Oscilloscope

Brief History (60s)Brief History (60s)

1961: Spacewar1961: Spacewar Steve “Slug” Russel at MITSteve “Slug” Russel at MIT PDP-1 (USD120,000)PDP-1 (USD120,000)

Brief History (70s)Brief History (70s)

1972: Pong1972: Pong Allan Alcorn at AtariAllan Alcorn at Atari Entered home in 1975Entered home in 1975

Brief History (80s)Brief History (80s)

1981: Pac-man1981: Pac-man AtariAtari Atari 2600/Intellivision Atari 2600/Intellivision

1982: Pac-man plus1982: Pac-man plus NamcoNamco

Brief History (80s)Brief History (80s)

1985: NES/FamiCom1985: NES/FamiCom NitendoNitendo Motorola 6502 (8-bit)Motorola 6502 (8-bit) Popular Game CartridPopular Game Cartrid

gegeSuper Mario Bros.Super Mario Bros.

Donkey KongDonkey Kong

ZeldaZelda

Brief History (90s)Brief History (90s)

1991: Wolfenstein 3D1991: Wolfenstein 3D id Software (John Carmack)id Software (John Carmack) PC (386 33Mhz), VGAPC (386 33Mhz), VGA

1996: Tomb Raider1996: Tomb Raider EidosEidos PC (Pentium 133Mhz)PC (Pentium 133Mhz) 4MB Ram4MB Ram SVGA, 3D AccelerationSVGA, 3D Acceleration Windows 95Windows 95

Brief History (Today)Brief History (Today)

Gaming Platforms:Gaming Platforms: PC (Pentium 4, Display card with Shader 3.0)PC (Pentium 4, Display card with Shader 3.0) ConsolesConsoles

Sony Playstation 2Sony Playstation 2

Microsoft XBoxMicrosoft XBox

GameCubeGameCube MobilesMobiles

GameBoy Advance/DSGameBoy Advance/DS

PDA (PalmOS, WindowsCE)PDA (PalmOS, WindowsCE)

Mobile Phone (Symbian, J2ME)Mobile Phone (Symbian, J2ME) ArcadeArcade

Brief History (Today)Brief History (Today)

Development Team Size Growth (estimate)Development Team Size Growth (estimate)

Let’s see some real casesLet’s see some real cases

DesignDesign TechnicalTechnical ArtworkArtwork

50s-70s50s-70s ≤≤11 ≤≤11 ≤≤11

80s80s 22 33 55

90s90s 33 55 1010

TodayToday 5~105~10 10~2010~20 20~5020~50

Black & WhiteBlack & White

By Lionhead StudiosBy Lionhead Studios

USD ~ 5.7M budgetUSD ~ 5.7M budget

25 full-time developers25 full-time developers

3 contractors3 contractors

~3 years~3 years

~2M lines of code~2M lines of code

In-house technologyIn-house technology

Neverwinter NightNeverwinter Night

By Bioware CorpBy Bioware Corp75 developers at peek (~160 man-years of 75 developers at peek (~160 man-years of development)development)40 QAs40 QAs5 sound contractors5 sound contractors20 translators20 translators~5 years~5 yearsIn-house technologyIn-house technology

Splinter Cell (PS2 version)Splinter Cell (PS2 version)

By Ubisoft EntertainmentBy Ubisoft Entertainment

76 full-time developers76 full-time developers

18 contractors18 contractors

5 months5 months

Uses UnrealEngine as MiddlewareUses UnrealEngine as Middleware

2.What & WhyWhat & WhyMiddleware?Middleware?

What Middleware?What Middleware?

Middleware are software that supports Middleware are software that supports application (game) developmentapplication (game) development

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

Application

Operating System

Hardware

Application

Operating System

Hardware

Middleware

Why Middleware?Why Middleware?

Prevent re-inventing the wheelPrevent re-inventing the wheelGame system becomes more and more Game system becomes more and more complicated:complicated: real-time, interactive, networked, persisted, real-time, interactive, networked, persisted,

massive users, virtual reality systemmassive users, virtual reality system

Game development requires a vast Game development requires a vast domains of expertise nowadaysdomains of expertise nowadaysTo use technologies with success storiesTo use technologies with success stories

Why Middleware? (cont.)Why Middleware? (cont.)

Developing a game Developing a game from ground upfrom ground up is: is: ExpensiveExpensive

Need to hire many domain expertsNeed to hire many domain experts

Train developers with latest technologiesTrain developers with latest technologies SlowSlow

Market changes rapidlyMarket changes rapidly

Publishers want shorter development timePublishers want shorter development time RiskyRisky

Development of high-end technologies is very riskyDevelopment of high-end technologies is very risky

Why Middleware? (cont.)Why Middleware? (cont.)

However, there are a few However, there are a few disadvantagesdisadvantages:: Licensing may be a big investmentLicensing may be a big investment Middleware may not be fully suitable to the Middleware may not be fully suitable to the

project, customization may be neededproject, customization may be needed Difficult to integrate with existing assetsDifficult to integrate with existing assets Developing in-house technologies makesDeveloping in-house technologies makes

The game having unique featuresThe game having unique features

Possible to re-use in futurePossible to re-use in future

Possible to sell to third parties (as middleware)Possible to sell to third parties (as middleware)

3.Middleware TaxonomyMiddleware Taxonomy

Middleware TaxonomyMiddleware Taxonomy

Graphics RenderingGraphics RenderingAudio RenderingAudio RenderingPhysics SimulationPhysics SimulationArtificial IntelligenceArtificial IntelligenceMultiplayerMultiplayerMathematicsMathematicsSpecial (e.g. Plant, Planet synthesis)Special (e.g. Plant, Planet synthesis)All-in-one (3D Game Engine)All-in-one (3D Game Engine)

Middleware TaxonomyMiddleware Taxonomy

Middleware products normally include:Middleware products normally include: Application Programming Interface (API), Application Programming Interface (API),

normally in C/C++normally in C/C++ Runtime Components (e.g. DLLs)Runtime Components (e.g. DLLs) ToolsTools DocumentationDocumentation ExamplesExamples

Some products are cross-platformSome products are cross-platform

Graphics RenderingGraphics Rendering

Visual quality and fluency is very important Visual quality and fluency is very important to gamesto games

Most games nowadays requires 3D real-tiMost games nowadays requires 3D real-time computer graphicsme computer graphics

Famous products:Famous products: Criterion’s RenderWare GraphicsCriterion’s RenderWare Graphics

Graphics RenderingGraphics Rendering

FeaturesFeatures Lighting/Material, ShadowingLighting/Material, Shadowing Scene Management (indoor/outdoor)Scene Management (indoor/outdoor) Camera ControlCamera Control Animation (objects, character, facial)Animation (objects, character, facial) Special Effects (particles, lens flare, etc)Special Effects (particles, lens flare, etc) Workflow Tools (e.g. exporting 3D models Workflow Tools (e.g. exporting 3D models

from 3D Studio Max, Maya)from 3D Studio Max, Maya)

Audio RenderingAudio Rendering

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

Famous products:Famous products: RenderWare AudioRenderWare Audio

Audio RenderingAudio Rendering

FeaturesFeatures Mono/Stereo playbackMono/Stereo playback 3D Surround Sound Emulation3D Surround Sound Emulation Effect filters (e.g. echo, chorus, reverb, etc.)Effect filters (e.g. echo, chorus, reverb, etc.) StreamingStreaming

Physics SimulationPhysics Simulation

Traditional games have little use of physics simuTraditional games have little use of physics simulationlation Collision Detection (preventing penetration among objCollision Detection (preventing penetration among obj

ects and environment)ects and environment)

Physics become more important in game develoPhysics become more important in game development recentlypment recentlyPhysics simulation add realism to gamesPhysics simulation add realism to gamesFamous Products:Famous Products: HavokHavok NovedexNovedex Open Dynamics EngineOpen Dynamics Engine

Physics SimulationPhysics Simulation

FeaturesFeatures Collision DetectionCollision Detection Kinematics SimulationKinematics Simulation Rigid-body Dynamics SimulationRigid-body Dynamics Simulation

Hinge, ball, slider jointsHinge, ball, slider joints Special domainsSpecial domains

Vehicle simulationVehicle simulation

Ragdoll simulationRagdoll simulation

Artificial IntelligenceArtificial Intelligence

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

Behavior can be low- or high-levelBehavior can be low- or high-level Low-level behavior such as finding a path from currenLow-level behavior such as finding a path from curren

t position to target is vital to gamest position to target is vital to games High-level behavior such as decision making adds reaHigh-level behavior such as decision making adds rea

lism to human (or human-like) NPCslism to human (or human-like) NPCs

Famous ProductsFamous Products Renderware AIRenderware AI

Artificial IntelligenceArtificial Intelligence

FeaturesFeatures World/Perception ModelingWorld/Perception Modeling

Mobility (Where NPCs can move through)Mobility (Where NPCs can move through)

Visibility (What NPCs can see)Visibility (What NPCs can see)

Audibility (What NPCs can here)Audibility (What NPCs can here) Path-FindingPath-Finding Behavior ModelingBehavior Modeling

Finite-State Machine (FSM)Finite-State Machine (FSM)

Artificial Neural Network (ANN)Artificial Neural Network (ANN)

Rule-based SystemsRule-based Systems Team CollaborationTeam Collaboration

MultiplayerMultiplayerMultiplayer games continue to growMultiplayer games continue to grow Lobby GamesLobby Games Massively Multiplayer Online Game (MMOG)Massively Multiplayer Online Game (MMOG)

Multiplayer games are complicated to design anMultiplayer games are complicated to design and implement (relative to single player games)d implement (relative to single player games) In research, it is Networked Virtual Environment (NVIn research, it is Networked Virtual Environment (NV

E) E) NVE can be applied on military simulationNVE can be applied on military simulation

Famous Products:Famous Products: Net-Z/EternaNet-Z/Eterna TerazonaTerazona Butterfly.net (Distributed Architecture)Butterfly.net (Distributed Architecture)

MultiplayerMultiplayer

FeaturesFeatures CommunicationCommunication

TCP/UDP, Encryption, CompressionTCP/UDP, Encryption, CompressionSession ManagementSession Management

ObjectObjectWorld Management, Transaction, PersistencyWorld Management, Transaction, PersistencyRemote Method Invocation (RMI)Remote Method Invocation (RMI)

Synchronization ManagementSynchronization ManagementOptimistic/PessimisticOptimistic/PessimisticDead-Reckoning ModelsDead-Reckoning ModelsInterest Management (reduce synchronization traffic)Interest Management (reduce synchronization traffic)

Lobby and User ManagementLobby and User Management

Special - PlantSpecial - Plant

Plant simulation and renderingPlant simulation and rendering

Famous productsFamous products SpeedTreeRTSpeedTreeRT RealNATRealNAT

Special - PlanetSpecial - Planet

Planet synthesisPlanet synthesis Terrain, water, atmosphere, satellitesTerrain, water, atmosphere, satellites Very huge and detailed game worldsVery huge and detailed game worlds

Famous Products:Famous Products: MojoWorld (not yet provide as middleware for MojoWorld (not yet provide as middleware for

public licensing)public licensing)

All-in-one (3D Game Engine)All-in-one (3D Game Engine)

3D Game Engines provide all-in-one solutions to 3D Game Engines provide all-in-one solutions to game developmentgame developmentNormally 3D Game Engines contain integrated wNormally 3D Game Engines contain integrated workflow toolsorkflow toolsFamous ProductsFamous Products Unreal Technology (Unreal Tournament)Unreal Technology (Unreal Tournament) Source Engine (Half-life 2)Source Engine (Half-life 2) Jupiter (No One Lives Forever)Jupiter (No One Lives Forever) Renderware StudioRenderware Studio NetImmerseNetImmerse

All-in-one (3D Game Engine)All-in-one (3D Game Engine)

FeaturesFeatures 3D Graphics/Audio Rendering3D Graphics/Audio Rendering Input HandlingInput Handling Graphical User Interface (GUI)Graphical User Interface (GUI) Physics SimulationPhysics Simulation Artificial IntelligenceArtificial Intelligence Script EngineScript Engine Integrated ToolsIntegrated Tools Multiplayer (for lobby type only)Multiplayer (for lobby type only)

4.MSMOG MSMOG Development PlatformDevelopment Platform

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

MSMOG Development PlatformMSMOG Development Platform

Mini-Scale Multiplayer Online Game DevelMini-Scale Multiplayer Online Game Development Platform (MSMOG DP)opment Platform (MSMOG DP) Funded by SME Development Fund (10/2003Funded by SME Development Fund (10/2003

- 3/2005, 18 months, HKD ~2M) - 3/2005, 18 months, HKD ~2M) Developed by MIC, PolyUDeveloped by MIC, PolyU Aimed at enabling game companies to develoAimed at enabling game companies to develo

p MSMOGs in a more rapid, efficient, secure p MSMOGs in a more rapid, efficient, secure and affordable wayand affordable way

MSMOGMSMOG

Types of online game nowadaysTypes of online game nowadays 2-16 players lobby game2-16 players lobby game 1000-10000 players Massively Multiplayer 1000-10000 players Massively Multiplayer

Online Game (MMOG), persist worldOnline Game (MMOG), persist world

MSMOG is a new type of online game forMSMOG is a new type of online game for <200 players in controlled network <200 players in controlled network

environment (e.g. Cyber café)environment (e.g. Cyber café) Fast interaction games (e.g. fighting, racing, Fast interaction games (e.g. fighting, racing,

sports)sports)

MSMOGMSMOG

Rationales for MSMOGRationales for MSMOG Asia have a huge number of cyber cafés Asia have a huge number of cyber cafés No games are designed for this marketNo games are designed for this market New opportunity for Hong Kong game New opportunity for Hong Kong game

industry!industry!

MSMOGMSMOG

MSMOG DP is an MSMOG DP is an all-in-oneall-in-one middleware middleware for game developmentfor game development

MSMOG divides into two products:MSMOG divides into two products: 3D Game Engine3D Game Engine Multiplayer Network EngineMultiplayer Network Engine

MSMOG - 3D Game EngineMSMOG - 3D Game Engine

3D Game Engine provides:3D Game Engine provides: 3D Graphics/Audio Rendering3D Graphics/Audio Rendering Input HandlingInput Handling Physics SimulationPhysics Simulation Artificial Intelligence (AI)Artificial Intelligence (AI) Graphical User Interface (GUI)Graphical User Interface (GUI) MathematicsMathematics Workflow ToolsWorkflow Tools

All of them are tightly integratedAll of them are tightly integrated

MSMOG – MSMOG – Multiplayer Network EngineMultiplayer Network Engine

The Multiplayer Network Engine supportsThe Multiplayer Network Engine supports World ManagementWorld Management Interest ManagementInterest Management CommunicationCommunication SynchronizationSynchronization PersistencyPersistency TransactionTransaction

Current performance profileCurrent performance profile 400 concurrent users at 20Hz sync.400 concurrent users at 20Hz sync.

MSMOG DP - ApplicationsMSMOG DP - Applications

Benefits of using MSMOG DPBenefits of using MSMOG DP Latest high-end technologiesLatest high-end technologies Reducing development cost, time and riskReducing development cost, time and risk Local support and trainingLocal support and training

ApplicationsApplications Single player, Multiplayer gamesSingle player, Multiplayer games Education/Edutainment softwareEducation/Edutainment software 3D Simulation3D Simulation Virtual/Mixed Reality applicationsVirtual/Mixed Reality applications

“Auroral Snare” Prototype- 3D Multiplayer Action Game- 3 MScMET Students’ FYP- 3 Months of Development- Using MSMOG Development Platform

5.

Q & AQ & A

Thanks!Thanks!

Welcome to visit MIC!Welcome to visit MIC!

Please contact me or Please contact me or Ms. Cindy Yu (mccindy@polyu.edu.hk)Ms. Cindy Yu (mccindy@polyu.edu.hk)

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

Recommended