Create Your First Godot 4 Game
Lesson 8: Handling player death
Create Your First Godot 4 Game
- Lesson 1: Getting started with Godot 4 2:53
- Lesson 2: Overview of the Godot interface 18:24
- Lesson 3: Setting up the level 11:09
- Lesson 4: Creating the player 22:42
- Lesson 5: Spawning the platforms 8:09
- Lesson 6: Creating a collectible 18:49
- Lesson 7: Creating an enemy 10:46
- Lesson 8: Handling player death
- Lesson 9: Creating the player projectile 13:05
- Lesson 10: Adding the final touches 6:54
- Lesson 11: Exporting your game and wrapping up 2:37
Video Notes
Our player has to meet their end at some point. In this lesson, we’ll handle the player dying.
-
JTW789
Sept. 24, 2023 at 4:03 a.m.The camera keeps following the player after they fall. How do I fix that?
-
amit
Sept. 25, 2023 at 2:47 p.m.In the player’s _process() function, we have:
func _physics_process(delta): # ... if active: camera.position = position # ...
and in the player’s die() function:
func die(): # ... active = false
So we only move the camera when the player is active and we turn off the active flag when the player dies.
-
-
dkgsblotch
Oct. 19, 2023 at 8:16 a.m.in this video we created a signal called "game_over " and we emit it in the function _on_player_died but i dont see which script is listening to this signal
-
amit
Oct. 19, 2023 at 1:52 p.m.The
game_over
signal doesn’t actually get used. I think Tom had some ideas that we had to cut from the tutorial and this might be left over from that. So you can safely omit that signal. Good catch!
-
-
LeGrandFromage
Oct. 29, 2023 at 10:01 p.m.The corrections section for this lesson mentions ammo and shooting, but that doesn’t get implemented until the next lesson.
-
amit
Oct. 30, 2023 at 6:18 p.m.This has been fixed – thanks for pointing that out!
-
AdamDee
Nov. 21, 2022 at 12:21 p.m.Instead of making a new node for ground, can’t we just use the PlayArea node and have it signal when player body exits?
amit
Nov. 21, 2022 at 3:26 p.m.Yes, I think that would work and it would be simpler too. Just make sure you set the
CollisionShape
’s mask for thePlayArea
to collide with the Player as well. Good find!SpaceKitty
Dec. 18, 2023 at 1:57 p.m.Oh yeah! That seems a much more straight forward solution, thanks for that!
DarkFilter
Jan. 25, 2024 at 3:17 a.m.i tried this and i got it to work when the player exits the screen, however after an enemy collision the game crashes
amit
Jan. 26, 2024 at 9:51 p.m.Can you provide a little bit more information about the crash? What line does it crash on and what’s the error message?
Psych0Dad
Sept. 15, 2024 at 2:39 p.m.i had the same issue, you habe to use player.die() funktion instead of body.queeu.free(), that was the solution for me func _on_body_exited(body): if body.is_in_group(“enemy”): body.queue_free()