3 releases
0.1.2 | Mar 30, 2021 |
---|---|
0.1.1 | Jun 16, 2020 |
0.1.0 | May 18, 2020 |
#1487 in Game dev
Used in covalent_gl
57KB
983 lines
Crate name available
This crate name is available to whoever wants it. Please email thirdsgames2018 at gmail.com
.
lib.rs
:
The covalent
crate is a fast, safe, data-driven, modular game engine.
Goals
Covalent aims to accomplish the following goals, in this order (top is most important)
- Modularity. It should be relatively straightforward to rip out a part of covalent's architecture and replace it with your own code if you need it. You should be able to choose between many different options for your specific use case. For example, covalent uses an entity-component system (ECS).
- Safety. In applications as complex as a game, obscure bugs can surface often. Covalent aims to make sure that your code is as safe as possible, leveraging Rust's type system and borrow checker to avoid race conditions and other similar problems.
- Speed. Covalent uses the
rayon
crate along with a thread-safe entity-component system to automatically spread your work across all available CPU cores.
Non-Goals
Covalent also specifically aims to not achieve certain outcomes.
- Integrated game development platform. Due to covalent's modularity, it would be impossible to create a Unity/Unreal/Godot-style development app suited to every game. Instead, it would be a better idea to write tools that allow you to make your game inside the game itself.
Dependencies
~2.5MB
~46K SLoC