ECE597 Project 3D Chess

Revision as of 22:32, 24 March 2010 by Pmorrison (Talk | contribs)

Jump to: navigation, search

This project will simulate a hand-held chess game, and the game will allow two player games using two BeagleBoards over a network connection. The graphics will use the beagle's PowerVR SGX for hardware accelerated graphics by using OpenGL. If time permits, a third portion of the project will be to optimize the boot time because a chess computer should start up quickly.

Team Members

Paul Morrison

Steven Stark


Below is an estimated timetable of tasks to be completed. Some adjustments may be necessary.

Task Owner Priority Estimated Completion Status Description
1. Working OpenGL Code Paul High Fri, 4/2/2010 TI SGX demos running on beagleboard demo image Create our own OpenGL code and get it running on our BeagleBoard.
2. Port 3D Chess Graphics Paul High Mon, 4/26/2010 Port Paul's existing 3D chess graphics to the BeagleBoard. This task includes a significant amount of modification to the OpenGL code because OpenGL ES provides only a subset of the OpenGL API. This task does not include porting chess game play.
3. Refactor Piece Movement Architecture Steven High Fri, 4/2/2010 Evaluate and refactor piece movement architecture so that piece movements can be handled from the network just as easily as from the mouse.
4. Two Player Game Through Networking Steven High Mon, 4/26/2010 Allow two BeagleBoards to play a game of chess through a network connection.
5. Handle Mouse Interaction Paul High Mon, 5/3/2010 An extension of task 2, this task will continue porting the existing 3D chess game, including the user's mouse interactions and graphical display of legal moves. At the completion of this task, each player will be able to click on a piece and make a move.
6. Implement Game Rules Paul Medium Mon, 5/10/2010 This task will finish porting the existing chess logic, including all game rules. Additional features will be added to the original code. At the completion of this task, each player will be able to make only legal moves. The game will determine and handle when the game ends.
7. Integration and Testing Steven Medium Mon, 5/17/2010 Integration and testing will take place throughout the project, but this task represents final testing and bug fixes.
8. Interface with Chess A/I Engine Steven Low End of quarter, time permitting Building off task 3, chess movements should be able to come from an existing chess A/I engine. This task will involve hooking up an existing chess A/I engine to the game so that a player can play against the chess engine.
9. Networking Server Steven Low End of quarter, time permitting To facilitate multiplayer games, games will connect to a simple game server that we develop. Then players will not need to know the IP address of the other BeagleBoard to play a multiplayer game. Instead, players would find each other through our game server.
10. Optimize Boot Process Paul Low End of quarter, time permitting We want to minimize the startup time and boot directly into the chess game.

About priorities: High Priority items need to be completed for a successful project. Medium Priority items should be completed for an effective project, but the project can still be successful without the item's completion. Low Priority items should be completed if time allows.

Annotated Bibliography

Under development

  1. New beagleboard demo image available
    This thread describes how to obtain the latest image for the Angstrom distribution on the beagleboard which includes the SGX 3D demos.

  2. OMAP Graphics SDK
    This is the download page for the OMAP35x graphics SDK required to build your own image. It also links to a wiki containing the getting started guide.