Gameplay Programming (Winter 2020/21)


This course is oriented at gameplay programming. Something that is usually masked as mere “game programming”, which is a wrong term (coding a game engine is also a part of game programming). We will be visiting tips and tricks how to make better games by implementing various game mechanics. Done in WebGL game engine Phaser using JavaScript or TypeScript language. The course is taught at MFF UK as NCGD003.


Follow the appropriate channel at Gamedev Discord!

Dates (SIS)

Lectures: Thursdays, 9:00, S7 (we start 8.10.2020)

Labs: Thursdays, 10:30, SU2 (we start 8.10.2020)

COVID Update: we’re switching to distance learning – I will be publishing videos online!

Course Exam

There will be an oral examination done during the examination period. Find the list of topics for the oral examination in this document.
Because of COVID situation, oral examination will happen online.

Exam dates:

Exam 1: To be decided, possible dates 1.2.-5.2.2021, see Doodle

Exam 2, 3: To be decided, possible dates 11. 2. and 19. 2. 2021, see Doodle 2, 3


Note that each lecture is associated with Q&A link, GDrive doc where you can anonymously post your questions or write ideas!

Lectures Schedule

No. Date Topic Content Slides
1. 8.10.2020 What is Gameplay Programming? Introduction to the field… if a bit confusing. PDF, YT
2. 15.10.2020 Setting up Phaser 3 development environment Step-by-step guide how to start developing with Phaser 3 GDoc
3. 22.10.2020 Course (Phaser 3) Tech Stack Technology stack behind Phaser3-based games PDF, YT
4. 29.10.2020 cancelled
5. 5.11.2020 Tweening Curves of all sorts PDF, YT
12.11.2020 Dean’s sports day
6. 19.11.2020 Physics I Introduction to physics OneDrive via mail
7. 26.11.2020 Physics II Collision detection Link
8. 3.12.2020 Game Object Model Component-based architecture of game objects that are making a game world PDF, YT
9. 10.12.2020 Game Programming Patterns, Part I Read about frequently used patterns in video game(play) code.
Focus on chapters: I, II
10. 17.12.2020 Game Programming Patterns, Part II Read about frequently used patterns in video game(play) code.
Focus on chapters: III, VI
11. 7.1.2021 Uncertainty and Randomness Learn about the randomness in games and how to work with it technically PDF, YT


You are expected to deliver all homeworks to gain credits from labs.

Labs Schedule

No. Date Topic Content Slides
1. 8.10.2020 Play your favorite game! HOMEWORK 1
Play your favorite game about you can say
it has an appealing game mechanics
and see them through the lens of playability
(see the lecture).Find some section and
comment on technically on how the game
respond to user inputs.
Send email to:
Email subject: GGP 2020 – Homework 1
2. 22.10.2020 Setup up Phaser 3 development environment at home N/A
3. 5.11.2020 Experiment with WebGL and GLSL through examples and playground
Great introduction to shaders: The Book of Shaders
WebGL Samples
WebGL Playground 
N /A
4. 19.11.2020 Develop Tweening library ground up, create juicy Break out! HOMEWORK 2.1 + 2.2
See the slides from the lectures!
Send email to:
Email subject: GGP 2020 – Homework 2.1
Email subject: GGP 2020 – Homework 2.2
5. 3.12.2020 Ninja Rope! HOMEWORK 3
See the GDoc
Send email to:
Email subject: GGP 2020 – Homework 3

Extra links

Example Job Offers

Check some old job offers from various (even well known) gamedev companies, especially check “Requirements” sections, informative 😉

Yacht Club (July, 2020), Remedy (April, 2020), Sucker Punch (January, 2020), Insomniac Games (December, 2019), Snowcastle (December, 2019), Evening Star (November, 2019)