Contents
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.
Exam dates:
Lectures
No. | Date | Topic | Content | Slides |
1. | 5.10.2021 | What is Gameplay Programming? | Introduction to the field… if a bit confusing. | |
2. | 12.10.2021 | Game Object Model | Component-based architecture for game objects that are making a game world | |
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 | Step-by-step Guide |
5. | 2.11.2021 | Course (Phaser 3) Tech Stack | Technology stack behind Phaser3-based games, including JavaScript and TypeScript | |
6. | 9.11.2021 | Tweening | Curves of all sorts | PDF, YT |
7. | 16.11.2021 | Second setup attempt | Let’s deal with the unbound breakpoints bug | |
8. | 23.11.2021 | Physics I | Introduction to physics systems | |
9. | 30.11.2021 | Phaser 3 and Arcade physics | Practical lecture on how to work with Arcade physics in Phaser 3 | |
10. | 7.12.2021 | Physics II | Collision detection | |
11. | 14.12.2021 | Phaser 3 and MatterJS physics | Practical lecture on how to work with MatterJS physics in Phaser 3 | |
12. | 21.12.2021 | Game Programming Patterns | Window to OOP design patterns especially ones suitable for games. Read about frequently used patterns in video game(play) code. Focus on chapters: I, II, III, VI |
Online |
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 | Phaser3 Examples (GitHub) Shooter example (TypeScript – Single .ts file) Shooter example (TypeScript – Multiple .ts files) |
|
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. | 9.11.2021 | Develop Tweening library ground up, create juicy Break out! | HOMEWORK 2.1 + 2.2 See the slides from the lectures! Tweening project stub (TypeScript) Breakout project (TypeScript) 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 | Angry Birds Like Game | HOMEWORK 3 Download TypeScripted Phaser 3 Arcade physics examples Extends Canon-ts to at least one Angry Birds-like level. |
4. | 14.12.2021 | Ninja Rope! | HOMEWORK 4 Download TypeScripted Phaer3 MatterJS physics examples See the GDoc SUMBISSION Send email to: gemrot@gamedev.cuni.cz Email subject: GGP 2021 – Homework 4 |
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)