This is the P2PU Archive. If you want the current site, go to!

Mathematics for Game Designers

This course is complete. Subscribe to the announcement list for updates.

Mathematics for Game Designers

Joe Corneli's picture
Course organiser: Joe Corneli
About the Course Organiser: 

Ph. D. student at the Knowledge Media Institute, The Open University.  Former math undergrad.

No of Seats: 
Course Status: 


Joe Corneli's picture
Joe C
Abhay Ligin Lal's picture
abdallah dorra's picture
Arbi Derhartunian's picture
Kemal Srna's picture
Jesus's picture
Daniel Chiquito's picture
Piyush Walia's picture
Emeka Nwankwo's picture
Amene Katanda's picture
Larry Clarkberg's picture
Naranbayar Tsogbadrkah's picture
Rahul Sharma's picture
stefan kreitmayer's picture
Shyam Nair's picture
sophy prak's picture
vhamer1's picture
David Workman's picture
The idea is to take the basic concepts of "games" and explore them using mathematics.


(There is an etherpad version of this text at -- feel free to edit there if you want to make quick changes/suggestions.)

The intial outline (subject to change) is as follows. This is  developing in a conversation with Stefan Kreitmayer and Daniel Chiquito. The idea is to take the basic concepts of "games" and explore them using mathematics.  In this course we will focus on two mathematical ideas: discrete differential equations (difference equations, differential equations on graphs, whatever you want to call it), and strategy/proofs.
The course is emphasizes the needs and interests of game designers, but programmers or math fans are welcome to enroll.  We will expect to meet for voice conversations twice a week.  Budget at least a couple of hours for homework as well.
Exercises are optional (but encouraged) and are structured in such a way that they can be done with or with out programming.  Feel free to invent your own exercises or projects and share them with the group!  We will particularly aim to support development in Python with examples and tools being added during the course.

We will aim to document what we learn on PlanetMath, Wikipedia and/or a next-generation "clone" of PlanetMath.  Details will be discussed during the course.  If you need to contact the course organizer about anything, you can post in the discussion area here or email directly,

Week 1: Space (including graphs and other combinatorial models of space)
Here  I was thinking that we would come up with a graph visualization  framework - hence the importance of graphics libraries.  But more  importantly to make sure that everyone is on the same page with what a  mathematical graph is G = (V,E) where V is vertices and E is edges, and so  on.
Possible design/programming exercise:  Choose a platform or medium in which to do simulations or to create art work that sketches your ideas, and use this medium to explore the idea of "space".  
Week 2: Time (focusing on movement)
In  this phase I wanted to look at simple differential equations on  graphs.  What I mean by this is, suppose we have a certain quantity of  "stuff" at a vertex v and we want to know where the stuff goes.  We can  write a function (or whatever, a differential or difference equation)  that will say where the stuff goes at time t.
Melting snowman example:
X            X
X   -->     XX   -->    XXX  --> X  X  X -->
Possible design/programming exercise: Create an environment that has some interesting "physics" to it, e.g. snowmen melting, leafs blowing, cities growing, perhaps the space itself expanding or changing shape...
Week 3: strategy and proof, part 1: Introduction to game theory
Some online resources for self-study (feel free to add more here or add reviews):
The task this week is to analyze, to the extent possible, the game of your choice, using ideas from game theory.
Possible programming exercises: Make the environment interactive, and/or add bots (NPCs) that interact with the game world.
Week 4: strategy and proof, part 2: Iterative Games and learning as you go.
People often learn the strategy to use for winning a game by playing it a lot.  How does this work?  (Get readings for this.)

Possible design/programming exercises: Design or build bots with some ability to learn and change their behaviour.  Neural Networks is one way to approach this.
Week 5: strategy and proof, part 3: Proof strategies
Possible design/programming exercise: Enhance your game by creating some objectives or scenarios and letting the bots or players interact in these scenarios (e.g. create the ability to "win").
Week 6: Cybernetics and ecology (building and interacting with systems)
Final project: Design/build a world simulator or a new game.
Some recent news that may entice people to take the class:



Some questions on the signup

David Workman's picture
David Workman
Thu, 2011-01-13 12:02

Some questions on the signup task:
Do we paste our description and program into the sign-up box? If so, how should we indicate the different areas, or just use something sensible? :)

Also, it looks like we can't access the forum for this course until we have signed up, making part 3 a catch 22 situation. Additionally to this, I attempted to sign up to PlanetMatch and PlanetMathRedux and both are currently having issues with their CAPTCHA, making signup impossible.

(Edit: I just submitted a signup form with sensible deliminations between sections and a link to my wikipedia profile)

I know about the Captcha

Joe Corneli's picture
Joe Corneli
Thu, 2011-01-13 16:23

I know about the Captcha problem with PlanetMathRedux (good job even finding it by the way), but I didn't know PlanetMath also had a problem with sign-ups... though I vaguely remember it. Anyway, I can add participants directly to PlanetMathRedux-style sites - I'll remove that step from the sign-up task and do it later.

I did a search for

David Workman's picture
David Workman
Thu, 2011-01-13 22:23

I did a search for PlanetMathRedux and it just popped up as the first result... well, the trac instance for it was the first result with a link to which I would guess is the right one :)

The PlanetMath signup was

David Workman's picture
David Workman
Thu, 2011-01-13 22:26

The PlanetMath signup was also just an issue with the javascript version of the captcha in use. If you do what they suggest and turn it off, the signup works... still a bit annoying to sign up to at the moment :)

Won't be taking this course

Thomas Armstrong's picture
Thomas Armstrong
Tue, 2011-01-18 12:15

Won't be taking this course this time around, but it looks great!
Please tell me you'll be running it again.

Yummy. I hope to be accepted.

Amene Katanda's picture
Amene Katanda
Thu, 2011-01-20 13:13

Yummy. I hope to be accepted.

how will we communicate

abdallah dorra's picture
abdallah dorra
Thu, 2011-01-27 00:54

how will we communicate through out the course? and when will it start?
really exited about the course.

The course is officially

Joe Corneli's picture
Joe Corneli
Thu, 2011-01-27 01:11

The course is officially started now! I've set a time for the first meeting, it's this Saturday, see -- however there is more to come (very soon) about course communications. For the moment feel free to share info and discussions in the course's forums. :)

I don't think I understand

Emeka Nwankwo's picture
Emeka Nwankwo
Sat, 2011-02-05 09:01

I don't think I understand the below clearly... Please I need help.
Let G be a simple graph with at least two vertices. Prove that G must contain two or more vertices of same degree.

What I can say is that this is directed graph. let say that my vertices are a and b . So, my edges would be ab and ba. Therefore, vertex b has out-degree ba and in-degree ab, while vertex a has out-degree ab and in-degree ba.

great post, Please tell me

SEO Service's picture
SEO Service
Sat, 2011-03-12 05:48

great post, Please tell me you'll be running it again.