CPE 471 Final Project
Cel Checkers
Overview
The purpose of this project is to utilize non-photorealistic rendering
techniques in OpenGL to create cel-shaded objects and utilize them in
two player game of checkers. 1D texturing is used to map the proper
colors to the image, and culling is used to determine which polygons
are used for outlining the edges.
User Instructions
The game follows standard Checkers rules:
- The player's turn is indicated at the top of the screen by the highlighted box.
- Standard move is one diagonal square away
- Regular pieces move in one direction, kinged pieces can move in any direction.
- Regular pieces are the bunnies
- King your pieces by reaching the other side of the board
- Kinged pieces are the dragons
- Take-out your opponent's piece by hopping over their piece to an empty square
- multiple captures by the same piece is possible in a turn
- after the first jump, both regular and kinged pieces are allowed to jump over other pieces in any direction
- cannot jump over the same piece more than once (pieces already hopped over are highlighted in red)
- Winner is the first person to take out all their opponents
pieces, or has the most pieces when a player can no longer make a move.
Controls
- Left-click squares/pieces to select the piece you wish to move,
then lift-click on the square you wish to move to (valid moves are
highlighted in green)
- When
jumping over pieces, your piece will move with each successive
click/jump. When you have finished jumping over pieces, press the 'space bar' to advance to the next turn.
- Rotate the board by right-clicking and dragging the mouse (presses '0' number key will re-center the board).
- Restart a new game by pressing the 'R' key.
- Switch between cel-shaded rendering and standard rendering with the 'L' key.
*note: toggling between low and high quality polygon-meshes (as shown
in the screens) can be displayed with the 'H' key, but HQ meshes can
cause significant lag to the program.
More Screenshots
Side-by-side comparison of cel-shaded and standard bunny
Player in the process of capturing two of their opponent's pieces.
Game after the first player has won.
Resources
Cal Poly CPE471 - Intro to Computer Graphics: Awesome class with lots of information about computer graphics =).
Lighthouse 3D - Picking Tutorial: Tutorial on how to implement picking in OpenGL.
Nehe Productions: Lesson 37: Tutorial on how to implement 1D texturing and culling to produce cel-shading.
Site by Joshua Marcelo