Skip to content

chopsticks-user/Entity-Component-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ushi is an Enity-Component-System implementation using C++20. The implementation is incomplete and will be updated.

Features

✅ Compact data to improve cache locality
✅ Compile-time configurations
✅ Type safety and better compile-error messages (slightly) with C++20 concept
✅ Simple interface

Under-development features

  • Concurrency
  • Lazy evaluation
  • Custom allocators support through compile-time configurations

Projects

Build instructions

The build is CMake-based.

Project layout

├── Benchmarks                  cache and performance benchmarks
│   └── Data                    benchmarking results
├── CMake                       cmake utilities
├── Examples                    basic usage examples
├── Include/Ushi                source code      
│       ├── Container           dense map, dense set, graph, etc
│       ├── Core                base layer
│       ├── Impl                core modules
│       │   ├── Component       component module
│       │   ├── Concurrency     concurrency handler
│       │   ├── Config          compile-time configurations
│       │   ├── Entity          entity module 
│       │   ├── System          system module
│       │   └── World           highest-level abstraction of the implementation
│       └── Interface           public interface (includes a forward header)
└── Test                        contains mostly integration tests

How Ushi works

Issues

Acknowledgements

License