You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A cleaner architecture for dealing with communication between engine components would be to implement some sort of MessageBus. All engine components would have an interface for dealing with messages on the bus. This would replace how we're using pointers to other engine components, which has the coding architecture equivalent of spaghetti.
All high-level engine components can inherit from a System class, which provides them the interface to the MessageBus. Message format, and the way that systems will interface with it will be determined upon further research and testing.
Yes, a MessageBus will most likely become a performance bottleneck down the road, but this game isn't demanding that performance yet. If a performance bottleneck is met, then maybe we'll consider revamping the engine. The MessageBus idea is just too easy to pass up at the moment.
The text was updated successfully, but these errors were encountered:
A cleaner architecture for dealing with communication between engine components would be to implement some sort of
MessageBus
. All engine components would have an interface for dealing with messages on the bus. This would replace how we're using pointers to other engine components, which has the coding architecture equivalent of spaghetti.All high-level engine components can inherit from a
System
class, which provides them the interface to theMessageBus
. Message format, and the way that systems will interface with it will be determined upon further research and testing.Yes, a
MessageBus
will most likely become a performance bottleneck down the road, but this game isn't demanding that performance yet. If a performance bottleneck is met, then maybe we'll consider revamping the engine. TheMessageBus
idea is just too easy to pass up at the moment.The text was updated successfully, but these errors were encountered: