COMP 310
|
Final Project |
The final project combines the technologies developed in the Ballworld and Chat App systems.
Don't forget to use your Design Process Overall Guidelines!
The common code is available by setting your svn:externals for your src folder to:
common https://svn.rice.edu/r/comp310/turnin/F16/FinalProject/Final/common -- This will not be available until the API is finalized. Use the ChatApp common package in the mean time.
provided https://svn.rice.edu/r/comp310/course/FinalProject/F16/provided
map https://svn.rice.edu/r/comp310/course/FinalProject/F16/map
You will need to add the World Wind Java libraries to get map functionality. CAREFULLY follow ALL the directions on the Java Resources page on adding libraries. The respository for this year's WWJ libraries is https://svn.rice.edu/r/comp310/course/WWJ/ver2.0.0/
For teams where one person is using a 32-bit configuration and one person is using a 64-bit configuration, setting svn:ignore to not commit the project's .classpath file to SVN will help keep teammates from trashing each other's build configurations. See the Subclipse web page for directions on how to do this.
Note: you may need to add the JUnit 4 library in order to support the unit tests that are included with the provided code. Do this if you get errors in the test code packages. Simply right click the project in Eclipse, and select Build Path/Add Libraries... then select JUnit and then the JUnit 4 system on the following window.
A simple demo of WorldWind Java (WWJ) SDK and the Comp310-provided simplifying libraries is available by checking out the following project: https://svn.rice.edu/r/comp310/course/FinalProject/F15/WWJ_Demo
Note that the above project is set to use 64-bit libraries, so if you are using a 32-bit system or a 64-bit Linux system, you will need to switch the libraries to their appropriate values. See the Java Resources page on adding libraries.
Package Naming Convention: To avoid name clashes, all implementation code written by a team should be under a package named: "netID1_netID2" where netID1 is the person who owns the repository.
For this milestone, you and your partner, if you have one, need to show that you have a well-thought out, coherent design ready for implementation.
The SVN commit that is closest to but not past the Milestone 1 deadline will be considered your Milestone 1 submission and must contain at least the following:
Prose description of how your game will work, including typical game play with winning and losing. (35 pts)
UML diagram of the interfaces and implementing classes (5 pts)
A prose description of how your design will implement the required common API as well as any features specific to your implementation. The above UML diagram may be imbedded in this document if desired (recommended!). (20 pts)
Javadocs for the classes and interfaces in the UML diagram. A minimum detail level of class/interface and method descriptions is required. Descriptions of fields and input parameters is recommended but not required. The Javadocs should be in the form of HTML web pages so they can be easily read, not just the comments in the code. (15 pts)
The submitted code should have a minimum functionality of being able to connect to other users and display a map plus any agreed upon functionality as detailed in the Piazza discussions, if any. (15 pts)
Since the Final Project API will not be finalized by the Milestone 1 due date, functionality should be achieved using the team's Final Project Design Group's API.
(10 pts discretionary)
For this milestone, you will submit your fully operational code plus full documentation. The submission requirements are:
Documentation: (25 pts total)
Fully detailed and accurate UML diagram and operational description from Milestone 1 with any changes and additions as were done since then. (5 pts)
Full Javadocs, this time including descriptions for all methods with input parameters and all fields. (5 pts)
A user's manual that describes at least: (15 pts sub-total)
How to start the program, both the program itself as well as any individual games or processes. (3 pts)
How to connect to other users (3 pts)
How to use every feature of the program. (6 pts)
How to end and exit the program. (3 pts)
Fully operational code should be committed to the SVN turn-in repository: (50 pts total -- based on Demo Day feedback)
System Architecture (5 pts)
Is the system designed in accordance with the principles emphasized in the course? Documentation support for your architecture is very helpful!
Percentage of working projects in class (10 pts)
(10 pts discretionary)
All teams are required to submit a proposal for their game so that the staff can vet that proposal to make sure it is of reasonable scope and is doable in the allotted time.
Guidelines for vetting game proposals:
© 2017 by Stephen Wong