FPS (First Person Shooter) controller template for Godot 3.4 to give starter content for a new or already existing project!

First Person Starter Godot 3.4

Screenshot of FirstPersonStarter Template

FPS template for Godot to give starter content for a new or already existing project!

Includes:

  • 3D Character Controller
    • Smooth Movement (Acceleration and Deceleration)
    • Smooth Camera Rotation
    • Handles Slopes like a charm in a clean way
    • Optional Sprinting
    • Air Control
    • Easily Adjustable from the Inspector
  • Example 3D Scene

Project Controls:

  • Move with W A S D or
  • Jump with Space. Sprint with Shift
  • Unlock/Lock Mouse with Shift + F1
  • Close Game with Esc
  • If you haven't imported the whole project, you should add them manually!

Credits:

Owner
Dimitar Dimitrov
I like making games. Experienced with Unreal Engine 4 and Godot
Dimitar Dimitrov
Comments
  • Deceleration is affected by slopes

    Deceleration is affected by slopes

    It's most noticeable on max steep slopes, but this simply means that if you are walking up it and then stop pressing that key you will slide down with deceleration before "stopping on slope". Most video games have you slide up the slope with deceleration (friction) as illogical as that sounds. This would also be consistent with the current behavior of moving up and down slopes at the same speed.

  • Players go flying upwards on steep slopes

    Players go flying upwards on steep slopes

    Expected behavior: Since it isn't part of the floor angle, players slide down it as if it wasn't there with gravity.

    Current behavior: Players treat the steep 15 degree slope as a catapult and go flying.

    Video of issue

    You don't have to fix these but I've been trying to do a good movement system in Godot for 4 weeks and would really like some help. There is another small issue that isn't related to this issue I shall share latter.

  • feature/landed and jumped signal

    feature/landed and jumped signal

    Add landed and jumped signal to MovementController The goal is to have an easily accessible signal for, for example, a sound played when falling to the ground or jumped player

  • player is too tall.

    player is too tall.

    I love this template but one thing I had adjusted a lot of the times I used it is player height. The capsule is 1.5 meters in height and .6 in radius. Capsule height here isn't absolute height of the capsule but instead is a in this image: image thus the true height for a capsule is height + radius * 2. So the player capsule calculates to 2.7 meters or 8 feet 10 inches. Seems a bit tall for a typical person.

    Is this the desired height?

  • Mouse capture not working in HTML export

    Mouse capture not working in HTML export

    Hey! Firstly, thanks for the script/scene, it works really well on the scene editor. However, when I export the game to Web/HTML5, the mouse camera rotation, and the mouse_mode_capture, stop working.

    To recreate the error try exporting the game to web and rotate the camera.

    Thanks, Romes

  • Low performance in editor

    Low performance in editor

    Thanks for making this, it's going to be very helpful, however, I noticed that unless I export it, it runs at 2 fps (despite it saying its 60+ on the top left) and almost crashes my operating system because other programs started lagging as well while I was testing this. I am using MacOS and because it exports and runs fine I assume it's an issue with the godot editor.

  • Movement keys don't work

    Movement keys don't work

    Hello. Your project caught my eye so I decided to try it out. However the WASD keys, nor the arrow keys, work in this project. I tried adding the WASD keys in the key inputs like ui_left, ui_right, etc. Still nothing. Since mouse_input isn't in the project once the files are imported I had to assign it myself.

    I realize now, after inspecting the player controller script, that I need to add new key inputs: move_forward/backward/etc. I suppose it's not an issue in the end but the Github page doesn't make mention of this.

    I'm new to Godot so forgive me if I'm missing anything. I added the inputs and now the demo scene works. Such a neat FPS controller, great stuff!

  • Invalid call. in movement controller

    Invalid call. in movement controller

    Hello - after import project i have this issue in MovementController.gd line 25:

    Invalid call. Nonexistent function 'get_vector' in base 'InputDefault'

  • Adds optional air-jump support

    Adds optional air-jump support

    Adds optional support for air-jumping - i.e. double-jump or triple-jump etc.

    Defaults to disabled (i.e. zero air-jumps), but allows for arbitrary number of air-jumps.

  • Simplified

    Simplified "direction_input()" in "MovementController"

    Replaced code in "direction_input" function with simple multiplication of "aim" and "input_axis". The if-statements and "direction.normalized()" shouldn't be necessary since "Input.get_vector()" already returned normalized vector of appropriate magnitude. Also "direction.y = 0" shouldn't be needed in any case, as far as I can tell.

  • Godot 4 issues

    Godot 4 issues

    Logic

    Losing contact with slopes when going down

    https://user-images.githubusercontent.com/42871796/162613531-84fe8972-4aa9-4527-8f29-098336d275f4.mp4

    Discussion for slope going from vector3 to float

    Okay physics... (maybe can be configured from CharacterBody3D properties)

    image

    https://user-images.githubusercontent.com/42871796/162614065-bcd09a18-2501-45d6-8f32-973bf295b363.mp4

  • Walking against slopes

    Walking against slopes

    The player bounces off the super-sharp slopes when walking into them and mostly doesn't jump during walking into them, the player should probably just stop against the slope as if it's a wall?

