Game Programming - CS3540 - Course Schedule

January 8, 2019 - Introduction

 

Additional reading and resources

Unity - Interface & Essentials: Using the Unity Interface (only 1-7)
Unity - Interface & Essentials: Essential Unity Concepts (only 1-4)
Unity - Scripting: Scripts as Behaviour Components
Unity - Scripting: Awake and Start
Unity - Scripting: Update and FixedUpdate
Unity - Scripting: GetButton and GetKey
Unity - Scripting: GetAxis
Unity - Scripting: GetComponent
Unity - Scripting: Delta Time
Unity - Scripting: Instantiate
Game Programming Patterns - Component

 

Assignment: A01 - Game Development Foundations and Setup

Assignment Due:  - A01 Due on 18 January 2019 at 9:00PM

Project Proposal: Due on 22 January 2019 at 9:00PM

 

January 11, 2019 - Vectors and Transformations

 

Additional reading and resources

Mukundan, Chapter 1: Introduction
Mukundan, Chapter 2: Mathematical Preliminaries (only 2.1 - 2.2, 2.6)
Homogeneous Coordinates

Homogeneous coordinates Resource 2

Homogeneous coordinates Resource 3
Unity - Scripting: Vector Math
Unity - Scripting: Translate and Rotate


 

 

January 15, 2019 - 3D rotations and Scene Graphs

Additional reading and resources

         Mukundan, Chapter 5: Quaternions (only 5.1 - 5.2, 5.4 - 5.5)

Mukundan, Chapter 3: Scene Graphs (only 3.1 - 3.7)
- (note: for practical purposes, group nodes may contain geometry)
Mukundan, Chapter 6: Kinematics (only 6.1 - 6.2, 6.4 introduction, 6.4.1)

Unity - Scripting: Quaternions

 

 

 

 

January 18, 2019 - Game Design Foundations and Playtesting

 

Additional reading and resources

The Chemistry Of Game DesignFlow theory (only 1-6)

Self-determination theory (only 1-2)

Thinking Aloud: The #1 Usability Tool Game Programming Patterns - Game Loop

Game Programming Patterns - Update Method

Scene Graph

 

 

Assignment:  A02 - Player controls and interaction

Assignment Due:  - A02 Due on 1 February 2019 at 9:00PM

 

 

January 22, 2019 - Sprites

 

Additional reading and resources

Unity - 2D Mode: Unity for 2D (only 2-6)
Mukundan, Chapter 2: Mathematical Preliminaries (only 2.3, 2.8)
Texture mapping (only 1)
UV mapping


 

 

Project Proposal - Due today at 9:00PM

 

 

January 25, 2019 - Meshes

 

Additional reading and resources

Mukundan, Chapter 8: Mesh Processing (only 8.1 - 8.5)
Unity - Graphics: Geometry in Unity
Sprites

 

 

 

January 29, 2019 - Curves

 

Additional reading and resources

Mukundan, Chapter 2: Mathematical Preliminaries (only 2.5)
Mukundan, Chapter 7: Curves and Surfaces (only 7.1 - 7.6)

 

Project Checkpoint1 Due on 15 February 2019 at 9:00PM

 

February 1, 2019 - Skeletal Animation

 

Additional reading and resources

Mukundan, Chapter 4: Skeletal Animation (only 4.1, 4.3 - 4.7)
Mukundan, Chapter 5: Quaternions (only 5.6)
Unity - Animation: Animating (only 1-3)
Unity - Animation: Controlling Animation
Curves and Meshes

 

Assignment:  A03 - Character Modeling and Animation

Assignment Due:  - A03 Due on  15 February 2019 at 9:00PM 

 

 

February 5, 2019 - Animation Principles 

 

Additional reading and resources

12 basic principles of animation
THE ILLUSION OF LIFE
Unity - Audio: Audio Setup

 

Project Checkpoint1 Due on 15 February 2019 at 9:00 PM

 

February 8, 2019 - Projections and Rasterizing

 

Additional reading and resources

OpenGL Programming Guide: Viewing - Projection Transformations
OpenGL Programming Guide: Viewing - Viewport Transformation
Bresenham's line algorithm
Software Rasterization Algorithms for Filling Triangles
Animation

 

 

