Exploring the Theory and Practice of Concurrency in the Entity-Component-System Pattern
Patrick Redmond, Jonathan Castello, Jos\'e Manuel Calder\'on Trilla, Lindsey Kuper

TL;DR
This paper develops a formal model of the Entity-Component-System pattern to better understand its concurrency properties, revealing opportunities for more deterministic and efficient ECS implementations.
Contribution
It introduces Core ECS, a formal model that captures the essence of ECS, and analyzes real-world ECS frameworks to identify unexploited deterministic concurrency opportunities.
Findings
Core ECS provides a deterministic foundation for ECS programs.
Most real-world ECS frameworks do not fully utilize deterministic concurrency.
Opportunities exist for new ECS techniques to improve determinism and performance.
Abstract
The Entity-Component-System (ECS) software design pattern, long used in game development, encourages a clean separation of identity (entities), data properties (components), and computational behaviors (systems). Programs written using the ECS pattern are naturally concurrent, and the pattern offers modularity, flexibility, and performance benefits that have led to a proliferation of ECS frameworks. Nevertheless, the ECS pattern is little-known and not well understood outside of a few domains. Existing explanations of the ECS pattern tend to be mired in the concrete details of particular ECS frameworks, or they explain the pattern in terms of imperfect metaphors or in terms of what it is not. We seek a rigorous understanding of the ECS pattern via the design of a formal model, Core ECS, that abstracts away the details of specific implementations to reveal the essence of software using…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
