Open andreymal opened 1 year ago
I'll go over this on Friday and work on a PR for it. And keep in mind, even if you can't fix everything on this list there's nothing wrong with making a PR fixing only what you do know how to fix.
A comment on the C# part : to make things work, you will need to update some properties with the first letter changed to uppercase like below : direction.x += 1f; => direction.X += 1f;
Here I managed to use the Edit
button on the top right to Copy Tracks
and Paste Tracks
. I had to use Animation > New
for the Edit
button to be available for pasting in the mob animation player.
Here I managed to use the
Edit
button on the top right toCopy Tracks
andPaste Tracks
. I had to useAnimation > New
for theEdit
button to be available for pasting in the mob animation player.
Also noticing it should mention:
1.2
secondsAutoplay on Load
and Animation Looping
Thanks for making this list! I found another problem in "Setting up the game area" today: it says "hold the Ctrl key down to turn on grid snapping (Cmd on macOS)", but it's Ctrl on macOS as well.
Another one in "Designing the mob scene": "This function destroy the instance it's called on" should say "destroys". (oh and the method name in the code example directly below that is outdated)
Heyo! I actually have a fix/solution for one of the listed issues. I came across this exact issue when completing the tutorial. I apologize if this is completely out of etiquette or missing some kind of formatting. I'm very new to Godot, for reasons we all know I'm sure, and I'm fairly new to Git because again...Source Control features were handled in-engine in my previous experiences. Here's the issue I'm referring to:
==================================================== 09.adding_animations.rst:261
Next, click on Animation > Copy.
This menu doesn't exist in Godot 4. It seems we should use Animtion > Manage Animations, but I'm not sure.
====================================================
I digress! Point is, I'm fairly certain that I know how to solve this issue for the Character Animation section of this tutorial. I tried every, other way I could think of for a fix, but this method was the only one I had any success with in Godot 4.1. So, to get the animation to "Copy over," for use in the Mob class I had to:
Again, I apologize if this is the wrong way to suggest a fix, like I say I'm pretty new to both of these communities, but I hope this helps nonetheless!
Linking a relevant issue for copying animation here for the sake of visibility: https://github.com/godotengine/godot/issues/60848
Additional issue on character animation: https://github.com/godotengine/godot-docs/blob/971c1f73e74b6c8c609977355e92857f46a3df0e/getting_started/first_3d_game/09.adding_animations.rst?plain=1#L278 I believe the intention isn't integer division, but instead float division
Setting up the game area
godotengine/godot-demo-projects#884 for Godot 4 has superceded godotengine/godot-3d-dodge-the-creeps (just opened godotengine/godot-3d-dodge-the-creeps#14 a few minutes ago).
We better also rewrite the tutorial to go off the godotengine/godot-demo-projects
entry instead of the outdated and unmaintained repo.
Here I managed to use the
Edit
button on the top right toCopy Tracks
andPaste Tracks
. I had to useAnimation > New
for theEdit
button to be available for pasting in the mob animation player.Also noticing it should mention:
- animation length needs to be adjusted to
1.2
seconds- remember to enable
Autoplay on Load
andAnimation Looping
Using Godot 4.2.1.stable
I ran into this issue and considered the "Manage Animations" option, but the "Edit -> Copy Tracks" seemed more straightforward and clear to me, noting that you still have to add the AnimationPlayer
on the Mob scene, so that's the approach I took to make it through.
That said, I additionally encountered a couple other interesting problems I'm not seeing referenced (just on quick searching through GitLab issues). Both are related to the character animation section:
While the guide correctly states to get animation keyframes from the Character
node, all the subsequent screenshots that show the animation panel have Player
showing as the target node. This threw me off for a good 40 minutes until I came across a reddit answer highlighting that the root Player
shouldn't be used for keyframes. The issue this causes is that the player character is animated and floating, but no longer moves to player input. -- A more detailed explanation of why this happens might be worth noting in a warning/note callout. I took a few updated screenshots and will push up a PR if I get a chance.
The player shadow is rendered weird when actually running the game. I've adjusted some settings and it mostly works, but the best thing I did was to make the window size bigger. From searches it looks like Godot 4.x has some LOD rendering issues with shadows, so I'm assuming that this is related, but I'm not well-versed in game engines enough yet to know for sure.
I've updated the list with the fixes from #8955. I'll be working on a PR to fix the remaining ones. This will take several days.
I also noticed that the shortcut for "Duplicate" in the tutorial is just listed as shift+D - but on macOS it's actually CMD+D
I just finished the tutorial and noticed that the stable version is still lacking several improvements mentioned in this thread (including the "Copy Animations" part that seems to trip up a lot of people). Is it too early to push some of these updates to the stable release? (Also, thanks for all the work that went into this 🙏 )
They are marked for cherry picking but haven't been processed yet, they will in some sweep
There's a bunch of weird things I ran into while trying to follow the "Squash the Creeps" tutorial in Godot 4. I'm not a Godot expert and don't know how to fix some of these things, so I don't want to make a pull request, but I hope this list can help other contributors improve the documentation.
Common
The screenshots are inconsistent:
Perhaps it would be a good idea to recreate all the screenshots after the first release candidate?
Your first 3D game
(fixed in #6763) This link (https://github.com/GDQuest/godot-3d-dodge-the-creeps) redirects to https://github.com/godotengine/godot-3d-dodge-the-creeps — I think it would be nice to fix this unnecessary redirect. I also found this link in three other places:index.rst:34
index.rst:45
01.game_setup.rst:12
going_further.rst:20
Setting up the game area
[x]
(fixed in #6763)01.game_setup.rst:42
This button is actually "Add Child Node" even when there are no nodes in the scene
[ ]
01.game_setup.rst:43
It seems this page doesn't explain how to rename nodes. Mentioning
RMB>Rename
orF2
would be good[ ]
01.game_setup.rst:48
Godot 4 suggests to name it
main.tscn
instead. If I understand correctly, Godot 4 uses snake_case by default after https://github.com/godotengine/godot/pull/52597Same with other scenes (
MusicPlayer.tscn
→music_player.tscn
etc.)Note that if you decide to rename the scenes in this tutorial, you will have to rewrite all the text and recreate all the screenshots, because these names are visible almost everywhere.
[x]
(fixed in #6763)01.game_setup.rst:67
Unnecessary space: Box Shape3D → BoxShape3D
[x]
(fixed in #6763)01.game_setup.rst:89
Broken rst link?
[x]
(fixed in #6763)img/01.game_setup/13.move_gizmo_y_axis.png
The
MeshInstance3D
is not rendered on this screenshot, which may confuse some users[x]
(fixed in #6763)01.game_setup.rst:131
and01.game_setup.rst:135
Renamed to
DirectionalLight3D
By the way: unlike Godot 3, the ground is not white in Godot 4. Can we tweak something to make the lighting identical to Godot 3?
Player scene and input actions
[ ]
02.player_input.rst:65
and related screenshotimg/02.player_input/04.sphere_shape.png
It doesn't appear in Godot 4 because it's too small by default and fits completely inside the model. I have to set the radius to 0.75 to see the wireframe
[ ]
02.player_input.rst:70
We should now enlarge it instead (from
0.5
to0.8
)[ ]
02.player_input.rst:106
and related screenshotimg/02.player_input/07.input_map_tab.png
They are no longer visible by default, we need to click Show Built-in Actions to see them
[ ]
02.player_input.rst:130
and related screenshotsThe Manual Selection tab no longer exists, everything is in one window now
[ ]
02.player_input.rst:151
It's not obvious what is "the gamepad's A button", all gamepads are different. Maybe just mention "Joypad Button 0" instead?
Moving the player with code
[x]
(fixed in #6763)03.player_movement_code.rst:50
It has been renamed to
target_velocity
to prevent collision with the builtinvelocity
property (the related code snippets are correct)[x]
03.player_movement_code.rst:190
This line is rendered with incorrect indentation because the rst source mixes tabs and spaces
[x]
(fixed in #6763)03.player_movement_code.rst:235
if direction != Vector3.ZERO:
[ ]
img/03.player_movement_code/13.camera3d_values.webp
This screenshot doesn't highlight Projection: Orthogonal for some reason
Designing the mob scene
[x]
(fixed in #6763)04.mob_scene.rst:116
Incorrect 5-space indentation
[x]
(fixed in #6763)04.mob_scene.rst:153
Renamed to
randf_range()
[x]
(fixed in #6763)04.mob_scene.rst:251
Again, incorrect 5-space indentation
Spawning monsters
[x]
(fixed in #6763)05.spawning_mobs.rst:14
I see
1152x648
, I don't know why. Is this the new default value in Godot 4?[ ]
05.spawning_mobs.rst:97
This step is not needed because all cylinders share the same MeshInstance3D. Simply select any mesh instance
[x]
(fixed in #6811)05.spawning_mobs.rst:161
It seems it's not needed, see https://github.com/godotengine/godot/pull/43330
Jumping and squashing monsters
[ ]
06.jump_and_squash.rst:239
Again, incorrect 5-space indentation
[x]
(fixed in #6763)06.jump_and_squash.rst:291
Typo,
index
is not needed hereKilling the player
[x]
(fixed in #6763)07.killing_player.rst:109
Renamed to
$Player.position
, see05.spawning_mobs.rst:253
[x]
(fixed in #6763)07.killing_player.rst:272
Incorrect 3-space indentation after
func squash():
[x]
(fixed in #6763)07.killing_player.rst:324
The
extends CharacterBody3D
line fromPlayer.gd
is not visible in html. I'm not a rst expert, but I guess there is a missing empty line before this line[x]
(fixed in #6763)07.killing_player.rst:332
Missing comment
# Vertical impulse applied to the character upon jumping in meters per second.
[ ]
07.killing_player.rst:346
and related lines03.player_movement_code.rst:72
suggests to usedirection.x += 1
instead (same withz
)[x]
(fixed in #6763)07.killing_player.rst:359
Missing space before
Vector3.UP
[x]
(fixed in #6763)07.killing_player.rst:366
Missing
Literally gravity
comment, see03.player_movement_code.rst:189
[ ]
07.killing_player.rst:401
Line 12 (UNUSED_PARAMETER): The parameter 'body' is never used in the function '_on_mob_detector_body_entered'. If this is intended, prefix it with an underscore: '_body'
Score and replay
[x]
(fixed in #6763)08.score_and_replay.rst:68
and08.score_and_replay.rst:76
Font Data has been renamed to Base Font (the related screenshots are correct)
[x]
(fixed in #6763 and #6807)08.score_and_replay.rst:79
It has been renamed to Default Font Size (the related screenshot is correct)
[x]
(fixed in #6807)08.score_and_replay.rst:129
Again, incorrect 5-space indentation
[ ]
08.score_and_replay.rst:176
Is this note still relevant? The only important thing is that
Main.gd
andScoreLabel.gd
must use the same name. I tried renaming it to_dfg3f85f4fgbdfg
and it works just fine.[x]
(fixed in #6763 and #6807)08.score_and_replay.rst:203
and related lines and screenshotsIt has been renamed to Anchor preset, the related screenshots need to be updated
[x]
(fixed in #6807)13.retry_color_picker.png
This screenshot is outdated, the hex value has been changed from
78000000
(ARGB) to00000078
(RGBA)[x]
(fixed in #6763)08.score_and_replay.rst:270
Renamed to
_on_player_hit
, see07.killing_player.rst:134
Character animation
[ ]
09.adding_animations.rst:96
and related screenshotsAll the related screenshots show
0.3
instead, which is incorrect[ ]
09.adding_animations.rst:185
Not really. When I move
Pivot
up, the player model starts looking at the ground becausePivot
is rotated with$Pivot.look_at(position + direction, Vector3.UP)
. This will be fixed below by changing$Pivot.rotation.x
, but at this point in the tutorial, movingPivot
gives strange results.[x]
(fixed in #6763)09.adding_animations.rst:208
It has been renamed to
speed_scale
recently: https://github.com/godotengine/godot/pull/71907[X]
09.adding_animations.rst:261
(Fixed in #8955)This menu doesn't exist in Godot 4. It seems we should use Animtion > Manage Animations, but I'm not sure.
[x]
09.adding_animations.rst:262
(Fixed in #8955)We also need to enable autoplay, which is disabled by default
[x]
(fixed in #6763)09.adding_animations.rst:274
Again, renamed to
speed_scale
[x]
(fixed in #6763)09.adding_animations.rst:296
Again, the
extends CharacterBody3D
is not visible in html. In general, all these reference scripts also have the previously mentioned issuesP.S. I didn't test C#