Reference: https://docs.godotengine.org/en/stable/tutorials/3d/fps_tutorial/

Continuation of https://godotforums.org/discussion/comment/44802/#Comment_44802

@TwistedTwigleg said: If I recall correctly, you will need to reassign the GridMap libraries for each of the GridMap nodes in the inspector. ...

Thanks, that fixed it. :)

I had thought that those two levels looked a bit empty. :smile:

Would it be difficult to add that note to the tutorial?

Great! I'm glad that fixed it.

Would it be difficult to add that note to the tutorial?

Technically no, it would just be a matter of making a pull request on the Godot documentation repository, but I'm not sure if it would be merged or not though.

If you don't have the time, I could try to add the request. That was the only flaw I recall seeing in the tutorial.

Okay, I'll do it. B)

One other thing I remembered. The tutorial uses the same input action (fire_grenade) for both grenades and picking-up/throwing an object. I had trouble picking-up/throwing without also tossing a grenade. So I added a new input action (throw_object), with a different key-binding, for picking-up/throwing.

I'm not an expert at playing video games, so the issue may just be my limited gaming skills.

Here's the note I plan to add to the tutorial text:

Note:

Due to software updates since this tutorial was published, if you are using a recent version of Godot, you may need to apply the following changes to the Space Level and Ruins Level scenes:

Open up Space_Level.tscn (res://assets/Space_Level_Objects/Space_Level.tscn).
In the Scene dock, select the Floor_and_Celing node. In the Inspector dock, if the Mesh Library field under GridMap is "[empty]", set it to Space_Level_Mesh_Lib.tres, either by (1) dragging the file res://assets/Space_Level_Objects/Space_Level_Mesh_Lib.tres from the FileSystem dock into that field; or by (2) clicking on "[empty]" to expand the pulldown menu, selecting Load and navigating to the file.
Do the same for the Walls node.

Open up Ruins_Level.tscn (res://assets/Ruin_Level_Objects/Ruin_Level.tscn).
In the Scene dock, select the Floor node. In the Inspector dock, if the Mesh Library field under GridMap is "[empty]", set it to Ruin_Level_Mesh_Lib.tres, either by (1) dragging the file res://assets/Ruin_Level_Objects/Ruin_Level_Mesh_Lib.tres from the FileSystem dock into that field; or by (2) clicking on "[empty]" to expand the pulldown menu, selecting Load and navigating to the file.
Do the same for the Walls node.

If you think that needs improvement, please let me know. You may be right about the PR not getting accepted, but I figure it's worth a try.

@DaveTheCoder said: Here's the note I plan to add to the tutorial text:

Note:

Due to software updates since this tutorial was published, if you are using a version of Godot later than 3.0, you may need to apply the following changes to the Space Level and Ruins Level scenes:

Open up Space_Level.tscn (res://assets/Space_Level_Objects/Space_Level.tscn).
In the Scene dock, select the Floor_and_Celing node. In the Inspector dock, if the Mesh Library field under GridMap is "[empty]", set it to Space_Level_Mesh_Lib.tres, either by (1) dragging the file res://assets/Space_Level_Objects/Space_Level_Mesh_Lib.tres from the FileSystem dock into that field; or by (2) clicking on "[empty]" to expand the pulldown menu, selecting Load and navigating to the file.
Do the same for the Walls node.

Open up Ruins_Level.tscn (res://assets/Ruin_Level_Objects/Ruin_Level.tscn).
In the Scene dock, select the Floor node. In the Inspector dock, if the Mesh Library field under GridMap is "[empty]", set it to Ruin_Level_Mesh_Lib.tres, either by (1) dragging the file res://assets/Ruin_Level_Objects/Ruin_Level_Mesh_Lib.tres from the FileSystem dock into that field; or by (2) clicking on "[empty]" to expand the pulldown menu, selecting Load and navigating to the file.
Do the same for the Walls node.

If you think that needs improvement, please let me know. You may be right about the PR not getting accepted, but I figure it's worth a try.

Looks good to me!

Edit: Godot 3.2 branch is the latest (and last) version that includes the FPS tutorial.

I noticed that I made a typo in the submission. In one place, I misspelled "Ruins_Level.tscn" as "Ruin_Level.tscn".

Is there an easy way for me to fix that? Or I could leave it as-is. It probably won't be noticed by the user.

You can make the change and rebase your initial commit. The documentation has a decent guide on the workflow (I often have to refer to this document on any rebases/changes I make in Git): PR Workflow

Thanks to Calinou for approving the PR, and for cleaning up and simplifying the user instructions. :)


On another topic: Since my interest is in making Android games, I was thinking about how the inputs would be set up for a touchscreen. This is hypothetical, since I don't plan to do this for this tutorial.

Does this look reasonable?

On-screen joystick for player movement (forwards/backwards/left/right). Another on-screen joystick for player looking/rotating (up/down/left/right). On-screen button for weapons-selection - pop-up menu. Other on-screen buttons for pausing, firing, reloading, jumping, flashlight, throwing.

@DaveTheCoder said: Thanks to Calinou for approving the PR, and for cleaning up and simplifying the user instructions. :)


On another topic: Since my interest is in making Android games, I was thinking about how the inputs would be set up for a touchscreen. This is hypothetical, since I don't plan to do this for this tutorial.

Does this look reasonable?

On-screen joystick for player movement (forwards/backwards/left/right). Another on-screen joystick for player looking/rotating (up/down/left/right). On-screen button for weapons-selection - pop-up menu. Other on-screen buttons for pausing, firing, reloading, jumping, flashlight, throwing.

Looks good. That type of layout is fairly standard for touch screen FPS games.