⚔️ Compose Multiplatform | 🧠 Decompose Navigation | 🎮 Godot Embedded Engine | 🌐 Ktor WebSocket Client | 🛡️ Login Form with Validation | 🔌 Koin DI
🇬🇧
An experimental 3D environment/game built using Compose Multiplatform and an embedded Godot engine.
Merges UI, backend, and game logic into a unified Kotlin-based stack.
🇵🇱
Eksperymentalna gra/środowisko 3D zbudowane z Compose Multiplatform i wbudowanym silnikiem Godot. Połączenie świata UI, backendu i silnika gier – wszystko w jednym ekosystemie Kotlinowym.
🇫🇷
Un environnement expérimental en 3D construit avec Compose Multiplatform et le moteur Godot embarqué. Il fusionne l’interface utilisateur, le backend et la logique du jeu dans une seule pile basée sur Kotlin.
🇸🇪
Ett experimentellt 3D-miljö byggt med Compose Multiplatform och inbäddad Godotmotor. UI, backend och spellogik förenas i ett sammanhängande Kotlin-baserat system.
🇳🇴
Et eksperimentelt 3D-miljø bygget med Compose Multiplatform og innebygd Godot-motor. Brukergrensesnitt, backend og spilllogikk samles i en helhetlig Kotlin-stakk.
🇪🇸
Un entorno 3D experimental creado con Compose Multiplatform y el motor Godot integrado. Combina interfaz, backend y lógica de juego en un único stack basado en Kotlin.
- Kotlin Multiplatform (Android / Desktop / JS-WASM / iOS - in future)
- Compose Multiplatform
- Decompose Navigation
- Embedded Godot Engine (native bridge)
- Ktor WebSockets
- Coroutine-based validation
- Result-based use case pattern
-
LoginComponent
Handles form state, debounce, validation, and login trigger viaonLoginSuccess
. -
GameComponent
Starts embedded Godot client. -
App
Entry point and navigation host (Decompose
child stack). -
gameClient
Manages WebSocket communication with/ws
backend. -
PlayerRepository
In-memory session and player store (to be persisted). -
loginUseCase
Triggers server handshake, returnsResult<Session>
.
- Password hashing & backend validation
- Session persistence on client and server
- MFA / token / captcha
- Async backend validation (username availability, password strength)
- WASM, iOS
launchGodotClient()
implementation - GameClient ↔ GodotClient integration (engine control)
- Network state & input synchronization
- UI/UX transitions on login/logout/game screens
- Test coverage: unit, integration, UI (Compose)
MIT License. See LICENSE
for details.
“This project has ADHD and caffeine in its DNA.
What doesn't work — will work.
What works — will eventually evolve.”
Code is clay.
Reality is a dream we compile into existence.