Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(1 edit)

Hello, Levi090

After completing this project for 6 months and looking back, I observe there are some major flaws in this wall-run system:

1. Wall-run movement does not consider acceleration and gravity:

I simply put the movement code in a tick function and call SetActorPosition() every frame, this naive implementation causes the overall control to feel "stiff" and "bland" since the algorithm does not take the player's momentum before entering wall into consideration. 

2. The wall-run rotation does not respect delta time: 

Another major flaw is the interpolation of player's facing (while wall-running) does not respect the engine's delta time, this oversight will cause potentially wonky movements if the game runs below 60 fps. Ideally, I should take delta time into account when interpolating players' facing.     

It is sad that after my last overhaul, the wall-run system still has major flaws. 

Apology in advance - I don't think this wall-run system (at its current state) is a good reference material, however, I hope the mistakes I made can help you be more informative when designing your own wall-run system.

Thanks for the info, buh in my opinion, I think u did a better job than I did cause my wall running system is based off of inputs which makes it extremely stiff, it makes use of a blendspace and though it takes the acceleration and entry angle into consideration, it's still kinda difficult to freely move on the wall, I've played your game and so far so good, I prefer ur wallrun system to mine, so I don't mind the errors, maybe I could make a few modifications to it and see how that turns out, so pls, I humbly ask that u assist me with your wallrun blueprint 🤲🏼🤞🏼

Hello, 

Thank you for your interest in playing the game.

Please send me your e-mail (or your preferred way of receiving files).

The wall-run system is written with C++ as an actor component class contained in:

CPPComp_Player.h

CPPComp_Player.cpp

Search for the function: PC_UpdateWallRunOmniMotion() to see how the algorithm works per tick.

There are a lot of parameters that feed in the system via PC_SetWallRunOmniMotionInfo(), you'll need to calibrate your own set of magic numbers through trial and error - at least that is how I work with the system during development. 

I hope this can aid you in your project. 

thanks, my email is valentineezeani0@gmail.com

If I'm able to correct the errors u mentioned, I'll update you