I'm creating a 3D FPS template based from my current project. The idea is that to create a simple fps game, anyone can take the controller asset from the assetlib and just drag&drop it in a scene.
The controller has to be basic, but it handles an extensible weapon system that anyone can easily add his own custom weapon.
What this asset does:
* Camera as 1st person view
* Separate data model for the player's attributes (life, speed, powers...)
* Collision management with a kinematic body
* Walk, jump, climb ladder and fly. Fixes bugs related to slopes.
* Move with moving grounds, platforms, elevators. Fixes bugs related to descending ground by sticking the controller to it.
* Weapon system including firearms, beams, flamethrower, laser&spark, rockets & grenades
* Shield feature. Optional.
* Automatic regeneration of the shield (à la Halo) and ammo. Optional.
* Spatial sound system
* Basic impact effects like explosion, fire and poison
What it does not contain in-the-box:
* 3d models
* specific features like items, skills or powers
* HUD. It's a separate asset.
Before I post it in the Godot assetlib, I'd like to ask you what feature do you expect or need from an fps controller.
But as I see the concept, the controller should stay small and uncluttered, but extensible with other compatible assets. Ideally someone should be able to install this asset and a couple of other ones to get extra weapons, enemy bots, a HUD, special powers, inventory, etc. And with a minimum of configuration, a game is ready to play. But thanks to the nature of Godot, it is possible to customize it completely (like climbing walls, close-combat gameplay, infiltration gameplay...).
So, what features do you wish to see in this asset?