|
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):
“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.”
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.
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
|
Timeline |
Topics |
|
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 (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 |