Procedural Content Generation (Game Design Practicum)

Procedural Content Generation (PCG) is a game design technique that leverages programming to amplify human creativity. Learn how artificial intelligence, mathematics, and software engineering can let us create games with vast and beautiful worlds. This course will bust the superficial myths in PCG around “infinite” content/replayability or “replacing” human design time/costs. It will expose new opportunities for bending game platform limitations and enabling designs unreachable without generative techniques. Learn to use generative grammars, genetic algorithms, and even some of the latest deep machine learning ideas to generate images, music, and level designs.

In this lecture-style course, students will respond to readings (including texts, videos, and games) on PCG from both the academic world and the world of craft practice (e.g. indie designers). Technical programming assignments in JavaScript will offer opportunities for unique expression, and a final creative programming project will contribute to the student’s media portfolio. Group work will be encouraged (and required for the final project), so invite your friends to enroll as well.

This course is offered to all students in BSOE meeting the following requirements. Get a permission code in-person during the first week of class if you aren’t able to enroll directly.
- At least CMPS 12B level programming with demonstrated media creation experience (e.g. CMPM 80K or equivalent outside experience)
- At least CMPS 101 level programming without media creation experience

DRC Procedures

UC Santa Cruz is committed to creating an academic environment that supports its diverse student body. If you are a student with a disability who requires accommodations to achieve equal access in this course, please submit your Accommodation Authorization Letter from the Disability Resource Center (DRC) to me privately during my office hours or by appointment, preferably within the first two weeks of the quarter. At this time, I would also like us to discuss ways we can ensure your full participation in the course. I encourage all students who may benefit from learning more about DRC services to contact DRC by phone at 831-459-2089, or by email at drc@ucsc.edu.

Course Staff

Instructor: Adam M. Smith (amsmith@ucsc.edu)
Office hours Wednesdays 4-5pm E2-256. (Some time is available on Tuesdays for meetings by appointment.)

TA: Isaac Karth (ikarth@ucsc.edu)
Office hours Thursdays 3:20pm-5:20pm and Fridays from 11am-1pm E2-256.

Extra office hours for creative projects:

- Wednesday Dec 6, after class until 4:45pm.
- Monday Dec 11, 1pm-5pm

Main lecture: Kresge Classroom 327, MWF 02:40PM-03:45PM

Textbook

Tanya X. Short, Tarn Adams. (2017) Procedural Generation in Game Design Links to an external site..
ISBN 9781498799195 

Grading

30% reading (~25 items with quiz-style response writings)

40% programming (~7 1-week assignments)

30% creative project (details TBA)

Until finals week, late work is subject to a penalty of 10% per week applied to the maximum points available, not as a multiplier on the score. Additionally, there will be no late penalty for resubmissions of work that earned at least 20% of the available points by the original date. No late work will be accepted during finals week without prior arrangement.

Lecture Outline

F 9/29 L01: Course Introduction Links to an external site.

M 10/2 L02: Myths and Opportunities Links to an external site.
W 10/4 L03: Tech Introduction Links to an external site.
F 10/6 (no class, Adam at AIIDE)

M 10/9 (no class, Adam at AIIDE)
W 10/11 L04: AIIDE Trip Report / P1 Reflection Links to an external site.
F 10/13 L05: Images Links to an external site.

M 10/16 L06: Combinatorics, Randomness, and Hashing Links to an external site.
W 10/18 L07: Grids Links to an external site.
F 10/20 L08: Graphs Links to an external site.

M 10/23 Guest: Kate Compton
W 10/25 L09: Textual Grammars Links to an external site.
F 10/27 L10: Grammars in Time and Space Links to an external site.

M 10/30 L11: Missions and Spaces Links to an external site.
W 11/1 L12: Generate and Test Links to an external site.
F 11/3 L13: Genetic Algorithms Links to an external site.

M 11/6 L14: Course Feedback Survey & Live Programming Links to an external site.
W 11/8 L15: Representation Ethics and Framing Links to an external site.
F 11/10 (no class, Veteran’s Day)

M 11/13 L16: Discussion Links to an external site.
W 11/15 L17: Design Constraints Links to an external site.
F 11/17 L18: Ethical Use of Procedural Generation Links to an external site.

M 11/20 (no class)
W 11/22 Guest: Isaac Karth Links to an external site.
F 11/24 (no class, Thanksgiving Day)

M 11/27 L19: Creative Project Setup Links to an external site.
W 11/29 L20: WaveFunctionCollapse and Team Formation Links to an external site.
F 12/1 L21: Project Proposals Links to an external site.

M 12/4 L22: Course Recap Links to an external site.
W 12/6 L23: Project Updates
F 12/8 L24: Project Updates

Finals Week
W 12/13 Project Presentations and Reports

Topics that got squeezed out of the schedule so far:

- Game Rule Generation / Markov Chains and Plagiarism / CRFs and Texture Synthesis / Deep Learning and ML Ethics

Course Summary:

Date Details Due
Loading