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, user interfaces, and animation. This course will also cover designing MMORPGs and mobile games. Finally, this course will feature an autonomous robot programming competition.
Ming Chow, mchow@cs.tufts.edu
In this course, both individual work and group work are important.
Final grade will consist of the following components (and percentage towards final grade):
Q: Will we be creating games in this course?
Of course!
Q: How many games will we be creating?
At least one complete game from scratch (two would be a stretch). You will also be creating several smaller games throughout the semester.
Q: Is this course about creating games?
For the most part yes. We will also discuss about the game business, the socioeconomical impact of computer / video games, the growing problems of ethics and security in games, 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 magazines, and blogs. For more information, refer to the Resources section.
Q: Is there a computer programming / technical component to this course?
Yes. 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 and IDE will be used in this class?
Java and Eclipse. 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 (read: Android).
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 lectures 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.