Upload
edward-norton
View
217
Download
0
Embed Size (px)
Citation preview
Middleware in Middleware in Game Development Game Development
Mr. Milo Yip ([email protected])Mr. Milo Yip ([email protected])
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 ([email protected])Ms. Cindy Yu ([email protected])
http://http://micn.polyu.edu.hk/~msmogmicn.polyu.edu.hk/~msmog//