UMich-Dearborn CIS 487
International Game Developers Association
CIS 487 Computer Game Design and Implementation 1
| Games Education |
|---|
| |
| Course |
Contents |
Teachers
Instructors
Guest speakers
- Name of guest here
Course Background Information
Location
University of Michigan-Dearborn, Computer and Information Science Department
Classification
See: Areas for classifing for your course.
Primary classification:
Game Criticism, Conceptual Game Design, Game Programming,Game Production
Secondary classification:
Game History, Interactive Storytelling, Business of Gaming
Student background needed
Course is taken by computer science and software engineering students who havew completed the following courses: CIS 150 Computer Science 1, CIS 200 Computer Science 2, CIS 275 Discrete Structures 1, CIS 350 Data Structures and Algorithm Analysis. Students are expected to have completed CIS 375 Software Engineering 1 or take it concurrently.
Course prerequisites
- Students are assumed to have taken discrete mathematics prior to this course.
- Students are assumed to have taken technical writing prior to this course.
- Knowledge of data structures and abstract data types.
- Ability to apply knowledge of algorithm analysis.
- Knowledge of rapid prototyping methodologies assumed.
- Previous experience with object-oriented programming assumed.
- Ability to write and document large programs.
- Ability to apply the principles of computer-human interaction and user interface design.
- Some knowledge of software production management techniques assumed.
Time periods
- Course runs once each year during our 14 week Fall semster
- Course has two 90 minute course meetings each week plus 4 monthly review and playtesting sessions
Course Structure
CIS 487 is a lecture course. Student grades are based on project work and peer evaluation in a game fair of game products produced during game fairs and technical reviews. Pairs prorgaqmming is used for final project.
Course description
This course deals with the study of the technology, science, and art involved in the creation of computer games. The focus of the course will be hands-on development of computer games. Students will study a variety of software technologies relevant to computer game design, including: programming languages, scripting languages, operating systems, file systems, networks, simulation engines, and multi-media design systems. Lecture topics will be taken from several areas of computer science: simulation and modeling, computer graphics, artificial intelligence, real-time processing, game theory, software engineering, human computer interaction, graphic design, and game aesthetics.
Course learning objectives
- Review and critique an existing commercially written computer game.
- Evaluate and critique text-based adventure games written by classmates.
- Evaluate and critique multi-media games written by classmates.
- Design and implement an original text-based adventure game using an existing text engine.
- Design and implement a multi-media computer game, create design documents for the game, and implement the game using Visual C++ and DirectX.
Week by week topics
- History of Computer Games (3 hours)
- Interactive Fiction (3 hours)
- Game Design Principles (3 hours)
- Game Evaluation Criteria (2 hours)
- Game Design Documents (2 hours)
- Introduction to Windows Programming and DirectX (2 hours)
- Bit-Mapped Sprites and Animation (2 hours)
- Introduction to 2D Graphics (2 hours)
- Game Physics and Collision Detection (2 hours)
- User Interface Design (2 hours)
- Basic I/O (2 hour)
- Use of Sound (2 hours)
- Artificial Intelligence in Game Design (3 hours)
- Testing (2 hours)
- Introduction to 3D Graphics (2 hours)
- Marketing and Intellectual Property Issues (2 hours)
- Project Presentation and Evaluation Activities (8 hours throughout semester)
Course Materials & Facilities Used
Here you can link to and/or describe books and other materials you used for this course. Feel free to create new pages for each item here if a page for it does not yet exist.
Books
Tricks of the Windows Game Programming Gurus by LaMothe, Sams, 2002 (required)
Game Architecture and Design by Rollings and Morris, New Riders, 2003 (required)
Introduction to Game Development by Rabin, Charles River Media, 2005 (recommended)
Other materials
Papers, magazines, videos (add links to online materials)
Software (engines, tools)
http://www.engin.umd.umich.edu/CIS/course.des/cis487.html
Syllabus
CIS 487 Fall 2006 http://www-personal.engin.umd.umich.edu/~bmaxim/cis587/syl587-f06.html
Slides
http://www.engin.umd.umich.edu/CIS/course.des/cis487/ppt/index.html
Assessment materials
http://www.engin.umd.umich.edu/CIS/course.des/cis487.html
Digital media used in class
e.g. Video, Multimedia sources, Audio
Student Game Reviews http://www.engin.umd.umich.edu/CIS/course.des/cis587/reviews/game.html
Case studies
Student Game Design Documents http://www.engin.umd.umich.edu/CIS/course.des/cis587/design-tx/game.html
Tutorial files
(link to each file's storage location)
Other materials
Student Text Adventure Game Projects http://www.engin.umd.umich.edu/CIS/course.des/cis487/z5/index.php
Student Multi-media Game Projects http://www.engin.umd.umich.edu/CIS/course.des/cis587/games/game.html
Analysis of learning methods
What worked
The students enjoy the project-based orientation of the class. I think the experience to reviewing testing game products for each other is worthwhile. Making using a a code library (e.g. LaMothe) and game engines (e.g. Inform) is necesary to allow students to focus on game design and software engineering (rather than low level programming). Pairs programming seems to work better than solo programming.
What didn't work
The quality of the feedback students give each other is not as good aa I would have liked. Tests don't work for this course (the number of topics covered and the compelxity of the material does lend itself to paper testing). Expecting CS and SE students to produce art assets while learning to program games using C++ and DirectX is not reasonable. Kids need a source of pre-defined game art assets to complete games in a timely mannr.
