Feineigle.com - Godot 4 Game Development Projects - Build Five Cross-platform 2D and 3D games

Home · Book Reports · 2023 · Godot 4 Game Development Projects - Build Five Cross-Platform 2D and 3D Games

Published: September 7, 2023
Tags:  Games · Godot · Programming



The book in...
One sentence:
A well scaled guide through five 'complete' games of varying complexity and genres.

Five sentences:
After a solid introduction the first project is presented and explained in deep detail so that someone who has never used Godot or a game framework in general will be able to follow along. In the beginning many things are shown with screen shots to hold your hand as to where things are and give you an example of how your project should look. As the book progresses, theses screen shots are less common and the description of what you are supposed to do gets more terse, forcing you to have paid attention to and understood the previous lessons. I think that the difficulty curve utilized in this book is done very well so that it takes you from no understanding at the beginning to having a solid foundational understanding by the end. Overall, very pleased with the book and confident that what I learned will position me to successfully tackle more complex aspects of Godot and game dev in general.

designates my notes. / designates important. / designates very important.


Table of Contents


· Chapter 01 - Introduction to Godot 4.0

· Chapter 02 - Coin Dash – Build Your First 2D Game

page 16:
page 19:
page 20:
page 21:
page 25:
page 26:
page 27:
page 28:

see: [[Godot - Node Paths]]

· Chapter 03 - Space Rocks: Build a 2D Arcade Classic with Physics

page 50:
page 51:
page 55:
page 60:
page 62:
page 72:
page 76:

Connecting signals to preexisting functions.

page 77:
page 84:
func _physics_process(delta):
    rotation += deg_to_rad(rotation_speed) * delta
    follow.progress += speed * delta
    position = follow.global_position
    if follow.progress_ratio >= 1:
        queue_free()
page 92:

Introduction to particle effects.

· Chapter 04 - Jungle Jump – Running and Jumping in a 2D Platformer

page 100:
page 101:
page 105:
page 109:
page 129:
$Player.life_changed.connect($CanvasLayer/HUD.update_life)
score_changed.connect($CanvasLayer/HUD.update_score)
page 141:

Tweens

var tween = create_tween().set_process_mode(Tween.TWEEN_PROCESS_PHYSICS)
tween.set_loops().set_parallel(false)
tween.tween_property($TileMap, "position", offset, duration / 2.0).from_current()
tween.tween_property($TileMap, "position", Vector2.ZERO, duration / 2.0)

set_parallel(false) tells tween to perform the two property tweens sequentially rather than at the same time.

· Chapter 05 - 3D Minigolf: Dive into 3D by Building a Minigolf Course

page 149:
page 169:

MOUSE_MODE_VISIBLE: This is the default mode. The mouse is visible and free to move in and out of the window.

MOUSE_MODE_HIDDEN: The mouse cursor is hidden.

MOUSE_MODE_CAPTURED: The mouse is hidden and its position is locked to the window.

MOUSE_MODE_CONFINED: The mouse is visible, but confined to the window.

· Chapter 06 - Infinite Flyer

page 183:
func get_input(delta):
    pitch_input = Input.get_axis("pitch_down", "pitch_up")
    roll_input = Input.get_axis("roll_left", "roll_right")
page 204:

https://docs.godotengine.org/en/stable/tutorials/io/data_paths.html

· Chapter 07 - Next Steps and Additional Resources

page 211:

-noimp – These objects will be removed from the imported scene.

-col, -convcol, -colonly – These options tell Godot to make a collision shape from the named mesh. The first two options make a child triangle mesh or convex polygon shape, respectively. The -colonly option will remove the mesh entirely and replace it with a StaticBody3D collision.

-loop – Blender animations with this suffix will be imported with the loop option enabled.

page 212: