Gameplay Programming (Winter 2024/25)

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. PDF
2. 10.10.2024 Game Object Model Some background then discussing: inheritance, composition, component-based, and finally Entity-Component-System designs PDF
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 PDF
6. 14.11.2024 Physics – Part II Collision Detection PDF
7. 28.11.2024 Randomness in Games How to code and design randomness in games PDF

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