Apr 27, 2024  
2022-2023 Course Catalog 
    
2022-2023 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CSCI 1011 - Introduction to Game Programming

Credits: 3
Hours/Week: Lecture 3 Lab None
Course Description: What goes into creating a computer game? This course, for students with no programming background, explores fundamental game elements such as sprites, basic animation, collision detection, event-response mechanisms, and sound. Students will use game development software to create complete games of varying complexity. By using programming scripts the games’ complexity will be limited only by the students’ imagination and ingenuity.
MnTC Goals
None

Prerequisite(s): None
Corequisite(s): None
Recommendation: Basic computer competency (use of keyboard, mouse, Windows).

Major Content
  1. History of computer games
  2. Skill set of a computer game developer
  3. Basic building blocks of a computer game
    a. Objects
    b. Sprites
    c. Events
    d. Sounds
    e. Scripts
    f. Rooms/levels
  4. Building a simple game
    1. Introduction to game development software
    2. Sprite creation
    3. Object creation
      1. Object attributes
      2. Object actions and interactions
    4. The “game loop”
    5. Event programming
    6. User interactions
    7. Generating randomly occurring events
  5. Game categories
    1. Building a maze game
    2. Building an action game
    3. Building a multi-player game
      1. Cooperative multi-player
      2. Competitive multi-player
  6. Intermediate-level programming topics
    1. Using inheritance to simplify object creation
    2. Using a controller object
    3. Creating scripts to extend the capabilities of the game development system
      1. Creating functions
      2. Using variables, decisions and loops
      3. Incorporating scripts into the game
      4. Debugging scripts 
– Plus one of the following at the discretion of the instructor –
  1. Introduction to other game development environments
    1. Introduction to other game development environments
      1. Comparison of popular game development programming languages
        1. C/C++
        2. Java
        3. C#
        4. Blitz Basic
        5. Dark Basic
      2. Game engines
        1. What a game engine is
        2. Comparison of popular game engines in use
–OR–
 
  1. The future of computer games
    1. Game immersion and where it is headed
    2. Games as teaching/learning tools
    3. Games as simulators
    4. Games as healing tools
    5. Social impact of games
      1. Do violent games foster aggressiveness?
      2. Are games addictive?

Learning Outcomes
At the end of this course students will be able to:

  1. Extend the complexity of a games logic through the use of scripts
  2. Explain why scripting is necessary to extend a game development systems capabilities
  3. Employ inheritance to simplify the creation of related game objects
  4. Identify the key programming elements used in the development of a computer game
  5. Construct games that include multiple rooms and levels
  6. Create multi-player games
  7. Create complete examples of arcade-style games using a game development utility

Competency 1 (1-6)
None
Competency 2 (7-10)
None


Courses and Registration



Add to Portfolio (opens a new window)