An interactive chess application that leverages GenAI models hosted on Amazon Bedrock, featuring both 2D and 3D user interfaces and IoT connectivity options.
This project enables users to:
- Play chess against GenAI models
- Watch AI models play against each other
- Connect to IoT devices for physical chess interactions
- View games in both 2D and 3D interfaces
-
Install dependencies:
pnpm i
-
Create the Stockfish binary:
pnpm create-stockfish-binary
-
Bootstrap your AWS account:
pnpm cdk bootstrap
-
Deploy the application:
pnpm cdk deploy
or
pnpm deploy-virtual
For IoT deployment run instead
pnpm cdk deploy -c iotDevice=true
orpnpm deploy-physical
-
Log in to your AWS account
-
Configure the Amazon Cognito User Pool:
- Locate the newly created Amazon Cognito user pool
- Add your user profile
- For admin access, add your user to the Admin user group
-
Access the Application:
- Use the Amplify URL provided after deployment
- Log in with your Amazon Cognito credentials
-
Create a New Session:
- Select "Create" on the Admin Dashboard
- Configure game settings
-
Start a Game:
- Locate your session in the Dashboard
- Click the dropdown in the last column
- Select "Start"
-
View the Game:
- Select the session you'd like to view, this will save the session id as a cookie
- Click on your login name in the top right corner
- Choose between:
- "Controls" for 2D view
- "3D" for three-dimensional view
The Chess Game Manager is an AWS IoT Greengrass component that orchestrates the physical execution of chess moves in an AI-powered chess game. It acts as a bridge between cloud-based AI models and physical hardware (smart chessboard and robotic arms), ensuring moves are properly validated and executed.
You can follow these instructions to deploy it to your AWS IoT Greengrass Core Device.
See CONTRIBUTING for more information.
This project is licensed under the Apache-2.0 License.