Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strong/weak discussion #4575

Open
fokkonaut opened this issue Jan 8, 2022 · 23 comments
Open

Strong/weak discussion #4575

fokkonaut opened this issue Jan 8, 2022 · 23 comments
Labels
meta-discussion Discussion about the project itself, direction, (code) design, etc

Comments

@fokkonaut
Copy link
Contributor

fokkonaut commented Jan 8, 2022

So, first of all, the only possible solution to this would be a map setting to decide if every player should have strong. This way we make sure no old maps break/no behaviour for current ranks change.

Secondly, to all those that say simply fix weak hook, its not that simple.
It is indeed possible to make the hook strength the same, as done in vanilla.
That fix leaves us with another problem though, which is the collision. Even if hook strengths are the same, they are still applied AFTER each other, so their impact on other players still relies on the order of characters, as the current behaviour does. That means, even if every player has the same hook strength, the usual issue for example with driving with weak still exists. Players that would have weak hook originally would have that weak collision on other tees.
So even if we fix the hook strengths we ramain with that problem. It could be reduced by applying velocity changes in smaller steps, but it would never completely leave. Also: Doing so would raise the CPU usage a lot, since thats one of the biggest CPU usages in the game.

Edit: Still, in block or gores its fairer to have at least same hook strengths, but in DDrace it would probably confuse most players even more because they think they all got strong and suddenly cant hammerfly as good as usual or something like that.

@Zoozti
Copy link

Zoozti commented Jan 8, 2022

Congratulations fokkonaut, your finally a player and dev that realized that weak hook is not only the hook but bunch of collision features too. Hammerfly/shotgunrun etc...
Thanks

@fokkonaut
Copy link
Contributor Author

Congratulations fokkonaut, your finally a player and dev that realized that weak hook is not only the hook but bunch of collision features too. Hammerfly/shotgunrun etc... Thanks

Could you leave your offensive and toxic shit somewhere else and not on GitHub? I wanted to present the information so everyone can simply read it instead of saying fix weak.
Thanks

@Zoozti
Copy link

Zoozti commented Jan 8, 2022

Congratulations fokkonaut, your finally a player and dev that realized that weak hook is not only the hook but bunch of collision features too. Hammerfly/shotgunrun etc... Thanks

Could you leave your offensive and toxic shit somewhere else and not on GitHub? I wanted to present the information so everyone can simply read it instead of saying fix weak. Thanks

???XD
Did you even read what i wrote lol
I always said exactly the same as you but everyone only replied "muh u just dont want weak to be fixed, fix weak"
So im glad that finally someone else bring the discussion on the point that its not only about the weak hook.
But keep being offended...

@fokkonaut
Copy link
Contributor Author

Then I misunderstood that, sorry.
Sounded sarcastic at first

@Jupeyy
Copy link
Member

Jupeyy commented Jan 12, 2022

Bounce is relativly easy to fix:
Jupeyy@55f5da8

It would still defs be a physic change and a rethink on how weapons are handled. E.g. should a unfreezing laser be before the core tick, so all players move equally when unfrozen...
Just fixing weak hook & bounce would just feel more random as the weapons wouldn't be reliable still

@gerdoe-jr
Copy link
Contributor

gerdoe-jr commented Feb 6, 2022

still relies on the order of characters

ddnet/src/game/gamecore.cpp

Lines 477 to 499 in d371e9e

for(int i = 0; i < End; i++)
{
float a = i / Distance;
vec2 Pos = mix(m_Pos, NewPos, a);
for(int p = 0; p < MAX_CLIENTS; p++)
{
CCharacterCore *pCharCore = m_pWorld->m_apCharacters[p];
if(!pCharCore || pCharCore == this)
continue;
if((!(pCharCore->m_Super || m_Super) && (m_Solo || pCharCore->m_Solo || !pCharCore->m_Collision || pCharCore->m_NoCollision || (m_Id != -1 && !m_pTeams->CanCollide(m_Id, p)))))
continue;
float D = distance(Pos, pCharCore->m_Pos);
if(D < 28.0f && D >= 0.0f)
{
if(a > 0.0f)
m_Pos = LastPos;
else if(distance(NewPos, pCharCore->m_Pos) > D)
m_Pos = NewPos;
return;
}
}
LastPos = Pos;
}

States of all objects should be saved. New states base on old state, but there are not.

@sjrc6
Copy link
Contributor

sjrc6 commented Mar 2, 2022

It would be nice to have some option available even if it isn't perfect. Right now there's no easy way to run a gores server with fixed weak hook.

Speaking of, does anyone know what method KoG uses to fix weak/strong? I'm sure it's not perfect but I've never seen anyone complain about it.

@Jupeyy
Copy link
Member

Jupeyy commented Mar 2, 2022

Speaking of, does anyone know what method KoG uses to fix weak/strong? I'm sure it's not perfect but I've never seen anyone complain about it.

Probably the 0.7 approach.

It would be nice to have some option available even if it isn't perfect. Right now there's no easy way to run a gores server with fixed weak hook.

If you build your own it's fairly easy, just cherry-pick the above commit

@kamillentee
Copy link

Speaking of, does anyone know what method KoG uses to fix weak/strong? I'm sure it's not perfect but I've never seen anyone complain about it.

