Teaching

UCSC GAME 235 — Game Development I

A Sampling of Student Projects

Computer software holds rich possibilities as an expressive and interactive medium, particularly in the areas of graphics and sound. Through the implementation and use of logic, data and mathematics in a structured way, creators are able to generate interesting and new ideas and interactive displays. These skills form the basis for computer game development or other computational media work.

Game Development I teaches students to create interesting interactive media experiences, most (though not all) being games. Students will also learn the fundamentals of computer programming using the JavaScript and Java programming languages and the p5.js/Processing development environments.


UCSC GAME 231 — Game Technologies

A Sampling of Existing Game Engines

Game Technologies provides an overview of various game engines in the field, i.e., Game Maker Studio 2, Gadot, Renpy, Phaser, Twine, A-Frame, Unity, and Unreal. This course introduces core concepts of each engine, compares/contrasts their benefits/weaknesses, and provides programming/game creation assignments to practice their usage.


Course Objectives:

  • Understand a wide variety of game engines in the field.

  • Be able to compare and contrast the advantages and disadvantages between game engines.

  • Feel comfortable picking up any new game engine and using it effectively.

  • Develop deeper understanding of key aspects of the Unity and Unreal game engines.


UCSC GAME 250 — Foundations of Serious Games

Foundations of Serious Games Taxonomy

Foundations of Serious Games provides an overview of the serious games field, including projects in various domains and using a multitude of design approaches. This course introduces the fundamentals of requirements analysis and efficacy measurement for the serious games field, and their connections to game and project design.


Course Objectives:

  • Understand concepts, the development lifecycle, and terminology related to serious games.

  • Be able to conduct requirements analysis, and recognize the role of stakeholders.

  • Develop prototypes of serious games in a variety of domains such as educational games, games for health, and persuasive games.

  • Perform assessments of usability and efficacy for target populations and outcomes.


UCSC CMPM/ARTG 179-02 & GAME 240 — Foundations of Alternative Controllers

Alternative Controllers: Designing Beyond the Joystick Logo

Alternative Controllers: Designing Beyond the Joystick provides an introduction to physical computing and interaction design for students interested in building alternative physical interfaces for games, toys, and other interactive experiences. In the course, students will study and discuss examples of existing interfaces, brainstorm various scenarios the technology can be used in, and apply that knowledge towards the design/creation of their very own alternative interfaces. In order to build their own interfaces, students will learn how to build prototypes that utilize a variety of switches and sensors in tandem with Arduino and Processing code to create novel interactions.

The syllabus for the course is available here.

Below are a few videos of some particularly fantastic games that came out of students' final projects in the course:


Playable Fashion Workshop

Instructor for a free teen program that explored the intersections between Fashion, Technology and Gaming with the goal of broadening accessibility of these areas for underrepresented populations. You can read more about the Playable Fashion Workshops at the EYEBEAM Website.


Creativity in Engineering, Science, and Technology (CrEST)

Instructor for after school program that introduced middle and high school students to circuity, electronics, mechanical systems, physical computing, robotics and other STEM disciplines through hands-on, lab-based demonstrations, experiments, and projects. You can read more about CrEST at the CrEST K-12 STEM Education Website.