Project #4 - Lighted Scene - CSE 167

Student: John Allison

Comments

This is a partial representation of a palyable chess game.  The goal was to
create a chess board and full set of pieces.  Each piece would be movable and
could perform the overtaking of another piece.  The initial design required a
modular approach that would allow me to quit at any time and still have a
working demonstration of the project.  Needless to say, I could continue to
 work on this project into the new school year.  But with compilers breathing
 down my neck, I had to cut my progress short.

If I was to rewrite this project, I would have better integrated object
oriented design.  The project is however quite modular with out being
object oriented.  My plan was to break the project into several steps:
board, pieces, motion, motion boundries and AI via GNUchess.
Spending much more than 30 hours on this project, I was only able to
complete the board, half of the pieces and partial movement of the
pieces around the board.  Much of the time went into researching,
planning and debugging.

The board was designed to have beveled wooden edges and a marble
surface.  I used a sine function to define the look of the bevel.  it took
me sometime to figure our the equations I needed.  The board also has
a functional structure associated with it.  There is an 8x8 array that
holds integers each element representing one square of the board.  The
array hold integer values from 0-12. 0 being an empty square and 1
through 12 representing the 12 different pieces in a complete chess
set.  When the pieces are drawn the program knows which draw
function to call based on the board array.

I designed and implemented 3 pieces, the rook, pawn and bishop.  Each
piece is just a combination of several basic shapes overlapping to
produce a single piece unit.  The functions used to draw the pieces
are all separate.  The coordinates are passed in along with the index
of the texture map to be used.

Moving a piece with in the constraints I set up proved to be more difficult
than I had suspected.  Eventually I was about to sort out moving the piece up
and placing it down on a selected square.

How the program works.

Upon running there will be one board tile in the upper left corner that is green.
 move the tile with the i, j, k, l buttons.  To select a piece press 'o' to put a piece down, press 'i'.

w for wireframe and the like.
c culling
s shading
h light
1 light 1
2 light 2
3 light 3
Download EXE

List of figures