Through a series of projects, we will learn to design and develop computer games in a variety of genres—strategy, puzzle, arcade, adventure—for individual play, adversarial play, and team play. Games may be implemented from scratch or via existing frameworks, where appropriate. In the process, we will learn about and tackle problems in computer graphics, algorithms, programming languages, artificial intelligence, simulation, distributed computing, and security. 

Recent Announcements

Nov 14: Maze server code is up, along with links to threading and concurrency in Python and in general.

Nov 11: Scaffolding code the final project, as well as some instructions on the project, have been posted

Nov 11: Code (fixed!) for the lecture on networking is up.

Oct 30: Part 3 of the Level 4 project has been added.

Oct 28: Slides for lecture on event queues posted.

Oct 23: Level 4 project is out. Out a day later than expected, so due a day later than expected: Monday, Nov 3, 22h00.

Oct 22: Submission instructions for Level 3 project have been posted at the bottom of that project's page. Due date 22h00 tomorrow night.

Oct 21: Slides for lecture on arcade games posted. Warm up for next project also posted.

Oct 17: The Level 3 project's deadline has been pushed to Thursday Oct 23 on account of Family Weekend. Level 4 project should still go out on Wednesday night.

Oct 14: Added some sample outputs to the questions in Part 2 of the Level 3 project.

Oct 7: Reading and playing material for Friday's lecture posted.

Oct 5: Submission instructions for Level 2 project have been posted at the bottom of that project's page. Due date 22h00 tonight.

Sep 30: Added sample almost-filled boards to test out your implementation in Part 1 for the Level 2 project. (Previously sent by email.)

Sep 30: Lecture notes for game trees and optimizing minimax posted. Level 2 project (4x4 tic-tac-toe) description now complete (including part 3)

Sep 20: Submission instructions for Level 1 project have been posted at the bottom of the project page. (Remember: due date Sunday evening.)

Sep 15: Remember: no lecture tomorrow. But there's some readings on graphics, given on the Level 1 page. Part 3 of the Level 1 project is out.

Sep 13: Part 2 of the Level 1 project is out.

Sep 11: Part 1 of the Level 1 project is out.

Sep 10: Code for 2048 clone presented in class (except fixed the problem with done) posted.

Sep 10: First lecture uploaded. Code to follow as soon as I clean it up. First project out later today.

Sep 9: Added some reference links to the syllabus.

Sep 1: Breaking ground for course web site.