Download presentation
Presentation is loading. Please wait.
Published byAgatha Ward Modified over 9 years ago
1
Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling
2
Project Goals To create a game engine for networked multiplayer games.
3
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.
4
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.
5
Requirements A set of basic systems to create games from.
6
Requirements A set of basic systems to create games from. Object Management
7
Requirements A set of basic systems to create games from. Object Management Messaging
8
Requirements A set of basic systems to create games from. Object Management Messaging Graphics
9
Requirements A set of basic systems to create games from. Object Management Messaging Graphics Input
10
Requirements A set of basic systems to create games from. Object Management Messaging Graphics Input Movement
11
Requirements A set of basic systems to create games from. Object Management Messaging Graphics Input Movement Collision Detection
12
Requirements A set of basic systems to create games from. A suitable test environment
13
Requirements A set of basic systems to create games from. A suitable test environment A set of useful development tools
14
Development Tools
15
Architecture
16
Event-Driven Design Game modules communicate with events and callbacks.
17
Event-Driven Design Game modules communicate with events and callbacks. All custom scripts are invoked on events.
18
Objects Game Objects are modular
19
Objects Game Objects are modular
20
Objects Game Objects are modular Game Object are malleable
21
Objects Game Objects are modular Game Object are malleable Developers can define their own templates
22
Objects Game Objects are modular Game Object are malleable Developers can define their own templates Developers can define their own feature modules
23
Synchronization Game state synchronization is invisible
24
Synchronization Game state synchronization is invisible Achieved with custom setters
25
Synchronization Game state synchronization is invisible Achieved with custom setters
26
Synchronization Game state synchronization is invisible Achieved with custom setters Only update game state when the server notifies the client.
27
Synchronization Game state synchronization is invisible Achieved with custom setters Only update game state when the server notifies the client.
28
Problem Developers have to pay attention to on which machines their scripts execute.
29
Solution
30
Synchronization changes
31
Solution Synchronization changes
32
Problem Sending messages at the same time does not guarantee that they arrive simultaneously.
33
Solution Batch state changes that occur in the same update tick.
34
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.
35
Project Goals To create a game engine for networked multiplayer games.
36
Project Goals To create a game engine for networked multiplayer games. Success!
37
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.
38
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!
39
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.
40
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!
41
Example
48
Evaluation All design goals were met.
49
Evaluation All design goals were met. Most importantly; making games with the engine is easy.
50
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.
51
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.
52
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.