3D Game Programming using Microsoft's XNA Game Studio 2.0 Syllabus
22 January 2009

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 3:30-4:15p amp; 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 GMCS 425 Thurs 29 Jan 2009 to distribute PC accounts and ensure that connectivity between notebook/tablet computers in AH1112 and department file server ("cathouse") are understood. You are evaluated based on materials you turn in on the CS Department system in GMCS 425 and thru Blackboard/online.

Course Goals:

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

  • Programming in C#
  • 3d models of players, vehicles, items, and structures
  • 2d and 3d graphics, audio and music; graphical user interfaces and menus
  • Environmental effects
  • 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:

  • Create client-server scripts using Visual C# 2005 and XNA 2.0
  • Create game play features using Visual C# 2005 and XNA 2.0
  • Obtain, evaluate and incorpoate 3d models or Create 3d models with 3d tools
  • Obtain, evaluate and incorpoate 3d structures or Create 3d structures with interiors using QuArK
  • Integrate art and models into a game world
  • 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 following 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 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.

    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’s 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 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.”

    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.

    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 needed
    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’s 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—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 
    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.)