Let's Make An FPS in the Godot Engine

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 https://store.steampowered.com/app/36... ----------------------------------------------------------------------------------- ✅ GET THE SOURCE FILES   / stayathomedev_   ✅ GET THE STARTERKIT PROJECT   / make-fps-2-0-134340702   🏆 The FPS Tutorial Series 2.0 Roadmap https://www.stayathomedev.com/blog/fp... 📝 There are also full code references at the end of the video! ----------------------------------------------------------------------------------- Episodes 002 - Camera Juice ►►    • Camera Juice & Effects - Godot FPS Series #2   003 - Stair Climbing ►►    • FPS Smooth Stair Climbing - Godot FPS Seri...   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 ►► https://stayathomedev.com TWITTER ►►   / stayathomedev   BLUESKY ►► https://bsky.app/profile/stayathomede... MY ITCH.IO PAGE ►► https://stayathomedev.itch.io/ ----------------------------------------------------------------------------------- Resources: GODOT ENGINE ►► https://godotengine.org/ DOWNLOAD GODOT ►► https://godotengine.org/download #godot #godotengine #godot4