Skip to content

SnakeEye-sudo/Ultimate-Chess-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Ultimate Chess Game

Java JavaFX OpenGL License

๐Ÿ† Ultimate Chess Game with Stunning 3D Graphics, AI Opponent & Multiplayer Mode

Built with Java + JavaFX/OpenGL | Developed by Er. Sangam Krishna


๐Ÿ“– Table of Contents


โœจ Features

๐ŸŽจ Graphics & UI

  • Stunning 3D Chess Board with JOGL (OpenGL wrapper for Java)
  • Multiple Board Themes - Choose from 10+ beautiful board designs
  • High-Quality Chess Pieces - Photorealistic 3D models with smooth animations
  • Customizable Piece Skins - 20+ SVG/PNG piece sets (Classic, Modern, Wooden, Crystal, etc.)
  • Smooth Animations - Piece movement, capture effects, particle engine
  • Camera Controls - Zoom, rotate, pan the 3D chessboard
  • Lighting Effects - Dynamic shadows and ambient lighting
  • Sound Effects - Move, capture, check, checkmate sounds

๐Ÿง  Game Logic

  • Complete Chess Rules Implementation
    • All piece movements (Pawn, Rook, Knight, Bishop, Queen, King)
    • Castling (Kingside & Queenside)
    • En Passant
    • Pawn Promotion (Queen, Rook, Bishop, Knight)
    • Check & Checkmate detection
    • Stalemate & Draw conditions
    • Threefold repetition
    • Fifty-move rule

๐ŸŽฎ Game Modes

1๏ธโƒฃ Single Player (vs AI)

  • Stockfish AI Engine Integration - World's strongest open-source chess engine
  • Multiple Difficulty Levels (Beginner to Grandmaster)
  • AI Strength Settings (ELO 800 - 3500+)
  • Move Suggestions - Hints and best move recommendations
  • Position Analysis - Real-time evaluation bar

2๏ธโƒฃ Multiplayer Mode

  • Local Multiplayer - Play on the same computer (Hot Seat)
  • Online Multiplayer - Play with friends over the internet
    • Java Sockets implementation
    • Room creation & joining
    • Real-time move synchronization
    • Chat functionality

๐Ÿ“Š Additional Features

  • Undo/Redo Moves - Take back or replay moves
  • Move History Panel - See all moves in PGN notation
  • Timer/Clock - Configurable time controls (Blitz, Rapid, Classical)
  • Move Highlights - Visual indicators for legal moves
  • Last Move Indicator - Highlight previous move
  • Save/Load Games - Save progress and resume later (PGN format)
  • Export Games - Share your games in PGN format
  • Game Statistics - Track wins, losses, draws
  • Puzzle Mode - Solve chess puzzles (Coming Soon)

๐ŸŽฏ Game Modes

๐Ÿค– Single Player (vs AI)

Play against the powerful Stockfish chess engine with adjustable difficulty.

Difficulty Levels:
๐ŸŸข Beginner    (ELO 800-1200)
๐ŸŸก Intermediate (ELO 1200-1800)
๐ŸŸ  Advanced     (ELO 1800-2400)
๐Ÿ”ด Expert       (ELO 2400-3000)
โšซ Grandmaster  (ELO 3000-3500+)

๐Ÿ‘ฅ Multiplayer

  • Local: Play with a friend on the same device
  • Online: Connect via IP address or create/join rooms

๐Ÿ–ผ๏ธ Screenshots

Screenshots will be added soon after implementation


๐Ÿ› ๏ธ Tech Stack

Technology Purpose
Java 17+ Core programming language
JavaFX 20+ Modern UI framework
JOGL (OpenGL) 3D graphics rendering
Stockfish Engine Chess AI opponent
Maven/Gradle Build & dependency management
Java Sockets Online multiplayer networking
PGN Parser Game save/load functionality

๐Ÿ“ฆ Installation

Prerequisites

  • Java Development Kit (JDK) 17 or higher
  • JavaFX SDK 20+
  • Maven or Gradle (for dependency management)
  • Stockfish Engine (for AI mode)

Step 1: Clone the Repository

git clone https://github.com/SnakeEye-sudo/Ultimate-Chess-Game.git
cd Ultimate-Chess-Game

Step 2: Install Dependencies

Using Maven:

mvn clean install

Using Gradle:

gradle build

Step 3: Download Stockfish Engine

  1. Download Stockfish from official website
  2. Extract the executable
  3. Place it in the resources/engines/ directory
  4. Update the path in config.properties

๐Ÿš€ How to Run

Using Maven:

mvn javafx:run

Using Gradle:

