50.033 Foundations of Game Design and Development

Home / Education / Undergraduate / Courses / 50.033 Foundations of Game Design and Development

Course Description

This is an introductory course about the basic of game creation. This course provides an overview of different aspects of game development. Student will get in touch with C++ Programming (industry standard), starting with console application, then GUI games on various platform with graphics, dialog boxes, and user control. There are also basic overview of topics including game architecture, interface design, graphics for game, audio for game, prototyping and play testing. Students will be able to implement their creative gaming idea by using the latest gaming tools which are easy and readily usable.


Learning Objectives

  1. Have a board but general overview of different aspects of game development.
  2. Understand the complete flow of game development in a high level perspective, be prepared to master the complete skill set of game development.

Measurable Outcomes

  1. Produce simple games with student’s novel idea by using existing tools.
  2. Ability to use code libraries to quickly create runnable games.

Topics Covered

  • Introduction
  • Game theory, challenges, and strategies
  • Story Telling, story elements, traditional story structure, nonlinear and collaborative storytelling
  • Point-of-View and archetype
  • Game Characters, character development elements, visual and verbal character development
  • Rules of Game Play
  • Interactivity modes, balance, and economies
  • Level Design, Structure, Time and Space
  • Structures of environmental design
  • Player control
  • Perspective, style, temporal and spatial features
  • Documentation
  • Unity and Unreal engine basic (workflow, scene basic, game object, gameplay creation)
  • Editor and scripting
  • Graphics (Lighting, cameras, terrain, shaders, particles system, sprite, rendering features, mesh geometry, layers)
  • Physics (rigidbodies, colliders, joints, controllers)
  • User Interface objects (canvas, layout, interaction components)
  • Navigation and path finding
  • Music, sound design, audio sequencing and mixing using Audacity
  • Exploration of player motivation
  • Player-Centred Design
  • Interface and Game Features
  • Interface Types
  • Usability
  • The Player Experience
  • Resources constrain (CPU, memory, control space)
  • The difference between simulator and real gaming device
  • Memory leak and detection tools
  • Lazy loading vs preloading
  • Basic of cloud gaming
  • Mobility design (instant save load, localization, running time optimization)
  • Development Phases
  • Management
  • Roles and responsibilities
  • Community management and customer support
  • Advertising, public relations, sales and promotion
  • Previous and current successful business model, target customer

Textbook(s) and/or Other Required Material

No textbook required. Recommended books are listed below.

  • Jebediah Pavleas  et al.,  Learn 2D Game Development with C#, 1st ed. New York, NY: Apress, 2013.
  • Daniel Schuller, C# Game Programming: For Serious Game Creation, 1st ed. Independence, KY: Cengage, 2010.
  • James M. Van Verth et al., Essential Mathematics for Games and Interactive Applications: A Programmer’s Guide, 2nd ed. San Francisco, CA: Morgan Kaufmann, 2008.
  • David M Bourg and Bryan Bywalec, Physics for Game Developers: Science, math, and code for realistic effects, 2nd ed. North Sebastopol, CA: O’Reilly Media, 2013.

Course Instructor(s)

Prof Natalie Agus, Prof Fredy Tantri