cortex-command-community / Cortex-Command-Community-Project-Source

[ARCHIVED] Cortex Command - Open Source under GNU AGPL v3 (no game data included)
https://cortex-command-community.github.io/
GNU Affero General Public License v3.0
204 stars 42 forks source link

Ditch the physics movement as the first choice, make it a fallback if anything, replace the primary with a standard movement system. #579

Closed Bracket-H closed 8 months ago

Bracket-H commented 8 months ago

The physics movement aspect is a meme and sucks and looks and plays like shit most of the time. If people are capable of making sprites that are then stitched together using the physics system, then they can make proper animations that follow some sort of standard.

If physics movement needs to be there, then somehow has a fallback that tries to work with the environment, but only if there is no transversal information in the environment, which I theorize will be cheaper the generate on the fly, even with a pixel resolution destruction engine (Worms does it...) than trying to jank simulate entire teams of physics walkers.

There is no gameplay enhancement for trying to climb a ladder in the physics way, or to crouch walk underneath a ledge when that can just be animated by hand, especially since everything is destructible.

Dug or shot a small gap into a structure that with some jank and luck one model might fit through? Ditch that, and just dig a little more to make the hole bigger to fit a properly locomoted character through it, the gameplay will not be degraded very much by that.

Or you could try for a 3d esque blended approach (aka inverse kinematics) that allows the displacement of feet or something on stairs for flavor, but underneath it should be navmeshed, just implement a navmesh solution, it cannot be more expensive, especially on modern hardware, than trying to jank all the other units through the environment, especially since there's terrain info ANYWAY.

So yeah, you don't have to pay lipservice to bad decisions and trying to polish a turd just because it was part of a failed game. Just get rid of it, gameplay is fun but without good controls, it might as well be crap gameplay. That said, the radial menu also sucks a bit, but that's another issue.

Ditch the jank movement, just do it, just do it. Do it. Just do it. No, stop rationalizing the old system. No, don't fall for sunk cost fallacy. Just ditch it. Ditch it. Invent a standard for unit animation that sprite/unit creators have to adhere to than trying to solve it with this piss system. It's awful. It really really is. It really really really is, and adds very little edge case gameplay.

Offload the work on making a whole set of units like a warhammer 40k mod on the creators of those sprites, make them work a bit harder for a better end result than trying to solve it with jank physics. it will be the overall better choice.

Focus your efforts onto a terrain nav info system that does away with said jank.

Bracket-H commented 8 months ago

To elucidate: Just make the new system generate complex situations that spriters/riggers have to cover. "Shimmy", "Squeeze through floor or ceiling gap (dimension dependent)" "ladder climb animation" "stair walk animation" "crawl prone" "lay on back" Whatever, and have the terrain come up with the requests depending on its shape.

If a unit comes across a very low ceiling, then just have it request a low ceiling crouch walk from the hand crafted/rigged animation pool, than trying to wrestle with the jank parts.

Again, this should not impact gameplay much, you might lose a few edge cases where a unit can somehow glitch through a hole, but cmonnnnnnnnnnnnnnnnnnnnnnnnnnnnnn. Just pretend that was never an option, and embrace Worms/Noita/Liero pixel destruction.

pawnishoovy commented 8 months ago

i wish there was more to say so this wouldn't seem like such a prompt dismissal, but no

Causeless commented 8 months ago

Pretty much as above. I suggest joining our Discord if you want to discuss further, but this is not something that would be a popular decision to the vast majority of players, and would also be a huge amount of work.

With regards to locomotion, the focus is on improving physics movement, not replacing it. Walking up and down stairs etc is massively improved already in v5, and upcoming version 6 will bring some automatic walk path adjustment to crouch for handling low ceilings. We're planning to continue incrementally improving the locomotion system to make movement overall less janky, but the physics locomotion is an integral part of the game that's here to stay.

The only caveat there is ladders, where we will likely introduce some magic forces. However ladders are already arguably no longer necessary with the introduction of automovers.

Bracket-H commented 8 months ago

So you're going to improve the physics system to emulate a properly animated and hitboxed/collision boxed locomotion system so it doesn't look as bad and can handle the terrain better and that's the end of it?

Well, then I wish you continual good success that you one day arrive at that point where the physics based system makes as much sense and looks as good as a hand crafted one that adheres to environment hints/properties.

I hope you will mediate a bit on the perfect outcome of that physics system to make it look and behave that naturally and ponder how much different to a crafted one it would be, if it really were that elegant and behaviorally correct in the end.

The herculean effort of creating this versus the longevity of a well made, crafted pack of units. How often will one change an entire roster of well loved units versus trying to make a generic thing that covers as much as possible without having to hand craft every individual faction...while making all of it look and behave badly until its finished.

But I acknowledge the "it's a lot of work" part, after all, the tragic vision of the original makers of this game have bound everyone to their vision now. it's a lot of work to code an alternative, and it's a lot of work to make a lot of sprites that cover many shooting angles and the like, but it could elevate the entire thing into excellence.

Anyway, I'll close this now, since all of my comments now should cover my entire argumentation.

Causeless commented 8 months ago

I think walking is already hugely improved. Have you tried Pre5, or the current dev build, or is this extrapolation from an older build? I certainly agree movement in the versions up to and including Pre4 is very janky, but Pre5 came with a lot of improvements in this area, and Pre6 has even more coming.

Here's an example of walking over very messy terrain with a fast light actor, which is the worst-case situation for stumbling etc: https://imgur.com/a/iHVBSAN

Here's an example of walking up and down stairs: https://imgur.com/a/sEcv5bA

And here's an example of some of the auto-crouching stuff that's been introduced: https://imgur.com/a/8mL1EAo

It's not perfect, but it's improved hugely and will continue to do so. As said going forwards we'll try to fix things like ladders, but we don't need to tear out and replace the locomotion system for that. I feel like these systems being physics based adds a lot, and I don't think the movement is nearly as bad as you seem to think. Locomotion should be more difficult on loose muddy ground or snow, and easier on flat ground, and without a full physics-based system that's very hard to achieve.