gradle run

Using JAR:

java --module-path /path/to/javafx-sdk/lib --add-modules javafx.controls,javafx.fxml -jar Ultimate-Chess-Game.jar

๐ŸŽฎ How to Play

Basic Controls

  • Mouse: Click and drag pieces to move
  • Right Click: Show legal moves for a piece
  • Spacebar: Undo last move
  • Ctrl+Z: Redo move
  • Ctrl+S: Save game
  • Ctrl+O: Load game
  • Arrow Keys: Rotate camera (3D mode)
  • Mouse Wheel: Zoom in/out

Starting a Game

  1. Launch the application
  2. Select game mode:
    • Single Player: Choose AI difficulty
    • Multiplayer (Local): Pass and play
    • Multiplayer (Online): Create or join a room
  3. Choose your color (White/Black)
  4. Set time controls (optional)
  5. Start playing!

๐Ÿ—๏ธ Project Structure

Ultimate-Chess-Game/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main/
โ”‚   โ”‚   โ”œโ”€โ”€ java/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ com/sangamkrishna/chess/
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ model/          # Chess pieces, board, game logic
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ view/           # JavaFX UI components
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ controller/     # Game flow controllers
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ engine/         # Stockfish integration
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ network/        # Multiplayer networking
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ graphics/       # 3D rendering (JOGL)
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ utils/          # Helper classes
โ”‚   โ”‚   โ””โ”€โ”€ resources/
โ”‚   โ”‚       โ”œโ”€โ”€ images/             # Chess piece images
โ”‚   โ”‚       โ”œโ”€โ”€ models/             # 3D piece models
โ”‚   โ”‚       โ”œโ”€โ”€ sounds/             # Sound effects
โ”‚   โ”‚       โ”œโ”€โ”€ themes/             # Board themes
โ”‚   โ”‚       โ””โ”€โ”€ engines/            # Stockfish executable
โ”‚   โ””โ”€โ”€ test/                       # Unit tests
โ”œโ”€โ”€ docs/                           # Documentation
โ”œโ”€โ”€ screenshots/                    # Game screenshots
โ”œโ”€โ”€ pom.xml / build.gradle          # Build configuration
โ”œโ”€โ”€ LICENSE                         # MIT License
โ””โ”€โ”€ README.md                       # This file

๐Ÿค Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/AmazingFeature
  3. Commit your changes
    git commit -m 'Add some AmazingFeature'
  4. Push to the branch
    git push origin feature/AmazingFeature
  5. Open a Pull Request

Ideas for Contribution

  • ๐ŸŽจ Add more board themes
  • ๐ŸŽญ Create new piece designs
  • ๐Ÿงฉ Implement puzzle mode
  • ๐Ÿ“ฑ Mobile version (Android/iOS)
  • ๐ŸŒ Web version (GWT)
  • ๐Ÿค– Improve AI integration
  • ๐Ÿ”Š Add more sound effects
  • ๐ŸŒ Add internationalization (i18n)

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Open Source Attributions

This project uses the following open-source resources:


๐Ÿ‘จโ€๐Ÿ’ป Author

Er. Sangam Krishna

Full Stack Developer | Java Enthusiast | Chess Lover

GitHub Profile

๐Ÿ“ง Contact: Open for collaborations and suggestions!


๐ŸŽ‰ Acknowledgments

  • Stockfish Team - For the amazing chess engine
  • JOGL Community - For OpenGL bindings
  • JavaFX Community - For the modern UI framework
  • Chess.com & Lichess - For inspiration
  • Wikimedia Commons - For open-source chess piece graphics
  • All Contributors - Thank you for your support!

๐ŸŒŸ Star This Repository!

If you like this project, please give it a โญ on GitHub!


๐Ÿšง Work in Progress ๐Ÿšง

This project is actively under development. New features are being added regularly!

Current Status: Alpha v0.1.0

Roadmap:

  • Repository setup
  • Core chess engine implementation
  • 3D graphics integration (JOGL)
  • Stockfish AI integration
  • Multiplayer networking
  • UI/UX polish
  • Testing & bug fixes
  • Beta release

Expected Beta Release: Q1 2026


Made with โค๏ธ and โ˜• by Er. Sangam Krishna ยฉ 2025 Sangam Krishna. All Rights Reserved.

About

๐ŸŽฎ Ultimate Chess Game with stunning 3D graphics, AI opponent, and multiplayer mode. Built with Java + JavaFX/OpenGL. Single Player (vs AI) & Multiplayer (Local + Online) | Developed by Er. Sangam Krishna

Resources

License

Stars

6 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors