Gameplay Programming (Winter 2022/23)

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. PDF
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 PDF
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. PDF
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 PDF
7 28.11.2022 Physics – Collision Detection Broad, Mid, Narrow phases of collision detection and its algorithms PDF
8 5.12.2022 Uncertainty and Randomness From simple prob. theory to perception of randomness its role in games and human biases about it 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. 3.10.2022 Godot Intro

Play your favorite game!

Source Project

 

HOMEWORK 1
Play your favorite game about which you can say
it has an appealing game mechanics
and see them through the lens of playability
(see the lecture).
Find some section and comment technically
on how the game respond to user inputs.

SUBMISSION
Send email to: gemrot@gamedev.cuni.cz & cerny@gamedev.cuni.cz
Email subject: GPP 2022 – Homework 1

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
not submitted, but further classes and exam assumes you did it
Finish all the Tasks above

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
Finish tasks 1 through 9 and implement the Tweening scene in the Homework folder.

SUBMISSION
Send whole project by email to: gemrot@gamedev.cuni.cz & cerny@gamedev.cuni.cz
Email subject: GPP 2022 – Homework 2

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
Finish the tasks (make a working ninja-rope platformer!).
SUBMISSION
Send whole project by email to: gemrot@gamedev.cuni.cz & cerny@gamedev.cuni.cz
Email subject: GPP 2022 – 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)


Acknowledgement

https://gamedev.cuni.cz/wp-content/uploads/2018/10/logolink_OP_VVV_hor_barva_eng.jpg