Course OverviewThis course will provide an focused exploration of the technologies and activities involved in the development of a stand-alone computer game. Topics will include advanced character behavior control, procedural content generation, large scale multi-player game design and infrastructure, serious games for education, training and other applications, the game production pipeline and project management. Course principles will be applied in a team-based semester-long project built on top of a commercial game engine. Student activities in the course will reflect the game production pipeline, including project pitches, definition of requirements and design detail. Classes will be a mix of lecture format, student presentations and working group meetings. See the schedule for relevant structure and dates. Rather than focusing on graphics programming for game engines, the course deals with the development of gameplay using the 3D gaming engine provided by Unreal Tournament (UT), a commercial game engine. Programming for the course will involve using UnrealScript, the Java- like scripting language supported by UT. Students will form small teams early in the semester, pitch a game idea to the instructor and to the class, then spend the rest of the time in the course working on the development of the game itself. The final for the course will be the presentation of a working version of your game at an evening session open to the public. Student learning outcomes for you include the abilities to: - Delineate issues in advanced techniques for game development including procedural content generation, service-oriented architectures for game control, massively multi-player system architectures, serious game technologies and methods and other technologies used to create a sophisticated computer game.
- Discuss the concepts and apply the skills needed to formulate novel game concepts, scope game development milestones and implement a complete game built on top of an existing 3D gaming engine. This will involve
- Defining feature sets consistent with game engine capabilities that facilitate an overall user experience
- Preparing documentation indicating estimated timelines for project development and revising schedules (with faculty supervision) as projects progress
- Allocating responsibilities to team members and managing the interaction between dependent subsystems
- Develop and present oral game proposals (“pitches”) of 15 minutes that involve team presentation and in-class peer and instructor critique.
- Compose effective game design documents and manage a semester-long game development project working from those specifications
- Contribute to a development team constructing a stand-alone interactive software artifact using a) code repositories and source code access control, scheduled reviews and graded milestones and in-class demonstrations.
- Provide end-of-project overviews and hands-on demonstrations of stand-alone, playable games for each semester project, as well as access via the web for each game as downloaded, self-installing mod files for public access.
Pre-requisites CSC481 Textbooks: Students will be required to purchase a commercial game engine (Unreal III, approx. $45) for use in developing their semester projects for the course.
Important Dates and Final:
- Project 1 (game treatment): Week 1
- CSC/ID Class Organizational Meeting, evening of 1/12
- Game Treatment, 1/21 11:45PM
- Project Pitch Materials due, 1/31 11:45PM
- Pitch night, evening of 2/2 (** updated date due to superbowl conflict)
- Milestone #1, 2/23 11:45PM
- Milestone #1 reviews, in class, 2/25 and 3/0
- First playable, 3/30 11:45PM
- First playable reviews, in class 4/1 and 4/6
- Final presentation slides due in class 4/20
- Gold master preview, in class 4/20 and 4/22
- Gold master due, 4/23 11:45PM
- Showcase, evening of 4/24
Note that there is no final exam for this course. The final project will serve as your final exam. The software for this assignment is due on the last Thursday of Dead Week and the presentation of the work (also part of the assignment) is due during the Game Development Showcase to be held the evening of the last day of Dead Week. The final project will be presented at an evening session that will be open to the university community. Unless you make prior arrangements with the instructor, you will be required to attend the evening final projects presentation session.
Grading Grading is based on class participation seven intermediate projects and a term project presented as your final. For all projects, it is expected that the deadlines determined by the course schedule will be met. Circumstances such as computer crashes, unexpected software incompatibilities, various equipment failures and so forth will be taken into consideration, but only those that were unanticipated and occurred at the last minute will be considered reasons for mercy. Beyond hardware and software issues, no excuses for missed examinations and any other assignments will be accepted other than those approved by the University (see Academic Policies and Regulations on Attendance at http://www.ncsu.edu/policies/academic_affairs/courses_undergrad/REG02.20.3.php). Students with excused absences must arrange to make up work with the instructor. Unless an explicit excuse is granted, no assignments will be accepted late. - Class participation: 10% of final grade
- Early- and mid-term projects: 60% of final grade
- Project 1 – (2.5% of final grade): game treatment
- Project 2 -- (10% of final grade): tech demo
- Project 2 – (10% of final grade): game pitch and related materials
- Project 3 – (2.5% of final grade): Pitch critique (note that this is an individual assignment)
- Project 5 – (15% of final grade): milestone 1
- Project 7 – (20% of final grade): first playable
- Final project – 30% of final grade
A significant portion of each grade for all group projects will be derived from peer evaluations provided by your team members. Each assignment will be given a numeric grade from 0 to 100, inclusive. Final course grade will be computing by combining these numeric grades with the weights given above to obtain an overall course grade also ranging from 0 to 100. CSC 482 will use a plus/minus grading system. If X is the overall weighted average accumulated on projects, tests and finals, then the final course grade will be guaranteed as follows: | Range | Grade | | 98 <= X <= 100 | A+ | | 92 <= X < 98 | A | | 90 <= X < 92 | A- | | 88 <= X < 90 | B+ | | 82 <= X < 88 | B | | 80 <= X < 82 | B- | | 78 <= X < 80 | C+ | | 72 <= X < 78 | C | | 70 <= X < 72 | C- | | 68 <= X < 70 | D+ | | 62 <= X < 68 | D | | 60 <= X < 62 | D- | | X < 60 | F | After receiving a grade for an assignment, you have one week to appeal the grading of any project or test. You must submit the regrade request in email to the instructor. You must submit the regrade request in email to the instructor. Grades may be curved up, but will never be curved down. Your class participation grade depends on several factors, including attendance as well as participation in in-class activities. Attendance is required for all classes. Roll will be called by the instructor a minimum of 8 lectures, scheduled at the instructor’s discretion. Missing more than two roll calls will result in the student’s class participation grade reduced by 50%. Classes
Class meets Mondays and Wednesdays from 9:35AM to 10:25AM in EB2 Room 1226. Class structure will vary from seminar format, including lectures, discussion of readings, guest lectures, or presentations of relevant systems, demos or student work and design discussions relating to your games. Class labs are held on Fridays in the CSC Multi-media Lab in MRC. Attendance at all labs is also required. Requirements:
- Attendance at all classes and active participation in discussion
- Completion of game treatment and written pitch critique
- Presentation of final term project pitch, and participation in pitch critiques of other groups
- Developing partial implementation and all other milestone assignments
- Completion of final project.
Additional Policies: The Web, The Net, Email, et al. I have a class mailing list and several discussion forums set up using Wolfware, and am hoping to make as much of the course materials and notes available on the electronic reserves' web server. Often, timely news will be sent out to the class via the course mailing list. You're expected to check your email at least once a day to read any important messages. Please note the following:
- Students with Disabilities. Reasonable accommodations will be made for students with verifiable disabilities. In order to take advantage of available accommodations, students must register with Disability Services for Students at 1900 Student Health Center, Campus Box 7509, 515-7653. For more information on NC State's policy on working with students with disabilities, please see the Academic Accommodations for Students with Disabilities Regulation (REG02.20.1)" at http://www.ncsu.edu/policies/academic_affairs/courses_undergrad/REG02.20.1.php
- Auditors Auditors will be required to attend all classes and participate in all class discussions. They are not required to do any additional work. They are also precluded from participating in group assignments.
- Honor Pledge. The University Honor Pledge reads: "I have neither given nor received unauthorized aid on this test or assignment." It is my understanding and expectation that your signature on any test or assignment means that you neither gave nor received unauthorized aid.
- Credit Only Students. Students enrolled as “Credit only” will receive a grade of S when their course work is equivalent to a “C-“ or better (See http://www.ncsu.edu/policies/academic_affairs/pols_regs/REG205.00.5.php
- Attendance. Class attendance is required. Any questions, see http://www.ncsu.edu/policies/academic_affairs/courses_undergrad/REG02.20.3.php
- Incompletes. Students whose work in the course is incomplete because of a serious interruption of their work not caused by their own negligence may be eligible for a grade of IN (incomplete). Under no circumstances is an incomplete given as a substitute for an F when the student’s performance is deserving of failing. IN grades have been given only on rare occasions in the past.
Academic Integrity: There are two types of assignments for this course: individual and group. The type of assignment is made clear in the specific assignment pages or handouts that will be provided when the project is assigned. For individual assignments, all work that you turn in for grading must be your own (this means that it is an independent and individual creation by you). For group assignments, all work that you turn in for grading must be that of you or your team members. You may use code provided buy other people (e.g., code found on the web, code provided by the game developers) but you must make explicit note via comments in your code describing the source of such code. Any attempt to gain unfair advantage in grading, whether for you or for another person, is a breach of academic integrity and will be reported to the Office of Student Conduct. Penalties can be as severe as suspension from the University. Students who are found cheating on a project or test will receive an automatic F grade for the course and a written formal petition from the instructor for the cheating student’s expulsion from the Computer Science Department. No exceptions. Turning in code that is written by other students when the assignment or test expects you to be submitting your own individual work is considered cheating. Giving code for other students to submit in the same context is considered cheating. Cheating is simply not worth it. Cheating is much worse than not turning in an assignment at all. Cheating penalties are severe. They are permanent. Examples of cheating: Some examples of behaviors that constitute cheating are as follows: • It is cheating to use another person’s work, either an assignment or a test, and claim that it is your own. • It is cheating to attempt to interfere with the other students’ use of computing facilities or to circumvent system security. • For individual assignments, it is cheating to mail copies of your work to another student, to use ftp to get another student’s work, or to put your work out for others to obtain via the web or other bulletin board-type services. • For an individual assignment, it is cheating for you and another student to work on the same file to turn in for an assignment. For individual assignments, you may not work in conjunction with other students on the university computer systems or on home computing systems or on files to be ported to the university systems. Students should refer to the Code of Student Conduct (http://www.ncsu.edu/policies/student_services/student_discipline/POL11.35.1.php) to obtain further details on the university policy on academic integrity. The Code of Student Conduct calls for suspension from the university in cases involving “advanced planning, falsification of papers, forms or documents, collaborations with others, or some actual or potential harm to other students.” This includes each situation in which a student gives electronic access to his or her account in order to allow another student to copy code for a programming project. Protecting yourself: You can protect yourself from having your work and ideas stolen. • Do not leave your papers out when you area awawy from your workstation. • Do not dispose of important papers related to your assignments in trash cans or recycle bins at the computing center or lab until after the graded assignment has been returned. • Do not give out your password or leave yourself logged in. • Do not give other users access to your directories, and do not mail copies of your work to others. • Keep copies of your final and intermediate work for all assignments until after you receive your final semester grade. • Do NOT save your work on the hard disk of a public or lab PC or workstation. • Keep your graded assignments until after you receive your final grade in the course.
|