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.
Follow the appropriate channel at Gamedev Discord!
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 ;-).
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.
|1.||3.10.2022||What is Gameplay Programming?||Introduction to the field… if a bit confusing.|
|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|
|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.|
|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|
|7||28.11.2022||Physics – Collision Detection||Broad, Mid, Narrow phases of collision detection and its algorithms|
|8||5.12.2022||Uncertainty and Randomness||From simple prob. theory to perception of randomness its role in games and human biases about it|
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.
Play your favorite game!
|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
|4.||24.10.2022||Game with object instantiation||Practicing Godot skills, especially around instantiating objects from code
Source Project – Space Shooter
|5.||31.10.2022||Tweening!||Start with your game from Lab 3! (if you don’t have it, get a solution here)
|6.||7.11.2022||Building a Tweening library!||Source Project – Tweening Demo
|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
|9.||28.11.2022||Ninja Rope||Source Project – Platformer Base
|10.||5.12.2022||Ninja Rope assisting|
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)