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 4 using GDScript. The course is taught at MFF UK as NCGD003.
Follow the appropriate channel at Gamedev Discord!
Lectures: Fridays, 8:10, S5.
Labs: Wednesdays, 12:20 / 14:00, SW2.
The course exam will be practical!
You will be given a Godot implementation task. This task will be loosely based around stuff from 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.
There will be (approximately) 4 homeworks over the course of the labs. The points will be given out as such:
3 points – submitted solution within deadline
2 points – submitted within 2 weeks from deadline
1 point – submitted within 2 months from deadline
You need to submit all of the homeworks successfully and get at least
maximum_possible - 3 points to successfully pass the labs. Additionally, each point missing will give you requirement on passing the final exam. Depending on the points, you will need to:
max : At the exam, you need your solution to “basically work”, but it can have minor flaws.
max – 1 : At the exam, your solution can have minor flaws.
max – 2 : At the exam, your solution can only have small “cosmetic” flaws.
max – 3 : At the exam, your solution needs to work flawlessly.
|1.||5.10.2023||What is Gameplay Programming?||Introduction to the field… if a bit confusing.||[ PDF ] [ YT 2020 ]|
|2.||13.10.2023||Game Object Model||Game object / Component-based approach to the game object model||[ PDF ] [ YT 2020 ]|
|3.||20.10.2023||Tweening – Part 1||Introduction to curves and in-be-tweening||[ PDF ] [ YT 2020 ]|
|4.||27.10.2023||Tweening – Part 2||All sorts of splines||[ PDF ]
[ video sent by email]
|5.||3.10.2023||Physics – Part 1||Introduction to Physics Systems, revisiting Newton physics.||[ PDF ]|
|6.||10.10.2023||Physics – Part 2||Collision Detection – Ideas, Algorithms||[ PDF ]|
|7.||24.10.2023||Uncertainity||Role of randomness in games||[ PDF ] [YT 2020 ]|
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.
HW1 – Play your favorite game!
|Introduction to Godot.
Make a game from scratch in Godot 4!Use these assets.HOMEWORK 1Play your favorite game about which you can say
it has an appealing game mechanics
and see them through the 7 lens of playability
(see the lecture).
Find some section and comment technically
on how the game respond to user inputs. Expected length: ~3 pages.DEADLINE 24th of October, 2023SUBMISSION
Submit via this form.
|2.||10.10.2023||GDScript DeepDive + RPG Start||A more detailed rundown of GDScript.
If you missed this practical, study this page, carefully and rigorously. Watch out that it is Godot 3, so some things may be different, (onready/export are now annotations, we have typed arrays).
|3.||17.10.2023||RPG Project Start||Starting with a tiny RPG project in Godot!
Follow the instructions in this document. Make sure to fork the repository (it will be necessary for a later homework submission).
|4.||24.10.2023||RPG Project Continue||Continuing where we left off.
Follow the instructions in this document!
|5.||31.10.2023||RPG Project Finish||The last part of the RPG project task, focusing on tweening! Follow the instructions in this document.
HOMEWORK 2 – Finish up the RPG project to be a true tiny RPG!
Add: Combat, Quests and something original (see the tasks document).
Submit via this form.
DEADLINE – 14.11.2023
|6.||7.11.2023||Custom Tweening||Create your custom tweening library.
Follow instructions in this document.
(will be needed in a following HW)
|7.||14.11.2023||Intermezzo||Create a simple space shooter.
Follow the instruction in this document.
(knowledge from this will be needed in a following HW)
|8.||21.11.2023||Platformer Project Start||Starting with a Platformer project in Godot!
Follow the instructions in this document. Make sure to fork the repository (it will be a start for a later homework submission).
|9.||28.11.2023||Ninja Rope||Continuing with the Platformer – adding a ninja rope
Follow the instructions in this document. You should be working on your own fork of the platformer repository.
Example Job Offers
Check some old job offers from various (even well known) gamedev companies, especially check “Requirements” sections, informative 😉