Inspiration 🎯

The inspiration for Chess-Titans came from my deep passion for chess ♟️ and my love for modern web technologies. I wanted to create a chess game that not only showcased the timeless elegance of the game but also pushed the boundaries of what could be achieved with web development. The idea of combining 3D effects, parallax scrolling, and a powerful AI opponent ignited my creativity and drove me to create Chess-Titans.

🏆 Chess Engine using Stockfish-13 with UCI Protocol 🏆

Overview

This project is a chess engine built using Stockfish-13, implementing the UCI (Universal Chess Interface) protocol for communication with the Arena GUI. The engine aims to play chess against human players, following the UCI standard commands and responses.

Project Structure

The project is organized into several components:

🧪 Java Tests: This directory contains the test suite for the chess engine, ensuring its functionality and correctness. Various test cases cover different aspects of the engine, including move generation, board representation, and game logic.

🧩 Models: This directory houses the chess-related models and data structures required for the engine's functioning. It includes classes for representing the chessboard, pieces, moves, and game states.

📜 Parser: The parser component is responsible for interpreting the UCI commands sent by the Arena GUI and extracting relevant information. It converts the user input into actionable commands for the engine.

⛔ Exceptions: Exception classes are defined here to handle specific errors or unexpected scenarios gracefully. Custom exceptions aid in providing clear and informative error messages to the user.

🔄 Processor: The processor is the core of the chess engine. It implements the game logic, move generation, and evaluation functions for decision-making. The Stockfish-13 integration is also handled in this part, using its powerful chess algorithms.

🚦 GUI Interaction: Though not part of this repository, the Arena GUI communicates with the engine using UCI commands, making it easy to play games against the engine with a graphical interface.

Usage

To use the chess engine, follow these steps:

  1. Launch the Arena GUI and configure it to use the UCI protocol.
  2. Compile and run the Java tests to ensure the engine's correctness.
  3. Execute the engine, and it will be ready to accept UCI commands from the GUI.
  4. Play chess against the engine using the Arena GUI.

Disclaimer

This implementation utilizes Stockfish-13 for the core chess algorithms. All credits and acknowledgments for the powerful chess engine algorithms go to the Stockfish team and contributors.

What it does 🕹️

Chess-Titans is a feature-rich chess game that offers two gameplay modes: VS Human and VS CPU. In VS Human mode, players can compete against each other on a visually stunning 3D chessboard. Alternatively, in VS CPU mode, they can challenge an AI-based CPU opponent with adjustable difficulty levels.

The game also includes a secure login page that allows users to create accounts, log in, and save their gameplay progress. Additionally, an official website showcases the game's features, provides download options, and delivers a captivating experience through parallax effects.

How we built it 🛠️

We built Chess-Titans using a combination of HTML, CSS, JavaScript, and SCSS for the frontend. For the 3D chessboard, we employed the powerful Three.js library to create a realistic and visually appealing game environment. The AI opponent was implemented using the minimax algorithm with alpha-beta pruning to provide challenging gameplay.

The login page and user authentication were designed to ensure data security and privacy. We utilized encryption techniques to safeguard user data and enable seamless account management.

Challenges we ran into 🚧

Building Chess-Titans came with its share of challenges. Implementing the intricate chess logic to handle valid moves, checkmate conditions, and stalemates required careful planning and extensive testing.

Integrating the AI opponent with adjustable difficulty levels was a significant challenge. Fine-tuning the algorithm to strike the right balance between challenging and beatable AI opponents demanded iterative optimization.

Creating the 3D chessboard modal with smooth animations and parallax effects was both thrilling and technically demanding. Ensuring optimal performance while rendering the 3D environment and handling user interactions added an extra layer of complexity.

Accomplishments that we're proud of 🏆

We are immensely proud of successfully developing Chess-Titans, a visually captivating and interactive chess game that brings the joy of chess to players worldwide. Our achievement lies not only in building the game but also in combining cutting-edge web technologies with a classic board game to create a unique and immersive experience.

The seamless integration of a secure login page and user authentication features ensures that players can enjoy the game while having their progress and achievements safely stored.

What we learned 📚

Throughout the development of Chess-Titans, we deepened our knowledge of web development, JavaScript, CSS, and SCSS. The implementation of the AI opponent using the minimax algorithm enhanced our understanding of game theory and artificial intelligence.

Working with Three.js to build the 3D chessboard exposed us to the world of 3D rendering and animation in web development. We gained valuable insights into optimizing performance in WebGL applications.

Moreover, the project taught us the significance of meticulous planning, problem-solving, and the joy of creating a project that reflects our passion for both chess and web development.

What's next for Chess-Titans 🚀

The journey for Chess-Titans doesn't end here. We have exciting plans for future enhancements, such as adding online multiplayer functionality to allow players from all over the world to compete against each other. Additionally, we aim to introduce new themes and customizations to elevate the visual experience.

We'll continuously improve the AI opponent's capabilities and explore machine learning techniques to make it even more challenging and dynamic. As the game gains popularity, we'll actively seek user feedback and implement requested features to provide the best possible gaming experience.

Chess-Titans will continue to evolve and remain a source of joy for chess enthusiasts and players everywhere. 🌟🌍🏆

Built With

+ 1 more
Share this project:

Updates

posted an update

UCI Stockfish Integration

In the latest update of Chess-Titans, we've introduced an exciting new feature - the UCI Stockfish Integration! With this addition, Chess-Titans now harnesses the powerful AI capabilities of the renowned Stockfish chess engine to offer an even more challenging and engaging gameplay experience.

Log in or sign up for Devpost to join the conversation.