PCG course curriculum: suggestions?

29 views
Skip to first unread message

Julian Togelius

unread,
Jul 13, 2010, 8:28:44 PM7/13/10
to proceduralcontent
Hi everybody,

This autumn, I will be teaching a course about procedural content
generation in games at the IT University of Copenhagen. (There's a
course page here, but currently there's not much on it:
https://blog.itu.dk/MPGG-E2010/about/ ) This will be a short course,
7.5 ECTS (1/8 of a full year or 1/4 of a term) on the Master's level.
As far as possible, I want to give a representative overview of the
whole field of PCG, though I will prioritize methods that produce
content that affect gameplay over methods that produce purely
ornamentative content. The course will be partly project based,
consisting of lectures, a few short exercises / lab sessions and a
group project.

There is apparently no suitable textbook for this course. For all I
know, I might even be the first person in the world to give a course
completely focused on PCG (though I know that Mark Riedl at NC State
will give a course largely focused on PCG in the autumn).

The purpose of this mail is to ask for your help with the curriculum.
I have a draft curriculum, but would like to not put it online before
I've heard the community's ideas. I'm looking for any and all ideas
for what should go into the course, in particular in these categories:

- Lecture topics
- Literature (papers, book chapters... book?)
- Paper-and-pen exercises
- Lab/programming exercises
- Group project ideas

Yes, it's perfectly fine to suggest your own papers as literature. All
ideas are welcome!

Thanks,
Julian


--
Julian Togelius
Assistant Professor
IT University of Copenhagen
Rued Langgaards Vej 7, 2300 Copenhagen S, Denmark
mail: jul...@togelius.com, web: http://julian.togelius.com
mobile: +46-705-192088, office: +45-7218-5277

Gillian Smith

unread,
Jul 14, 2010, 3:55:29 AM7/14/10
to proceduralcontent
Last quarter I ran a brief reading group/mini-class in procedural
content generation for three undergrads doing research with me and
some interested grads in our lab. In addition to the following, they
also performed research with me: one worked on evaluation methods for
a level generator, one on visualizing the expressive range of a level
generator (follow-on work from what I presented at PC Games), and one
on building an interface for a mixed-initiative level generator. Their
research lasted for a full 10 week quarter; the reading group lasted
about 5 weeks.

* In addition to my own papers, I had them read papers about Galactic
Arms Race, your work (Julian) on personalized levels for racetracks
and Mario, a series of articles titled "The Death of the Level
Designer" [1] by Andrew Doull, and procedural clutter generation (from
Ian Parberry's group). I found that reading academic papers was
somewhat challenging for the undergrads, as the papers can be fairly
dense and often include technical details that involve very advanced
concepts.

* For the first week, I gave them a list of games with procedural
content generation, split into categories. I required them to play at
least two games, each of which had to be from different categories. We
discussed how the content generation worked in the games, similarities
and differences between techniques, and what they would want to do to
fix any perceived problems. The list of games I used is at the end of
this email [2].

* Mid-quarter, we all played two board games that use procedural
content generation/selection to differing extents: "Betrayal at House
on the Hill" and "Tales of the Arabian Nights". I then had them each
write a paper about how PCG is used in these games, if they would call
it generation or selection or both, and how this use impacts player
agency. To help them prepare for their paper, I also had them read a
paper about agency ("Agency Reconsidered" by Mateas et al.) and we
discussed it ahead of time.

I'm currently working with a student who has some experience with Java
(equivalent to around mid-undergraduate level) on an entry for the
Mario level generation competition. He's playing around with making an
entry on his own, which seems to be working well so far as exposure to
problems in procedural content generation (playability of levels,
inferring a player model, granularity of building blocks, etc.)

I would also recommend looking at Context Free Art [3] as a way of
looking at rule-based art generation. This was one of my introductions
to procedural content generation.

[1] http://roguelikedeveloper.blogspot.com/2008/01/death-of-level-designer-procedural.html

[2] List of games:

Silly Little Platformers
--------------------------------
Infinite Mario Bros: http://www.sokath.com/eis/infinite_mario/infinitemario.html
Canabalt: http://adamatomic.com/canabalt/
Robot Unicorn Attack:
http://games.adultswim.com/robot-unicorn-attack-twitchy-online-game.html

Roguelikes
----------------
Rogue: http://www.hexatron.com/rogue/index.html?
Moria: http://www-math.bgsu.edu/~grabine/moria.html
Angband: http://rephial.org/play

Other Level Gen
-----------------------
Spelunky: http://www.spelunkyworld.com/
Dwarf Fortress: http://www.bay12games.com/dwarves/
Diablo (I or II) -- I know, these (and Torchlight) cost real world
money, only pick this if you already own it
Torchlight

Other Procedural Content
-------------------------------------
Galactic Arms Race: http://gar.eecs.ucf.edu/
Borderlands -- costs money, only pick this if you already own it

[3] http://www.contextfreeart.org/

-Gillian

Julian Togelius

unread,
Jul 14, 2010, 6:23:17 AM7/14/10
to proceduralcontent
Wow, thanks a lot Gillian for this very useful reply! I hadn't seen
Context Free Art before, seems useful; there are several of the games
i need to take a look at as well, or a closer look in some cases.

Ideally, I'd like the students to do a few shorter programming
exercises before diving into a project (these students are generally
quite proficient programmers). The big problem with this is to find a
good framework within which to do this, as if they need to write their
own visualization it will take much more than a lab session or two.

Julian

2010/7/14 Gillian Smith <gill...@gmail.com>:

Mark Riedl

unread,
Jul 14, 2010, 8:47:43 AM7/14/10
to procedur...@googlegroups.com
I teach a class on advanced game AI (requirements: "Intro to AI" or
"Game AI 1"). This year's theme is procedural content generation. It
will be a combination grad/undergrad, arranged around seminar style
paper-reading plus project.

Here is what I am thinking project-wise. I have a student who built a
2D tile-based game for a previous game dev class. I am planning to
strip the codebase down to a basic framework and then having student
teams progress through a series of small-to-medium-sized projects,
continually building on the same platform.

0) Build a working non-PCG zelda-style game. This familiarizes the
students with the framework and gets them into the frame of mind of
making games.

