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.

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.

Leave a Comment

Your email address will not be published. Required fields are marked *