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 the game engine Godot using GDScript. The course is taught at MFF UK as NCGD003.
News
Follow the appropriate channel at Gamedev Discord!
https://discord.gg/c49DHBJ
Dates
Lectures + Labs: Mondays, 16:30, SW2 (we start 3.10.2022)
Note that each week, we will spend approx. 90-135 minutes in total in lectures and labs (no clear distinction between those ;-).
Course Exam
The course exam will be practical! You will be given a Godot implementation task. This task will be loosely based around one of the lectures/practicals, and you might also get asked some questions about Gameplay Programming, so make sure to study the materials!
In general, you should be able to talk about the topics in this document.
Lectures
No. | Date | Topic | Content | Slides |
1. | 3.10.2022 | What is Gameplay Programming? | Introduction to the field… if a bit confusing. | |
2. | 10.10.2022 | Why is Godot awesome? | Guest lecture on Godot and GDScript by Adam Dingle | Adam’s Godot QuickRef |
3 | 17.10.2022 | Game Object Model | Game object / Component-based approach to the game object model | |
4 | 31.10.2022 | Game Feel, Juiciness and Tweening – Part I | Pondering on what game feel and juiceness is and how to maximize it (or at least color it) using tweening. | |
5 | 7.11.2022 | Tweening – Part II | Quadratic and Cubic Bezier Curves, Hermite Curves | PDF, Video Privately shared via email. If you do not have the link, DM Jakub Gemrot on Discord |
6 | 21.11.2022 | Physics – Introduction | Mechanics and Linear/Angular Dynamics, Rigid Bodies, some notes on joints | |
7 | 28.11.2022 | Physics – Collision Detection | Broad, Mid, Narrow phases of collision detection and its algorithms | |
8 | 5.12.2022 | Uncertainty and Randomness | From simple prob. theory to perception of randomness its role in games and human biases about it |
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. | 3.10.2022 | Godot Intro
Play your favorite game! |
Source Project
HOMEWORK 1 SUBMISSION |
2. | 10.10.2022 | Deepdive into GDScript | Create your own Pong! Pong Customization Tasks |
3. | 17.10.2022 | First Game | Customizing a Game like a Godot developer! Source Project – RPGBase Tasks HOMEWORK 1.5 |
4. | 24.10.2022 | Game with object instantiation | Practicing Godot skills, especially around instantiating objects from code Source Project – Space Shooter Tasks |
5. | 31.10.2022 | Tweening! | Start with your game from Lab 3! (if you don’t have it, get a solution here) Tasks |
6. | 7.11.2022 | Building a Tweening library! | Source Project – Tweening Demo Tasks HOMEWORK 2 SUBMISSION |
7 | 14.11.2022 | Smooth Input | Source Project – Platformer Base TasksGamePad – Text and Tasks (self-study) |
8. | 21.11.2022 | Slingshot Mechanic | Source Project – Angry Birds Like Base Tasks |
9. | 28.11.2022 | Ninja Rope | Source Project – Platformer Base Tasks HOMEWORK 3 |
10. | 5.12.2022 | Ninja Rope assisting | |
11. | 12.12.2022 | Animation | Tasks |
12. | 19.12.2022 | 3D Animation | Tasks |
13. | 2.1.2022 | Audio | Tasks |
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)