ECE597 Project 3D Chess
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.
Below is an estimated timetable of tasks to be completed. Some adjustments may be necessary.
|1. Working OpenGL Code||Paul||High||Fri, 4/2/2010||TI demos running||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.