Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AR Tabletop Chess

Hot-seat and vs-computer chess with an optional AR path on iPhone: place a 3D board on a real table, then play with full rules, move hints, and a local AI opponent.

Unity: 6000.5.0f1 (Unity 6, URP)
Author: Cannelle Mwiza — Group Leader (sole contributor) · African Leadership University
Repository: https://github.com/cinna03/Chess-


What you can do

Mode Description
Hot-seat Two players on one device; the board rotates so the active side faces the camera
vs Computer You play White; Black uses a minimax engine (depth 3, alpha-beta, material + positional eval)
AR (iPhone) Scan a surface, tap to place the board, then play the same modes in the room

Gameplay: legal moves (including castling and en passant), check / checkmate / stalemate, green move dots, red capture rings, capture tray, last-move line, game-over panel with rematch.


Requirements

  • Unity 6000.5.0f1 (or compatible Unity 6) with URP
  • AR on device: AR Foundation + ARKit (iOS)
  • Desktop / itch: no phone required — use ChessPlaytest
  • iOS build: macOS + Xcode; use bundle ID com.unity.chess.armobile on a Personal Team (reuse an existing App ID if you hit Apple’s free limit)

Run in the Editor (graders / itch source scene)

  1. Clone this repo and open the project in Unity Hub.
  2. Open Assets/Scenes/ChessPlaytest.unity.
  3. Press Play.
  4. From the start menu: Play → choose Hot-seat or vs Computer (place the board in AR scenes first).
  5. Click a piece, then a highlighted square to move.

Editor menus: Chess → Build → Mac Playtest (itch) outputs Builds/Mac/ARTabletopChess.app for itch.io.


Run on iPhone (AR)

  1. Open Assets/Scenes/ARChess.unity (or run Chess → Setup AR Chess In Open Scene on your scene, then save).
  2. Edit → Project Settings → Player → iOS — set Bundle Identifier to com.unity.chess.armobile (or another ID already on your Apple team).
  3. File → Build Settings → iOS → Build and Run.
  4. Allow camera → scan a table → tap to place → pick a mode → play.

Project layout

Path Purpose
Assets/Scripts/Chess/Core/ Board state, legal moves, AI
Assets/Scripts/Chess/View/ Board rendering, input, HUD, game flow
Assets/Scripts/Chess/AR/ Plane detection and board placement
Assets/Scripts/Chess/Editor/ Playtest setup, menu bake, itch build helpers
Assets/Scenes/ChessPlaytest.unity Desktop demo (public build source)
Assets/Scenes/ARChess.unity AR-enabled scene

Architecture

Component Role
ChessGame / MoveGenerator Rules and legal move filtering (no illegal king exposure)
ChessGameController Modes, turns, AI scheduling, UI events
SimpleChessAi Minimax + alpha-beta for vs Computer
ChessBoardView / ChessSquareView 3D board, highlights, captures, flip
ChessMenuUi Intro, start hub, rules, settings, mode select, HUD, game over
ARChessBoardPlacer AR raycast placement before play

Patterns: core logic separated from Unity view; UI driven by controller events; AR input gated until the board is placed.


Portfolio deliverables (course submission)

These links are what graders open from the Canvas submission document. itch.io and video are added when you finish build and recording; everything else is live now.

Deliverable Location
Source code https://github.com/cinna03/Chess-
DevLog (public) https://docs.google.com/document/d/1U9KlkhUET-NADqs5Gvm1BBqZpz7li47trpCgIeg-Zbc/edit?usp=sharing
Task allocation tracker https://docs.google.com/spreadsheets/d/1d5dOtJ-ZM7TBj5S7Md-f6mz26nI2JLFv0vnqF_Xi4e0/edit?usp=sharing
Public desktop build Mac build from Chess → Build → Mac Playtest (itch) → zip → itch.io (Public). Add the page URL to your Canvas submission doc when live.
Video walkthrough Screen record desktop play + AR on iPhone; cover modes, moves, AI, attribution, and how AR placement works. Upload to YouTube (Unlisted) or Drive (anyone with link); add URL to Canvas when live.

Attribution: This portfolio was implemented and documented by Cannelle Mwiza as group leader; no other student contributed code or deliverables. The tracker lists the same allocation.

All submission links for Canvas live in one Google Doc you submit on the course portal (not in this repo).


Out of scope

Online multiplayer, Elo-rated engine, Android AR build, and store release.


Credits

  • UI font: Fredoka (project assets under Assets/Fonts/)
  • Unity AR Foundation / ARKit template packages (see Packages/manifest.json)

Coursework scripts in Assets/Scripts/Chess/ are student project work.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages