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 4 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: Fridays, 8:10, S5.
Labs: Wednesdays, 12:20 / 14:00, SW2.
Course Exam
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.
Lab Credit
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.
Lectures
No. | Date | Topic | Content | Slides |
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 ] |
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
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. |
10. | 5.12.2023 | 2D Animation | Looking into 2D animation capabilities in Godot! Follow the instructions in this document.
HOMEWORK 3 – Finish up the platformer project to be a true platformer (demo)! Add: Ninja Rope, Animation, Tween, Dynamic Camera, Parallax Scrolling and something that makes it your own! Submit via this form. DEADLINE – 19.12.2023 |
11. | 12.12.2023 | Audio | How to approach audio from the side of gameplay programming? Follow the instruction in this document.Don’t forget to keep working on your HW! |
12. | 18.12.2023 | 3D Animation | A brief outlook on the 3D animation capabilities in Godot! Follow the instruction in this document. |
Extra links