We'll be finishing out the semester with some group projects. Broadly, a good project will involve:
A good project will require some amount of understanding of core engine code, development of new code, and creation of a user-facing interface for that code. Some basic ideas include adding new hardware (e.g. Occulus Rift) support to an engine, modifying its asset pipeline to work with a different editor (e.g. Blender), or adding a new rendering or material system to an engine.
We will select project proposals in several phases. In the first phase, everyone will be tasked with coming up with the "what" of a project, described by a single picture and sentence. In the second phase, groups of two will refine the "how" of selected ideas, including a brief implementation plan. In the third phase, groups of four will create final project descriptions, including lists of deliverables and a schedule.
Develop a one-sentence + one-image description of a project. Print the sentence and image on an 8.5x11" piece of paper. Include your andrewid.
We will be posting these sheets around the classroom and reviewing them as a class.
After the review, I will ask each member of the class will turn in a list of four or more projects they would like to work on and four or fewer projects they wouldn't like to work on. These preferences will be used to assign features for Phase Two.
Work in pairs to develop a one-page abstract describing how one could implement your group's assigned feature. Be sure your abstract has a short, descriptive title.
The goal of the abstract is to make it clear that the project is feasible. Describe where in the engine the feature will sit (source code locations, user interface locations). Include references for any [complex] algorithms that will be required.
We will post the abstracts around the room and review them as a class.
After the review, I will ask each member of the class will turn in a list of two or more projects they would like to work on and four or fewer projects they wouldn't like to work on. These preferences will be used to create an assignment for Phase Three.
In Phase Three, groups will work together to produce a full project description document. This 2-3 page description should provide explicit detail:
I will meet with groups during class on Thursday, April 2nd to refine the document, with the official copy due over the weekend.