Skip to content

First person framework written in Godot utilizing a modular finite state machine

License

Notifications You must be signed in to change notification settings

Tadambon/godot-first-person-framework

Repository files navigation

Godot First Person Framework

This is a work in progress first person framework. At this early stage it is limited in functionality but should continue to grow to include a full feature set for a first person template.

The goal is to create a feature rich framework for first person games. Each feature set added will be contained in a new branch to allow for easily following the evolution of this project

In it's current state it contains a basic, yet robust finite state machine handling all basic player movements.

Finite State Machine Features

  • Each state is contained in its own separate node, completely independent of any other state.
  • States are responsible for their own condition checks.
  • Every state has the ability to report multiple state names/IDs

What is Included

  • Finite state machine which can be used for player movements, weapon systems etc.
  • Basic player movements: Walking, Sprinting, Jumping (including double and more), Crouching
  • Stair climbing. This makes use of the SeparationRayShape3D while still respecting sloped floors and the max climbable slope angle
  • Wall running
  • Wall jumping
  • Sliding, and breaking the slide early. Camera has limited rotation during a slide. Sliding also behaves differently depending on slopes and direction on slopes
  • Ability to decouple camera rotation from body rotation allowing for a "Free Look" type functionality
  • Smoothing added directly to the camera ensures no actions are too "snappy" (ie: stair climbing)

What is Missing

  • This is in early works and at this point only contains the basic player states.
  • Player animations (Everything currently snaps to position)
  • Advanced player abilities (ie: climbing)

Releases

No releases published

Packages

No packages published