Then choose X of the following Y (where Y > X) tasks

a) Level generation
b) Monster (and boss) generation
c) Item generation
d) Quest generation
e) Player model learning
f) Difficulty adjustment
g) ...

Teams will choose their design approaches and "defend" their
approaches before the class. There will be a lot of demoing. By the
end of the class, the teams should have a game where almost everything
is being procedurally generated. The games will suck because that must
PCG is bound to lead to some emergent craziness, but that's not really
the point.

I would love to hear feedback on this scheme.

Mark

--------------------------------
Mark Riedl
Asst. Professor, School of Interactive Computing
Georgia Institute of Technology
http://www.cc.gatech.edu/~riedl/

Julian Togelius

unread,
Jul 14, 2010, 9:00:37 PM7/14/10
to proceduralcontent
This sounds like a very interesting course! As you say, the final game
will probably suck, but that's not the point. Actually, it would be a
very interesting game to play... at least for the sort of people that
post to a PCG mailing list.

The advantage of supplying the students with a bare-bones 2D game is
of course that they won't have to spend time on implementing it
themselves or on taming a more sophisticated game engine, but one
disadvantage is that it won't be possible to generate graphical
ornamentation or terrain. Or anything more genre-particular, like race
tracks... For that reason I'll probably let my students choose
platform themselves, at least for their group project. But something
like a simple 2D game might be appropriate for lab exercises.

Julian

2010/7/14 Mark Riedl <mark....@gmail.com>:

Mark Riedl

unread,
Jul 14, 2010, 9:47:50 PM7/14/10
to procedur...@googlegroups.com
> The advantage of supplying the students with a bare-bones 2D game is
> of course that they won't have to spend time on implementing it
> themselves or on taming a more sophisticated game engine, but one
> disadvantage is that it won't be possible to generate graphical
> ornamentation or terrain. Or anything more genre-particular, like race
> tracks... For that reason I'll probably let my students choose
> platform themselves, at least for their group project. But something
> like a simple 2D game might be appropriate for lab exercises.

I'm not sure this precludes ornamentation or terrain, but you are
right that it does preclude certain things that are very particular to
a single genre. But there may be equivalent problems, or problems on
which equivalent techniques are effective. I'm thinking there could be
minigames. I probably won't have a TA to prepare or grade small
exercises or run labs, and the course will run 4.5 months, so I think
a single large project broken down into concrete goals will work best
for my particular design. But if I had the resources, I can definitely
see the benefits of lab exercises because each genre may present some
particular feature worth playing around with.

Mark

E. Hastings

unread,
Jul 15, 2010, 10:01:19 AM7/15/10
to Procedural Content Generation
- Gillian: Betrayal At House on the Hill is a great game. We've run it
a few times at weekly board games night.


- Torchlight (Diablo clone) is worth buying for sure. It has
randomized dungeons just like Diablo.


- If you cover board games in the class you should mention Yavalath.
The rules were created by a rule-set generator (Cameron Browne on this
mailing list) and it became a published game:

http://www.boardgamegeek.com/boardgame/33767/yavalath


- I hadn't seen that Context Free Art generator either. The pictures
it makes are impressive. If you are covering procedural art in the
class you might throw in genetic art programs like picbreeder.org.

Andrew Doull

unread,
Jul 16, 2010, 6:15:25 AM7/16/10
to Procedural Content Generation
On Jul 14, 5:55 pm, Gillian Smith <gillia...@gmail.com> wrote:
> * In addition to my own papers, I had them read papers about Galactic
> Arms Race, your work (Julian) on personalized levels for racetracks
> and Mario, a series of articles titled "The Death of the Level
> Designer" [1] by Andrew Doull, and procedural clutter generation (from
> Ian Parberry's group).

> [1]http://roguelikedeveloper.blogspot.com/2008/01/death-of-level-designe...

Klaus Breuer has made a PDF version of this article series - with
edits - available at http://www.breueronline.de/klaus/articles/index.html
which are in a much more useful format for offline reading.

Andrew
Reply all
Reply to author
Forward
0 new messages