Short Programs
Game Development for Software Engineers
Date: TBD | Tuition: TBD | Continuing Education Units (CEUs): TBD
*This course has limited enrollment. Apply early to guarantee your spot.
Application Deadline »
Course Summary | Learning Objectives | Who Should Attend | Program Outline | Schedule | Participants' Comments | Lecturers | Location | Links & Resources | Updates
Course Summary
This course will teach the differences between modern software engineering and game development practices. Over the week, participants will conceive and develop prototype games in small teams, with access to modern game prototyping tools, talks, and guidance from the mentors of the award-winning MIT Game Lab (ranked for the past 4 years on the Princeton Review’s Top 10 Game Design Programs).
Compared to business software projects, digital games pose markedly different challenges. Their complexities around prototyping, testing, and platforms demand more flexibility from developers when it comes to software specifications and functionality. Even seasoned professionals have to modify their familiar approaches to design and team management while also dealing with dramatic changes in user behavior and technology.
Lessons from this course are applicable to developers in many industries, including mobile entertainment apps development and interactive book development for e-readers and tablets, as well as games for serious applications, such as health care, defense, education, and training.
For the past seven years, the MIT Game Lab has made games for research, exploring areas such as artificial intelligence, complex systems, education and pedagogy, game development tools, narrative design, and player research tools. Their games have received awards for their contributions to innovative game development and have been highlighted at the Independent Game Festival, Indiecade, Games for Change, the Serious Play Conference, the Serious Games Showcase and Challenge, and the Foundations of Digital Games conference.
Fundamentals: Core concepts, understandings, and tools (70%)
Latest Developments: Recent advances and future trends (10%)
Industry Applications: Linking theory and real-world (20%)
Lecture: Delivery of material in a lecture format (25%)
Discussion or Groupwork: Participatory learning (30%)
Other: Team project (45%)
Introductory: Appropriate for a general audience (50%)
Specialized: Assumes experience in practice area or field (50%)
Learning Objectives
- Understand the unique properties of play as a mode of user interaction
- Identify strengths and limitations of current game development technologies
- Apply principles of agile software development to game development
- Understand the importance of identifying constraints and leveraging flexibility in expectations and polish
- Practice playtesting, usability testing, focus testing, and technical testing
Who Should Attend
This course is intended for software engineers, technical directors, programmers, and project managers interested in or new to professional game development. It is especially relevant for programmers or managers already familiar with other forms of software development who are now being required to work on games or interactive software for entertainment, including mobile apps.
Technical Background Required: Basic familiarity with programming (Python, C#, Actionscript, or Java), integrated development environments, and version control.
Program Outline
The course is taught in a hands-on method with constant feedback between participants and instructors.
Participants will:
- Quickly create non-digital prototypes for immediate testing, highlighting how many critical design decisions regarding gameplay can only be made with direct user observation and feedback instead of upfront specifications.
- Compare several different game engines and prototyping tools to identify capabilities, constraints, and drawbacks for a variety of game projects.
- Learn about the benefits and limitations of agile methodologies when applied to game development. Participants will practice these methods in workshops.
- Identify high-priority features through user testing and rigorous cutting of features not essential for gameplay.
- Test their work-in-progress with other participants and the instructors of the class to practice and understand the applicability of different test protocols at different stages of the project.
Each day of the program is divided into 1-hour lectures, 2-hour workshops, and 3-hour team project work periods, concluding with a testing session and a group postmortem on the day’s activities. Lunch is provided on Monday and coffee will be provided at break points throughout the day. There is a networking party at a local bar on Thursday to connect participants with the MIT Game Lab’s network of MIT researchers and members of the local game development industry.
Day One
Introductions to games and game development
The first day focuses on game design and introduces rapid prototyping methodology. Participants form teams that work together for the rest of the week. The teams will develop and test non-digital game prototypes.
9:15 am - 10:00 am: Introduction to the MIT Game Lab and the Course
10:00 am - 11:00 am: Introductions by Participants of the Course
11:00 am - noon: Discussion: What do You Want to Know About Games?
Noon - 1:00 pm: Networking Lunch (provided)
1:00 pm - 3:00 pm: Workshop: Game Mechanics & Verbs
3:00 pm - 5:00 pm: Workshop: Rapid Prototyping
5:00 pm - 6:00 pm: Play Testing & Review
Day Two
Digital game development tools
This day is about the process of choosing a pipeline and tool for your games. Multiple tools will be sampled throughout the day with the am of choosing a single development environment by the end of the day for the remainder of the course. Testing methodology is discussed and practiced.
9:00 am - 10:00 am: Coffee & Team Project meeting
10:00 am - noon: Workshop: Game Engines for Rapid Prototyping
Noon - 1:00 pm: Lunch Break
1:00 pm - 2:00 pm: Lecture: Testing Methodologies
2:00 pm - 5:00 pm: Team Project work
5:00 pm - 6:00 pm: Play Testing & Review
Day Three
Team and project management methodology
Lectures for this day are focused on managing the development process and on how features are chosen and broken down into tasks. An introduction to user research is given, in particular how user research applies to rapid prototyping.
9:00 am - 10:00 am: Coffee & Team Project Meeting
10:00 am - noon: Workshop: Agile Methods for Rapid Prototyping
Noon - 1:00 pm: Lunch Break
1:00 pm - 2:00 pm: Lecture: User Research
2:00 pm - 5:00 pm: Team Project Work
5:00 pm - 6:00 pm: Play Testing & Review
Day Four
Techniques for addressing polish
Teams take stock of their projects and decide which features to cut and which elements to polish. Debugging, feature polish, and integration time are budgeted. An introduction to design research is given, with reflection about how rapid prototyping fits in a full user-oriented development process cycle.
9:00 am - 10:00 am: Coffee & Team Project Meeting
10:00 am - noon: Workshop: UI and Polish
Noon - 1:00 pm: Lunch Break
1:00 pm - 2:00 pm: Lecture: Design Research in Industry
2:00 pm - 5:00 pm: Team Project Work
5:00 pm - 6:00 pm: Play Testing & Review
6:00 pm - 10:00 pm: Networking Party (meet with local game developers & researchers in the MIT Game Lab network)
Day Five
Postmortems and presentations
Each team presents their work from the entire week and gives a postmortem (what went right, wrong; what they learned). Each team has 20 minutes to present, with time for questions and short break after each presentation.
9:00 am - 10:00 am: Coffee & Team Project Meeting
10:00 am - noon: Team Project Postmortem Presentations
Noon - 1:00 pm: Lunch Break
1:00 pm - 3:00 pm: Retrospectives Workshop
Course schedule and registration times
Registration is on Monday morning from 8:15 - 8:45 am.
Class runs 9:15 am - 6:00 pm Monday, 9:00 am - 6:00 pm Tuesday through Thursday, and from 9:00 am - 3:00 pm on Friday.
Participants' Comments
software developer, mit
"Course covered all the steps needed for a game development, staff was super qualified for this course, and ideas covered in class were explained clearly and with lots of examples. Also lecturers were never tired of answering our questions."
founder, doublecat games
"As an engineer who worked at a larger game company for years, I rarely saw the bigger picture. This class helped fill in some blanks for me, but it would also be useful for anyone wanting to learn how game development differs from more traditional application development."
technical staff, mit lincoln laboratory
"I think it will change the way that I think and work about software problems."
About The Lecturers
William Uricchio, Professor, MIT Comparative Media Studies | Writing
William Uricchio is a Professor of Comparative Media Studies | Writing at MIT and Professor of Comparative Media History at Utrecht University in the Netherlands. He has held visiting professorships at Stockholm University, the Freie Universität Berlin, and Philips Universität Marburg; and Guggenheim, Fulbright, and Humboldt fellowships have supported his research.
Uricchio considers the interplay of media technologies and cultural practices and their role in (re-) constructing representation, knowledge and publics. In part, he researches and develops new histories of 'old' media (early photography, telephony, film, broadcasting, and new media) when they were new. And in part, he investigates the interactions of media cultures and their audiences through research into such areas as peer-to-peer communities and cultural citizenship, media and cultural identity, and historical representation in computer games and reenactments.
Uricchio's most recent books include Media Cultures (2006 Heidelberg), on responses to media in post 9/11 Germany and the U.S., and We Europeans? Media, New Collectivities and Europe (2009, Chicago). He is currently completing a manuscript on the concept of the televisual from the 17th century to the present.
Philip Tan, Creative Director, MIT Game Lab
Philip Tan is the creative director for the MIT Game Lab. He teaches CMS.608 Game Design and CMS.611J/6.073J Creating Video Games at the Massachusetts Institute of Technology. For the past six years, he was the executive director for the US operations of the Singapore-MIT GAMBIT Game Lab, a game research initiative. He has served as a member of the steering committee of the Singapore chapter of the International Game Developers Association (IGDA) and worked closely with Singapore game developers to launch industry-wide initiatives and administer content development grants as an assistant manager in the Media Development Authority (MDA) of Singapore. Before 2005, he produced and designed PC online games at The Education Arcade, a research group at the Massachusetts Institute of Technology that studied and created educational games.
Sara Verrilli, Development Director, MIT Game Lab
Sara Verrilli has spent her professional career in the videogame industry, starting with the day she walked out of MIT's Course V (chemistry) graduate studies and into a position as QA Lead at Looking Glass Technologies for System Shock. However, her game organizing endeavors started much earlier; she helped found a role-playing club at her high school by disguising it as a bridge group. Since then, she's been a game designer, a product manager, a producer, and a QA manager, in no particular order. A veteran of both Looking Glass Technologies and Irrational Games, she's worked on eight major published games, and several more that never made it out the door. As Development Director of the MIT Game Lab, she looks forward to corralling, encouraging, and exploring the creative chaos that goes into making great games, and figuring out just the right amount of order to inject into the process. And, while she still doesn't understand bridge, she does enjoy whist.
Andrew Grant, Technical Director, MIT Game Lab
Thanks to two wonderfully dedicated game-playing grandmothers, Andrew Grant started playing games before he could hold the cards. From there, he went on to explore board games, strategy games, role-playing games, and computer games. This exploration shows no signs of slowing down.
Grant graduated from MIT in 1993 with Bachelor's degrees in both Computer Science and Mathematics and a minor in Creative Writing. After six months in the real world, he discovered that someone would actually pay him to design and program computer games, so he returned to his gamer roots by joining Looking Glass Technologies, and then DreamWorks Interactive. Since then, Andrew has survived ten years as a programmer-for-hire and independent developer in projects ranging from underwater robotics to yet more games.
Location
This course takes place on the MIT campus in Cambridge, Massachusetts. We can also offer this course for groups of employees at your location. Please complete the Custom Programs request form for further details.
Links & Resources
Video/Audio:
News/Articles:
- Learn game development at MIT this summer
- Playing with Einstein
- MIT Game Lab explores the potential of games and play
- MIT Open Lab Documentary: Research Forum | William Uricchio on Playing with Narrative
Updates
There are no updates at this time.