2d Game Design Syllabus

Instructor: Dr. John F. Santore
Phone: 508-531-2226
Office: Hart 220

Instructor Web Page: http://webhost.bridgew.edu/jsantore/
Course Web Page: http://webhost.bridgew.edu/jsantore/Spring2011/GameDes/

Office Hours:
Mon 10-11am
Tues: 12:30-1:30pm
Thursday: 5:-6pm
Friday: 10-11am.

I also will take appointments if you cannot make my other office hours, however, I generally have meetings and work prepared for a day or two ahead so plan on about 48 hours from the time I get your request to us being able to meet.

Course Description:

2d games are considerably simpler to design and implement than 3d games. Without
 having to worry about things like physics or lighting, developers can focus on
programming more fundamental gameplay issues. In this class we will look at whole life cycle game development including gameplay elements, design and implementation. Students will begin with sketching out ideas, implement 2d graphics including both maps and creating the illusion of infinite space. We will look at game AI including pathing and goal selection. In this class students will also explore issues of art selection for games, including copyright issues and intellectual property.

Game Programming: The L Line, The Express Line to Learning by Andy Harris from wiley press. This book will mostly be used in the early part of the semester and then serve as a reference
Game Design Workshop, 2nd Edition
A Playcentric Approach to Creating Innovative Games By Tracy Fullerton From Morgan Kaufman/Elsevier.
This text focuses on game design in general (not exclusive to digital game design). We'll use it through out the semester.

Class Requirements and grading:
Programming projects: 30%
Game Development projects 25%
Exams: 35% (one midterm @15% and one final  @20%)
Everything else (quizzes, participation, homeworks etc): 10%

Programming projects:
This is a computer science course in game development. We will write a number of game and game-like programs starting from simple toys and working up to more complex games. All programming projects are to be done individually unless otherwise indicated on the assignment page.
Game Development Projects:
This class will also require you to work through some more theoretical exercizes in game development. This part of the course will require writing, analsis, and even some cutting and pasting. These assignments will be individual to begin with, but many will allow or require coordination later on. Each assignment will specify whether it is individual or group work.
Exams allow the student and the instructor the opportunity to asses how much of the material from the course the student has learned and retained. There will be two exams in this course, a Midterm, to be given on March 2nd (for undergrads) or March 3rd (for grads), and a final exam scheduled by the college.
Everything else:
We will have quizzes worth a very small portion of your grade in the weeks leading up to the midterm and the final. These quizzes are intended to prepare you for the exams which are worth much more of your grade. We may have homeworks from time to time, particularly if a class is cancelled for any reason.

Students with special needs:

Anyone who has special needs should contact me in the first week of classes so that reasonable accommodations can be agreed on.

Academic Integrity:

See http://www.bridgew.edu/handbook/policiesprocedures/academicintegrity.cfm  for a complete description of the academic integrity procedure at Bridgewater.

Academic integrity will be taken very seriously in this class. All individual work must be your own. If you cheat or otherwise represent the work of others as your own. You will receive an F for the course.

This means if you copy sentences from the internet without quoting them, and pass them in as your own - you are cheating: you are representing someone elses work as your own. This applies to papers, homeworks, projects and other work that you pass in.

Guidelines for proper academic integrity:

Discussing problems with your classmates can help you understand the problems and kinds of solutions to those problems that you will learn about in this class. In an effort to make in clear what sort of discussions are appropriate and encouraged in this class and which cross the line to academic dishonesty I use the following guidelines: You may discuss any out of class problem I assign in this class with your classmates or other so long as no one is using any sort of recording implement including, but not limited to, computers, pdas, pens, pencils, phones etc. This lets you talk about theoretical solutions without sharing the actual implementations. As soon as anyone in the group is typing, writing etc, all conversations must stop. You may look at someone else's program code only very briefly in order to spot a simple syntax error. As a rule of thumb, if you find yourself looking at someone else's code for more than about 30-45 seconds it is probably time to stop. If you are having trouble with your program, come to the instructors office hours for more help.

All in class exams and quizzes are closed book and closed neighbor. If you are found using a data storage device of any kind during one of these evaluations, you will be failed for the course.

Guidelines for "code reuse"
This is an upper level computer science course, so we will be writing significant programs as part of the course. While the majority of each project should and must be your own, there is a long tradition in computer science of code reuse (the instructor will give a brief aside on proper code reuse when reviewing the syllabus with the class at this point). For the purposes of this class,  you may reuse (grab some some place on the net) up to 20% of the code for your project provided

  1. You reference every line of code that you are reusing from the net or some other project that you did not write completely by yourself. (that is you tell me in code and in your documentation that you submit where you got the code from)
  2. that you set off all lines that you are reusing with a comment explaining that these are the reused lines.
Any code which I find on the net and in your submission which is not so deliniated, will be grounds for an academic integrity  case  as outlined above.

Standards for in class behavior:

You are all adults and are expected to act as adults in this class. While questions are encouraged in this class, if a particular line of questioning is taking us too far afield, I will ask the student to come by my office hours or to see me after class.

Cell phones, pagers, electronic organizers and other devises should be silenced while in class. If you work of EMS or something similar, please turn your cell phones/ pagers etc to vibrate mode so that you are not disrupting others in the class.

In the unlikely case of trouble makers in the class, those who are simply attempting to disrupt the class will be asked to stop; those who will not, will be referred to the college for appropriate action.

Tentitive Schedule:
Week 1

Week 2
python/pygame continued
First program assigned
Week 3
Game Development: intro game elements
first program due
first game development assigned
Week 4
Game programming: more collisions and movement,
illusion of infinite space
Game Development:Finish elements Game Systems

Week 5
Game Programming:Audio, Images, Gimp, animated sprites
Game Developement:Finish systems, creativity and concepts

Week 6
Copyright, licences, intellectual property etc. Using assets legally
Prototyping games.

Week 7
Review for midterm

Week 8
Midterm exam ++

Week 9
Game Programming: Maps and tiling
Game Development: Digital prototyping

Week 10
Game Programming: Saving, moving in difference directions,
turn-based vs real time programming issues
Game Development: Playtesting

Week 11
Game Programming:Realisting realtime movement
Game Development:Balance, completeness etc.

Week 12 Thanksgiving week
No Thursday classes
More legal and ethical issues
International issues, review boards etc.

Week 13
slip time - some of these will take longer than one week I'm sure

Week 14 Last week of regular class
Finish up and review

Week 15 Final exam
Dec 15 for grads and 399-001
Dec 17 for 399-002
Playing with several ideas for the final exam.