Author Topic: Handicap in Multiplayer  (Read 3268 times)

0 Members and 1 Guest are viewing this topic.

Online Simon

  • Administrator
  • Posts: 3387
    • View Profile
    • Lix
Re: Handicap in Multiplayer
« Reply #15 on: October 07, 2022, 12:50:00 PM »
Done:
  • Handicap merges properly in teams of more than one player. If A and B team up, A picks no handicap, B picks 10 % of initial lix, the team will start with 55 % of the initial lix (= (100 % + 10 %) / 2).
  • Console tells you when another player in your room changes his handicap. The handicap in the player line is small and cryptic, it's only good as a reminder. The long console message explains the handicap much better.
  • When you change your handicap, you unready.
  • Fixed double overtime bell bug that came from physics changes.
  • Fixed bug where the map wouldn't exit when all players were on the same team -- an unusual situation, but Lix has never explicitly disallowed it.
Curiously, this 1-team-map-exiting bug has been in Lix for many months. Icho and I merely found it because Handicap made it more likely to run into the bug. This bug was: Gameplay saw only 1 team, concluded that it had to be singleplayer, and only exited the map when that team satisfied the save requirement. Usually, the save requirement is 20 on multiplayer maps because 20 is the map editor's default, and you never need it in multiplayer. With a harsh handicap, you wouldn't reach 20 points, thus Lix didn't exit the map; instead, it froze physics at the end and told you to revert time.

I'll probably release a 0.9.48 before the 0.10 and include this fix already in 0.9.48.

Todo for 0.10.0:
  • Server should tell 0.9 players that they can't see or can't enter 0.10 rooms.
  • When you press ready, then enter the handicap dialog, then others press ready and start playing, you're stuck in the dialog. Fix this.
  • Batter's forward range vs. blockers should be exactly as it has always been in 0.9. I believe 0.9 had same forward range as C++ Lix, but haven't investigated.
  • Draw tipped scales (= the handicap icon) in all resolutions.
  • Writing long release notes!
In later 0.10.x:
  • Add replay support for handicap.
  • File UX bug against the slowly-eating factory trap.
-- Simon

« Last Edit: October 08, 2022, 05:43:06 PM by Simon »

Online Simon

  • Administrator
  • Posts: 3387
    • View Profile
    • Lix
Re: Handicap in Multiplayer
« Reply #16 on: October 08, 2022, 05:49:24 PM »
I had a productive Friday night and Saturday. Done:
  • When you press ready, then enter the handicap dialog, then others press ready and start playing, you now successfully join play. You're not stuck in the handicap dialog anymore. Now, level browser and handicap dialog behave the same in this regard.
  • Batter's forward range vs. blockers in 0.10 should be exactly as it has always been in 0.9. Ensured 100 % singleplayer coverage.
  • Batter's backward range vs. blockers in 0.10 is exactly what I want, see spoiler section in this post for details.
  • Unittested the handicap merging to guard against common int overflow. I compute sums of fractions with 64-bit ints, where each fraction has an 8-bit numerator and an 8-bit denominator. Anything with up to 8 merged fractions will not overflow. More than 8 fractions will also work fine when the fractions are sane (e.g., 1/2, 1/5, 1/7, 1/10) and not the awkward edge case stuff from the unittest (101/102 + 102/103 + 103/104 + ...) / n.


Backward range (click to show/hide)

Todo for 0.10.0:
  • Server should tell 0.9 players that they can't see or can't enter 0.10 rooms.
  • Draw tipped scales (= the handicap icon) in all resolutions.
  • Writing long release notes!


In later 0.10.x:
  • Add replay support for handicap.
  • File UX bug against the slowly-eating factory trap: Icho wasn't sure whether the chimney was a wall or whether it was part of the trap.

-- Simon
« Last Edit: October 10, 2022, 07:37:21 PM by Simon »

Online Simon

  • Administrator
  • Posts: 3387
    • View Profile
    • Lix
Re: Handicap in Multiplayer
« Reply #17 on: October 16, 2022, 11:50:54 PM »
All to-dos for 0.10.0 are done. All singleplayer levels are solvable. I expect to release what I have as 0.10.0 during the next weekend, Fri Oct 21st through Sun Oct 23rd.

Caveat: On the next few evenings, I'll test the multiplayer manually yet again. If I hit regression bugs or awkward new issues, I'll spend extra time, and possibly delay the 0.10.0 until November. But I don't think that will happen.



It's been a while for sure. When we played 0.8 on livestream, Icho said "The frog ate my cuber.", and that lead to a quick physics fix into the current 0.9 physics -- in Summer 2017.

-- Simon

Online Simon

  • Administrator
  • Posts: 3387
    • View Profile
    • Lix
Re: Handicap in Multiplayer
« Reply #18 on: October 22, 2022, 07:30:57 AM »

Online Simon

  • Administrator
  • Posts: 3387
    • View Profile
    • Lix
Re: Handicap in Multiplayer
« Reply #19 on: November 27, 2022, 05:58:29 PM »
From IRC today:

17:50 <SimonN> Handicap is popular, it gets more urgent now to support it in the replay format.
17:51 <SimonN> As it stands, replays will play as if there were no handicap. That's mostly okay unless we chose Spawn Delay, then it'll heavily desynch.
17:52 <Flopsy> yes, I support the replays getting support, I use this feature a lot and the replays from the last 2 sessions are no good
17:52 <SimonN> Right, I feel the same, we should fix that soon.

-- Simon