Top Banner
Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling
52

Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Dec 29, 2015

Download

Documents

Agatha Ward
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

OpheliaUser-friendly Network Multi-player Game EngineAlbert Öhrling

Page 2: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Project Goals• To create a game engine for networked multiplayer games.

Page 3: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Project Goals• To create a game engine for networked multiplayer games.• It will be possible to program games as if they were local

multiplayer titles.

Page 4: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Project Goals• To create a game engine for networked multiplayer games.• It will be possible to program games as if they were local

multiplayer titles.• The engine is accessed from a user-friendly interface.

Page 5: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Requirements• A set of basic systems to create games from.

Page 6: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Requirements• A set of basic systems to create games from.• Object Management

Page 7: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Requirements• A set of basic systems to create games from.• Object Management• Messaging

Page 8: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Requirements• A set of basic systems to create games from.• Object Management• Messaging• Graphics

Page 9: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Requirements• A set of basic systems to create games from.• Object Management• Messaging• Graphics• Input

Page 10: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Requirements• A set of basic systems to create games from.• Object Management• Messaging• Graphics• Input• Movement

Page 11: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Requirements• A set of basic systems to create games from.• Object Management• Messaging• Graphics• Input• Movement• Collision Detection

Page 12: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Requirements• A set of basic systems to create games from.• A suitable test environment

Page 13: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Requirements• A set of basic systems to create games from.• A suitable test environment• A set of useful development tools

Page 14: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Development Tools

Page 15: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Architecture

Page 16: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Event-Driven Design• Game modules communicate with events and callbacks.

Page 17: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Event-Driven Design• Game modules communicate with events and callbacks.• All custom scripts are invoked on events.

Page 18: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Objects• Game Objects are modular

Page 19: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Objects• Game Objects are modular

Page 20: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Objects• Game Objects are modular• Game Object are malleable

Page 21: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Objects• Game Objects are modular• Game Object are malleable• Developers can define their own templates

Page 22: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Objects• Game Objects are modular• Game Object are malleable• Developers can define their own templates• Developers can define their own feature modules

Page 23: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Synchronization• Game state synchronization is invisible

Page 24: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Synchronization• Game state synchronization is invisible• Achieved with custom setters

Page 25: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Synchronization• Game state synchronization is invisible• Achieved with custom setters

Page 26: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Synchronization• Game state synchronization is invisible• Achieved with custom setters

• Only update game state when the server notifies the client.

Page 27: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Synchronization• Game state synchronization is invisible• Achieved with custom setters

• Only update game state when the server notifies the client.

Page 28: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Problem• Developers have to pay attention to on which machines their

scripts execute.

Page 29: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Solution

Page 30: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Solution• Synchronization changes

Page 31: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Solution• Synchronization changes

Page 32: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Problem• Sending messages at the same time does not guarantee that

they arrive simultaneously.

Page 33: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Solution• Batch state changes that occur in the same update tick.

Page 34: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Solution• Batch state changes that occur in the same update tick.• Distribute them to the clients as a single message when the

next tick begins.

Page 35: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Project Goals• To create a game engine for networked multiplayer games.

Page 36: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Project Goals• To create a game engine for networked multiplayer games.• Success!

Page 37: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Project Goals• To create a game engine for networked multiplayer games.• Success!• It will be possible to program games as if they were local

multiplayer titles.

Page 38: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Project Goals• To create a game engine for networked multiplayer games.• Success!• It will be possible to program games as if they were local

multiplayer titles.• Success!

Page 39: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Project Goals• To create a game engine for networked multiplayer games.• Success!• It will be possible to program games as if they were local

multiplayer titles.• Success!• The engine is accessed from a user-friendly interface.

Page 40: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Project Goals• To create a game engine for networked multiplayer games.• Success!• It will be possible to program games as if they were local

multiplayer titles.• Success!• The engine is accessed from a user-friendly interface.• Success!

Page 41: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Example

Page 42: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Example

Page 43: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Example

Page 44: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Example

Page 45: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Example

Page 46: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Example

Page 47: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Example

Page 48: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Evaluation• All design goals were met.

Page 49: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Evaluation• All design goals were met.• Most importantly; making games with the engine is easy.

Page 50: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Evaluation• All design goals were met.• Most importantly; making games with the engine is easy.• When problems arose I was able to solve them with good

tools.

Page 51: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Evaluation• All design goals were met.• Most importantly; making games with the engine is easy.• When problems arose I was able to solve them with good

tools.• Testing in a real environment would have been nice.

Page 52: Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.

Questions?