/Q_Move

Quake-like controller for Godot

Primary LanguageGDScriptGNU General Public License v3.0GPL-3.0

Q_Move

A Quake-like controller for Godot.

Github Version: Godot 3.5
Updated Version: Godot 4.2.1 Mono


Testing E1M2 (without the roof)

The aim of this project is to provide Godot developers with a robust character controller that delivers a similar level of responsiveness as Quake and Half-Life. The complete controller will be able to climb ladders, jump, crouch and swim and climb steps and low geometry.

Features:

  • Using Quake and Quake 3 source code to calculate player movement physics.
  • Smoother collisions with level geometry.
  • Versatile step detection and climbing.
  • Works with imported Mesh geometry.



[ Upcoming Update ]

Please be aware that the next update will not be game-ready. The next update solely focused on re-writing player vs static geometry collision. Additional collision functions, like colliding with moving objects or raycasting, have not been programmed yet.

The next update uses C# scripting, so only Mono engine builds will work

Scope:

The scope of this project will evolve over time as more features are implemented and completed.

  • Small, single player projects.
  • Low/medium poly level geometry.
  • Big open world games are not recommended.

Credits:


TODO:

[ Upcoming Update ]

  • Proper multi plane velocity clipping.
  • Proper sphere casting.
  • Moving objects: boxes, spheres, lifts.
  • Scene partitioning
  • Crouching
  • Ladders
  • Swimming
  • Raycasting
  • Nav-mesh implementation

Issues:

[ Upcoming Update ]

  • Player vs static objects only.
  • Mono builds only
  • Dense, high poly mesh objects should be avoided.
  • Some sharp angles will cause jittering.
  • Does not interact with the Godot physics engine.
  • The player can fall infinitely if caught between multiple steep slopes with no stable ground beneath, which is the correct behaviour. This can be circumvented by adding invisible geometry to block access to bad spots.
  • Similar to Half-Life and Quake, the player can slowly creep up and along the sharp crevice of two steep surfaces.

License

This project is under the GNU v3 license. I would highly appreciate a credit if you use this in your project(s).