DESMA 171: Games With Intelligent Agents
Winter 2017, UCLA Design Media Arts
Monday, Wednesday 2:00PM – 4:45PM
Broad Art Center room 4220
Professor: Eddo Stern
TA: Stalgia Grigg

Class Description: The course will focus on the creation of computer games with Intelligent Agents. The primary goal of the course is learning the techniques and concepts involved in designing and developing a computer game with sophisticated computer controlled agents. Students will acquire an understanding of computer programming in the Unity Game engine using the C# programming language. Additionally, the course will introduce selected topics in Artificial Intelligence for Games through lectures and exercises.

Attending Visiting Lectures: We will be incorporating attendance and feedback to the DMA visiting lectures as part of the requirements for the class. There are three(or four) DMA sponsored lectures this quarter that overlap with our class topics: Eric Hirshberg (Activision), Mark Essen (Indie Games), Daniel Landau (Virtual Reality) and most likely a workshop with Blast Theory (Augmented Reality Games). Students in the class are required to attend and write a 1-2 page response for two of these lectures.


  • 8 x Assignments: (40%)
  • Midterm (10%)
  • 2 x DMA Visiting Lecture Attendance and Notes (10%)
  • Final Project (30%)
  • Class Participation (10 %)

Weekly Assignments, Lecture Notes and Midterm are graded based on these parameters:

  • punctuality
  • attention to detail/craft (coding bugs, visual artifacts, spelling)

Final Projects are graded based on these parameters:

  • project scope/ambition/amount of work
  • originality
  • attention to detail/craft (bugs, visual artifacts, spelling)
  • punctuality

All assignments must be submitted before the beginning of class time on the day they are due unless a midnight deadline is indicated (as 24:00). Late projects and assignments will be penalized by one letter grade per day they are late.

More than two absences without the professor’s prior permission will lower the participant’s final grade by one unit (e.g. an A will become an B). With each additional unexcused absence, the grade will drop an additional unit. Late projects will drop one letter grade, and will not be accepted if more than one week late.

15 minutes late will officially count as as being late, 3 lates count as an absence. Students arriving more than an hour late to class will be considered absent.

Required Text:
Hocking, Joe. Unity in Action: Multiplatform Game Development in C# with Unity 5. Manning Publications 2015
(Available for purchase on Amazon Prime and other sellers online. a reference copy available in the UCLA Game Lab)

Optional Texts:
Chan, Jamie. Lean C# in one day and learn it well.CreateSpace Independent Publishing Platform 2015
Millington, Ian; Funge, John. Artificial Intelligence for Games (second Edition).CRC Press 2009

Required Materials:

  • We will be working with the Unity(v5) game engine and any combination of image making and 3D software of your liking.
  • A 3 button Mouse is highly recommended for working in Unity




171 Weekly Schedule:

Schedule color key:
Magenta : something is due
Red : No Class
Blue : Class Lecture
Green : Visiting Lecture

Week 1 Monday: January 9
Class Introduction
Unity Interface
Introduction/Overview of Unity Interface
DUE – Unity Software Installed, Book Acquired
Wednesday: January 11
Building an environment with code
Bringing in your own assets
DUE: Assignment 1 – Chapt. 1, 2, 4 
Week 2 Monday: January 16
Wednesday: January 18
Traits of Wandering AI, Styling Environment, Particles
Design Wandering behavior
DUE: Assignment 2 –  Chapt. 3 
Week 3 Monday: January 23
Getting/Making Animations and using them in Unity
Animating Avatar and wandering character / animation state machine
DUE: Assignment 3 – Chapter 7.1- 7.3 (Optional: 7.4-7.5 )
(Tues Jan 24nd Lecture: Eric Hirshberg)
Wednesday: January 25
User Interface (UI) , Sound
DUE Assignment 4 – Chapt. 6
Week 4 Monday: January 30
Finite state machine, String Comparison
Building a finite state machine for NPC, communicating with the NPC
Wednesday: February 1
Communicating through UI with AI
DUE: Design images for your AI to use
to communicate
Week 5 Monday: February 6
Persistent Game State, Loading and Saving
DUE: Assignment 5 – Chapt. 8
(Tuesday February 7 Lecture: Mark Essen) 
Wednesday: February 8
Midterm review
Go over Midterm Glossary
DUE: Assignment 5.5 – Prefab Asset
Week 6 Monday: February 13
Eddo AI Overview
Show AI Game and Art Examples
Final Project Explanation
(mind maps/character names/code/builds/video documentation)

DUE: Assignment 6- Final Midterm Builds
DUE: Assignment 7- Midterm Glossary PDF

Wednesday: February 15
More AI Overview
Final Project Poster Session
DUE: Assignment 8 – MindMap Posters
Week 7 Monday: February 20
Presidents Day (NO CLASS)
Wednesday: February 22
Work in Class
 DUE: Assignment 9 – Game Design Document
Week 8 Monday: February 27
3D Characters
Adeline Ducker (3D Animation + 3D texturing in Photoshop)
Work in Class
(Tuesday February 28: Lecture: Daniel Landau)
Wednesday: March 1
Work in Class
Adam Ferris (Neural Nets)
Blast Theory (Class Visit)
(Friday March 3: Blast Theory Workshop)
Week 9 Monday: March 6
Work in Class
Wednesday: March 8
Work in Class
Week 10 Monday: March 13
Work in Class
Wednesday March 15
DUE: Final Projects