COMP 250: Block-Based Game - Match & Conquer
Strategic block-based game where players aim to either create the largest connected area of the target color or maximize the color along the grid's perimeter. Players can achieve this by interacting with the grid by rotating, reflecting, or subdividing the blocks.
Match & Conquer Demo:
UI developed by the COMP 250 staff.
Tech used: Java.
How It's Made: This block-based game is implemented in Java and uses a quad-tree data structure to represent the grid. Each block can be subdivided into four smaller blocks until a maximum depth is reached, reflecting the recursive nature of the game board. The board is generated randomly, with blocks either remaining solid or being further subdivided. The operations available to players—rotating, reflecting, and smashing blocks—are executed by manipulating the quad-tree structure, changing the board's layout with every move.
Lessons Learned: Working on this project deepened my understanding of recursion and how trees can structure a game. Implementing the recursive rotate and reflect methods was particularly challenging, as I had to ensure the game board accurately reflected the changes made. Recursion itself posed its own difficulties, especially the "leap of faith" needed to trust that the base case will be reached as long as the recursive call is correctly defined.