TR 1:40-2:55PM / ECTR 109
Do you like to play computer games? Who doesn't? Have you ever wondered if you could build your own? If you are interested in exploring game development as a hobby or as a career, this introductory course is for you! We will learn how to develop computer games from the ground up. We will play with one prototyping environment for quick game development. We will experience one programming language used in the gaming industry. We will develop several games. Who knows... by the end of the semester you may have a working prototype of the next big gaming hit!
Course is open to any major. No previous programming experience required.
- Test 1: Thursday, October 2, 2008
- Test 2: TBA
- Final: 12-3pm, Tuesday, December 16, 2008
Readings & References
- Intro to Python
- A Fantasy Universe Raises Its Broadsword Against World of Warcraft from NY Times. Designing a successful massively multiplayer online game may be one of the supreme challenges in all entertainment.
- An introduction to pair programming. This 9-minute video describes what pair programming is, the do's and don'ts of effective pairing, and the pros and cons of pair programming. Here is the accompanying worksheet.
- Paper prototyping - what is it?
- Wikipedia, Computer and video game genres.
- Geoff Howland, "How do I make games? A Path to Game Development".
- Schiesel, S. "Online Game, Made in U.S., Seizes the Globe", New York Times, September 5, 2006.
- Games and violence readings.
- Laitinen, S. "Better Games Through Usability Evaluation and Testing", Gamasutra, June 23, 2005.
- Wikipedia, Overview of Game Engines.
- Alternative user interfaces (UIs) for game (and other) development:
Artifacts and Rules
- Python official site.
- Irfan View image viewer - a useful image manipulation utility.
- Python Imaging Library - supports many file formats, and provides powerful image processing and graphics capabilities:
- Scratch a cross-platform graphical environment for developing 2D games and animations (Windows, Mac OS X and Linux)
- StarLogo TNG - a cross-platform graphical environment for developing 3D games and simulations (Windows, Mac OS X and Linux).
- pyglet - a cross-platform windowing and multimedia Python library for developing games and other visually-rich applications (Windows, Mac OS X and Linux).
- Rabbyt - a sprite library for Python with game development in mind. It provides fast performance with an easy to use but flexible API (Windows, Mac OS X and Linux).
- Vpython - interactive 3D data visualization and modeling for novice programmers:
- PyGame - fully featured 2D games and multimedia programs:
- Panda3D - a 3D engine for rendering and game development:
- PyUI - a simple user interface library in Python.