IMGD 4000 (D 08)
Individual Homework Assignment #1
Due by Web Turn-In: Midnight, Sunday, March 16
(See general homework instructions for turn-in details.)
The purpose of this assignment is to get you up to speed as quickly as possible with the software tools (jME, etc.) that you will need for the homework assignments and to shake down the homework submission process:
The code you write for this assignment will be the foundation for all the four following assignments in the course, so write it carefully and clearly!
- Download and build the latest jME source in JDK 1.6 (or JDK 1.5 for Mac). We strongly suggest following the instructions for setting up Eclipse or NetBeans. (We've been using Eclipse.)
- Familiarize yourself with the online documentation and demos.
- Register with the online forum. This forum has been generally quite responsive, and the primary jME developers, Mark Powell, Joshua Slack and Rikard Herlitz, know that we are using jME in this course and are very anxious to be helpful. Mention that you are a WPI student in your first posting and, of course, be polite and respectful.
Please post any questions to the myWPI discussion board for the course.
- Load and render the free 3D model of a chess board and pieces pictured below (courtesy of Peleg Sapir at www.the3dstudio.com), which you can download from the course website. The zip file contains both the .jme binary and the original .3ds file from which it was converted using MaxToJME. (Hint: use BinaryImporter.load() and cast the result to Node.)
Note: The rendering you will see in jME will have some artifacts as compared to the picture above, due to problems with normals. An improved version (same dimensions) may be provided later.
- Add the standard 8x8 black and white squares to the chess board. Make sure you follow the correct board layout, i.e., "white on right, queen on her color".
Note: Some of the chess pieces as they are delivered in the model are not quite centered on their squares. Don't worry about this for now, as you will need to solve the problem of centering a piece on an arbitrary square in the next assignment.
- (Re-) orient the board so that the player can easily see the position of all the pieces and will be able to pick his/her own pieces with the mouse (you don't need to implement the picking until the next assignment).