February 12, 2019 - Lighting and Graphics Pipeline

 

Additional reading and resources

The Phong Model and the concepts of Illumination Models and BRDF
Unity - Introduction to Lighting and Rendering(only 1-3)
Unity - Rendering and Shading (only 1-7)
Unity - Materials, Shaders & Textures
Unity - Vertex and fragment shader examples
Game Programming Patterns - Double Buffer

Project Checkpoint1 Due on 15 February 2019 at 9:00PM

 

 

February 15, 2019 - Collision Detection, Rigid Bodies, and

Particle Systems

 

Additional reading and resources

Coutinho, Chapter 3: Particle Systems (only 3.1 - 3.3)

 

Additional reading and resources

Mukundan, Chapter 9: Collision Detection (only 9.1.1 - 9.1.2, 9.2.1, 9.2.3, 9.3 - 9.5)
Unity - Physics: Colliders
Unity - Physics: Colliders as Triggers
Unity - Physics: Collider 2D
Game Programming Patterns - Spatial Partition
Rendering

Coutinho, Chapter 1: Dynamic Simulations (only 1.1 - 1.3)

Unity - Physics: 3D Physics (only 3-9)

Unity - Physics: 2D Physics (only 1-2, 4-9)

Physics

 

Assignment:  A04 - Game Physics and Racing Mechanics

Assignment Due:  - A04 Due on 1 March 2019 at 9:00 PM

 

February 19, 2019 - No class

 

February 22, 2019 - Project PlaytestingProject Checkpoint 1

                 Project Checkpoint1 Due Today at 9:00 PM

 

 

 

February 26, 2019 - Tree and Graph Search

 

Additional reading and resources

Yannakakis, Chapter 2: AI Methods (only 2.1, 2.3)

Introduction to A*Unity - Navigation: Navigation Basics (all)

 

 

 

 

March 1, 2019 - Finite State machines and Behavior Trees

 

Additional reading and resources

Yannakakis, Chapter 2: AI Methods (only 2.2)

Behavior trees for AI: How they work

Game Programming Patterns - StateNavigation

 

Assignment:  A05 - Pathfinding and Graph Search

Assignment Due:  - A05 Due on 17 March 2019 at 9:00 PM

 

Project Checkpoint 2 Due on 22 March 2019 at 9:00 PM

 

 

March 5, 2019 - Spring break

March 8, 2019 - Spring break

 

March 12, 2019 -  Behavior Trees Continuation

 

Assignment: A06 - NPC AI - Finite State Machines and Behavior trees

Assignment Due:  - A06 Due on 19 March 2019 at 9:00 PM

 

March, 15, 2019 - Flocks and Crowds

 

Additional reading and resources

Flocks, Herds, and Schools: A Distributed Behavioral Model

Continuum Crowds

 

 

March 19, 2019 - No class (I will be attending "Games User research Summit (GUR-2019)")

 

March 22, 2019 - Project Playtesting and checkpoint2

             Project Checkpoint2 Due Today at 9:00 PM

    Project final is due on 16 April 2019 at 9:00 PM

 

March 26, 2019 - Human Computation Games - Guest lecture by Prof. Seth Cooper

 

Additional reading and resources

Labeling images with a computer game

The challenge of designing scientific discovery games

 

 

March 29, 2019 - Procedural Content Generation

Additional reading and resources

Yannakakis, Chapter 4: Generating Content

Assignment: A07 - Procedural Content Generation and Game Analytics

Assignment Due:  - A07 Due on 5 April 2019 at 9:00 PM

 

 

 

April 2, 2019 - Game Analytics

 

Additional reading and resources

Seif el-Nasr, Chaper 9: Sampling for Game User Research
Seif el-Nasr, Chaper 17: Spatial Game Analytics

Project final is due on 16 April 2019 at 9:00 PM

 

April 5, 2019 -  Augmented Reality

 

Additional reading and resources

 

Assignment: A08 - Augmented Reality

Assignment Due:  - A08 Due on 12 April 2019 at 9:00 PM


April 9, 2019 -  AR continuation and FSM coding

 

April 12, 2019 -  Revision and AR grading

 

April 16 , 2019 -  Project Presentations

Project final is due today at 9:00 PM