Courses Taught
Years: 2001 – present
Description: This course covers core
subject matter common to the fields of robotics, character
animation and embodied intelligent agents.
The intent of the course is to provide the student with a solid
technical foundation for developing, animating and controlling
articulated systems used in interactive computer games, virtual
reality simulations and high-end animation applications.
The course balances theory with practice by "looking
under the hood" of current animation systems and authoring tools
and examines the technologies and techniques used from both a
computer science and engineering perspective. Topics covered
include: geometric coordinate systems and transformations;
quaternions; parametric curves and surfaces; forward and inverse
kinematics; dynamic systems and control; computer simulation;
keyframe, motion capture and procedural animation;
behavior-based animation and control; facial animation; smart
characters and intelligent agents.
CIS660 Advanced Topics in Graphics and Animation
Years: 2002 – present
Description: The goal of the course is to
review state-of-the art research in the fields of computer
graphics and animation as well as provide students with working
knowledge of how to convert theory to practice by developing an
associated graphics/animation authoring tool. Working in teams
of two, students will design and develop an authoring tool that
that facilitates the creation of a new type of user interaction,
animation/simulation capability or 3D graphics special effect.
Research papers published in the SigGraph Confere
CIS564 Game Design and Development
Years: 2004 – present
Description: The intent of the
course is to provide students with a solid theoretical
understanding of the core creative principles, concepts, and
game play structures/schemas underlying most game designs.
The course also will examine game development from an
engineering point of view, including: game play mechanics, game
engine software and hardware architectures, user interfaces,
design documents, play-testing and production methods.
CIS568 Game Design Practicum
Years: 2004 – present
Description: The
objective of the game design practicum is to provide students
with hands on experience designing and developing 3D computer
games. Working in teams of three or four, students will
brainstorm an original game concept, write a formal game design
document then develop a fully functional prototype consisting of
a playable level of the game. In addition to
creation of original art and animation assets for the game,
technical features to be designed and implemented include a
novel game mechanic and/or user interaction model, game physics
(i.e. particle systems and rigid body dynamics), character
animation, game AI (i.e. movement control,
path planning, decision making, etc.), sound effects and
background music, 2D graphical user interface (GUI) design and
optional multiplayer networking capabilities.
Consistent with standard industry practices, game code and logic
will be written using C++ and popular scripting languages such
as Python and Lua. State-of-the-art game and
physics engine middleware also will be used to expose student to
commercial-grade software, production methodologies and art
asset pipelines. As a result of their game
development efforts, students will learn first hand about the
creative process, design documentation, object-oriented software
design and engineering, project management (including effective
team collaboration and communication techniques),
design iteration through user feedback and play-testing,
and most importantly, what makes a game fun to play.
CSE377 Virtual World
Design – With Norm Badler
Years: 2001 – 2004
Description: The goals of this
course are three-fold: 1) to become familiar with concepts for
thinking about and speaking about the design, construction, and
social ramifications of innovative, interactive, virtual
environments and scenarios, 2) to be exposed to the challenges
of combining programming, imagery, and sounds to make a
functional game that others can learn and play and/or spaces
that others can explore and discover meaningful relationships
through a carefully well-coordinated or artificially intelligent
juxtaposition of sensorial elements, and 3) to practice and
experience real-world scenarios by working in groups with
deadlines. Learning about how project management can make it
happen more successfully is key.