Welcome to Nook, a 2D game engine made with modern C++. This repository is where the engine development happens, bringing together the pieces that make Nook powerful and easy to use. If you're looking to use Nook in your project, you'll need two key pieces: NookLibrary and NookCLI.
Nook is a 2D game engine that helps developers build games quickly. It's modular and based on the Entity-Component-System (ECS) architecture, making it flexible and easy to expand. The engine is designed for:
- Rapid Prototyping: Quickly test and iterate game ideas.
- Indie Projects: Perfect for small-scale 2D games.
- Learning: A great way to explore how game engines work.
- Component-Based Architecture: Use the ECS pattern for clean and reusable code.
- Integrated Libraries:
- SFML for graphics and windowing.
- Box2D for physics simulation.
- ImGui-SFML for user interfaces.
- Templates and CLI Tool: Quickly generate projects for common game genres.
- NookLibrary: The core library that provides the main functionality of the Nook engine. Add this to your project using CMake to access Nook’s features.
- NookCLI: A command-line tool for generating and managing game projects with Nook.
If you're here to contribute to Nook’s development, this repository is where the engine itself is being worked on. Feel free to dive into the code and submit pull requests!
The source code is dual licensed under Public Domain and MIT -- choose whichever you prefer.