Checkers
Techs Demonstrated
- C#
- Unity
- Git
Project Summary
This project was built primarily to test some underlying utilities I've developed within my own toolkit-- utilities that manage the game board, and the game pieces, and the turn-system for example. Otherwise, the game is simply a local checkers game. Its features include everything you'd expect from a game of checkers (minus the Ai opponent ^_^).
Still, despite the application's relative simplicity, it was still a pleasure to build. Visit the Sully's Toolkit section to view the toolkit itself.
Features
Complete GameLoop
This project is 100% playable, with sound effects, win conditions, core checkers rule-enforcement, and even a draw game-state mechanic. This means everything in the game performs as expected; no moving opponent pieces on you turn, nor improper jumping off the board, nor attempting to move invalid pieces, nor any other funny business.
Clean Checkers Piece Logic
The game piece mechanics and the checkerPiece mechanics are actually two different scripts (notice there isn't a "move-piece" utility anywhere in the script). The checkers units merely define their movement options (along with other character-defining attributes), while the gamepiece logic handles universal movement across the gameboard-- completely unaware of the checker's from the checker's logic.
It's the unit controller script that brings both sides together. It moves each checkers game pieces according to both the checker-unit's attributes and the underlying game piece's legal moves. With this setup, greater unit functionality can be expanded upon without manipulating the core movement functionality. In other words, game piece-logic is open for expansion, but closed for modification.