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 (gemrot@gamedev.cuni.cz).
Dates
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.
Workshops
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
- And even download them
- 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
- FlashDevelop + Flex 4.6.0 and AIR 19
- FlashDevelop must be manually configured with AS3 SDK, do not trust its auto-download functionality
- Every AS3 project will need to be manually configured to use correct AS3 debugger
- Download Debug versions of Adobe Flash Player and Standalone content projector manually
- The best is to download “Flash Player projector content debugger” (or its newer version from webpage above)
- Download Debug versions of Adobe Flash Player and Standalone content projector manually
- Flixel game engine (pure Flash, no Stage3D ~ GPU acceleration) + Flixel Power Tools (and its Test suite)
- Flixel + FlashDevellop Hello World project tutorial
- Flixel Power Tools webpage
- Don’t expect this to play with Android or iOS nicely (performance issues)
- Starling framework (using Stage3D) + StarlingPunk game engine (blog here)
- Can be used for Android and iOS as well
- You can get PC+WEB+Android+iOS with single engine for free
- Even though there are technical considerations
- But don’t get afraid / be fooled by others (like Unity, UE4), there are ALWAYS technical considerations for every game engine when it comes to mobile platforms
- Starling Extensions
- Can be used for Android and iOS as well
- PD Particle System
- Ogmo Level Editor
- Spritesheet based (grid oriented) level creator
- When comes to background, many things can be done using grid … any picture can be gridded 😉
- ShoeBox
- Spritesheet maker that even has console support!
- Can be utilized in general for any spritesheet oriented engines
- Extremely important AS3 gamedev libraries
- AS3 Signals
- Do not use AS3 events, signals are much better (signal.once += your_function … how cool is that?)
- GTween
- Allows you to create timeline of tweens and then go forward or even backward within the timeline (how cool is that again?)
- Box2D
- 2D physical engine typically used
- Exhaustive tutorial that gets you on track
- AS3 Signals
- Last note
- Do not use ‘static’ in AS3 its slower than standard calls / references (who would guess that hmm?)
- And always use pools (do not let AS3 garbage collector to clean after you)
Workshop 01 – Unity
- We have been following (more or less) 2D Roguelike Tutorial
- Free plugin for spritesheet creation within Unity
- List of free sprites pages
- Nice Mystery forest pack (even though you have to make Sprite sheet manually)
- DOTween plugin introduced
- You can check/play with easing interactively