Syllabus – * 2 Upd * 23Jan06
3D Game Programming All In One

Course ID

CS 596

Title

3d Game Programming for Simulation

 

Term / Year

Spring 2006

Section

 

 

Prerequisites

CS 310 Data Structures or equivalent

 

Text

3D Game Programming All In One, First Edition, ISBN: 159200136X

 

Instructor

Kris Stewart

Classroom

AH1112

 

Phone

4-7243

Dept Phone

4-6191

 

Email

stewart@rohan.sdsu.edu

Website

www.stewart.cs.sdsu.edu/cs596-3dprog/

 

Office Location

GMCS 535

Office Hours

MW 3:30-4:30 & by appt

 

Finals:

Written

15May06 1pm

Hands-on

GMCS Labs (TBD) & AH1112

 

Course Rationale:

To provide an opportunity for students to obtain the knowledge and skills necessary to create 3D multiplayer games incorporating:

·         3D models of players, vehicles, items, and structures

·         2D and 3D audio and music; graphical user interfaces and menus

·         UV wrapped textures and skins

·         Environmental effects

·         Outdoor terrain

 

Course Objectives:
Upon conclusion of this course, students will be able to:

·         Create client-server scripts using Torque Script

·         Create game play features using Torque Script

·         Create 3D models using Milkshape

·         Create 3D structures with interiors using QuArK

·         Record Audio Effects using Audacity

·         Create Textures for skins using Paint Shop Pro

·         UV-wrap textures using UV Mapper

·         Integrate art and models into a game world using Torque Script

 

Catalog Description:

Framework for 3-d game development with identification of roles needed in development team. Development of programming skills with Torque Script and examination of 3-d concepts for game modeling and programming. Creation of 3-d models with animation using MilkShape. Use of Torque Game Engine for control objects and interactions in 2-d and 3-d game world.

 

Attendance:

Students are expected to be present and punctual for all scheduled classes and labs.

 

Dropping a Class (* Upd - 1 *):

The student is responsible for understanding the procedure for dropping a class. If you fail to attend classes but do not follow the procedure for dropping the class, you may receive a failing grade.  SDSU has a Faculty-Initiated Drop for Non-Attendance policy http://www.sdsu.edu/schedule/spring06/schedule_courserestrict.html#drop allowing the instructor to drop students who miss the first day of class and the beginning of the second class meeting.  To reenroll, students must receive an add code from instructor within the first 15 days of the semester.  Due to the course filling quickly and the large number of students requesting to add, this policy will be enforced.

 

Grading Rationale:

In this class, students will be evaluated according to performance in the following categories:

·         Three exams

·         Quizzes at the instructor’s discretion

·         Lab activities and hands-on performance tests

·         In-class assignments, homework, and class participation

·         A research paper and oral presentation

·         A final exam

 

The breakout for grades is as follows:

·         Exams, quizzes, research paper, and presentation                  30%

·         Homework, labs, and hands-on performance tests                                30%

·         Final                                                                                               20%

·         Participation and in-class assignments                                    20%

 

Grade achievement levels are as follows:

Grade                                      Range

A                                             90%+

B                                             80-89%

C                                             70-79%

D                                             60-69%

F                                              0-59%

 

Special Accommodations:

If you have a special learning need or issue, it works to your advantage to notify your instructor immediately if special devices or assistance will help you in this class.  Students are required to provide documentation of disability to Disability Support Services prior to receiving accommodations.

 

Classroom Etiquette:

Pagers and cell phones will be turned off or set to vibrate mode during class. Please show courtesy to the class by restricting conversation to in-class topics, and raise your hand to gain attention when asking a question or raising a point of discussion.

 

Academic Honesty:

The college experience is founded on the concepts of honesty and integrity.  Dishonesty, cheating, plagiarism, or knowingly furnishing false information to the college are regarded as particularly serious offenses.  Cases of dishonesty will be handled by levying certain penalties. However, in flagrant cases, the penalty may be dismissal from the college after proper due process proceedings.

 

Turning in Work:

Be sure to include your name and the course name and section on all work to be turned in.

 

Late Coursework:

All assignments are to be turned in on the due date. Late work may be accepted at the instructor’s discretion.

 

Research Project (using Turnitin to verify originality) * upd-2 * :

