Engine is a graphics engine focused on generating and rendering mazes using the ray-casting method. It also includes lighting effects to enhance visual representation.
With the beta-1.0.0 update, Engine now supports modifications via plugins, allowing developers to:
- Add new types of maze walls
- Introduce new maze generation algorithms
- Implement additional tasks, including integrating entirely separate projects as plugins
The engine also provides built-in plugin description pages, including documentation for the Base plugin and other installed plugins.
Full documentation is available here.
- Java Development Kit (JDK) 17 is required to run the engine.
- Alternatively, a pre-compiled version that does not require Java can be downloaded from the Releases page.
- Download the latest release.
- Extract the archive.
- Navigate to the
binfolder. - Use the appropriate script for your operating system:
- Windows: Run
Engine.bat - Linux/macOS: Run
Engine
- Windows: Run
Alternatively, you can execute the JAR file directly with:
java -jar "path_to_file/file.jar"The project relies on the following libraries:
dependencies {
testImplementation(platform("org.junit:junit-bom:5.10.0"))
testImplementation("org.junit.jupiter:junit-jupiter")
implementation("org.jetbrains:annotations:24.0.0")
implementation("org.apache.commons:commons-compress:1.21")
implementation("org.reflections:reflections:0.10.2")
implementation("ch.qos.logback:logback-classic:1.4.11")
}These dependencies are automatically handled when using the provided templates.
In the /examples/ directory of the repository, you can find ready-made templates for developing your own projects. Each template includes all necessary configurations and dependencies, so you can start coding immediately. Just extract the required template and begin development.
To use plugins, place them in the plugins/ directory of the main application. It is recommended to use compiled plugins labeled as fat.
For information on using the API and configuring the engine, refer to the API section in the documentation.
This project is licensed under the GNU General Public License (GPL). The full license text is available in the repository.
Developers can contribute by creating and sharing their own plugins. To submit a plugin:
- Upload your plugin to GitHub.
- Open an Issue in this repository.
- Provide a description of your plugin and include a link to its repository.
- Make sure to add the plugin label to your Issue.
For questions, bug reports, or feature requests, open an issue in the repository or check the documentation for further details.