Lets Make An FPS in the Godot Engine @stayathomedev
Lets Make An FPS in the Godot Engine  @stayathomedev
Uploaded July 2025 | Updated September 2026, 1 week ago
Welcome to the first episode of version 2.0 of my FPS tutorial series in the Godot Engine. Version 2 is bigger, better, and better organized. We will be creating a retro FPS game with modern twists in the Godot Engine from scratch.

🔥 Wishlist My FPS Game, Children of Kronos
store.steampowered.com/app/3640450/Children_of_Kronos/?utm_source=youtube&utm_medium=description&utm_campaign=tutorial&utm_content=letsmakeanfpsinthegodotengine

-----------------------------------------------------------------------------------

✅ GET THE SOURCE FILES
patreon.com/cw/StayAtHomeDev_

✅ GET THE STARTERKIT PROJECT
patreon.com/posts/make-fps-2-0-134340702

🏆 The FPS Tutorial Series 2.0 Roadmap
stayathomedev.com/blog/fps-series-road-map

📝 There are also full code references at the end of the video!

-----------------------------------------------------------------------------------

Episodes

002 - Camera Juice ►► youtu.be/53Awc2twnhA
003 - Stair Climbing ►► youtu.be/C5Je3eu5a2k
004 - Trenchbroom Setup ►► COMING SOON
005 - Swimming ►► COMING SOON

-----------------------------------------------------------------------------------

This video covers the start of our FPS game featuring the following:

- Prototype Level Setup
- Filesystem Folder Organization
- FPS Player Controller
- Camera Controller
- Mouse Capture Component
- Functional State Machine
- Walking
- Sprinting
- Idle
- Crouch
- Jump
- Interaction Raycast Component
- Main Scene Manager Setup
- User Interface Setup with Dynamic Reticle
- Debug Feature for State Machine and User-Defined Expressions

-----------------------------------------------------------------------------------

CHAPTERS

00:00 Let's Made An FPS in Godot
00:19 Why Version 2.0?
00:49 Version 2.0 Will Be Bigger
01:03 Chapter 01: Project Setup
01:18 The Prototype Level
02:12 Chapter 2: Player Controller
03:09 Chapter 3: Camera Controller
04:03 Looking With the Mouse
04:56 Mouse Component Script
07:46 Using Our Mouse Capture Data
09:12 Why Mouse Vector is Swapped
10:04 Rotate the Player or the Camera?
10:49 Rotating the Camera
11:21 Rotating the Player
11:54 Chapter 4: Walking Movement
12:26 Input to Player Direction
12:56 Adding Gravity
13:35 Direction to Velocity
14:13 Normalize Your Direction Vector
14:32 Acceleration and Deceleration
15:14 Why We Separate the Y Velocity
16:28 Chapter 5: The State Machine
16:56 The Godot State Charts Addon
17:21 State Machine Node Structure
18:24 The Atomic State
19:01 Compound State's Default Atomic State
19:33 How To Move Between States
20:21 Using the Built-in State Signals
21:28 Parallel State Scripts Node
22:05 Building the Custom Script Solution
23:25 The Idle State
24:32 Update Player Controller References
25:33 Checking States With the Debug UI System
26:06 The Moving and Walking States
27:19 The Sprinting State
28:00 just_pressed vs pressed
28:46 Adjusting the Player's Speed with Modifiers
30:43 Chapter 6: The Crouching State
31:14 The Posture and Standing States
32:13 The Four Steps to Good Crouching
35:37 Fixing the Uncrouch Problem
37:03 Adding Your Own Debug Expressions With Godot State Charts
38:29 The Jumping State
40:57 Chapter 7: User Interface and Dynamic Crosshair
41:30 Creating the Main Scene
42:42 Designing the Dynamic Crosshair
45:18 Chapter 8: Interaction Raycast
47:03 Chapter 9: Quality of Life Code
47:58 Download the Project Files and Future Videos
49:27 Why I'm Doing a Version 2
50:57 We're Going Retro With Trenchbroom
52:08 Full Code References
52:12 Player Controller Script
52:22 Camera Controller Script
52:32 Mouse Capture Script | Interaction Raycast Script
52:42 State Machine Script | State Base Script
52:52 Idle / Walking / Sprinting / Moving
53:02 Grounded / Airborne / Standing / Crouching
53:12 Dynamic Reticle Script

-----------------------------------------------------------------------------------

STAYATHOMEDEV ►► stayathomedev.com
TWITTER ►► twitter.com/StayAtHomeDev
BLUESKY ►► https://bsky.app/profile/stayathomedev.bsky.social
MY ITCH.IO PAGE ►► stayathomedev.itch.io

-----------------------------------------------------------------------------------

Resources:
GODOT ENGINE ►► godotengine.org
DOWNLOAD GODOT ►► godotengine.org/download

#godot #godotengine #godot4
Lets Make An FPS in the Godot EngineAdding the Skyrim Fus Ro Dah to My Retro FPS5 Games Made in Godot To Inspire You (03/20/26)Procedural Weapon Bob - Godot FPS Series #215 Games Made in Godot To Inspire YouHow Godot Users Can Learn From Unity and UnrealVisual Coding Plugin for GodotCreating A Modular Interaction Component5 Games Made in Godot To Inspire You (04/21/25)5 Games Made in Godot To Inspire You5 Games Made in Godot To Inspire You (03/31/25)Material Maker: Custom Nodes Will Change How You Work
StayAtHomeDev |

Let's Make An FPS in the Godot Engine

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER