Getting Started
Thyseus
Thyseus is an Entity Component System (ECS) framework written in Typescript. Taking much inspiration from Bevy, it aims to provide a best-in-class developer experience without sacrificing performance.
ECS is a data-oriented design approach to development typically found in games that promotes modularity and reusability by separating data and behavior. It consists of entities, which are unique identifiers; components which are plain data; and systems, which operate on data. For a good introduction to the paradigm, read the ECS FAQ by Sander Mertens.
Thyseus is a powerful foundation for you to build your own complex applications on that remains deeply configureable and composeable. It supports a number of features out of the box, including:
- Effortless integration with third-party libraries like three.js.
- Archetypal storage for lean memory use and cache-friendly iteration.
- Complex queries with filters like
Maybe
,And
,Or
,With
, andWithout
. - First class support for Resources (singletons) and Events.
- Boilerplate-free and safety-first worker thread support - no
eval()
! - Deeply customizable execution logic for easy handling of patterns like fixed updates.
Let's dive into it!