CS 381: Game Engines and the Game Development Pipeline
Sushil J. Louis
http://www.cse.unr.edu/
sushil/class/381/
classroom: SEM257
CS 381, Game Engines and the Game Development Pipeline
Lecture+Lab: (3+0)
Credit(s): 3
Introduction to the technical elements of modern videogame and the
pipeline for assembling them, plus issues of interface design, quality
assurance, and business practice.
Prereq(s): CS202 or consent of instructor
This course introduces students to the game development pipeline by
teaching students how to design and implement a 3D game engine. The
course will cover the following topics. Students will also learn the
Python programming language.
- Python programming
- Python ogre graphics engine
- Game engine architecture
- Adding 3D models to a Scene
- Keyboard interaction
- Simple game physics
- Simple AI
- Interaction design
- If time permits
- Sound
- Multiplayer networking
MW from 1:30 until 3:30 a.m. and by appointment (sushil@cse.unr.edu)
The course has two components: Lecture and Laboratory. Both lecture
and lab components are mandatory. Note specifically that the
laboratory component is mandatory. All assignments, homework, quizzes,
and exams are required.
- $$
- Required: Python Programming tutorial,
http://docs.python.org/tutorial/
- $$
- Required: Python Library reference,
http://docs.python.org/library/
- $$
- Required: Using Python,
http://docs.python.org/using/
-
- $$
- Required: Python Ogre Tutorials,
http://wiki.python-ogre.org/index.php/Tutorials
- $$
- Required: Ogre Manual,
http://www.ogre3d.org/docs/manual/
-
- $$
- Required: Blender Wiki Manual,
http://wiki.blender.org/index.php/Doc:Manual
- Exam 1: Tentative: Feb 19, 2014
- Exam 2: Tentative: April 9, 2014
- Final Exam: Friday May 9, 2014, 2:45 - 4:45 am in SEM231B
Assignments require writing programs to integrate and ``glue''
existing and newly created components into a game engine. You will be
using the linux boxes in the Engineering Computing Center
(www.ecc.unr.edu) in SEM 231. Each programming assignment will come
with submission instructions.
The set of assignments will culminate in a 3D game engine that you
will use to build an exemplar 3D computer game.
- Late programming assignments or exercises will not be accepted
- Exams/Tests/Quizzes (if any) are individual efforts. A severe
penalty will be given for collusion or other form of academic
dishonesty. The usual penalty for academic dishonesty on assignments
or an exam is failure in the course.
- Assignments are individual efforts. Projects may be done in groups.
The rules for grouping and working on projects will be posted on the class website.
- For individual assignments, do not show, exchange, or copy code.
Using another person's code or having another person "ghost write" a
lab will be considered academic dishonesty. For group
projects, if you are in a group do not show, exchange, or
copy code outside your group.
- Students will be assigned letter grades. Your grade will be one of A, B, C, D, or F. We will use the +/- grading system.
- There will be a number of programming assignments. No late
assignments will be accepted.
- There will be one or two midterm exams and a final exam. Midterms take place
in your regular classroom.
- The Final Exam: is on Friday May 9, 2014 from 2:45 - 4:45 in SEM231B
- There will be announced and unannounced quizzes.
- Note: Failure in either the programming (assignments and
projects) component or the lecture component (exercises, quizzes,
and exams) will result in failure in the course.
Tentatively, your final grade will be based on:
|
|
Item |
Final Grade Percentage |
|
|
Midterm exams (10% each) |
 |
Assignments |
 |
Final Project |
 |
Quizzes and Exercises |
 |
This outline is approximately in order.
|
|
|
Topic |
Textbooks |
Lectures |
|
|
|
Introduction |
All |
1 |
Python Programming |
Python Tutorials |
4 |
Python Ogre Intro |
Python Ogre Tutorials |
2 |
Keyboard input |
Python Ogre Tutorials |
2 |
Camera Movement |
Python Ogre Tutorials |
1 |
Game Engine Architecture |
Notes |
1 |
Modeling |
Python Ogre Tutorials |
1 |
Physics F = ma |
Notes |
2 |
Unit AI |
Notes |
1 |
Potential Fields for Group Movement |
Notes |
1 |
Game Interaction, sound |
Notes |
2 |
Game Networking |
Notes |
2 |
Brainstorming a game |
Larry Dailey |
1 |
Designing and finishing a complete game |
None |
7 |
- Students demonstrate they can integrate existing components to build a 3D game engine
- Strategies and Actions:
- Lectures, assignments, and projects
covering the game engine architecture and existing game engine components in particular python ogre.
- ABET Criteria covered:
- (a) An ability to apply knowledge of computing, mathematics, science, and engineering.
- (k) An ability to use the techniques, skills, and modern
engineering tools necessary for engineering practice.
- Program Objectives covered:
- (2) Have peer-recognized expertise together with the ability to articulate that expertise as computer science professionals
- Assessment:
- Programming assignments and projects
- Test/Exams
- Students demonstrate they can learn and use ancillary tools in the pursuit of a broader project goal.
- Strategies and Actions:
- Point students to online tutorials for Blender - a
graphical modeling tool - and ask them to use the tutorials
to modify, texture, export, and incorporate 3D models into
their developing game engine.
- ABET Criteria covered:
- (a) An ability to apply knowledge of computing, mathematics, science, and engineering.
- (k) An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
- Program Objectives covered:
- (2) Have peer-recognized expertise together with the ability to articulate that expertise as computer science professionals
- Assessment:
- Assignments that deal with texturing, modifying, and importing models into python ogre.
Cheating, plagiarism or otherwise obtaining grades under false
pretenses constitute academic dishonesty according to the code of
this university. Academic dishonesty will not be tolerated and
penalties can include canceling a student's enrollment without a
grade, giving an F for the course or for the assignment. For more
details, see the University of Nevada, Reno General Catalog at
http://catalog.unr.edu/.
Any student with a disability needing academic adjustments or
accommodations is requested to speak with me or the Disability
Resource Center (Thompson Building, Suite 101) as soon as possible to
arrange for appropriate accommodations.
Your student fees cover usage of the Math Center (784-443 or
www.unr.edu/mathcenter/ ), Tutoring Center (784-6801 or
www.unr.edu/tutoring-center ), and University Writing Center (784-6030
or http://www.unr.edu/writing-center). These centers support your
classroom learning; it is your responsibility to take advantage of
their services. Keep in mind that seeking help outside of class is the
sign of a responsible and successful student.
Surreptitious or covert video-taping of class or unauthorized audio
recording of class is prohibited by law and by Board of Regents
policy. This class may be videotaped or audio recorded only with the
written permission of the instructor. In order to accommodate
students with disabilities, some students may have been given
permission to record class lectures and discussions. Therefore,
students should understand that their comments during class may be
recorded.
If I need to communicate with the class as group I will post a
message on our class web page. You are required to check the class web page
and your email every day.
CS 381: Game Engines and the Game Development Pipeline
This document was generated using the
LaTeX2HTML translator Version 2002-2-1 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 1 syl
The translation was initiated by Sushil Louis on 2014-01-21
Sushil Louis
2014-01-21