Image Update: Wall Run Overhaul - Omnidirectional Wall Run
A glimpse of combat in 《Drifting》
Itch.IO - Omnidirectional Wall Run
IndieDB - Omnidirectional Wall Run
UE4 Forum - Omnidirectional Wall Run
Wall Run Overhaul - Omnidirectional Wall Run
In the past week, I've been fixing and tuning various mechanics in my game, these tasks usually require only one or two condition checks or a small change to the coding architect, however, the same could not be said to the overhaul of my wall-running system.
Technically speaking, the reason for deciding to refactor the current wall-running system isn't due to any intrinsic flaw in the code base, in terms of functionality, the current mechanics works just as intended; the issue lies in the design of the mechanic - for some reason, when I was designing the wall-running system back then, I've deliberately made a clear distinction between horizontal and vertical movement, each has its separate rotation and movement update function and condition checks.
(although it still needs some time before the new wall run system is finished and fully tested, noticed the character is now moving toward where the camera is facing; the interpolation of character rotation and movement between different direction is smooth and almost unnoticeable)
This bidirectional design results in players incur a sudden movement change while titling camera upward or sideward - without any interpolation between the two states - giving players a somewhat unpleasant experience. I was urged constantly by another talented indie-dev (during a monthly playtest session) that I should make the wall-running movement respect the camera's facing instead of splitting the direction into either vertical or horizontal. Deep down I know what he said was on point, however, whenever I thought about refactoring the wall-running system, I thought about how much time it's going to take (how much it will delay my already tight schedule); how much painful design and testing phase I need to undergo before the new mechanics can function properly...after all these negative thoughts, I just feel lazy and gave up on the idea.
While I was recording gameplay for the game trailer, I felt these small flaws in the gameplay might not seem critical individually, however, if there are enough of them, it will quickly piled up and erode the overall experience. I could choose to let that tragedy happen, or go through this painful, time-consuming process once and for all and feel relieved that I've done all the best I can to give players a wonderful gameplay experience.
I hope you enjoy this week's update, feel free to leave a comment, and share your thoughts!
Have a relaxing weekend! (●′∀‵)ノ♡
Get 《Drifting : Weight of Feathers》
《Drifting : Weight of Feathers》
3rd-person action, fluid animation, versatile movement
Status | In development |
Author | rit2040 |
Genre | Action, Shooter |
Tags | 3D, Fast-Paced, Female Protagonist, Parkour, Singleplayer, Third-Person Shooter, ue4, Unreal Engine |
Languages | English |
More posts
- 《Drifting : Weight of Feathers》 Demo Ver 2.9 Now Available!Oct 09, 2021
- New Game Trailer and Dev Live Streaming Coming Soon!Sep 25, 2021
- 《Drifting : Weight of Feathers》 Demo 2.8 Update - New Hairstyle 'Youthful' a...Sep 04, 2021
- 《Drifting : Weight of Feathers》 Demo 2.7 Update - Gamepad Support and Online...Aug 02, 2021
- 《Drifting : Weight of Feathers》 Major Tutorial Overhaul in Ver2.6 UpdateJul 04, 2021
- 《Drifting : Weight of Feathers》 Opening Cinematic - Target EliminatedMay 22, 2021
- 《Drifting : Weight of Feathers》 Demo Ver. 2.1 Major Update!Mar 20, 2021
- 《Drifting : Weight of Feathers》 Played by ArrowSan1999 - A soothing voice an...Feb 07, 2021
- 《飄移 : 羽毛的重量》 2021 台北國際電玩展 新聞資料袋Jan 12, 2021
- 《Drifting : Weight of Feathers》 TpGS 2021 Press KitJan 12, 2021
Comments
Log in with itch.io to leave a comment.
Bro pls can u do a tutorial on how u achieved this wall running in ue or can u upload the wall running blueprint for download plsss, I've really tried finding a way to make wall running smooth buh what I could achieve was jankie wall running
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