bus 3d Game Programming - Spr 2009

3D Game Programming using Microsoft's XNA Game Studio 2.0 Syllabus
29 January 2009 *upd*

CS 596 3d Game Programming for Simulation

Prerequisites: CS 310 Data Structures or equivalent programming experience

Text: Beginning XNA 2.0 Game Programming by Lobao, Evangelista and Farias, APRESS 2008 http://www.apress.com/book/view/1590599241 From Novice to Professional

Instructor: Professor Kris Stewart, GMCS 535
Phone: 4-7243 Dept Phone 4-6191
Office hours: Tues/Thurs 11a-noon 2:30-3:30 and by appt
Email stewart@rohan.sdsu.edu Be sure to put CS 596 and topic in subject field
Website: Class will use Blackboard extensively

Classroom/Lab: AH1112; Student PC Lab: GMCS 425

Class meets in AH112 to work with notebook computers with installed XNA software Thurs 29 Jan 2009. Still waiting on PC lab GMCS 425 to be set up.

Course Goals:

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

  1. Programming in C#
  2. 3d models of players, vehicles, items, and structures
  3. 2d and 3d graphics, audio and music; graphical user interfaces and menus
  4. Environmental effects
  5. Outdoor terrain

Student Learning Outcomes:

  1. Students use the large, complex software environment provided by the game engine to develop their Object Oriented Programming skills through scripting.
  2. Students develop communication skills through course exercises and assignments to be able to describe a complex software project to a general audiences.
  3. Students work effectively as a member of a group to create a software product.
  4. Students learn the capabilities and responsibilities of using the campus computer network and computer labs.

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

Class Schedule Description: Note changes
Framework for 3-d game development with identification of roles needed in development team. Development of programming skills with C# and XNA and examination of 3-d concepts for game modeling and programming. Creation of 3-d models with animation using MilkShape 3D, Blender, Maya or 3dStudioMax. Use of C# and XNA Game Studio for control of 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: 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.

Grading Rationale:

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

Quizes on textbook and Bb reading materials
An individual starting game project
An individual research paper
Lab activities and hands-on performance tests
In-class assignments, homework, and class participation
A group final game project (due on Final Exam date: Thur 21May2009)

The breakout for grades is as follows:

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 con versation 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.

The verification of originality by Blackboard's Safe Assign will be used to verify your individual research paper.

Turning in Work: Be sure to include your name and the course name 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 discretion.

Research Report: NOTE: The instructor will use Blackboard's Safe Assign to verify originality):
Good communication skills, both oral and written, are a widely recognized needed skill 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 of their individual game in class.

Students agree that by taking this course all required papers may be subject to submission for textual similarity review to Blackboard's Safe Assign system 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 id entifying information about you is included. Another option is that you may request, in writing, that your papers not be submitted to SafeAssign. 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.

Guidelines for Papers (Research Report & Project Documentation)

Papers Goals: Success in your career will depend greatly on your written and oral communication skills. We recognize 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 class.

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 quot
es
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 I
D/section, student name, and date
Illustrations         welcome if of good quality
Cover Sheet           optional but suggested - should include topic, course I
D/section, student name, and date
Binders               Not needed

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.

Choice of Topic and 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.

You must identify your choice of research topic to the instructor via email to stewart@rohan.sdsu.edu once you have convinced yourself that you will have access to appropriate references to support to topic. Once you receive a confirmation from the instructor that your topic is appropriate, you should begin work. It is the student\222s responsible to ensure that the SDSU Library (or its interlibrary loan facility) will make available the resources you need. You must turn in a hard copy of your research report during class meeting as well as an electronic copy (that will be entered into the SDSU SafeAssign system to verify originality.

infodome.sdsu.edu/research/evaluate/packages.shtml Information Packages; and
infodome.sdsu.edu/research/evaluate/evaluate.shtml Evaluating Sources of Information should be consulted to ensure your research is authentic.

Suggested Research Report 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\227includes 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 (prior to working on a topic of your own, you must give the instructor your title, a brief description and a sample of the references you will be using. this must be acknowledged by instructor before starting. )