Fireteam Dev Log #1

Fireteam is a multiplayer first-person shooter game currently in development using the Unreal Engine 5 game engine from Epic Games. Fireteam is primarily scripted using C++ with blueprints acting as prefabs for many of the gameplay actors.
The Fireteam project is based on a blank Unreal Engine project rather than using the ShooterGame template more commonly used by other developers, the primary reason for this was to avoid a lot of the technical debt issues associated with using a pre-existing project and having to merge the pre-existing ShooterGame code with your own. However, the ShooterGame template as been a useful resource that has influenced the direction of the Fireteam codebase, in addition to the ShooterGame sample project the UnrealTournament project on the Epic Games GitHub page has also proven a useful resource to learn from.
Character Movement
The core of any modern first-person shooter is player movement, modern shooters like Call of Duty and Battlefield offer the player a range of movement options ranging, from sprinting and crawling to vaulting and sliding. Fireteam will offer players the same freedom of movement that can be found in modern shooters. A short video demonstrating current progress on Character Movement in Fireteam is shown below.
The Character Movement in Fireteam is based on a custom Character Movement Component. Creating a custom Character Movement Component involves deriving from the base UCharacterMovementComponent class. Unfortunately creating a custom Character Movement is poorly documented in the Unreal Engine documentation, however others have produced useful documentation that I will post links to below.
- Authoritative Networked Character Movement
- Custom Character Movement Component
- Networked Jetpacking, Gliding: Extending Character Movement Component in Unreal Engine
Currently the player can sprint, tactical sprint by double tapping the sprint key and slide while sprinting, the player can also change stance by crouching or by going prone. When in the prone stance the player goes into the custom character movement mode called crawling. Currently the crawling movement is simply walking while in the prone stance for now, however in order to simulate actual crawling movement a custom physics crawling function will be needed. A more in depth overview of the prone character stance and crawling movement will be added in another blog post at a later date.
Loadout
Characters in Fireteam also have the ability to utilize Loadouts, to equip weapons, grenades, etc. Currently the player can only equip weapons, but more loadout items will be added in future updates. Weapons will be discussed in a later blog post.
Summary
There is a lot of work to do before this project becomes a fully playable prototype. Thank you for reading my first development blog post for Fireteam. More development of Fireteam will be shared on this blog in the future.