-
Notifications
You must be signed in to change notification settings - Fork 6
Introduction
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!
Getting Started
Introduction
Installation & Setup
Core Concepts
Entities
Components
Systems
Worlds
System Parameters
Queries
Resources
Events
World
Threads
Advanced Patterns
Custom System Parameters