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: Thursday, 8:15, S5.
Labs: Tuesday, 17:20 / 19:00, SW2.
Course Exam
The course exam will be both theoretical & practical!
Theoretical Part
A written test. In general, you be knowledgeable about the topics in this document.
Practical Part
You will be given a Godot implementation task, with a (somewhat) generous time limit. This task will be loosely based around stuff from the lectures / labs.
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
Each week of delay will incur a 1 point deduction. Don’t leave the solutions until the last possible moment. If you had a serious reason why you couldn’t submit in time, let us know.
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 practical part of the exam, you need your solution to “basically work”, but it can have flaws.
max – 1 : At the practical part of the exam, your solution can have minor flaws.
max – 2 : At the practical part of the exam, your solution can only have small “cosmetic” flaws.
max – 3 : At the practical part of the exam, your solution needs to work flawlessly.
Lectures
No. | Date | Topic | Content | Slides |
1. | 3.10.2024 | What is Gameplay Programming? | Introduction to the field… if a bit confusing. | |
2. | 10.10.2024 | Game Object Model | Some background then discussing: inheritance, composition, component-based, and finally Entity-Component-System designs | |
3. | 17.10.2024 | Tweening – Part I | Introduction to curves and in-be-tweening | PDF (2023) YT (2020) |
4. | 24.10.2024 | Tweening – Part II | Splines | PDF (2023) [ for video, DM me (JG) on Discord ] |
5. | 7.11.2024 | Physics – Part I | Physics loop, Collliders, Linear and Angular Dynamics | |
6. | 14.11.2024 | Physics – Part II | Collision Detection | |
7. | 28.11.2024 | Randomness in Games | How to code and design randomness in games |
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. | 1.10.2024 | Godot Intro | Introduction to Godot. Make a game from scratch in Godot 4!Use these assets.HW1: Pick your favorite game and describe it with the 7 lens of playability (see 1st lecture).Written text + audio.Submit via this form. |
2. | 8.10.2024 | GDScript DeepDive | Talking about technical details of GDScript, Godot’s scripting language we will be using in the labs!
For a quick overview, refer to this. For much more detail, refer to this. |
3. | 15.10.2024 | RPG, part 1 | Introducing the first project, a simple RPG. Let’s get our hands dirty as gameplay programmers!
Instructions are here. |
4. | 22.10.2024 | RPG, part 2 | Continuing on the first RPG project!
Instructions are here. |
5. | 29.10.2024 | self-study | Self-study of these materials.
HW2: Finish the RPG (more info in the materials). Deadline: 19.11. Submit via this form. |
6. | 5.11.2024 | cancelled | cancelled due to sports day |
7. | 12.11.2024 | Tweening library | Make your own tweening library. Follow these materials. |
8. | 19.11.2024 | Space Shooter | Making a quick space shooter! How complete can you make it in 90 minutes?
Follow these materials. |
9. | 26.11.2024 | Platformer | Starting work on a platformer, the basis for HW3!
Follow these materials |
10. | 3.12.2024 | Ninja Rope (self-study) | Imbuing our platformer with the ninja rope ability.
Note: This is meant to be the biggest challenge of the semester. Expect resistance, bugs, but hopefully you’ll be able to stand victorious and make this mechanic work! Ask for help on Discord if stuck. Follow these materials. |
11. | 10.12.2024 | 2D Animations | Basics of 2D animations.
Follow these materials HW3 is fully assigned, check the materials for details. Deadline: 23.12. 23:59 Submit via this form. |
12. | 17.12.2024 | Audio & 3D Animations | What didn’t fit elsewhere – Basics of Audio and 3D Animation.
Part 1 – Materials for audio. Part 2 – Materials for 3D animation. |
Extra links