CS 324E Final Project

Oasis by Yunsil Heo and Hyunwoo Bang

Final Project: Your Own Graphics Project



Project Description

The final project is the culmination of this class. You will demonstrate your expertise in graphics by creating a compelling project that is beyond the scope of previous assignments in a group of 2-4. It can be an extension of any previous assignment or a completely new project. You are also allowed to change groups if you would like, but groups must be set before the first milestone deadline.

Project scope and creativity will be evaluated after the first milestone. Your grade will also include a presentation component.

Basic Requirements

Your group will have a great deal of flexibility for this assignment, but it must meet certain base requirements listed below:
  1. Keyboard interactivity. The project must support keystrokes, which trigger some interesting functionality.
  2. Multiple GUI systems. The project must have at least two GUI systems. This could be a "main menu" screen with buttons and display information, and at least one other screen that includes buttons and display information.
  3. Class objects with animation hierarchies. The project must include objects with at least two levels of animation hierarchy (similar to what you created in Assignment 4).
  4. Data input/output. This can be data from a data set, user-created data to provide settings (e.g. a map-builder that generates a level map based on a XML or text file), or data saved from the application (e.g. high scores).
  5. Sound. The project must include some use of sound, but this sound should be mutable (toggled by the user with either a keystroke or GUI button).

Each team member will be responsible for the functionality of some part of this project, and it is up to the team to decide how best to divide the work.

If you would like to do a project that does not meet these requirements but goes well beyond the scope of this course (e.g. working with Arduino or big data), that may be possible, but you must consult me directly to determine whether the project is sufficient for meeting course requirements.

Getting Started

You must decide on your teammates and the scope of your project as soon as possible. The Processing Exhibition Archives are a good place to look if you want inspiration or ideas about how other people are using Processing.

Final Project Plan

The initial project plan will break down the scope of the project and its intended functionality, summarizing required features and any additional bonus features beyond the baseline. This report will describe project challenges and breakdown of work per groupmate.

One report will be submitted via Canvas for the entire team.

Final Project Progress Report

One working demo of the project (showing core features) will be submitted via Canvas for the entire team on this milestone. The demo does not need to be the final project, but it should be far enough along to compile and run, showing that the core features are in place.

Final Project Submission

You will submit the following in the folder yourgroupname_finalproject:

  1. This files that comprise your project. The main file should be called yourgroupname_finalproject with the correct extension based on the libraries (Processing, ThreeJS, etc) you are working in. Any additional class files should have clear naming conventions.
  2. A README text file that explains what the project is and how to use its controls
  3. Any additional classes/media files required for the project
  4. A project description text file, finalproject_description.txt, that summarizes the project functionalities and implementations, what the included classes do, and any unexpected challenges. This is mostly a rehash of the progress report but from the position of what you accomplished rather than what you were planning. Also you must document which group member worked on which part of the assignment. While group coding is allowed, each member is responsible for their individual parts -- this ensures all group members are participating and have mastery of the assignment. If you do not specify that a group member contributed, this will impact their grade.

Zip this folder and submit via Canvas.


Last modified: 01/14/20 by Sarah Abraham theshark@cs.utexas.edu