Deep dive into best game programming practices using typed GDScript and Godot's version of Scriptable Objects.
Credit to YouTube user Skid (thank you!) for compiling and labeling the following timestamps:
Introduction and setup
0:00:00 Intro, assets used, scene setup and useful concepts
0:08:20 Player scene setup
0:15:00 Player script
0:18:50 Mouse look and player rotation implementation
0:23:55 Player rotation problems
0:25:50 Mouse sensitivity implementation
0:31:20 Player tilt problems and solution
0:40:40 Crosshair creation
0:50:00 Player movement
Asset import in Godot
1:15:45 Asset import and scale
1:30:40 Import script (assets)
1:46:10 NPC creation
Dialogue system
1:55:45 Dialog UI scene implementation
2:12:00 Dialogue data structures and godot resources
2:18:20 Dialogue script (resource)
2:33:00 Dialogue manager script + architecture tips
2:50:10 Assign an object in a script (with nodepath) in a single line
2:57:30 Assign a resource instance in a script in a single line
3:02:20 Dialogue manager script continued
FoodQuiz scene
3:13:00 Foodquiz scene creation
3:28:17 Foodquiz script
3:37:39 Architecture tips about project file organization
3:38:50 Architecture tip about possible implementation of dialogue manager as singleton
Signals and game events
3:44:00 GameEvents and signals explanation
3:52:50 GameEvents script
3:55:20 Signal emit in food quiz
3:56:20 Signal connect in dialogue manager
4:00:00 Pass argument to signal
4:06:30 Adding food to foodquiz scene
Food interaction
4:23:36 Food script
4:29:35 Adding raycast and foodchoser script
4:43:25 Architecture tips, discussion about best pratices and why is better to use signals instead of calling functions directly
4:49:25 Signals and callbacks for food interaction
5:12:13 Adding food label to scene
5:15:35 Food label script
5:20:40 How to implement the food name and tips
5:28:08 Food rotation
5:45:08 Adding a second foodquiz
GameState
5:55:20 Player not moving during dialogue and game state
5:58:35 Enums script singleton
6:04:40 Runtime data resource script for gamestate
6:09:50 Singleton vs global resource
6:16:50 Game state implementation
6:23:05 Dialogue finished signal and callback
6:33:10 Dialogue finished depending on game state
Food selection in FoodQuiz
6:35:12 Creating dialogues for correct and incorrect food choosing
6:39:50 Implement food choose dialogues in foodquiz
6:45:50 Implement the correct food selection
6:54:45 Architecture tip: referencing directly the parent in this case is probably the best solution
Solution to other issues
6:59:40 Dialogue issue where one dialogue can start before another one finishes
7:07:15 Break a long line with multiple ones
7:10:00 Dialogue issue where it's not clear when a dialogue end and another one starts - race conditions
7:18:30 Functions in GameEvents singleton to emit signals