Game Engine Architecture Game Engine Architecture Spring 2017 Spring 2017
- 03. Event systems for game engines
- 03. Event systems for game engines
- 03. Event systems for game engines
- 03. Event systems for game engines
Juha Vihavainen Juha Vihavainen University of Helsinki University of Helsinki
[ [ McShaffry McShaffry, Ch. 6: , Ch. 6: Game actors and component architecture Game actors and component architecture,
- Ch. 11:
- Ch. 11: Game event management
Game event management ]
- Ch. 11:
- Ch. 11: Game event management
Game event management ] [ Gregory, [ Gregory, Ch. 5.4:
- Ch. 5.4: Strings, unique ids
Strings, unique ids, localization localization, , etc., 274, etc., 274, Ch.15.2: Ch.15.2: Runtime object model architectures Runtime object model architectures, 873 , 873
- Ch. 15.7:
- Ch. 15.7: Events and message passing, 933
Events and message passing, 933] [Meyers (2015): [Meyers (2015): Effective Modern C Effective Modern C++ ++]
Lecture outline Lecture outline
- On events and event handling
On events and event handling using using Observer Observer (MVC) and (MVC) and Command Command design patterns design patterns
- using
using Observer Observer (MVC) and (MVC) and Command Command design patterns design patterns
- Updates
Updates are not enough for game software are not enough for game software
- Typed
Typed Message Message design pattern (Vlissides, 1997) design pattern (Vlissides, 1997)
- breaking dependencies between senders & receivers
breaking dependencies between senders & receivers Queueing of messages for later delivery Queueing of messages for later delivery
- Queueing of messages for later delivery
Queueing of messages for later delivery
- Using unique
Using unique object ids
- bject ids for game entities and types
for game entities and types
24.2.2017 24.2.2017 2 Juha Vihavainen / University of Helsinki Juha Vihavainen / University of Helsinki