Skip to content

A complete interactive game of the Raumschach variant of 3D-Chess.

Notifications You must be signed in to change notification settings

edweenie123/3D-Chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D-Chess

This project is a complete interactive game of the Raumschach variant of 3D Chess and was made as our ICS4U summative. Users may choose to play against an AI with 3 difficulty levels or with another player locally. The rules of the game may be found here.

Play our game at: https://edweenie123.github.io/3D-Chess/

3D Chess Demo

Features

  • 4 different game modes (PvP + 3 AI difficulties)
  • UI to select pieces for pawn promotions
  • Highlights to show legal moves and the opponent’s last move
  • Game history
  • Panel showing piece captures of each side
  • Game evaluation bar

Built With

The move logic, checkmate+stalemate detection and AI were all programmed in C++ and were compiled to WebAssembly using Emscripten so that it could be run on the browser. The visual interface of the game was made using vanilla JavaScript, HTML and CSS.

Chess AI

Our chess AI was made from scratch and uses the minimax algorithm with alpha-beta pruning for optimization.

Installation

To install and run the game locally:

  1. Clone the repository
    git clone https://github.com/edweenie123/3D-Chess.git
  2. Serve index.html on port 8080 by running the following command in the project root directory
    sh serve.sh
    NB: This step requires Python 3 to be installed
  3. Play the game on the browser at http://localhost:8080/

Team Members