Communication skills, both oral and written, are a widely recognized issue in the field of information technology. Many proficient technicians have limited skills in communicating with coworkers and end users. Our goal is to address these issues by having each student provide a written research paper and an oral presentation in class. See the attached document, “Guidelines for Papers and Presentations” for topic ideas and general format rules. This class will be using Turnitin software (http://its.sdsu.edu/turnitin):


Guidelines for Papers and Presentations

 

“Students agree that by taking this course all required papers may be subject to submission for textual similarity review to Turnitin.com for the detection of plagiarism. All submitted papers will be included as source documents in the Turnitin.com reference database solely for the purpose of detecting plagiarism of such papers. You may submit your papers in such a way that no identifying information about you is included. Another option is that you may request, in writing, that your papers not be submitted to Turnitin.com. However, if you choose this option you will be required to provide documentation to substantiate that the papers are your original work and do not include any plagiarized material.”

 

Papers

Goals:

Success in your career will depend greatly on your written and oral communication skills.  Our school recognizes the need for students to develop proficiency in these skills, and requires all students to submit a research paper and provide an oral presentation in each class in this department.

 

Format:

·         Length                           5 – 7 pages, excluding illustrations and bibliography

·         Margins                         1.5” top, 1" left, right, and bottom

·         Spacing                          double-spaced for normal text, single-spaced for long quotes

·         Font Size                        10 - 12 point

·         Font Styles                    Times New Roman or Courier

·         Illustrations                   welcome if of good quality

·         Cover Sheet                  optional but suggested – should include topic, course ID/section, student name, and date

·         Binders                          NOT USED

 

Topics:

See the list of suggested topics below. You will base your presentation on your research paper topic.

 

Attribution:

All works and illustrations used in your paper must be cited; this means crediting the source where you found the information you used to support your work. If you fail to give credit for copyrighted information you present as your own work that constitutes plagiarism, and will be penalized by a zero for the project.

 

Citing Sources:

·         Works used – This is the source material you used to support your research project.

·         Works consulted – You probably looked at many sources before you located usable material, and you deserve credit for this research. Your work will be considered for credit for works consulted; list your preliminary sources as consulted works.

 

Presentations

Goals:

·         Display your ability to research and deliver information as a career skill. Creative presentation ideas are welcome; use your imagination!

·         Develop public speaking skills. If you have stage fright, this is the best way to overcome it!

·         Play the part of instructor. Instructing others will be a part of your career. Oddly enough, some people even enjoy teaching!

 

Format:

Length                                   10 to 15 minutes. Rehearse and time your presentation

Visual Aids                           Use of slideshows and the whiteboard are strongly encouraged

Handouts                              Acceptable if of lasting value–create something students can use later

 

Attribution / Citations:

You took care of these in your paper.  List your sources in your presentation, or offer to share them with the class.

 

Closing the Presentation:

When you have finished your presentation, remember to ask the courtesy question: "Are there any questions?"

 

Suggested Research Paper Topics

1.        The history and evolution of computer game genres.

2.        Similarities and differences between the computer game industry and the motion picture industry.

3.        Comprehensive study of total effort expended creating a single modern 3D game—includes estimates of effort expended creating all of the tools, utilities, and host software (ie. Compilers, Editors, Operating System) used by the game development team.

4.        Shader Technology. How it works, why it's good, what the future holds.

5.        Optimizing Scene Graphs. How to get more bang for your rendering buck.

6.        High-bandwidth, low-latency networking schemes for real-time applications.

7.        Demographics of computer game players and developers.

8.        Security vs. Performance: Effective Anti-Cheat measures in Online Games.

9.        Study of Online Game World Player Cultures.

10.     Comparison of popular MMORPG populations and game play styles.

11.     Artificial Intelligence Techniques suitable for use in computer games.

12.     Game Realism: What factors have greatest immersive effect (graphics, input devices, audio, artwork, etc).

13.     Mathematical models for vehicle simulations.

14.     Establishing mood through sound effects and music.

15.     Establishing game "story" using pacing, challenges, and dramatic tension.

16.     Social interaction and multi-player games: inside the game; outside the game.

17.     The Walter Mitty Factor in computer games.

18.     Anonymity and Online Personas: Healthy Escapism or Harmful Posturing?

19.     Online game economies.

20.     Using Game Engines for industrial, military, and academic applications.

21.     Modeling weather and other environmental factors in games: emulation or simulation?

22.     Real-time photo-realism in computer games. I want my Holodeck, and I want it now!

23.     The future of Independent Game Development. The future of computer games, or a flash-in-the-pan?

24.     Elective topic                                                                                                                               


Sample Course Outline (14 week term)

 

Course Matrix

 

Timeline

Topics

Reading

Lecture & Discussion

Homework

Labs

(HOP)

Quizzes & Exams

Week 1

Introducing to 3D Game Development

(Unit A)

Chapter 1

 

 

Course intro, review of text, syllabus, & lab issues.

Discuss Industry, Elements of 3D Games, Torque.

·          Chapter 2

·          Project Topic Selection

 

 

 

 

Week 2

Introduction to Programming

(Unit B)

Chapter 2

Demonstrate UltraEdit-32, Programming Editors, Description of how software controls computers, Discussion of basic programming concepts

·          Chapter 3

 Set 1

 

Week 3

3D Concepts

(Unit C)

Chapter 3

 

 

Describe coordinate systems, constructing models, rendering and transformations, programming.

·          Chapter 4

·          Chapter 5

Set 2

Quiz #1

Week 4

Game Programming

 

Game Play

(Unit D)

Chapter 4

 

Chapter 5

Discuss Torque Script. Describe game structure. Lead discussion of client vs. server design issues. Highlight code changes for Emaga5 vs. Emaga4 and why they are needed.

·          Chapter  6

·          Chapter  7

Set 3

Test #1

Week 5

Network

 

Common Scripts

(Unit E)

Chapter 6

 

Chapter 7

Lead discussion about messaging and ways it can be used. Discuss uses for Master Server concept. Highlight code changes for Emaga6. Lead discussion regarding Common code base vs. Control code - design decisions that lead to each.

·          Chapter  8

·          Chapter  9

Set 4

 

Week 6

Introduction to Textures

Skins

(Unit F)

Chapter  8

 

Chapter  9

Demonstrate Paint Shop Pro and major features. Describe UV Unwrapping and skinning process. Demonstrate.

·          Chapter 10

·          Chapter 11

Set 5

Quiz #2

Week 7

GUI Elements

 

Structural Material Textures

(Unit G)

Chapter  10

 

Chapter  11

Describe various GUI controls, demonstrate the Torque GUI editor, and show relationship to .GUI file type contents.

Segue discussion to structures and textures. Lead student discussion of sources of textures for use in games.

·          Chapter 12

·          Chapter 13

Set 6

Midterms

Week 8

Terrains

 

Modeling with Milkshape

(Unit H)

Chapter  12

 

Chapter  13

Describe terrain in gaming context. Relate real-world terrain to uses in game. Discuss fidelity, spread, and freedom of terrain.

Demonstrate Modeling with Milkshape. Demonstrate using the UVMapper Tool. Lead discussion of modeling techniques.

·          Chapter 14

·          Chapter 15

Set 7

 

Week 9

Character Models

 

Vehicle Models

(Unit I)

Chapter 14

 

Chapter 15

Describe character modeling issues. Lead discussion on which techniques are suited to modeling which parts of a character.

Describe vehicle modeling issues. Lead discussion on which techniques are suited to modeling which parts of a vehicle.

·          Chapter 16

·          Chapter 17

Set 8

 

Week 10

Weapons and Items

 

Structures

(Unit J)

Chapter 16

 

Chapter 17

Describe the various types of useful game items to be modeled. Lead discussion of which modeling techniques work best for which items or types of items.

Demonstrate Quark. Describe when to use CSG models versus low-poly models.

·          Chapter 18

·          Chapter 19

Set 9

Quiz #3

Week 11

Game World Environment

Programming Sound

(Unit K)

Chapter 18

 

Chapter 19

Describe the various environmental aspects of games that can be modeled, and why they are needed.

Demonstrate Audacity, and lead discussion of where and when sound effects are useful in games.

·          Chapter 20

·          Chapter 21

Set 10

Test #3

Week 12

Sound and Music

 

The Game Mission

(Unit L)

Chapter 20

 

Chapter 21

Describe in detail some of the more mundane sound effects (like footsteps) and why they are important. Lead discussion about the use of music in games - where, when, why, how.

Describe utility of requirements specifications. Demonstrate the Mission Editor.

·          Chapter 22
·          Chapter 23