[!!] The NotNot ECS is currently PRE-ALPHA. Under heavy development and is not yet ready for use!
- If you want to read the raw, messy dev/WIP notes, see here.
- Source code is currently optimized for "getting it working". Not for readability nor usability.
- A cleanup+doc+usability pass will be made prior to "go live".
While the individual components of NotNot have been tested, there has not been a holistic, end-to-end validation.
To meet this "practical" validation, the BepuPhysics engine will be used as a physics module, and once that usage is validated a general "Alpha" release of NotNot will occur.
- 🚧🚨🚧 UNDER CONSTRUCTION 🚧🚨🚧
- Table of Contents
- NotNot?
- A grand, noble experiment!
- Features
- Licensing
- Contributing
- Funding
- ChangeLog Summary
[!!] It's not not an ECS Framework. 🙃
This is the beginnings of an ECS Framework. Capital "F" in Framework. You will need to design your code workflows around this. It's not really suitable to being added to existing non-ECS projects.
The goal of the NotNot project is to create a modern, open-source C# game tech in a sustainable fashion. As part of that goal certain consessions must be made:
- Reduced feature set to critical path:
- No Editor / Bells / Whistles.
- Use off-the-shelf solutions where possible
- Target use by skilled C# developers
- Target DotNet6 runtime only
- Funding/Revenue paid out to contributors
- OSS Licensed under the AGPL, with an inexpensive Private Commercial License as an alternative.
Donate / Contribute / Chat / Spread the word
- ECS Framework
- SimPipeline (multithreaded execution)
- OSS Project organization
- A "Reference" Renderer to help visualize things like Physics and Spatial work
- Validate End-to-End by implementing a Physics Module via BepuPhysics
- SourceCode Polish (conform to api guidelines: make it easy for you to use!)
- SceneGraph
- Github polish (wiki, roadmap, sponsors, etc)
By default, this repository is licensed to you under the AGPL-3.0. See LICENSE.md
A very low cost Private Commercial License will also be made available to those who can not accept the AGPL terms. Please see the LicenseOptions.md for more details.
Contributions are welcome! See CONTRIBUTING.md
- Chat on Discord
- Raise an Issue
NotNot is a grand experiment in open source: Is there room for another open source ECS Framework? Can it be made sustainable? Your financial support will help make this a reality. Sponsor NotNot through Jason (Novaleaf).
A short summary of work done every few days
- 2022.01.08
- port rendering to Raylib-CsLo, get instancing working, work on abstracting render details from main engine.
- 2021.12.20
- spent last month writing Raylib-CsLo: a C# wrapper over Raylib. This will be the "placeholder" rendering system while the rest of the engine is developed.
- 2021.10.28
- rendering thread and renderpacket workflow+foundations coded and bugs ironed out.
- wip: add async/task synchronization
- 2021.10.23
- added basic scafolding for a reference renderer based on Raylib
- 2021.10.22
- Verified and created tests for:
- ecs multithreading, component read/write locks
- System roundtrip for entity create, edit, and delete
- Verified and created tests for:
- 2021.10.21 and earlier
- see the commit history.