Serious Games Programming
Objectives:
The aim of the course is for students to acquire: (a) basic knowledge of the role, the types and the features of serious games, as well as the whole process of devising a serious game, (b) capabilities of designing and implementing serious games using contemporary tools, interfaces and programming languages, (c) knowledge and capabilities of using/devising evaluation metrics of serious games based on the aims defined during its design.
Skills:
Upon successful completion of this course students will be able to:
- evaluate the design quality of serious games and the degree they fulfill the initial goals
- design serious games taking into account various factors/design principles
- implement simple serious games using the object-oriented programming technique and game libraries\engines
Prerequisites:
Knowledge of object-oriented programming
Content:
The role of serious games as tools for educating, skills acquisition and simulation in various sectors, such as education, health and business processes. Types and features of serious games. Review of representative examples of serious games.
Designing a serious game: the world, the characters (players and bots) and their actions, the levels of the game. Design principles and methodologies. Presentation of relevant concepts through designing a simple educational game in an educational programming environment, such as Greenfoot, Alice and GameMaker. Evaluating the quality of existing serious games. Tools, engines and programming interfaces for serious games. Designing a game with libraries that are language and platform independent, such as OpenGL.
Programming serious games: the loop of the game, architecture of the game, graphical user interface, interaction and event handling, text, 2D graphics and animation, arrays and object collections.
Designing a serious game using contemporary game engines/libraries and implementing it in C#, C++ or Java.
Textbooks:
1. Ernest Adams, Fundamentals of Game Design, New Riders, 2009.
2. David Michael, Serious Games: Games That Educate, Train, and Inform, Cengage Learning PTR, 2005.
3. Clark Aldrich, The Complete Guide to Simulations and Serious Games: How the Most Valuable Content Will be Created in the Age Beyond Gutenberg to Google, Pfeiffer, 2009.
4. Daniel Schuller, C# Game Programming: For Serious Game Creation, Cengage Learning PTR, 2010.
5. Arjan Egges, Learning C# by Programming Games, Springer, 2013.
6. Andrew Davison, Killer Game Programming in Java, O'Reilly Media, 2005.
7. David Brackeen, Bret Barker, Lawrence Vanhelsuwe, Developing Games in Java, New Riders, 2003.
8. OpenGL Programming Guide: The Official Guide to Learning OpenGL (ISBN-13: 978-0321552624) by Dave Shreiner
Assessment:
60% final exams (computer-based)
40% personal assignments: three (3) assignments on evaluating existing serious games using special frameworks and criteria, designing and implementing serious games.