ophelia user-friendly network multi-player game engine albert Öhrling
TRANSCRIPT
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.
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.
Requirements• A set of basic systems to create games from.• Object Management• Messaging• Graphics• Input
Requirements• A set of basic systems to create games from.• Object Management• Messaging• Graphics• Input• Movement
Requirements• A set of basic systems to create games from.• Object Management• Messaging• Graphics• Input• Movement• Collision Detection
Requirements• A set of basic systems to create games from.• A suitable test environment• A set of useful development tools
Event-Driven Design• Game modules communicate with events and callbacks.• All custom scripts are invoked on events.
Objects• Game Objects are modular• Game Object are malleable• Developers can define their own templates
Objects• Game Objects are modular• Game Object are malleable• Developers can define their own templates• Developers can define their own feature modules
Synchronization• Game state synchronization is invisible• Achieved with custom setters
• Only update game state when the server notifies the client.
Synchronization• Game state synchronization is invisible• Achieved with custom setters
• Only update game state when the server notifies the client.
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.
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.
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!
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.
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!
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.
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.