Skip to content

RajashekarRaju/hangman-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

172 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Hangman - Built With Compose Multiplatform ๐Ÿ–Œ๏ธ

Deploy Web (Production) Build Packages Tests

Game Banner

Play / Download

Platform Access
๐ŸŒ Web Play in browser
๐ŸŽ macOS Download DMG
๐ŸชŸ Windows Download MSI
๐Ÿง Linux Download DEB ยท Download RPM
๐Ÿค–๏ธ Android Download APK
๐Ÿ“ฑ iOS Run locally on macOS + Xcode: bash scripts/run-ios-sim.sh

Thanks to Cicero Hellmann For giving this cool idea to build Hangman game with Compose for Android.

๐ŸŽ‡ What's New: v0.3.0

  • Traditional Hangman visual mode added alongside simple progress mode (user-selectable).
  • New in-app settings: difficulty, category, app language, theme palette, theme mode override, game visual mode.
  • Cursor customization in Settings with multiple cursor styles and previews.
  • Full achievements feature rollout with grouped UI, summary, details, unread state and notifications.
  • Typography/readability refresh with Bubblegum Sans + updated text scales.
  • New Game Guide experience with progression visuals and quick instructions.
  • Settings extracted into a dedicated feature module (feature/settings).
  • Existing game configuration moved from menu flows into Settings.
  • Audio controls moved to Settings: background music on/off and sound effects on/off.
  • Localization improvements with multi-language support and runtime language switching.
  • Sentry integration expanded for release builds (events/logs + exception capture across supported platforms).
  • Many bug fixes related to gameplay.
  • Reworked many ui elements to fit properly for platform device types.

Screenshots (v0.3.0)

Foldable

Main Menu History Achievements
Fold Main Menu Fold History Fold Achievements
Settings Game Game Loss
Fold Settings Fold Game Fold Game Loss
Gameplay Progress
Fold Game Over Dialog

Pixel Mobile

Main Menu History Achievements
Pixel Mobile Main Menu Pixel Mobile History Pixel Mobile Achievements
Settings Difficulty Settings Category Settings Language
Pixel Mobile Settings Difficulty Pixel Mobile Settings Category Pixel Mobile Settings Language
Settings Theme Palette Settings Game Visual Settings Audio
Pixel Mobile Settings Theme Palette Pixel Mobile Settings Game Visual Pixel Mobile Settings Audio
Game Game Loss Game Over Dialog
Pixel Mobile Game Pixel Mobile Game Loss Pixel Mobile Game Over Dialog

Desktop

Main Menu History
Desktop Main Menu Desktop History
Achievements Settings
Desktop Achievements Desktop Settings
Game Game Loss
Desktop Game Desktop Game Loss
Gameplay Progress
Desktop GamePlay Progress

๐ŸŽ‡ What's New: v0.2.0

  • Kotlin Multiplatform architecture (app, composeApp, game-core, core/*, feature/*, navigation)
  • Platform support: Android
  • Platform support: Web (WASM + GitHub Pages)
  • Platform support: Desktop (JVM: macOS/Windows/Linux)
  • Platform support: iOS (Xcode project + simulator flow)
  • Gameplay: 60-second timer per level
  • Gameplay: hints (Reveal, Eliminate) with cooldown
  • Gameplay: persistent game settings + history
  • Gameplay: scoring improvements
  • Difficulty: Introduced VERY_HARD difficulty for words >= 11+ chars
  • Categories: Introduced new categories and extended vocabulary.
  • Responsive game layout (mobile/desktop/web) with previews and shared creepy design system.
  • Cross-platform sound support (Android/Web/Desktop/iOS)
  • Navigation3 update

Initial Version (v0.1.0)

  • Players will be challenged with unique words only.
  • Players can view their score/game history.
  • Players should know how many unique words can still guess.
  • Players can see how many attempts they have to guess the word.
  • Players can try out letters in any order they want.
  • Players can to know how many points made when I completed a word.
  • Players can to know how many points scored by completing all levels.
  • Persist the game state at any point of the game.

Local Development

Common commands

  • Run Android app:
    • ./gradlew :app:assembleDebug
  • Run Desktop app:
    • ./gradlew :composeApp:desktopRun
  • Run Web locally:
    • ./gradlew :composeApp:wasmJsBrowserDevelopmentRun
  • Build Web distribution:
    • ./gradlew :composeApp:wasmJsBrowserDistribution
  • Run iOS simulator (from repo root, macOS + Xcode required):
    • bash scripts/run-ios-sim.sh

Tests

  • CI-equivalent local test run:
    • ./gradlew :app:testDebugUnitTest :game-core:desktopTest :feature:mainmenu:desktopTest :feature:game:desktopTest :feature:history:desktopTest
  • Broader KMP module tests:
    • ./gradlew :composeApp:allTests :core:data:allTests :core:designsystem:allTests :feature:common-ui:allTests :feature:game:allTests :feature:history:allTests :feature:mainmenu:allTests :game-core:allTests :navigation:allTests

CI / Releases

  • .github/workflows/tests.yaml
    • Runs on pull requests
    • Runs JVM unit + desktop tests
    • Runs Android instrumentation on push/workflow_dispatch
  • .github/workflows/pages-production.yml
    • Deploys web app to GitHub Pages
  • .github/workflows/packages.yml
    • On master push:
      • builds Android APK
      • builds desktop installers (DMG/MSI/DEB/RPM)
      • updates release artifacts

Contributing

See CONTRIBUTING.md.

  • Open an issue for bugs.
  • Open a discussion for feature ideas.
  • Send a PR with focused changes and passing checks.

Credits

License

Apache License 2.0. See LICENSE.

Copyright 2022 Rajasekhar K E

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

๐ŸŽฎ Kotlin Multiplatform Hangman (Android, Desktop, Web, iOS) built with Compose Multiplatform. Modular architecture with shared game engine, dynamic word catalog (DSL), responsive layouts, custom creepy-themed UI + animations, cross-platform audio, hints/timer/difficulty modes, persistent settings/history, automated CI/CD deployed to GitHub pages.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages