System Executive – TBD
After the Scheduler split the jobs of System execution and created a schedule, System Executive is responsible for allocating Execution Contexts, dispatching the jobs to threads, perform synchronizations between dependent…
After the Scheduler split the jobs of System execution and created a schedule, System Executive is responsible for allocating Execution Contexts, dispatching the jobs to threads, perform synchronizations between dependent…
Introduction Since Input Systems require the Entities to be visited in an incremental order of time, the behavior of inserting Entity Pages was changed from inserting at the head of…
A. Introduction It turns out that iterating the Entities in an incremental order of arrival time, which is required by Input Systems to function correctly, is not as easy to…
Introduction In a previous post, an idea was discussed on how to handle input events with our ECS architecture. Basically, the input events are fetched from somewhere and put into…
Introduction Systems and Components are not allowed to possess game assets such as textures. Instead, assets are referred to in Components using handles like numbers or strings. When processing the…
Introduction Runtime Services are what capable of making Systems impure: they provide a mechanism for Systems to cause side effects and communicate with other parts of the game engine. Take…
An earlier post discussed using virtual memory APIs to implement a FILO memory allocator. It is meant to be used to support Entity creation within range-based for loops on the…
The Problem The Entity-Component-System architecture forces us to process the game data in a somehow functional fashion: The Entity Database is processed sequentially by each System (ignore the possibility of…
Template specializations are sometimes used to detect the validity of expressions, such as whether a member type of a class exists. This is useful for implementing trait classes. When a…