An introduction to the fundamental concepts of computer game programming. Students design and develop original games for PCs applying proven game design and software engineering principles.


  • Build and then integrate technologies such as multimedia, artificial intelligence, and physics modeling into a cohesive, interactive game application.
  • Introduce the principles of game design that make for a playable experience.
  • Learn and use software engineering, team project management, and prototype presentation principles in a game development context


  • GUI programming for games
  • Tile-based graphics
  • Page & side scrolling algorithms
  • Sprites & bitmap animation
  • Collision detection
  • Physics based modeling
  • Differing game types, modes, & perspectives
  • Game & level design
  • Rapid prototyping & game testing
  • Game project management
  • Game design documentation
  • Game program architecture
  • Sound & Music
  • Game input devices
  • Artificial Intelligence in games
  • Pathfinding Algorithms
  • Render Threading
  • Efficient Memory Managment
  • Game Timing
  • Game Engine Design Patterns
  • Optimization techniques
  • Gaming industry issues
  • Video game history


Those interested in registering for CSE 380 should be aware of the following:

  • You must have taken CSE 214 or CSE 230 or CSE 260 and received a C or better
  • You should attend the first lecture to ensure your spot in the course.


At the end of the course you should have the following knowledge and skills:

  • Ability to systematically design, code, debug, and test programs of about two thousand lines of code.
  • Sensitivity to the issues of programming style and modularity and their relationship to the construction and evolution of robust software.
  • Knowledge of basic ideas and techniques of object-oriented programming.
  • Familiarity with the capabilities and use of programming tools such as syntax-directed editors, debuggers, execution profilers, documentation generators, and revison-control systems.


Tuesdays & Thursdays


Richard McKenna
Office Hours:
--Tuesdays2:00pm - 4:00pm
--Thursdays2:00pm - 4:00pm
Richard McKenna Profile




To be used in part for the individual and group projects:


Reading assignments may be given this semester from the following textbooks:

Game Engine Architecture, 2nd EditionGame Engine Architecture, 2nd Edition
by Jason Gregory
Published by A K Peters, 2014
ISBN 978-1466560017

Discover Phaser
by Thomas Palef
PDF, ePub, & Mobi Formats Available

Real-Time Collision DetectionReal-Time Collision Detection
by Christer Ericson
Published by Morgan Kaufmann, 2005
ISBN 978-1558607323


Content will also be referenced periodically from the following textbooks:

Rules of PlayRules of Play: Game Design Fundamentals
by Katie Salen and Eric Zimmerman
Published by MIT Press, 2003
ISBN 0-262-24045-9

Best of Game Programming GemsBest of Game Programming Gems
by Mark DeLoura
Published by Course Technology, 2008
ISBN 1-58450-571-0


  • Individual HW Assignments - Students will each work on a series of programming assignments that will require the implementation of specific game algorithms.

  • Midterm Exam - Students will be tested on the algorithms and programming techniques learned during the individual assignments. Note there is no final exam in the course.

  • Game Group Project & Presentation - As the semester progresses, students will divide into teams of 3 that will design and develop original games. Teams may make games of whatever genre they like (i.e. Strategy, Action, Role Playing, etc.), as long as they are real-time games (not event-based) and they meet the benchmarked technical requirements. Group projects will be required to employ the Lua scripting language and the Box2D Physics Engine. Teams will work together to come up with their own game concept, and then will decide how to divide the work fairly among the team members. Team programs will be presented to the class at the end of the semester. Each team member will receive a separate grade according to their contributions to the project and presentation. Grades will be based on technical game requirements as well as game design, playability, documentation, and presentation.

  • Group Project Benchmarks - Periodic benchmarks will adhere to the following rules:
    • Benchmarks will provide specific requirements from the instructor with regards to design, coding, and documentation.
    • A grade will be given for each benchmark.
    • Should a group miss a benchmark, groups may not make up that grade in the next one, but the project should continue
    • Credit for group benchmarks will not be given for late completion.

  • Class Participation - There will be some in-class design exercises to help students think more creatively and to get them thinking about game and level design as well as to learn new technologies.


Individual HW Assignments 20 %
Midterm Exam 25 %
Group Project Benchmarks 15 %
Group Project Demo 35 %
Class Participation 5 %
100 %


You may discuss the homework in this course with anyone you like, however each student's submission, including written material and coding, must be his or her own work, and only his or her own work. Any evidence that written homework submissions or source code have been copied, shared, or transmitted in any way between students (this includes using source code downloaded from the Internet or written by others in previous semesters!) will be regarded as evidence of academic dishonesty. Additionally, any evidence of sharing of information or using unauthorized information during an examination will also be regarded as evidence of academic dishonesty.

The College of Engineering and Applied Sciences regards academic dishonesty as a very serious matter, and provides for substantial penalties in such cases, such as receiving an `F' grade, or expulsion from the University. For more information, obtain a copy of the CEAS guidelines on academic dishonesty from the CEAS office.

Be advised that any evidence of academic dishonesty will be treated with utmost seriousness. If you have a situation that may tempt you into doing something academically dishonest, resist the urge and speak with your instructor during office hours for help.

SUNY Korea Attendance Policy

Per the SUNY Korea Academic Bulletin:

  1. All students of SUNY Korea are required to attend every class.
  2. Unexcused absences will seriously affect the student’s final grade in the course.
  3. If a student has over 20% unexcused absences in a course, the student’s final grade in the said course will be an ‘F’. For Example:
    1. If the class is a 150 minute class, and is held once a week, the 4th unexcused absence will lead to an F grade in the course.
    2. If the class is a 75 minute class, and is held twice a week, the 7th unexcused absence will lead to an F grade in the course.
    3. If the class is a 50 minute class, and is held three times a week, the 10th unexcused absence will lead to an F grade in the course.
    4. In the Intensive English Course (IEC), if a student misses more than 40 hours of the class in a semester, the student will receive an F grade in the course.
  4. Students should report the reason for the absence to the instructor in advance, or immediately after the absence.
  5. When a student gets an excused absence, the student must provide documentation for the said reason for the absence to the instructor.
  6. The instructor of the course reserves the right to excuse absences.
  7. The course instructor may excuse the absence if the submitted documentation fulfills the conditions below:
    1. Extreme emergencies (e.g. death in the family)
    2. Severe medical reasons with doctor’s diagnosis (Not a slight illness)
    3. Very important events (e.g. national conference, official school event)
  8. At the end of the semester, the course instructor should submit a copy of the attendance sheet to the Academic Affairs Office.

SUNY Korea Disability Support

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact One-Stop Service Center, Academic Building A201, (82) 32-626-1117. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.

In addition, this statement on emergency evacuation is often included, but not required: Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and One-Stop Service Center.

Stony Brook CS

Web page created and maintained
by Richard McKenna