Go-project-template - Template for a golang project

This is a template repository for golang project Usage Go to github: https://git

Oct 25, 2022
Made from template temporalio/money-transfer-project-template-go
Made from template temporalio/money-transfer-project-template-go

Temporal Go Project Template This is a simple project for demonstrating Temporal with the Go SDK. The full 20 minute guide is here: https://docs.tempo

Jan 6, 2022
A go template repository for easily bootstrapping new go applications

Template go Repository tl;dr This is a template go repository with actions already set up to create compiled releases What does this Template provide?

Nov 5, 2021
Go-teemap - This library provide a threadsafe map which use new template feature of Go

TeeMap library This library provide a threadsafe map which use new template feat

Jan 12, 2022
Wrapper package for Go's template/html to allow for easy file-based template inheritance.

Extemplate Extemplate is a small wrapper package around html/template to allow for easy file-based template inheritance. File: templates/parent.tmpl <

Dec 6, 2022
Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.

goview Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application. Contents Inst

Dec 25, 2022
Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/template

quicktemplate A fast, powerful, yet easy to use template engine for Go. Inspired by the Mako templates philosophy. Features Extremely fast. Templates

Dec 26, 2022
Simple system for writing HTML/XML as Go code. Better-performing replacement for html/template and text/template

Simple system for writing HTML as Go code. Use normal Go conditionals, loops and functions. Benefit from typing and code analysis. Better performance than templating. Tiny and dependency-free.

Dec 5, 2022
A template to build dynamic web apps quickly using Go, html/template and javascript
A template to build dynamic web apps quickly using Go, html/template and javascript

gomodest-template A modest template to build dynamic web apps in Go, HTML and sprinkles and spots of javascript. Why ? Build dynamic websites using th

Dec 29, 2022
starter pack for building backend with go and fiber, with jwt auth

go-fiber-api-template starter pack for building backend with go and fiber, with jwt auth authentication there are few steps for authentication steps:

Oct 12, 2021
Clean arch Golang template project

Template No previous versions, still working on this one to reach v1. API Service for pssword app mobilde based on : https://github.com/bxcodec/go-cle

Sep 15, 2021
go project template
go project template

go-project-template Install go get github.com/chyroc/go-project-template Usage package main import ( "fmt" "github.com/chyroc/go-project-template"

Oct 6, 2021
This my project template for making fiber with SSR taste by empowered mustache engine.

SSR-FIBER-TEMPLATE This my project template for making fiber with SSR taste by empowered mustache engine. Folder Hierarchy Name Description configs Co

May 9, 2022
Temporal Go Project Template
 Temporal Go Project Template

Temporal Go Project Template This is a simple project for demonstrating Temporal with the Go SDK. The full 20 minute guide is here: https://docs.tempo

Dec 7, 2021
Code your next Go web project with (a) Mojito! No matter if its an API or a website, go-mojito assists you with dependency injection, simple routing, custom request / response objects and template rendering
 Code your next Go web project with (a) Mojito! No matter if its an API or a website, go-mojito assists you with dependency injection, simple routing, custom request / response objects and template rendering

Go-Mojito is a super-modular library to bootstrap your next Go web project. It can be used for strict API-only purposes as well as server-side renderi

May 1, 2022
Standup a new website in 2 commands.
Standup a new website in 2 commands.

Page CLI Getting Started Download latest release for your operating system. Install by unzipping it and moving the file to a directory included in you

Nov 18, 2022
HTML template engine for Go

Ace - HTML template engine for Go Overview Ace is an HTML template engine for Go. This is inspired by Slim and Jade. This is a refinement of Gold. Exa

Jan 4, 2023
Package damsel provides html outlining via css-selectors and common template functionality.

Damsel Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others. Library This package expects to exist

Oct 23, 2022
Simple and fast template engine for Go

fasttemplate Simple and fast template engine for Go. Fasttemplate performs only a single task - it substitutes template placeholders with user-defined

Dec 30, 2022