FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.74k stars 405 forks source link

Peer learning gives too much xp, or none at all #12747

Closed Vykn closed 11 months ago

Vykn commented 1 year ago

What happened?

This problem is twofold;

Reproduction steps

To observe the former issue:

  1. Get an assistant with peer learning as the only crew member, and complete a mission. Observe that the xp gain is +125%, not +50%.

To observe the latter issue:

  1. Get several crew members who are all the same level, at least some of them with peer learning
  2. complete a mission and observe the bonus xp
  3. Get several crew with differing levels, at least some of them with peer learning
  4. observe that no bonus xp is awarded.

Of use in testing this is that the xp formula on completing a mission is money * 0.09 * (1 + level difficulty)

Version

v1.0.21.0

Jasontti commented 1 year ago

Tested but could not repro.

I started new game and on first outpost tested several configurations of assistants with peer learning and simple cargo mission. No assistants: 44xp 1 assistant: 66xp 1 assistant 1 higher lvl (exactly 450xp given): everybody gets 66xp <- this could be an issue 4 assistants: 223xp 8 assistants: 1lvl+680xp

XP gain is multiplicative with 50% rate. This on itself could be an issue also and maybe should be clamped to base reward xp.

Save game used for testing with 8 assistants and peer learnings Peer learning test.zip

Jasontti commented 1 year ago

Discussed this on discord and 125% is presumed to be related to camaraderie, as stated, and fixed.

Currently you could still cheese the system with 12 assistants, single cargo mission in 2:nd biome: image

image

JeroonBosch commented 1 year ago

Camaraderie is getting a rework also as part of xp talents revisit But to me the main issue is this bug:

The effects only apply if every crew member is the same level. If even a single character has a different level, no extra xp is handed out. This kinda defeats the entire point of the talent.

Design proposal:

JeroonBosch commented 1 year ago

@Jasontti did you test both parts of the issue? The crazy XP as well as XP not being handed out when anyone is at a different level?

Jasontti commented 1 year ago

The crazy XP

Could not get to super crazy levels, but as tested got 8 levels from a mission.

XP not being handed out when anyone is at a different level?

This i could not confirm, with limited testing it seemed to work as intended, there was one instance when one person was technically 1 level above, but their xp was exactly on the talent treshold so could be simple rounding error.

Regalis11 commented 11 months ago

While working on https://github.com/Regalis11/Barotrauma-development/issues/4467, I noticed the way this talent seemed to work was that it gave a 50% boost to everyone's XP if the character who has the talent was one of the lowest-level crew members. Should be fixed in https://github.com/Regalis11/Barotrauma-development/pull/4497/commits/99cc8468da40b4401d2f8be3cd08e5bf8eefa02d

Jasontti commented 11 months ago

Tested in: https://github.com/Regalis11/Barotrauma-development/commit/8932581ee69bcaca8c8c18d8750728de3228e195

When assistant is one of the lowest members they don't get extra xp. Tested with 3 crew Assistant, with talent, and one other with 0xp one crew with 100xp

No other issues found

Jasontti commented 11 months ago

Tested in: https://github.com/Regalis11/Barotrauma-development/pull/4497/commits/c2897093eca7d60e69b0a970bc2b404f8193033f

No issues found closing ticket