FPS Project: Realistic player movement

Hi everyone

I’ve started working on a FPS game, and was wondering if anyone else have had experience creating a similar project, and what they found works the best.

Here are a few things that I have been trying to implement in my project:

  1. I’ve tried to get the player to move in a realistic manner, for example when the player jumps into the air then they should not be able to move around while in the air. For the most part this works fine but I would also like to preserve the momentum of the player just before jumping, and keep the player moving until he reaches the ground/solid object.

  2. When the players character gets hit by an enemy, I would like to be able to pick up if the player has been hit in the head, arm, torso. etc. Is there a way to pick up on which part a model has been hit or is a collision shape needed to do this? Currently I’m using BetterCharacterControl for the players physics.

Any help would be appreciated.

Short answer : yes

Long : no.

To explain : you can achieve what you want easily by disabling the air control in the bettercharactercontrol (extend it and modify some part). The problem is :

A charactercontrol is a representation of how a real human act in real world. We are FAR from being “more of less a cylinder”. We have legs, and we use them to climb or go downstair without having too much problem with the momentum or the “élan”. For exemple, when you climb a steep hill, you’ll not “jump” at the end of it, because you slow down a little at this moment. When you go down this hill, you’ll not try to walk just like on a flat ground and “fall” every step : your legs will have a different movement.

Or, also : when you are standing still on a steep place, you have a “infinite friction” i.e. you don’t slip down slowly. When you walk, you have a “zero friction” (you don’t have friction because your feet are always in the air when you move them).

Ok, i think you got the point : a “normal” human comportement is something hard to get. And it’s not something trivial at all.

About what you asked for : you can disable the movement control by don’t setting the “walkDirection” when the player is in the air, and remove the dampening effect in the bettercharactercontrol by subclassing it. I already did something similar + a try to have a good “go up/down stairs” effect, but at the end i just gave up. It takes too much time and it seems that there is always bugs.

1 Like

Cool thanks for the information.

I spent some time thinking about it, and this being my first project (well not my first but all the rest got scrapped), maybe a FPS is biting off a bit to much for the first try.

I play around with it a bit more, but more than likely I’ll end up going a different route.

no, a fps is not a that hard project, or at least not on this part. I already wrote some article (ok, it’s more just a .doc on my computer) about what is hard when you create a game, and this is not in it.

To explain it briefly : the hard thing when you create a game (as an independent/solo dev) is the “ressources” part. What are ressources ? everything what is not the core (core = more or less the .dll, .so etc).

So : animations, sounds, level design, dialogs, textures, 3D model (shape), special effects etc.

It’s why most of independent game rely on 2 things : an original gameplay (minecraft, the usefull dead, antichamber … ) or a lot of humor (rogue legacy, mcpixel etc.)

Because it’s ours only weapons. But create a charactercontrol is something we are able to do, especially if it’s the main aspect of the game.

However, what i said is not always true : frictional game is a team of 5 people and they made amnesia. But, for me, 5 guys are no longer “independent devs”, it’s already “small team”. It’s a point of view.

And if you want to know what kind of game is the hardest to do, a lot of people say that it’s either mmo or games like sc2, w3.

Don’t underestimate the amount of work for a fps tho. Whiel I agree that content is a massive amount of the work. In most professional studioes it still several programmers working full time.
And you are probably more or less on your own.

Yup, completely on my own :slight_smile:

I’ve decided to stick with the original idea but instead of a FPS I’m going for a top down shooter. With more experience I’ll try again with the next project.