2b08464 this one for years

It was ok for gores, as you only need the hook strenght on ground and all the other physics don't matter.

But even though nobody complained about it there is a different approach used now from @Banana090 as described in #3517

That one gives strong to the tee who hooked first and it works for all known physics.

@Chairn Chairn added the meta-discussion Discussion about the project itself, direction, (code) design, etc label May 25, 2022
@l-ouis
Copy link
Contributor

l-ouis commented Aug 21, 2022

Well, now that there is #5642, there is an option to 'fix' weak hook

In my opinion, keeping weak hook just leaves more troubles for mappers/players due to the many bugs and QoL nuisances that weak brings.

I'm estimating there are somewhere between 10 to 30 maps that require weak physics for a part or make a part much easier using weak physics. I don't think they will be hard to find and fix.
Also, many maps will be slightly easier to speedrun with strong (but likely nothing over a few seconds.) The speedrun advantages will just have to be tolerated, but I doubt it will have a large effect at all.

What are y'alls thoughts?

@Zoozti
Copy link

Zoozti commented Aug 21, 2022

Well, now that there is #5642, there is an option to 'fix' weak hook

In my opinion, keeping weak hook just leaves more troubles for mappers/players due to the many bugs and QoL nuisances that weak brings.

I'm estimating there are somewhere between 10 to 30 maps that require weak physics for a part or make a part much easier using weak physics. I don't think they will be hard to find and fix. Also, many maps will be slightly easier to speedrun with strong (but likely nothing over a few seconds.) The speedrun advantages will just have to be tolerated, but I doubt it will have a large effect at all.

What are y'alls thoughts?

lmfao. Weak physics are used in hundred of maps, you just still didnt understand that weak isnt Just about the hook and "fixing" it will create even bigger problems

@l-ouis
Copy link
Contributor

l-ouis commented Aug 21, 2022

lmfao. Weak physics are used in hundred of maps, you just still didnt understand that weak isnt Just about the hook and "fixing" it will create even bigger problems

I think I know quite a bit about the game, don't worry about what I understand or don't
and I'd like to see the 'hundreds' of maps that require weak physics.

@fokkonaut
Copy link
Contributor Author

Bounce is relativly easy to fix: Jupeyy@55f5da8

That doesnt fix the bounce.

@Jupeyy
Copy link
Member

Jupeyy commented Aug 24, 2022

Bounce is relativly easy to fix: Jupeyy@55f5da8

That doesnt fix the bounce.

Can you give the example map? i tested it with a few heights and all were the same so i assumed it fixes it, or do you mean in hammer flies etc?

@fokkonaut
Copy link
Contributor Author

Bounce is relativly easy to fix: Jupeyy@55f5da8

That doesnt fix the bounce.

Can you give the example map? i tested it with a few heights and all were the same so i assumed it fixes it, or do you mean in hammer flies etc?

The most important case; while flying.
Just jump off a cliff with your dummy and hook down on ur dummy like every sec to stop falling speed, you will see that at some point you will glitch into the lower tee if you have "weak".

@Jupeyy
Copy link
Member

Jupeyy commented Aug 24, 2022

Mh yeah the move is also unfair, and when is moving this indeed is a problem, good find ^^
I dunno if thats fixable in a sense of one having strong only then tho

@Zoozti
Copy link

Zoozti commented Aug 24, 2022

I wonder why y'all always feel the need to fix the flaws of that game. It is perfect and there is no point in trying to change the physics.

@fokkonaut
Copy link
Contributor Author

I wonder why y'all always feel the need to fix the flaws of that game. It is perfect and there is no point in trying to change the physics.

This is just about a config setting because people requested it to test their KoG maps. I personally dont have anything against weak hook.

@Zoozti
Copy link

Zoozti commented Aug 24, 2022

I wonder why y'all always feel the need to fix the flaws of that game. It is perfect and there is no point in trying to change the physics.

This is just about a config setting because people requested it to test their KoG maps. I personally dont have anything against weak hook.

How is that a ddnet issue. KoG Server has a lot more differences so they should Just apply a server file as download...

@Jupeyy
Copy link
Member

Jupeyy commented Aug 24, 2022

fng also uses strong only, and 0.7 too. I won't judge about the need of ddnet tho, but i like it for gores and fng. So i don't see a reason not to add a toggle for easy testing / creating mods based on the setting etc.

@l-ouis
Copy link
Contributor

l-ouis commented Aug 24, 2022

what's the harm in just adding it to all maps, weak hook is favored by a fraction of the older players but it's just a huge nuisance to any new players and makes no sense to be a 'feature'

@fokkonaut
Copy link
Contributor Author

what's the harm in just adding it to all maps, weak hook is favored by a fraction of the older players but it's just a huge nuisance to any new players and makes no sense to be a 'feature'

  1. it can not be fixed to be exactly the same for two players.
  2. maps are actually based on that behaviour

@fokkonaut
Copy link
Contributor Author

what's the harm in just adding it to all maps, weak hook is favored by a fraction of the older players but it's just a huge nuisance to any new players and makes no sense to be a 'feature'

in my block mod i also have strong for everyone, more fair

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta-discussion Discussion about the project itself, direction, (code) design, etc
Projects
None yet
Development

No branches or pull requests

8 participants