Introduction to Game Development

Tufts University
Department of Computer Science / Experimental College
Summer 2009

Course Description

How do you create a complete computer / video game from start to finish? What are the different elements to a game? What makes a great game? Computer game development requires all facets of Computer Science, including Computer Graphics, Artificial Intelligence, Algorithms, Data Structures, Networking, and Human-Computer Interaction. It also requires knowledge of other disciplines including Economics, Mathematics, Physics, and Psychology. The value of this course goes beyond culminating Computer Science. It is largely a hands-on course where real-world skills including design, teamwork, management, documentation and solid communications are critical. This course will delve into topics such as the game engine, sound, rendering, modeling, and the user interface.

Instructor

Ming Chow
mchow@cs.tufts.edu

Class Time

Mondays and Wednesdays, 6 - 9:30 PM in Halligan 122 (computer lab)

Prerequisites

This course is open to all undergraduate students. Some knowledge of computer programming highly desirable. For students who wish to count this course for Computer Science credit, COMP 15 is a prerequisite or corequisite.

Frequently Asked Questions

Q: Will we be creating games in this course?

Absolutely!

Q: How many games will we be creating?

At least one complete game. Two complete games would be a stretch.

Q: Is this course about creating games?

For the most part yes. We will also discuss about the gaming business, the socioeconomical impact of computer / video games, the growing problem of ethics in gaming, and a lot more.

Q: What are the goals of this course?

My hope is that you will:

Q: Is there a textbook for this course?

No. First, there is no book that will cover everything that I want to cover. Second, I was once a college student, and I understand how the cost of textbooks is absolutely outrageous. Chances are, if I select a single textbook for the course, only a few chapters will be relevant. Now why would I require my students to buy something for my course that is of questionable value? Resources for this course will include excerpts from books, websites, articles from the web or from periodicals, and blogs. For more information, refer to the Resources section.

Q: Is there a computer programming / technical component to this course?

Absolutely. What good is this course if you will not have the hands-on experience to develop games? In addition, this class will now have a significant lab component.

Q: What programming language will be used in this class?

Java. I seriously considered using Microsoft Visual C# and XNA Game Studio. Some of you may know that most game studios use C/C++ and Microsoft Windows. I cannot assume that every student will be using a Windows-based PC. Java has its advantages, noticeably scalability, portability, and most importantly, cost. Java worked out extremely well the last time I taught this course. Finally, Java has tremendous potentials for mobile gaming.

Q: What if I do not have any computer programming experience?

Don't worry. I will provide you a foundation for computer programming. The content will not be as detailed and as heavy as COMP 11 taught here at Tufts, but it will certainly be enough for you to start hacking away. For veterans, treat the lecture(s) and assignments as review.

Q: Where will we be able to do the technical / programming work?

From your own computer or in the lab. The Java Standard Development Kit (SDK), and most Java development tools are free (as in "free beer") across all platforms (Microsoft Windows, Linux, Mac OS).


mchow@cs.tufts.edu

Valid XHTML 1.0 Transitional Twitter