doshidak / showdex

Pokémon Showdown extension that harnesses the power of parabolic calculus to strategically extract your opponents' Elo.
GNU Affero General Public License v3.0
104 stars 18 forks source link

Incomplete support for free for all battles #99

Closed Legend-Recalls closed 1 year ago

Legend-Recalls commented 1 year ago

in 4 people free for all we only see stats for one opponent. if all 3 could be shown that wd be a great feature!

doshidak commented 1 year ago

Hiya!

This is something we're aware of, but decided to implement it later since it requires the big think in terms of the calculator layer (which only supports 1v1 matchups) and the UI. Currently, the Calcdex is hardcoded to only support players 1 and 2.

We personally haven't played FFA before, so as an FFA player, would you prefer:

The former option (4 players) would require some major UI modifications for field effects like screens (since they apply per player), while the latter (2 players) would just require some way of switching the players.

These are just possible solutions I came up with at the top of my head, so if you have a better idea of how the UI should be laid out, I'd love to hear it!

AhmedA1559 commented 1 year ago

Hiya!

This is something we're aware of, but decided to implement it later since it requires the big think in terms of the calculator layer (which only supports 1v1 matchups) and the UI. Currently, the Calcdex is hardcoded to only support players 1 and 2.

We personally haven't played FFA before, so as an FFA player, would you prefer:

  • Seeing all 4 players at once (would require a lot of scrolling), or
  • Seeing only 2 players, but being able to switch the second player slot (assuming you're the first) to any opponent player?

    • If you're spectating an FFA, then we'd allow you to switch any one of the 2 player slots to the players of your choosing.

The former option (4 players) would require some major UI modifications for field effects like screens (since they apply per player), while the latter (2 players) would just require some way of switching the players.

These are just possible solutions I came up with at the top of my head, so if you have a better idea of how the UI should be laid out, I'd love to hear it!

I've implemented the second option in my own fork (haven't pushed changes yet though) with a basic drop-down menu and seems to work well enough in FFA.

Legend-Recalls commented 1 year ago

Hiya!

This is something we're aware of, but decided to implement it later since it requires the big think in terms of the calculator layer (which only supports 1v1 matchups) and the UI. Currently, the Calcdex is hardcoded to only support players 1 and 2.

