Administrative Links
Prerequisites
More exactly, is games research right for you? Research is about the cutting-edge and advancing the state-of-the-art, which can be both exhilarating and frustrating. Similar to game development, games research prerequires focused direction, technical competency, and sincere motiviation. To gauge whether your direction is suited for this course, please answer these three simple questions. You may also want to ask yourself if the games industry is right for you (refer to Pausch's Academic's Guide to Electronic Arts).
For technical competency, there are no explicit prerequsites for cs196-2. You are expected to utilize your own technical background to develop and implemented a compelling project. Although there is no specific skill set, we assume a solid background in CS (or engineering) or a really good idea is absolutely critical for successful completion of the class.
Our introductory assignments requires competency in C++ programming. C++ will not be taught as part of this class. We highly recommend that you have or gain competency in C++ programming, but such skills are NOT required for this class. Courses in graphics and AI, such as cs123 and cs141, are also NOT required, but are certainly a plus.
Expectations
Students enrolled in cs196-2 are expected to:
- present 1 and compose 2 case studies of innovative games or games research projects, posting both ton the course wiki
- design and implement an innovative course project to improve an existing game
- situation pending, implement up to 4 introductory projects
- class participation through proactive discussion and questions
Course Project
The goal of cs196-2 is for you to produce an innovation for interactive games. The course project will be the primary medium for this innovation.The course project involves proposing, developing, and implementing a novel technology for gaming. Being on the cutting edge can lead to many unforseen difficulties. To facilitate progress, the course staff is expecting the following procedure to be executed during the completing of your project:Thus, we ask for a proposal that covers many of the software engineering aspects of the project while discussing how the technology will lead to compelling games.
Project Worksheets
(due every Friday, pdf): you should complete a 2 page ``idea'' worksheet for every potentially interesting game concept. At least one new worksheet must be handed in every week until your project proposal is approved. Multiple worksheets can be handed in simultaneously to received staff feedback; however, you should be careful to put thought into your submissions. Once a worksheet is approved, you can submit a project proposal based on the approved idea.
Project Proposal
(due 3/24, pdf): the project proposal is thorough specification of your project that builds upon the ideas in a project worksheet. The proposal is where you ``sell'' your idea to the course staff for ``greenlight'' approval. Your proposal should contain storyboard and conceptual materials for describing the project, a detailed software engineering plan, a timeline for achieving milestones, a rubric for evaluating your progress, and a statement of support from a project mentor. The final proposal is due by 3/24.
Project Webpage
(updated weekly): once greenlit, every project group is expected to maintain a webpage of relevant material about their project. This webpage should contain all documents related to the project, progress reports, playable demos, screenshots, and other materials.
Project Weeklies
(presented weekly): once greenlit, a project group will present ``weeklies'' every Friday. A weekly is short (2-5 minute) presentation highlighting relevant progress made during the week through demos, videos, screenshots, and/or oral communication. A related note: each group will be expected to maintain a CVS (Concurrent Versions System) repository of your source and assets. At any point in time during the project, the contents of the CVS repository should yield a working demo when checked out.
Arcade Day (Friday 5/12)
All course projects will be demonstrated over a 3-hour period at the end of the semester. You are expected to have a poster describing your game and its innovations. The course staff will visit each group's demonstration area to hear the presentation of your poster and ask questions. The Arcade Day will be open to the public. You are expected to attend for the entire demonstration period.
Project Postmortem (Due 5/16)
The postmortem is a review of a completed game by the developer. Refer to Game Developer Magazine's Postmortem format.
Introductory Projects
Once your project proposal has a greenlight, you will not be obligated to complete any introductory assignments. To help students towards the course project, there will be four introductory programming assignments. The introductory assignments involve the implementation of selected components for a broad set of video games.
Case Studies
A case study is an in-depth analysis of a game or research project that emphasizes an innovation in gaming. The case study assignments are to be completed individually and consist of providing a written analysis (through completing the case study document) and a 30-minute in class presentation. The topic of the case study is open to any topic related to game innovation, but must be approved by the instructor. It is the student's individual responsiblity to obtain this approval and arrange for slots in the class schedule to present their case study analysis. You must submit two case studies to the course wiki, and present one in class.
Grading
The grading structure for the course will vary individually among the class based on the respective progress of each student. Each grading criteria has been given a weight. Your overall grade will be based on grading of each assignment divided by the sum of their overall weight. The various aspects of the class will be weighted as follows:
5 | Project 0 |
10 | Projects 1-3 |
5 | Case Studies |
50 | course project |
5 | Class Participation |
Collaboration
Students are highly encouraged to collaborate together and utilize external resources during this course. Any code or information provided by an external source or another student should be explicitly cited. Uncited usage of information that is not your own will be considered plagerism. For each introductory assignment, no sharing of code is allowed between students, but usage of publically available resources is allowed. For course projects and case studies, you are encouraged to use any information or resources.