FPS/RPG mechanics (similar to Stalker)

Hi guys, I’ve been developing this game for the past 4-5 months. I’ve done AI, Weapons, Inventories, Looting, Vehicles and other things so far. Just showing off some progress, not sure what I’m going to be doing here - I might change the setting/time period entirely.

COMBAT MECHANICS

https://youtube.com/watch?v=rreBbG1yHd8
https://youtube.com/watch?v=yBitygFQ7Gg

VEHICLE MECHANICS

https://youtube.com/watch?v=_9orCFbrr4o
https://youtube.com/watch?v=TWaIOgx0XS4

More in the next post…

RPG MECHANICS

And that’s it! I appreciate any comments, FYI this was all done in C++ with UI done in blueprints.

That’s a lot of features. Great job!

Looking Great!

You’ve created quite a number of interesting titbits there :slight_smile:
But dammit, now I wanna play S.T.A.L.K.E.R…

That’s amazing!

By the way, how did you recreate the free aim system from Insurgency/RO2? Can you give me some points on how you approached the algorithm?

I’ve been looking everywhere for some references on how to apply that to my game, any help will be appreciated :smiley:

I think that’s TextureRenderTarget2D. He may have a SceneCapture attached to the tip of the gun and when he starts aiming, it updates the texture on scope.

I mean the arm movement while aiming, he moves the camera and it moves the arms first, then it moves the camera.

I’ve been trying to re-create that behavior but I can’t grasp my head around the way it’s implemented, is the camera moving after the arms have moved to a certain X/Y local position?

When you move the mouse (x or y) you add a to a variable, say FVector2D FreeAim. (AddPitchInput perhaps)

Then in your viewmodel code, you can simply go.



float FreeaimMultiplier = 5.0f;

float Pitch = FreeAim.Y;
float Yaw = FreeAim.X;
Pitch *= FreeaimMultiplier;
Yaw *= FreeaimMultiplier;

SetRelativeRotation(Pitch,Yaw, 0);


This will make sure the weapon weapon model adds additional pitch/yaw based on the freeaim variable.

Excellent! Thanks :smiley:

Nice work!

Are those weapons from some kind of model pack, or did you do them yourself?

Trying to think of some simple scenarios myself for this kind of feature set (well, more tactical but still). The question is how do you turn that into a coherent game?

They were developed for an old project I was making.

Personally I just set up the world itself, give the player some money and let the player workout how he wants to achieve the tasks. They are generally simple (go kill a bunch of guys in a church, find and kill a certain monster) but if you offer lots of missions the game plays very differently each time.

I have made an A-Life system so the NPC’s will wander around and achieve their needs (hunger, money etc.) so you can sit back and watch gunfights happening in random areas.

Amazing job! This is some of the best I’ve seen so far.

Death camera is great too, what are you doing to make it consistent like that? Is it a death animation playing or do you play a ragdoll instead?

Keep it up!

I’ve been keeping up with your progress through facepunch, awesome work! Definitely some of the nicest first person work I have seen in UE4 so far, and I love that pawns keep firing when going down for a bit.

‘__’
Wow

Okay, so here comes the information extracting question:
What sources of learning did you use to gain this knowledge?

I want to document my steps and all the beginning steps of making an FPS.
Being a noob would be a lot less difficult if so much time wasn’t wasted finding the first steps.

If you can help, that would help bring out other creative minds.

The grunt work is the worst part and I’m still doing it (weapon systems, loot systems, UI, AI), but I used this Amit’s Game Programming Information for links to some good tutorials/papers about design and implementation.

Aussiemandias, are you using viewmodel like source engine? or UE4 FPS Template with hands mesh and Socket to attach weapon model? if you are using a viewmodel and if you have an inventory how i can to load new weapon on the viewmodel? can you tell me the basics of fps mechanics are you using? Can you tell me how the viewmodel has been done? Thank you very much.

Your hand skeleton needs to have every possible bone on it (magazine, bullet, etc.).

Then when you animate your weapon, you import the animations onto the hand skeleton.

Finally you import the weapon mesh (no hands) as a skeletal mesh. Use SetMasterPoseComponent on it and set the master to the hand skeletal mesh. It should attach and follow the bones as needed.

Thanks!! You have an example? because i dont understand very well.

  1. File with Hands mesh and skeleton with magazine ok, but i need one bone to weapon?
  2. File with Weapon mesh, but i need a skeleton of hands in the weapon mesh?
  3. in Blender to anim a weapon, i need to import hands with skeletal mesh and import a weapon model and attach model to any bone? and start animating?
  4. In code:
  • Attach the weapon skeleton mesh to hand skeleton mesh.
    Weapon->Mesh1P->AttachTo(Hands);
    Hands->SetMasterPoseComponent(Weapon->Mesh1P);

What mistakes have?

Thanks :wink:

  1. Yes
  2. No skeleton of hands in weapon mesh.
  3. Yep
  4. Yep!

No example since I don’t have access to it.