We personally haven't played FFA before, so as an FFA player, would you prefer:

  • Seeing all 4 players at once (would require a lot of scrolling), or
  • Seeing only 2 players, but being able to switch the second player slot (assuming you're the first) to any opponent player?

    • If you're spectating an FFA, then we'd allow you to switch any one of the 2 player slots to the players of your choosing.

The former option (4 players) would require some major UI modifications for field effects like screens (since they apply per player), while the latter (2 players) would just require some way of switching the players.

These are just possible solutions I came up with at the top of my head, so if you have a better idea of how the UI should be laid out, I'd love to hear it!

honestly my major play is ffa since that's a good mp option. the first option of scrolling sounds the best option since it also covers wide range attacks aswell and can show which pokemon of 3 danger u the most simultaneously

Legend-Recalls commented 1 year ago

Hiya! This is something we're aware of, but decided to implement it later since it requires the big think in terms of the calculator layer (which only supports 1v1 matchups) and the UI. Currently, the Calcdex is hardcoded to only support players 1 and 2. We personally haven't played FFA before, so as an FFA player, would you prefer:

  • Seeing all 4 players at once (would require a lot of scrolling), or
  • Seeing only 2 players, but being able to switch the second player slot (assuming you're the first) to any opponent player?

    • If you're spectating an FFA, then we'd allow you to switch any one of the 2 player slots to the players of your choosing.

The former option (4 players) would require some major UI modifications for field effects like screens (since they apply per player), while the latter (2 players) would just require some way of switching the players. These are just possible solutions I came up with at the top of my head, so if you have a better idea of how the UI should be laid out, I'd love to hear it!

I've implemented the second option in my own fork (haven't pushed changes yet though) with a basic drop-down menu and seems to work well enough in FFA.

umm tried building your repo but the drop-down isn't there its just like the original project

AhmedA1559 commented 1 year ago

Hiya! This is something we're aware of, but decided to implement it later since it requires the big think in terms of the calculator layer (which only supports 1v1 matchups) and the UI. Currently, the Calcdex is hardcoded to only support players 1 and 2. We personally haven't played FFA before, so as an FFA player, would you prefer:

  • Seeing all 4 players at once (would require a lot of scrolling), or
  • Seeing only 2 players, but being able to switch the second player slot (assuming you're the first) to any opponent player?

    • If you're spectating an FFA, then we'd allow you to switch any one of the 2 player slots to the players of your choosing.

The former option (4 players) would require some major UI modifications for field effects like screens (since they apply per player), while the latter (2 players) would just require some way of switching the players. These are just possible solutions I came up with at the top of my head, so if you have a better idea of how the UI should be laid out, I'd love to hear it!

I've implemented the second option in my own fork (haven't pushed changes yet though) with a basic drop-down menu and seems to work well enough in FFA.

umm tried building your repo but the drop-down isn't there its just like the original project

@Legend-Recalls I've pushed the changes now but to the ffa branch in my fork.

Legend-Recalls commented 1 year ago

Hiya! This is something we're aware of, but decided to implement it later since it requires the big think in terms of the calculator layer (which only supports 1v1 matchups) and the UI. Currently, the Calcdex is hardcoded to only support players 1 and 2. We personally haven't played FFA before, so as an FFA player, would you prefer:

  • Seeing all 4 players at once (would require a lot of scrolling), or
  • Seeing only 2 players, but being able to switch the second player slot (assuming you're the first) to any opponent player?

    • If you're spectating an FFA, then we'd allow you to switch any one of the 2 player slots to the players of your choosing.

The former option (4 players) would require some major UI modifications for field effects like screens (since they apply per player), while the latter (2 players) would just require some way of switching the players. These are just possible solutions I came up with at the top of my head, so if you have a better idea of how the UI should be laid out, I'd love to hear it!

I've implemented the second option in my own fork (haven't pushed changes yet though) with a basic drop-down menu and seems to work well enough in FFA.

umm tried building your repo but the drop-down isn't there its just like the original project

@Legend-Recalls I've pushed the changes now but to the ffa branch in my fork.

this shows a good way to implement I am impressed by the dropdown. there are bugs tho like the first player stats doesn't update in free for all battles. just one more thing that dropdown could also be implemented for first player

doshidak commented 1 year ago

Oh yikes, didn't know there was such a lively discussion going on here haha. (Thanks GitHub!)


@AhmedA1559 Nice job! I took a look at your fork.

It should mostly work, but there are some spots that I need to finish refactoring (hence why I haven't started on the documentation), particularly field conditions that are hardcoded to be 'p1' and not 'p1' (confusing, I know, but that was the initial implementation from way back), to get FFA working properly.

Unfortunately, you as the player are not guaranteed to be 'p1' in the battle, so there could be some visual bugs in your implementation as the dropdown exists for the bottom side only for players 'p2', 'p3' & 'p4'. For instance, if you're 'p2' in the battle, then you could potentially be seeing your Pokémon on both the top and bottom positions in the Calcdex.


@Legend-Recalls On second thought, I realize that showing all 4 players at once would be very messy due to the 1v1 nature of calculations. Showing all 4 would require 3 different calcs (for each other player) per move per Pokémon, which visually can get really confusing.

I'll probably do something similar to Ahmed's implementation in keeping the 2 sides only with the dropdowns after refactoring the code further. Not sure the reason behind the non-syncing first player, but there's probably some special handling Showdown does in FFA, so I'll look into it.


Thanks guys!

Legend-Recalls commented 1 year ago

Oh yikes, didn't know there was such a lively discussion going on here haha. (Thanks GitHub!)

@AhmedA1559 Nice job! I took a look at your fork.

It should mostly work, but there are some spots that I need to finish refactoring (hence why I haven't started on the documentation), particularly field conditions that are hardcoded to be 'p1' and not 'p1' (confusing, I know, but that was the initial implementation from way back), to get FFA working properly.

Unfortunately, you as the player are not guaranteed to be 'p1' in the battle, so there could be some visual bugs in your implementation as the dropdown exists for the bottom side only for players 'p2', 'p3' & 'p4'. For instance, if you're 'p2' in the battle, then you could potentially be seeing your Pokémon on both the top and bottom positions in the Calcdex.

@Legend-Recalls On second thought, I realize that showing all 4 players at once would be very messy due to the 1v1 nature of calculations. Showing all 4 would require 3 different calcs (for each other player) per move per Pokémon, which visually can get really confusing.

I'll probably do something similar to Ahmed's implementation in keeping the 2 sides only with the dropdowns after refactoring the code further. Not sure the reason behind the non-syncing first player, but there's probably some special handling Showdown does in FFA, so I'll look into it.

Thanks guys!

works please make sure to look into the first player dropdown aswell since in formats like multi random battle, knowing the partner's pokemon stats with respect to the opponents is necessary aswell! thanks

doshidak commented 1 year ago

@Legend-Recalls Great point, will do! If you're playing, I'll allow you to switch your side (whether top or bottom from the Hellodex settings) to your ally player, if any (the battle has this info). Otherwise, for spectating, the dropdowns will appear on both sides.

Thanks! c:

Legend-Recalls commented 1 year ago

thats all thanks for listening