uranium-arkade is 2D game engine for Kotlin based on uranium. It's unique because of its React-like, component-based architecture with unidirectional data flow. Currently it supports HTML5 canvas, but support for more targets is planned.
uranium-arkade has been designed as a multi-platform game engine, though at the moment,
the only available variant is the one for HTML5 canvas, uranium-arkade-htmlcanvas
.
uranium-arkade-htmlcanvas
itself is a Kotlin multiplatform library, because it supports
running as JavaScript or as WebAssembly (experimental). A few Maven artifacts are available:
uranium-arkade-htmlcanvas-js
(recommended) - Kotlin/JS artifact, stableuranium-arkade-htmlcanvas-wasm32
- Kotlin/Native artifact for WebAssembly, experimentaluranium-arkade-htmlcanvas
- common artifact for use in multiplatform projects, where both JS and WebAssembly is used (though I can't come across any useful use cases for it)
All the uranium-arkade
artifacts are located in jCenter,
so you can add it as a dependency to your Gradle or Maven project.
The below snippets demonstrate how to use the Kotlin/JS artifact of uranium-arkade-htmlcanvas
.
Gradle (Kotlin DSL):
dependencies {
implementation("pl.karol202.uranium.arkade:uranium-arkade-htmlcanvas-js:0.2.1")
}
Gradle (Groovy):
dependencies {
implementation "pl.karol202.uranium.arkade:uranium-arkade-htmlcanvas-js:0.2.1"
}
Make sure that you have jCenter in your repositories
section:
repositories {
jcenter()
}
Work in progress
Contributions are highly welcome.
If you find a bug or would like have some feature implemented, file an issue. You can also create a pull request if you have working solution for some issue.