Game Development Middleware (Winter 2015/16)

This page contains materials for the Game Development Middleware (NSWI160) course that is/has been taught during winter term of 2015/2016 at Charles University in Prague, Czech Republic. The course is/was backed up by Jakub Gemrot (


Wednesday’s workshops, 17:20, SW1

How to pass the practice

You will be required to self-study a certain aspect of chosen gamedev middleware and present that to others.


Workshop 04 – Phaser and HTML5

  • Phaser is a full featured game engine that contains “shortcuts” for every standard gamedev related stuff (game states, assets loading, tweening, grouping, physics, clicking, controls…)
  • You can develop Phaser game either in JavaScript or TypeScript
    • There is a TypeScript plugin for Visual Studio 2013+
    • It should be available in Visual Studio Community edition as well
    • It spares you of a mundane task of setting and running own web server
    • You might need Web Publishing module to quickly push your game to world (via FTP)
      • Community edition should have this included…
  • You can follow TypeScript intro tutorial creating a game engine instance and running it
    • You will need to close Phaser repository to get the sources
    • Phaser for TypeScript consists of JavaScript files + TypeScript definitions
      • In fact TypeScript definitions are just documenting JavaScript API, i.e., Phaser is not recompiled by Visual Studio, that’s why you need its JavaScript files in runtime
    • Note that there are two types of definitions
      • Comment-less, e.g. phaser.d.ts
      • Commented ones, e.g. phaser.comments.d.ts
      • Commented ones are better as Visual Studio will display you the docs as you type ;)
      • But you can import only one set of those definitions!
        • So if you get a lot of “duplicate” errors, you’ve probably imported both
  • After you setup game skeleton, you can browse examples
  • Be sure to use Signals instead of plain JavaScript Events (inspired by AS3 Signals) if you are to define custom events
  • Some free tile editors might come in handy: Tiled, tIDE
  • If you plan to play with physics, it’s probably the best to buy PhysicsEditor
    • Free alternative: FizzX

Workshop 03 – UE4

  • We did Endless Runner tutorial
  • It covers mainly blueprints, which is UE new “scripting” language

Workshop 02 – Flash

Workshop 01 – Unity