parent
1dca4a91d9
commit
579e03b559
1 changed files with 71 additions and 1 deletions
72
README.md
72
README.md
|
@ -1 +1,71 @@
|
|||
# FluxEngine
|
||||
# FluxEngine
|
||||
|
||||
FluxEngine is a high-performance, modular game engine designed for flexibility and scalability. It provides a robust framework for building games and interactive applications, leveraging modern C++ standards and best practices.
|
||||
|
||||
## Features
|
||||
|
||||
- **Cross-Platform Support**: Build games for Windows, Linux, and macOS.
|
||||
- **Modular Design**: Easily extend and customize the engine with its modular architecture.
|
||||
- **Modern C++**: Written in C++20, ensuring high performance and maintainability.
|
||||
- **Garbage Collection**: Built-in garbage collection system for efficient memory management.
|
||||
- **Logging**: Integrated logging system powered by [spdlog](https://github.com/gabime/spdlog).
|
||||
- **Static and Dynamic Linking**: Supports both static and dynamic library builds.
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- **C++ Compiler**: A compiler with C++20 support (e.g., MSVC, GCC, or Clang).
|
||||
- **meson**: Version 0.63 or higher.
|
||||
- **Dependencies**: The project uses `spdlog` for logging, included as a meson submodule.
|
||||
|
||||
### Building the Project
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://git.bbgames.dev/jordon/FluxEngine.git
|
||||
cd FluxEngine
|
||||
```
|
||||
|
||||
2. Generate build files using our custom build script:
|
||||
```bash
|
||||
.\GenerateProjects.bat
|
||||
```
|
||||
|
||||
3. Run the Sandbox tests from the `builddir` directory.
|
||||
|
||||
### Directory Structure
|
||||
|
||||
- **`FluxEngine/src`**: Source code for the engine.
|
||||
- **`public`**: Public headers for the engine.
|
||||
- **`private`**: Implementation files for the engine.
|
||||
- **`Sandbox/src`**: Source code for the Sandbox testing app.
|
||||
- **`private`**: private files for Sandbox.
|
||||
- **`builddir`**: Build output directory.
|
||||
|
||||
### Key Components
|
||||
|
||||
- **Engine**: Core engine functionality, including initialization and runtime management.
|
||||
- **GarbageCollector**: Manages memory and object lifetimes.
|
||||
- **Log**: Provides logging utilities for debugging and runtime diagnostics.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please follow these steps:
|
||||
|
||||
1. Fork the repository.
|
||||
2. Create a feature branch:
|
||||
```bash
|
||||
git checkout -b feature/your-feature
|
||||
```
|
||||
3. Commit your changes and push to your fork.
|
||||
4. Open a pull request.
|
||||
|
||||
## License
|
||||
|
||||
FluxEngine is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
- [spdlog](https://github.com/gabime/spdlog) for the logging library.
|
||||
- The open-source community for inspiration and support.
|
Loading…
Add table
Add a link
Reference in a new issue