Feature: True First Person

The vision of this project is going to let the player experience a real gun fight. To achieve it, I am trying to cut off every part of the design which tends to break the immersion for the player. For example: I was confused every time I can’t see my body in a first person shooter while looking down to where the legs should be or simple things like actually having a HUD.

On the other Hand, the game itself needs to be responsive to the players input, the minimum viable product is one of the main goals to achieve and I’m working alone on this project.

So this topic is about achieving the goals while balancing the invested developing time and output for the project.

Goals:

–       Giving the player a believable avatar
–       Player input adjacent to common standard
–       Getting myself introduced to basic animation features and concepts, including:
         –    Behavior for idle, walk, run, sprint, crouch, strafe, jump, aim down sights, etc.
–       Take as much time needed but advance forward to the minimum viable product

Progress:

First of all, I followed up some tutorials which utilize first person hands. Very quickly I came up to the point where it was very confusing seeing all those flying pairs of arms in a multiplayer session.

After researching on this, my first attempt was to separate the local player avatar from the one that is showed to the other players in a multiplayer environment. That led to developing all the animations twice and was very time consuming. Additionally, as my project bases heavily on the assets provided by epic, there wasn’t a translation for every animation from third person to first person.

While researching for the problem above, I came up to the concept of “true first person” and I realized that I am very familiar with those games using it (like the ARMA series). The idea behind it is to use the same character model for third and first person. The benefits are that even in a multiplayer environment the animations are very precise for all participating parties (Everyone can remember a situation where he was shot, because one foot/head/hand was slightly not in cover for everyone else except himself) and the potential coming from this. Imagine looking down to your equipment that is attached to your vest and clicking on it to use it instead of just push down a button on the keyboard. The drawback is the difficulty in lining up the animations to the first person view, as the original animations were not intent in using that way and are a bit off.

I gave it a try and was overwhelmed by the outcome. It was exactly what I am looking for and I was full of expectations to its potential. So I kept up with it although I was confronted with a huge amount of little bugs here and there. For example, it is sometimes possible to look inside your body. The majority of the problem was solved by separating the head of the rest and makes it only visible to everyone except the local player.

Another example is my attempt to fix the hands animations. Right now, a vector is calculated in the players view and an IK-Bone Node is used to correct the animation to this location. The result is not perfect, because this correction happens only while updating the animation process (while moving) and tend to lag a bit compared to the mouse movement.

One of the bigger problems is related to aligning the weapon to the players camera while aiming down sights. Because the aiming animation is not aligned correctly: the right eye to the right hand and in extension to the left hand. I tried to use the IK-Bones nodes here too, without good results. Finally, I made the decision to use a trick instead of investing hours of researching and will replace the trick later with proper animations by a good artist, if possible. Right now, the camera gets teleported to a socket attached to the gun itself.

Never the less, the actual state is enough to reach the first milestone:

Missing:

–       Missing animations:
        –    Prone movement (right now, it is forbidden to move while lying)
        –    Overcome an obstacle for replacing the regular jump (no more bunny hop)
        –    Operating the gun (different movesets for different weapons):
               –   Weapon Check animations
               –   Fixing a jammed weapon
               –   Operating the bolt of a gun
               –   Put the weapon on safe
               –   Switching the fire mode
               –   etc.
       –     Animations for applying a first aid kit


–       Correction for:
       –     Animation lag
       –     Smooth transition between aiming down sights and normal view
       –     Restrictions for sprinting (right now, the player is able to sprint backwards)
       –     Sounds for the animations