Synopsis

The focus of this course is an introduction of game programming platforms and environments. The course is hands on and tutorial based. We will begin the course by briefly study a history of games. We will study both 2D and 3D games, and review game algorithms (e.g., path planning and collision detection). There are two primary thrusts of the course. The first thrust is to understand specific state-of-the-art game engines or programming environments, and the second is to generalize and understand the underlying concepts of game engines an learn what they provide.

The course has a heavy programming focus. It will have a number of projects requiring the programmer to apply the learned material to develop games for a standalone laptop which consequentially will be demonstrated in class.

A laptop is required for this class.

Tentative environments that we will explore include HTML5/JavaScript, the ImpactJS 2D game engine, Unity (3D gaming) and Python/Pygame.

General Information


Lectures: Tue/Thu:    12:30 AM -01:45 PM Geog-Geol (Bldg 1002) Rm #0143
  Wed:          12:20 AM -01:10 PM Geog-Geol (Bldg 1002) Rm #0143
Instructor: Maria Hybinette maria (at) cs.uga.edu
Office hours: Thu: 1:45 PM-3:30 PM Boyd 219C
TA: Navid Hashemi Tonekaboni navidht AT uga.edu
Office hours: Fridays from 1:30pm to 3pm Body 307
     
Mailing lists: CS-GAME@LISTSERV.UGA.EDU { will be set up shortly }

Course Textbook and Materials:

You will need at least two books, these are available to purchase both in electronic and the hard copy formats.

Required:

Building HTML5 Games with ImpactJS: An Introduction On HTML5 Game Development Paperback – February 22, 2012 by Jesse Freeman (Author)ISBN-13: 978-1449315177 ISBN-10: 1449315178 Edition: 1st

Required:

Unity 3.x Game Development Essentials Paperback – December 20, 2011 by Will Goldstone (Author)
ISBN-13: 978-1849691444 ISBN-10: 1849691444 Edition: 2nd

Recommended:

Core HTML5 Canvas: Graphics, Animation, and Game Development (Core Series) Paperback – May 14, 2012
ISBN-13: 978-0132761611 ISBN-10: 0132761610 Edition: 1st

Grading Policy and Evaluation:

You are evaluated via exams & quizzes, in-class tutorial and labs, presentations and implementation of software projects. The distribution is below, but is subject to change.

Participation (web and in class) 05%
Demos 05%
Homework & Quizzes 05%
Exam 1 10%
Exam 2 10%
Final 15%
Projects 30%
Hackathons 20%

 

The general grading philosophy is the following (the context is "programs" and "projects" but it should generalize to summaries and other required elements). See translation from percentage to letter grades finger grade in link further below.

A+ (97-100) Extraordinary, goes beyond the minimum criteria both in depth and breath. Design is thorough and well thought out, code base and implementation is beautiful- modularized, complete, clear and concise. A well thought out debugging strategy is apparent. Well documented code. The evaluation plan is well executed and well thought out, goes beyond the simple cases and illustrates strong problem solving skills.

A (93-96) Superior (somewhat less than an A+, almost perfect code, beautiful, concise, minimum criteria met, not as much depth and forethought as an A+ but it is superb), goes beyond meeting the minimum criteria demonstrates depth, can apply solution to a variation of similar problems.

B (83-86) Good, minimum criteria well executed and well done, shows some depth and understanding, meets most test cases but does not demonstrate as much forethought as an A;

C (73-76) Fair, minimum criteria met, but could have been executed with more depth and forethought.

We will use the College Board's convention to convert from perent grades to letter grades grades:

(see here).

Late Policy

Assignments, and summaries (if applicable to class) are due on the date and time specified in the assignment or the day of demonstration (email as a time stamp and hand-in hardcopy the next day). Late homework cannot be accepted.

Homework and Projects Posting

Projects and homework will be posted on the web from the scheduling page (see link top menu bar), and will be accessible from anywhere on the Internet. Assignments may be posted before they are officially assigned; however, you should not assume that an assignment on the schedule page is in final form until the date it is assigned. In other words, assignments are subject to change before the date that they are officially assigned. There may be additional required elements

The software programming projects are of-course an important component of this course. You'll be making programs of the languages presented in class. The programming tools you'll need (Game engine, compiler, debugger, etc.) may be denoted on the project page and should be downloaded and installed on your laptop and /or workstation.

Participation and Attendance

Class attendance is mandatory; we typically do not take attendance - but it happens, and class participation is 5% of your grade.

Other Class Policies

If you miss class it is your responsibility to find out what you missed if you don't attend class. Please do not email instructor and ask what you have missed.

You are required to subscribe to the class email list or forum - and be aware that sometimes homework is assigned via the forum - or there are some hints posted in the forum - you probably do not want to miss that.

The purpose of the assignments and projects is familiarization of concepts and details of game programming.. The assignments & projects are expected to be individual work unless other specified. However, you are encouraged to ask questions of one another, and to respond to other student's questions on the email list.

Direct exchange of code is prohibited, as is line-by-line assistance from anyone or thing (this includes internet copying). This is checked for every assignments. If you do get help from other sources than book, slides, or TA you must acknowledge the source in the material that you turn in -but note still no copying is allowed.

Unless otherwise specified, exams are closed-book and no additional materials may be used. Missing an exam: absence due to serious illness will be an acceptable reason for missing an exam. Doctor's diagnostic note is required (these absences may be confirmed with your doctor). The final grade will be scaled accordingly. You must subscribe to the class email list, see details HW1 listed on the schedule page. Assigned homework (if any) must be typed, you must also email a copy to the class email account.

Class Photo:

 
 
 
 
 
 
~~ Spring 2015 Game Programming Class ~~
 


Acknowledgements

The course may use materials from previous game programming courses taught at other universities.