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

Increase Max Players to 8 #7663

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

kphoenix137
Copy link
Collaborator

@kphoenix137 kphoenix137 commented Jan 18, 2025

Allows for 8 players in a multiplayer game.

Details:

  • All town portals are produced in a straight line
  • New arrow colors/exp tag colors changed to differentiate players as much as possible
  • Exp tag icons improved

Exp tag icons for players 1-8:
image

Players 1-8 on the automap:
image

Players 1-8 highlight:
image
image
image
image
image
image
image
image

Potential issues:

  • Dungeon entry positions aren't synced ("properly"), so it's possible for players to get stuck if all players enter the level at the same time and don't move from entry position (vanilla problem, made worse by adding more players)
  • Desync (More players involved may create a lot more desync as 8 different clients have to agree on things)
  • Unable to mute/see the new player slots in the Control Panel (Not enough space to include all players. This could be resolved with a future QoL addition of a Party panel, along the lines of what Diablo 2 offers)

Source/monster.h Outdated Show resolved Hide resolved
@kphoenix137 kphoenix137 marked this pull request as ready for review January 18, 2025 03:01
@kphoenix137 kphoenix137 marked this pull request as draft January 18, 2025 14:22
@Maderator3000
Copy link
Contributor

Telling players apart (Players all have the same visual appearance as their vanilla counterparts, so it may be incredibly difficult to tell who is who)

Maybe it's worth adding a display of player nicknames above them for small screen resolutions and some shapes with the appropriate player color for larger resolutions? And add the appropriate key binding to switch the display.

@yuripourre
Copy link
Collaborator

Telling players apart (Players all have the same visual appearance as their vanilla counterparts, so it may be incredibly difficult to tell who is who)

Maybe it's worth adding a display of player nicknames above them for small screen resolutions and some shapes with the appropriate player color for larger resolutions? And add the appropriate key binding to switch the display.

I think that's what @kphoenix137 meant when he mentioned:

"This could be resolved with a future QoL addition of a Party panel, along the lines of what Diablo 2 offers"

Replace MAXVISION with MAX_PLRS

Update base.cpp

MAXVISION again?

Add 8 player functionality

Remove MAXPORTAL

Update

Update

Update

Update portal.cpp

Add fixed monster tags

Update automap.cpp

Adjust portal positions

Update automap.cpp

Use default 200 max monsters

Fix errors

Fix mistakes
@kphoenix137 kphoenix137 marked this pull request as ready for review January 19, 2025 02:18
@kphoenix137
Copy link
Collaborator Author

Telling players apart (Players all have the same visual appearance as their vanilla counterparts, so it may be incredibly difficult to tell who is who)

Maybe it's worth adding a display of player nicknames above them for small screen resolutions and some shapes with the appropriate player color for larger resolutions? And add the appropriate key binding to switch the display.

I think the most intuitive solution (a solution that isn't really in the scope of this PR) would be recoloring each player based on their slot number. This may be controversial however and the proper agreed upon change should be discussed at a later time.

@kphoenix137 kphoenix137 requested a review from AJenbo January 19, 2025 02:25
@@ -62,7 +62,7 @@ void loopback::SNetGetProviderCaps(struct _SNETCAPS *caps)
caps->flags = 0; // unused
caps->maxmessagesize = 512; // capped to 512; underflow if < 24
caps->maxqueuesize = 0; // unused
caps->maxplayers = MAX_PLRS; // capped to 4
caps->maxplayers = MaxPlayers; // capped to 8
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any reason this shouldn't be capped to 1?

@yuripourre
Copy link
Collaborator

yuripourre commented Jan 19, 2025

@kphoenix137 very minor suggestion, is it ok to change the first 4 colors a little?

The orange and red are too close to each other, maybe you could do something like:
Red, blue, yellow, pinkish and then the other colors.

It could be very helpful for colorblind people 🙋

@kphoenix137
Copy link
Collaborator Author

@kphoenix137 very minor suggestion, is it ok to change the first 4 colors a little?

The orange and red are too close to each other, maybe you could do something like: Red, blue, yellow, pinkish and then the other colors.

It could be very helpful for colorblind people 🙋

I would prefer to wait for official color-blind accessible changes to be applied. I think immediately changing orange to a light red would make it more difficult to differentiate for non-color blind people as we'd be using 3 different shades of red. I think a future PR that adds toggle options for different types of color blindness that globally change the palette would be great.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants