Topic: Preventing corner stealing

Has anyone ever looked into a way of preventing corner stealing for 2D gameplay?

Games like Street Fighter allow you to steal the corner when jumping over the opposing character. UFE does the same at default

however, anime/airdasher styled games like Guilty Gear, Blazblue, or even Marvel vs. Capcom, do not allow this, and works better for the game due to how offense is structured

is there a way to achieve this with UFE? Would it require some changes to the source code? Cheers!

Share

Thumbs up Thumbs down

Re: Preventing corner stealing

It wouldn't be an ideal solution, but you could add a body collider to cover the whole back area of the character. Haven't tested this but, it would be the only way I can think of thats code free.

Share

Thumbs up Thumbs down

Re: Preventing corner stealing

FreedTerror wrote:

It wouldn't be an ideal solution, but you could add a body collider to cover the whole back area of the character. Haven't tested this but, it would be the only way I can think of thats code free.

Tried this yesterday with no success unfortunately. Body colliders still shifted when jumping over each other

Share

Thumbs up Thumbs down

Re: Preventing corner stealing

Hmm, this is probably gonna need to be a coded behavior.

Share

Thumbs up Thumbs down

Re: Preventing corner stealing

If you have the Source version, you can change this behavior by editing out the following code segments under ControlsScript.pushOpponentsAway:

if (opControlsScript.worldTransform.position.x >= UFE.config.selectedStage._rightBoundary)
     opControlsScript.worldTransform.Translate(new FPVector(.1 * -pushForce, 0, 0));
else if (opControlsScript.worldTransform.position.x <= UFE.config.selectedStage._leftBoundary)
     opControlsScript.worldTransform.Translate(new FPVector(.1 * pushForce, 0, 0));

and:

if (opControlsScript.worldTransform.position.x >= UFE.config.selectedStage._rightBoundary)
     opControlsScript.worldTransform.Translate(new FPVector(.5 * -pushForce, 0, 0));else if (opControlsScript.worldTransform.position.x <= UFE.config.selectedStage._leftBoundary)
     opControlsScript.worldTransform.Translate(new FPVector(.5 * pushForce, 0, 0));

Comment or remove these out to achieve the desired behavior.

Like UFE? Please rate and review us on the Asset Store!
Questions about the Forum? Check out our Karma FAQ.
Don't forget to check our discord channel.