Port-A-Chess is an augmented reality chess board developed for Android by a group of 10, including myself, as an AR/VR class midterm project. Upon the app detecting a specific image, a 3D chess board would materialize in the world, and players would take turns aiming the camera at pieces and board tiles to make moves like traditional chess.
Assembled all the chess piece movement and rules from scratch in Unity with C#, including available move generation, piece taking logic, and more specialized maneuvers like En Passant and Castling.
Utilized Vuforia to create the AR functionality of projecting the board onto an image in the real world.
Port-A-Chess was the project that really got me into the groove of using inheritance in game programming. Creating chess from the ground-up was a perfect exercise for this technique, since all Chess pieces share a near-identical base relationship with the board and rules of the game, with any real variance largely existing in the movement options available to them.
With this in mind, I created an abstract chess piece class defining general logic, like piece selection, snapping to the board, moving along possible routes based on the tile selected, and taking enemy pieces, with the main abstract behavior being the actual generation of possible routes. I also crafted generic methods for crafting routes to add further abstraction and reusability to the code for chess pieces like the rook, bishop, and queen. The result was a codebase the class's professor described as "beautiful," and directly contributed to my Certificate for Excellence in Game Programming awarded in the graduating class of 2024.