CPS 108, Spring 2004, OOGA/NOOGA/VOOGA

Initial Pairs

Final Groups

Group Meeting Times

Individual and Group Evaluations


The first step in this Object-Oriented Game Architecture suite of programs you'll write is to specify the model of a game. Eventually the game will be one of several implemented using a Model-View-Controller architecture as an applet and an application.

In the final suite of games, you'll have stand-alone, solitaire games; networked-based solitaire games; and multi-player games against the computer or other human players.

For the purposes of designing the Model class/interface you should restrict yourself to games that do not involve continuous motion. There might be some animation that's part of the games, but the animation isn't essential to the purpose of playing the game, it's a bell-and-whistle.. Here are links to some sample games. The Yahoo Games site has many others (and other sites do as well).

Some Games

The games below are not meant to be an exhaustive list.

Of course these are all grid games. You should consider card games and other game genres as well.

Code

See the Qubic code mentioned above and the code for SameGame in this directory for ideas. We also discussed Puzzle code in class.

Initial Model Design

Timeline

Final project due on April 12. To get an A you must have an architecture than enables simple game creation, you must have used that archecticture to implement several (at least 4) different games, you must have networked games.

  1. For April 5. Website for group complete, responsibilities outlined for group members. Game plan online. Snapshot of project submitted.

    The game plan should include the names of each game you plan to implement. This should include both guarantees and projections. Failure to meet a guarantee engenders dire consequences. Failure to meet projections incurs no penalty. Implementing a game that's not in your game plan will be admired, but it won't earn many points.

    Thus, it's important to do careful forecasting.

      submit_cps108 oogasubmit1 ....   
    
    You don't need to submit if all your code/documentation is linked to your group webpages. In that case, email ola@cs.duke.edu the URL for your pages.

  2. For April 12. Version 0.9

    Please leave your original group/game plan intact. Supply a new game plan based on the past week. This plan should be a revised version of your original plan. Your web pages should make both plans completely explicit --- it should be clear which was your April 5 game plan and which is the version 0.9 plan.

    The revised plan should be updated to reflect the experience of the last week of coding/planning. Please include new guarantees and projections, modifying the previous ones to reflect your experiences.

    Each group should submit one zipped/compressed/tar file of all code and a README indicating where the group website is located.

      submit_cps108 ooga-v.9 .....
    
    
    Every individual should submit a README indicating their own/self effort, indicating how many hours (approximately) you've put into OOGA, what your responsibilities are, and what your impressions of the group's achievements are to-date. This self-assessment and evaluation will be worth 1% of your OOGA grade, the final self assessment will be worth 4% of your OOGA grade.

    The self assessment should be as long as necessary to spell out your individual accomplishments and the efforts of the group. You do not need to evaluate other group members at this time, you will need to do that for the version 1.0 submission.

       submit_cps108 ooga-self.9 ....
    

  3. For April 21. Version 1.0

    To submit use the assignment name oogafinal. You can do this via Eclipse, but you probably won't be able to submit all your materials since the Eclipse and default submission mechanism put a 300K limit on the total size of the submission. Instead, create a zip/.tgz or similar compressed archive of your submission. You can submit this from the command-line on acpub using the command shown below.

      submit_cps108final oogafinal ooga.tgz
    

    You may need the full path to the submit executable, see below.

     /afs/acpub/project/cps/bin/submit_cps108final oogafinal ooga.zip
    

    You should submit

    1. All source code

    2. Instructions on how to build/execute your programs. This might be be as simple as 'build-all' from Eclipse, but you should include information on how to run your grams.

    3. Documentation including everything on your group's website except for Javadoc which can be generated from source. This should be complete, all html/other files should be included. Ideally your website will be packaged/zipped up and included so that it can be mounted/viewed from anywhere --- not hardwired to your acpub/dormroom URL.

    4. In your documentation you should include URLs for group materials, applets (if they exist) and any other pertinent deliverables for your group.

    5. Your group CVS logs if they exist. If not, an explanation for how your group coped with six+ people coding and working together.

Notebooks

Please deliver to Prof. Astrachan's office, D241 LSRC, sometime before Monday at noon a group notebook. In that notebook you should have the following sections clearly marked.

Presentations

On Tuesday, April 27 beginning at 7:00 pm each group will make a 20-minute presentation. This should be a glossy, well-prepared and delivered presentation that highlight's and showcases your group's work. You may want to demo programs, highlight architecture, or build a new program on the fly :-). In general your presentation should show your efforts in the best light possible. The presentation will count for 5% of your group's OOGA grade.

The 20-minute presentation is a tight limit, so you might want to practice. I suggest bringing a laptop configured with everything ready to go: presentation, program, demo, etc.


Owen L. Astrachan
Last modified: Sun Apr 25 14:32:55 EDT 2004