Gameplay Programming (Winter 2021/22)

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.


News

Follow the appropriate channel at Gamedev Discord!
https://discord.gg/c49DHBJ


Dates

Lectures + Labs: Tuesdays, 9:00, SW2 (we start 5.10.2021)

Note that each week, we will spend approx. 90 minutes of both lectures and labs (no clear distinction between those ;-).


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. (Will be updated for 2021/22 at the beginning 2022-Jan).

Exam dates:

To be decided.


Lectures

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. 5.10.2021 What is Gameplay Programming? Introduction to the field… if a bit confusing. PDF
2. 12.10.2021 Game Object Model Component-based architecture for game objects that are making a game world PDF
3. 19.10.2021 Cancelled, I’m in Turkey teaching Unity!
4. 26.10.2021 Setting up Phaser 3 development environment Step-by-step guide how to start developing with Phaser 3
5. 2.11.2021 Course (Phaser 3) Tech Stack Technology stack behind Phaser3-based games, including JavaScript and TypeScript
6. 9.11.2021 Cancelled, I’m hosting lectures at Turkey!
7. 16.11.2021 Tweening Curves of all sorts
8. 23.11.2021 Physics I Introduction to physics
9. 30.11.2021 Physics II Collision detection
10. 7.12.2021 Animations Introduction to 2D and 3D animations
11. 14.12.2021 Character controller Creating smooth character controllers
12. 21.12.2021 Game Programming Patterns Window to OOP design patterns especially ones suitable for games
13. 4.1.2022 Uncertainty and Randomness Learn about the randomness in games and how to work with it technically
Sort of bonus lecture 🙂

Homeworks

You are expected to work at home on the following stuff; some of homeworks must be formally delivered, some just serve as guidelines for you what you should try out or prepare.

Labs Schedule

No. Date Topic Content
1. 5.10.2021 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 technically
on how the game respond to user inputs.
SUBMISSION
Send email to: gemrot@gamedev.cuni.cz
Email subject: GGP 2021 – Homework 1
26.10.2021 Setup up Phaser 3 development environment at home
2.11.2021 Experiment with WebGL and GLSL through examples and playground
Great introduction to shaders: The Book of Shaders
WebGL Samples
WebGL Playground 
2. 16.11.2021 Develop Tweening library ground up, create juicy Break out! HOMEWORK 2.1 + 2.2
See the slides from the lectures!
SUBMISSION
Send email to: gemrot@gamedev.cuni.cz
Email subject: GGP 2021 – Homework 2.1
Email subject: GGP 2021 – Homework 2.2
3. 30.11.2021 Ninja Rope! HOMEWORK 3
See the GDoc
SUMBISSION
Send email to: gemrot@gamedev.cuni.cz
Email subject: GGP 2021 – 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)


Acknowledgement

https://gamedev.cuni.cz/wp-content/uploads/2018/10/logolink_OP_VVV_hor_barva_eng.jpg