Yet another free and open-source game engine (that is possibly like a framework) for roguelike games. It is the hobby project so far, but it may turn into something bigger
The project should use as few dependencies as possible. A dependency is to be included only in case if it implements functionality that would be too complex to implement an independent solution (such as byte-code manipulation, code generation)
The engine is not for all types of games. It is not universal in that aspect. However, it could be easily modified with engine components that you can create by yourself
No Engine component should know about other components. They should communicate with events, tunnels and messages
Konna/
├── core/ // Konna core module
├── konna-bom/ // Konna BOM
├── libfrontend/ // Libfrontend modules (often native library interfaces)
│ └── ...
├── backend/ // Backends - libfrontend implementations
│ └── ...
├── components/ // Standard Konna components
│ └── ...
├── annotaions/ // Annotations
│ └── ...
├── compilers/ // Annotation processors
│ └── ...
└── ... // other source code
- Install JDK 21. Adoptium (Temurin) is preferred but you can use another one that you like.
- Be sure you use Maven Central in your project
repositories { mavenCentral() } - Use Konna platform in your dependencies and install required Konna modules
dependencies { implementation platform("io.github.darthakiranihil:konna.bom:0.3.0") implementation "io.github.darthakiranihil:konna.core" // Konna core. It is a required module! implementation "io.github.darthakiranihil:konna.implementations-std-core" // Standard implementations of Konna Core classes. So far it is also a required module implementation "io.github.darthakiranihil:konna.component-graphics" implementation "io.github.darthakiranihil:konna.backend-lwjgl" implementation "io.github.darthakiranihil:konna.implementations-opengl33" // Other modules and dependencies }
- Install JDK 21. Adoptium (Temurin) is preferred but you can use another one that you like.
- Clone this repository
git clone https://github.com/DarthAkiraNihil/Konna.git
- Change gradlew permissions (Linux/MacOS)
chmod +x ./gradlew
- Build Konna
./gradlew build
- Additionally, you can create Konna bundles
As its result you will get three zip archives with jars, sources and docs for each module inside this project P.S. You also can clone the project and open it with IntellijIDEA and it will do its initialization automatically so you only have to run the build command (also IDEA is the preferred IDE to develop for Konna)
./gradlew createBundle
See CONTRIBUTING.md for more information