https://github.com/jumman04/jummania-chess-game
A customizable Chess Game for Android, featuring various piece styles, sound effects, and smooth gameplay. The game allows intuitive moves, pawn promotion, and visual customization, including light/dark square colors and stroke effects. Built with Kotlin and Android Studio, it offers a fun and engaging experience.
https://github.com/jumman04/jummania-chess-game
ai-chess ai-chess-bot android-chess android-library board-themes chess-ai chess-engine chess-game chess-gameplay chess-library chess-move-validation customizable-chess kotlin kotlin-android multiplayer-chess multiplayer-chess-engine piece-styles sound-effects stroke-options
Last synced: 3 months ago
JSON representation
A customizable Chess Game for Android, featuring various piece styles, sound effects, and smooth gameplay. The game allows intuitive moves, pawn promotion, and visual customization, including light/dark square colors and stroke effects. Built with Kotlin and Android Studio, it offers a fun and engaging experience.
- Host: GitHub
- URL: https://github.com/jumman04/jummania-chess-game
- Owner: Jumman04
- License: mit
- Created: 2025-03-24T16:08:49.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2025-04-27T09:08:16.000Z (5 months ago)
- Last Synced: 2025-06-09T15:42:46.786Z (4 months ago)
- Topics: ai-chess, ai-chess-bot, android-chess, android-library, board-themes, chess-ai, chess-engine, chess-game, chess-gameplay, chess-library, chess-move-validation, customizable-chess, kotlin, kotlin-android, multiplayer-chess, multiplayer-chess-engine, piece-styles, sound-effects, stroke-options
- Language: Kotlin
- Homepage: https://jumman04.github.io/Jummania-Chess-Game-Compose/
- Size: 1.44 MB
- Stars: 3
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ♟️ ChessView - Customizable Chess Game Library for Android
**ChessView** is a fully-featured chess game library for Android, built with Kotlin. It delivers
smooth interactions, realistic piece movements, and a highly customizable interface — including
board themes, piece styles, sound effects, and stroke options.It includes complete gameplay logic: legal move validation, turn-based play, and piece movement
rules. You can play against an AI powered by **Gemini**, or extend it for **multiplayer support**
with the same seamless experience.Designed for easy integration via XML or code, **ChessView** brings full chess functionality to any
Android app with just a few lines of code.## Features
- Customizable board square colors
- Filled or outlined chess piece styles
- Multiple piece font styles (Standard, Classic, Merida, Symbola)
- Optional bold styling for symbols
- Stroke and border customization
- Sound effects for piece movements and interactions
- Smooth and realistic piece movements
- Legal move validation and turn tracking
- Play against AI (powered by Gemini)
- Multiplayer-ready structure
- Standalone game or library integration
- Easy XML or Kotlin integration
- Fully documented source code
- **Responsive Chessboard**: Adjusts to different screen sizes
- **Customizable Chess Pieces**: Personalize piece colors, styles, and strokes
- **Pawn Promotion**: Automatically promotes pawns
- **Highlight Selected Squares**: Visual cues for selections and valid moves
- **Turn Indicator**: Displays whose turn it is
- **Touch Input Support**: Select and move pieces by tapping and dragging
- **Dynamic Square Colors**: Customize light and dark square colors
- **Custom Stroke Effects**: Add customizable strokes to pieces and squares## 📦 Installation
Add the following to your `build.gradle` (project-level):
```gradle
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
```Then add the dependency in your app-level `build.gradle`:
```gradle
implementation 'com.github.Jumman04:Jummania-Chess-Game:1.0'
```---
## 🧩 Usage
### In XML:
```xml
```
### Programmatically:
```kotlin
chessView.setSoundEffectEnabled(true)
chessView.setBackgroundColor(Color.WHITE)
chessView.setPieceStyle(true, true, Color.WHITE, Color.BLACK)
chessView.setSquareColors("#fadeaf".toColorInt(), "#8e4f19".toColorInt())
chessView.setEnableStroke(true, Color.BLACK, Color.BLACK)
chessView.setSymbolStyle(SymbolStyle.SYMBOLA.ordinal, useBoldSymbol = false)
```---
## Customization Options
The game offers extensive customization, allowing you to tailor the appearance and behavior of the
chessboard and pieces:### Chessboard Colors:
- **Light Square Color** (`lightSquareColor`)
- **Dark Square Color** (`darkSquareColor`)### Piece Colors:
- **Light Piece Color** (`pieceLightColor`)
- **Dark Piece Color** (`pieceDarkColor`)### Stroke Effects:
- **Enable Stroke** (`enableStroke`)
- **Stroke Color for Light Pieces** (`strokeLightColor`)
- **Stroke Color for Dark Pieces** (`strokeDarkColor`)### Font Style for Piece Symbols:
- **Symbol Style** (`symbolStyle`)
- `standard`: Default system font.
- `classic`: `chess_alpha.ttf` (Classic chess font).
- `merida`: `chess_merida_unicode.ttf` (Merida chess font).
- `symbola`: `symbola.ttf` (Unicode chess symbols).### Sound Effects:
- **Enable Sound Effects** (`enableSoundEffect`): Enable or disable sound effects for piece
movement.## Technologies Used
- **Kotlin**: The primary language for Android development.
- **Android Studio**: Integrated development environment used to build and test the game.
- **Custom Views**: Custom `ChessView` class handles drawing the chessboard, pieces, and other
visual elements.
- **Sound Effects**: Integrated system sound effects for piece movements and interactions.
- **Material Design**: Material design principles are used for clean and consistent UI elements.## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.