A minimal Kotlin Multiplatform game starter powered by Awake Engine.
Targets included:
- Android and iOS
- Desktop JVM with Vulkan
- Web/Wasm with WebGPU
- Optional Ktor server
Requirements: JDK 17+, Android SDK for Android builds, Xcode for iOS, Vulkan for desktop, and a WebGPU-capable browser for web.
# Check the project
./gradlew help
# Run desktop Vulkan
./gradlew :app:desktopApp:run
# Run the Wasm/WebGPU development server
./gradlew :app:webApp:wasmJsBrowserDevelopmentRun
# Build an Android debug APK
./gradlew :app:androidApp:assembleDebugOpen app/iosApp/iosApp.xcodeproj in Xcode to run the iOS app.
Shared game setup and rendering live in
app/shared/src/commonMain/kotlin/com/awake/template/Game.kt.
Platform modules only provide the native Awake host.
Change the awake version in gradle/libs.versions.toml. A fresh
clone resolves published Awake artifacts. For local engine development, keep the Awake checkout
next to this repository as ../awaken; Gradle will substitute the local modules automatically.
Change com.awake.template to your package, then customize Game.kt and add only the Awake
modules your application needs.
app/shared/ Shared game lifecycle and RenderPlan
app/androidApp/ Android Vulkan host
app/desktopApp/ Desktop Vulkan host
app/webApp/ Wasm WebGPU host
app/iosApp/ Xcode iOS host
server/ Optional Ktor backend
Apache-2.0. See LICENSE.