A Desktop application built with Kotlin Multiplatform and Compose Multiplatform to manage Dungeons & Dragons (DnD) encounters. It helps Game Masters (GMs) easily track combat rounds, manage fighter initiatives, and organize groups of monsters and players.
- Encounter Management: Track your encounters and switch between different fight setups.
- Group Management: Add and organize groups of fighters for quick setup.
- Fighter Management: Add individual fighters, track their stats, and automatically sort them by initiative.
- Turn Tracking: Easily navigate through the initiative order. The app keeps track of the current fighter and automatically increments the round counter when a full round is completed.
- Save & Load: Persist your encounter data by saving and loading it, so you never lose your progress during a session.
- Notepad: A built-in notepad for keeping track of encounter-specific notes or GM secrets.
- Clear All Data: Reset the entire application (without touching the saves) by clearing all fighters and groups.
- Fighter Cloning: Quickly copy existing fighters to manage swarms or groups of identical enemies.
- Templates Management: Create, manage, and utilize fighter templates to quickly add pre-configured fighters to any encounter.
- Kotlin Multiplatform (KMP)
- Compose Multiplatform
- Desktop (JVM) Target
This is a Kotlin Multiplatform project targeting Desktop (JVM).
composeApp/srccontains the application code.commonMainis for code that’s common for all targets.jvmMainis the Desktop (JVM) specific part.
To build and run the development version of the desktop app, use the run configuration from the run widget in your IDE’s toolbar or run it directly from the terminal:
./gradlew :composeApp:run.\gradlew.bat :composeApp:runYou can package the application into native distributions (like .dmg for macOS, .msi for Windows, and .deb for Linux).
./gradlew :composeApp:packageDistributionForCurrentOS