Game Development


Published on

A short presentation that goes over some of the issues that are present when designing software frameworks for digital games.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Game Development

  1. 1. Game Development<br />Games, Interaction and Robotics 2011<br />
  2. 2. What is a Game?<br />A game is a system in which players engage in an artificial conflict, defined by rules, that results in a quantifiable outcome.<br />Chapter 7. Rules of Play, 2004, MIT Press<br />
  3. 3. Key Elements of the Definition<br />A game is a system.<br />Players interact with the system.<br />A game is an instance of conflict.<br />The conflict in games is artificial.<br />Rules limit player behavior and define the game.<br />Every game has a quantifiable outcome or goal.<br />Chapter 7. Rules of Play, 2004, MIT Press<br />
  4. 4. Special Qualities of Digital Games<br />Immediate but potentially narrow interactivity<br />Manipulation of information<br />Automated complex systems<br />Networked communication<br />Chapter 8. Rules of Play, 2004, MIT Press<br />
  5. 5. How to frame Digital Games?<br />Most two- and three-dimensional digital games are examples of soft real-time interactive agent-based computer simulations.<br />Chapter 1. Game Engine Architecture, 2009, A K Peters, Ltd.<br />
  6. 6. Digital Games as Soft Real-Time Simulations<br />In most games, an imaginary world is modelled mathematically so that it can be manipulated by a computer.<br />An agent-based simulation is one in which a number of distinct entities (agents) interact.<br />A digital game is interactive, meaning it must always respond to (unpredictable) input from its human players.<br />Chapter 1. Game Engine Architecture, 2009, A K Peters, Ltd.<br />
  7. 7. Digital Games as Soft Real-Time Simulations<br />All interactive digital games are temporal simulations, meaning that the state of the game world changes over time.<br />The presentation and response of a digital game must be in real-time in order to convey to the players the feeling of control.<br />A “soft” real-time system is one in which missed real-time deadlines are not catastrophic.<br />Chapter 1. Game Engine Architecture, 2009, A K Peters, Ltd.<br />
  8. 8. What is a Game Engine?<br />A game engine is a collection of extensible software which can be used as the foundation for many different games without major modification.<br />Chapter 1. Game Engine Architecture, 2009, A K Peters, Ltd.<br />
  9. 9. Runtime Engine Architecture<br />
  10. 10. The Game Loop<br />
  11. 11. Tools of the Trade<br />Integrated Development Environment<br />Revision Control<br />Debugging<br />Profiling<br />
  12. 12. Integrated Development Environment<br />A combination of project manager, text-editor, compiler and debugger into a single tool.<br />Facilitates rapid-prototyping and decreases learning curve for new developers.<br />Extensible IDEs can be configured with plugins for automating many other development tasks.<br />
  13. 13. Revision Control<br />Revision control is the process of managing multiple versions of a piece of information.<br />Automatically keeps track of the history and evolution of your project. For every change there is a log of who made it, why they made it, when they made it and what the change was.<br />Facilitates collaboration on multi-developer projects, by helping to identify and resolve potential conflicts.<br />Helps recovering from mistakes by allowing to revert to an earlier version of one or more files.<br />Bryan O’Sullivan, Mercurial: The Definitive Guide, 2009.<br />
  14. 14. Debugging<br />There is no software without bugs!<br />Programming errors can be even harder to locate in real-time interactive systems.<br />Dynamic visualization of program state is fundamental to understand what’s going on.<br />
  15. 15. Profiling<br />Profilers use a wide variety of techniques to collect data about a program’s behavior.<br />Fundamental when optimizing speed and memory usage.<br />Premature optimization is the root of all evil.<br />
  16. 16. Starting Toolkit<br />High-level Object Oriented Framework<br />Cross-platform Codebase<br />Revision Control<br />Low-level Graphics API<br />
  17. 17. Starting Toolkit<br />.NET Framework (Mono)<br />IDE: MonoDevelop / Visual Studio<br />Revision Control: Mercurial (Win / Mac)<br />Graphics: OpenTK<br />
  18. 18. Bibliography<br />Rules of Play: Game Design Fundamentals, Katie Salen & Eric Zimmerman, 2004, The MIT Press.<br />Game Engine Architecture, Jason Gregory, 2009, A K Peters, Ltd.<br />