New constructed game screen for N players
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
New constructed game screen for N players
by Max mtg » 22 Nov 2013, 17:48
This is just ugly!
I'll post a screen from Heroes 3 or Starcraft to demonstrate how good games implement such screns.
Even with a obvious limitation on number of players the old interface was much better in terms of information accesibility and number of clicks required to set up a game
I'll post a screen from Heroes 3 or Starcraft to demonstrate how good games implement such screns.
Even with a obvious limitation on number of players the old interface was much better in terms of information accesibility and number of clicks required to set up a game
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: New constructed game screen for N players
by Hellfish » 22 Nov 2013, 18:37
No word when it was the standard on the variant screens? Either way, I'm open to suggestions, I'll even port any changes back to the variants 

So now you're
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
Screaming for the blood of the cookie monster
Evil puppet demon of obesity
Time to change the tune of his fearful ballad
C is for "Lettuce," that's good enough for me
-
Hellfish - Programmer
- Posts: 1297
- Joined: 07 Jun 2009, 10:41
- Location: South of the Pumphouse
- Has thanked: 110 times
- Been thanked: 169 times
Re: New constructed game screen for N players
by Max mtg » 22 Nov 2013, 19:51
While that was somewhere deep in varaints menu, it just didn't catch the eye.
Sample 1: Each player is represented by a band with summary, details for the chosen player can be changed in right half of the screen
Sample 2: Bigger stripes for each player, wide enough to fit dropdown lists to choose deck type and the very deck. Excuse me for Russian UI (it looks like I don't have an english version).
Sample 1: Each player is represented by a band with summary, details for the chosen player can be changed in right half of the screen
Sample 2: Bigger stripes for each player, wide enough to fit dropdown lists to choose deck type and the very deck. Excuse me for Russian UI (it looks like I don't have an english version).
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: New constructed game screen for N players
by moomarc » 28 Nov 2013, 13:10
I thought I'd do some quick potential mockups based on the concepts posted by Max. I have zero knowledge of layout coding in java so I can only go as far as the design. I've tried to work with currently used components so assume it should all be possible at least. Layout two below is the winner, but posted both options I was working on for general interest.
The first layout is a bit more compact. Deck randomization would work slightly differently though due to the dropdown list implementation, and I'm quite frankly not sure how we'd implement the random color decks. It would also be difficult to add deck filtering systems.
Layout two is a bit more robust but it will be a close call as to whether it will fit on our minimum screen size. It implements the current deck chooser so should work with any improvements planned for it as well.
General comments:
- Player 1 and two cannot be removed.
- Player 1 name is populated from preferences, but can be edited (possibly overwriting the current preference). The other players names would be assigned randomly as they are currently when starting a match, but can also be changed.
- Player 1 avatar will use the last used avatar while the rest would be assigned randomly as they are currently when starting a match. Clicking the avatar would allow a new avatar to be selected which would finally mean you don't end up playing EvilJeremy that looks like Serra Angel.
- The team selection would be assigned 1 player a team by default. I think it would be easy to then add one extra condition to Player.isAlly(Player) that checks that the players are both on the same team. It would make it easy to customise multiplayer matchups based on player strength.
- Variants could be incorporated into this layout fairly easily. For archenemy teams would be assigned based on the player selected as archenemy (which we'll hopefully be able to assign to someone other than the human). Just add an extra tab to each player for Vanguard selection etc. This would hopefully start making progress towards being able to implement multiple variant games.
The first layout is a bit more compact. Deck randomization would work slightly differently though due to the dropdown list implementation, and I'm quite frankly not sure how we'd implement the random color decks. It would also be difficult to add deck filtering systems.
Layout two is a bit more robust but it will be a close call as to whether it will fit on our minimum screen size. It implements the current deck chooser so should work with any improvements planned for it as well.
General comments:
- Player 1 and two cannot be removed.
- Player 1 name is populated from preferences, but can be edited (possibly overwriting the current preference). The other players names would be assigned randomly as they are currently when starting a match, but can also be changed.
- Player 1 avatar will use the last used avatar while the rest would be assigned randomly as they are currently when starting a match. Clicking the avatar would allow a new avatar to be selected which would finally mean you don't end up playing EvilJeremy that looks like Serra Angel.
- The team selection would be assigned 1 player a team by default. I think it would be easy to then add one extra condition to Player.isAlly(Player) that checks that the players are both on the same team. It would make it easy to customise multiplayer matchups based on player strength.
- Variants could be incorporated into this layout fairly easily. For archenemy teams would be assigned based on the player selected as archenemy (which we'll hopefully be able to assign to someone other than the human). Just add an extra tab to each player for Vanguard selection etc. This would hopefully start making progress towards being able to implement multiple variant games.
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: New constructed game screen for N players
by Max mtg » 28 Nov 2013, 16:01
Great sketches, Marc!
I don't have much to add:
Variant 1
- needs that "add player" button positioned inside the scrollable area
- a special panel has to be developed for random colors deck delection.
Variant 2
- the band for player whose options are displayed at the right should be higlighted somehow.
- the callout with 'deck selection' (button?) can be extended with chosen deck summary to take the full width of a band.
- remove player button might become an icon, say a red cross, to free up space for deck summary.
I don't have much to add:
Variant 1
- needs that "add player" button positioned inside the scrollable area
- a special panel has to be developed for random colors deck delection.
Variant 2
- the band for player whose options are displayed at the right should be higlighted somehow.
- the callout with 'deck selection' (button?) can be extended with chosen deck summary to take the full width of a band.
- remove player button might become an icon, say a red cross, to free up space for deck summary.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
-
Chris H. - Forge Moderator
- Posts: 6320
- Joined: 04 Nov 2008, 12:11
- Location: Mac OS X Yosemite
- Has thanked: 644 times
- Been thanked: 643 times
Re: New constructed game screen for N players
by friarsol » 29 Nov 2013, 00:43
Yea the sketches look nice. I definitely agree with all three of Max's Variants 2 points:
Highlighting the "active" player is very important, I almost missed who was selected when I was first looking at it.
And displaying the selected deck by each player is also very important. A Red X in the top right corner should free up the space easily for that.
Highlighting the "active" player is very important, I almost missed who was selected when I was first looking at it.
And displaying the selected deck by each player is also very important. A Red X in the top right corner should free up the space easily for that.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: New constructed game screen for N players
by Max mtg » 29 Nov 2013, 04:14
Ah! One more point, that could be applied to both variants.
That checkboxes in the bottom apply only to random decks, so they could be moved to that right panel and become visible, when random deck is being selected. There are only 8 lines in the deck list, so it can be can be safely shrunk.
That checkboxes in the bottom apply only to random decks, so they could be moved to that right panel and become visible, when random deck is being selected. There are only 8 lines in the deck list, so it can be can be safely shrunk.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: New constructed game screen for N players
by moomarc » 17 Dec 2013, 09:32
I had a bit of time so have applied the suggested changes to make new mockups. I applied across two skins for comparison.
- The active player avatar will be fully opaque while inactive ones will be 50% transparent. Additionally the active player's avatar will have an outline that uses the 'selected' colour swatch while the rest will use the text color.
- Deck selection is now a proper button that spans the width of the panel and shows the current deck selection.
- Random deck checkboxes would appear only when applicable
- Remove player is now a skinned X in the top right of the panel for players 3 - 8.
Good luck to whoever tackles the implementation. Let me know whether there's anything else I should apply to the layout. Maybe including variant options?
- The active player avatar will be fully opaque while inactive ones will be 50% transparent. Additionally the active player's avatar will have an outline that uses the 'selected' colour swatch while the rest will use the text color.
- Deck selection is now a proper button that spans the width of the panel and shows the current deck selection.
- Random deck checkboxes would appear only when applicable
- Remove player is now a skinned X in the top right of the panel for players 3 - 8.
Good luck to whoever tackles the implementation. Let me know whether there's anything else I should apply to the layout. Maybe including variant options?
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: New constructed game screen for N players
by moomarc » 19 Dec 2013, 17:52
I've taken the design one step further to visualize how we could incorporate the variants into the base constructed game setup. The basic layout would be the same except that the player area would have the height reduced slightly to make space for the variant selections at the top.
My ultimate idea would require a few changes to how the variants are currently implemented as I'd ideally have multiple variants being able to be active at the same time. So we'd probably start with radio buttons instead of checkboxes. But I've designed it around my end vision and hopefully someone can make it work.
Quite simply a variant could be ticked and for each player a few extra buttons would be added depending on the variants selected. Two examples follow:
For Vanguard each player gets a new button which, when selected, replaces the deck selection panel at right with an avatar selection and avatar info panel. Planechase and Archenemy would get a split button - one for Planar/Scheme deck selection and one for jumping to the relevant section in deck editor. Commander would only get the jump to deck section button.
Archenemy would have two modes - classic mode where player 1 is the archenemy and everyone else is assigned to the same team. Player 1 would always start. The second mode is archenemy rumble where everyone has a scheme deck and the same life, and dice roll determines who plays first. Each variant mode has the option to use the vanguard avatar/scheme deck/commander etc from the deck list as an option in the relevant section list instead of a checkbox as it is now. If selected and the section is unavailable, it acts as though random was selected.
My ultimate idea would require a few changes to how the variants are currently implemented as I'd ideally have multiple variants being able to be active at the same time. So we'd probably start with radio buttons instead of checkboxes. But I've designed it around my end vision and hopefully someone can make it work.
Quite simply a variant could be ticked and for each player a few extra buttons would be added depending on the variants selected. Two examples follow:
For Vanguard each player gets a new button which, when selected, replaces the deck selection panel at right with an avatar selection and avatar info panel. Planechase and Archenemy would get a split button - one for Planar/Scheme deck selection and one for jumping to the relevant section in deck editor. Commander would only get the jump to deck section button.
Archenemy would have two modes - classic mode where player 1 is the archenemy and everyone else is assigned to the same team. Player 1 would always start. The second mode is archenemy rumble where everyone has a scheme deck and the same life, and dice roll determines who plays first. Each variant mode has the option to use the vanguard avatar/scheme deck/commander etc from the deck list as an option in the relevant section list instead of a checkbox as it is now. If selected and the section is unavailable, it acts as though random was selected.
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: New constructed game screen for N players
by friarsol » 19 Dec 2013, 18:34
This sounds perfect. And I like how then the Variants submenu on the left menu would then just be rolled into the primary constructed window.moomarc wrote:Each variant mode has the option to use the vanguard avatar/scheme deck/commander etc from the deck list as an option in the relevant section list instead of a checkbox as it is now. If selected and the section is unavailable, it acts as though random was selected.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: New constructed game screen for N players
by moomarc » 19 Dec 2013, 21:27
Thanks Sol. And yip, that was the general idea seeing as the variants are all just variants of constructed, not any other game mode. There will be one extra click for some modes because the deck selection and scheme deck/vanguard /planar deck selection aren't up at the same time, but overall it has a better flow and I'm pretty sure fewer clicks total.friarsol wrote:This sounds perfect. And I like how then the Variants submenu on the left menu would then just be rolled into the primary constructed window.
Now I've done the bit my profession is good at and hand over to those that can handle the back end. Out of curiosity, what would be the best/most robust and flexible layout platform to look at for programming this stuff? PM me so as not to clog the thread (unless it's something that someone thinks we need to discuss)
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: New constructed game screen for N players
by Marek14 » 20 Dec 2013, 07:23
May I ask how is the position's value for player computed? Is value of each player's cards computed separately and then added and substracted to get the value for a specific player?
Well, what I'm asking is this: how hard it is to implement different opponent structures?
I thought about what would be the most general multiplayer structure in Magic and it seems to me that it would be if you could freely define whether any pair of players are opponents or not. This would cover free-for-all, team variants like 2 vs. 2 and even pentagram where every of 5 players is allied with two of his neighbours. It would also allow "unequal" variants, like 1 player against team of 2, which could be either a challenge or an easy variant, depending on where the human would play.
Well, ideally, every "player" in this structure could also be replaced by a group of players with shared turn, but that's for later
Well, what I'm asking is this: how hard it is to implement different opponent structures?
I thought about what would be the most general multiplayer structure in Magic and it seems to me that it would be if you could freely define whether any pair of players are opponents or not. This would cover free-for-all, team variants like 2 vs. 2 and even pentagram where every of 5 players is allied with two of his neighbours. It would also allow "unequal" variants, like 1 player against team of 2, which could be either a challenge or an easy variant, depending on where the human would play.
Well, ideally, every "player" in this structure could also be replaced by a group of players with shared turn, but that's for later

Re: New constructed game screen for N players
by friarsol » 20 Dec 2013, 14:18
The way I see the design, you get to assign team numbers to the players however you want. I'd imagine that the number of possible teams is the same as the total number of players. This allows for free for all (each player has it's own team) and any type of shared allied multiplayer (2 v 2 v 2; 3 v 3; 1 v 3; etc)Marek14 wrote:Well, what I'm asking is this: how hard it is to implement different opponent structures?
I thought about what would be the most general multiplayer structure in Magic and it seems to me that it would be if you could freely define whether any pair of players are opponents or not. This would cover free-for-all, team variants like 2 vs. 2 and even pentagram where every of 5 players is allied with two of his neighbours. It would also allow "unequal" variants, like 1 player against team of 2, which could be either a challenge or an easy variant, depending on where the human would play.
In this case, pentagram wouldn't be supported because you don't have shared allies. The player to your left doesn't share the same ally with you. I almost feel like this case isn't worth covering immediately, or at least not on this screen since it's already packed full of information. Maybe next to the start button there could be a "Customize Allies" button. This would display a grid-like structure for all of the current teams already chosen for the selected players. This would allow for you to be as specific as possible for weird Alliance Schemes such as Pentagram.
By default, this grid would have a + for your team (representing an Ally) and a - for all other teams (representing an enemy)
1 2 3
1 + - -
2 - + -
3 - - +
Here's an example Pentagram grid, assuming that each Team # is adjacent to the player +/-1
1 2 3 4 5
1 + + - - +
2 + + + - -
3 - + + + -
4 - - + + +
5 + - - + +
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: New constructed game screen for N players
by moomarc » 20 Dec 2013, 17:36
Sol got it right in interpreting my design. By default each player is assigned a separate team so free-for-all is the default with more than two players. Some basic logic would need to be coded such that there are never fewer than 2 teams and the team assignment would automatically shift to fill empty teams. By that I mean that if player 3 is assigned to team 2, then player 4 (who would be team 4 by default) is automatically shifted to the now-empty team 3 (I don't suppose it would really matter much, but the cosmetics of empty teams seems wrong).
Classic archenemy would also automatically set player 1 as the archenemy and team 1, and lock each other player into team 2. When network play becomes available I guess the team restriction could be removed allowing two teams to take on the archenemy while knowing they have to stay strong enough to defend against each other afterwards (or make alliances with the archenemy I guess). In archenemy rumble teams could be allocated freely and defaults to free-for-all.
I had never heard of the pentagram format so never considered it, but I think Sol's suggestion is a good approach.
Last thing I'm not sure of is how the life would work in a archenemy commander mix. Does Commander set your base life at 40, each archenemy gets +20 (and Vanguard applies its modifier last)?
Classic archenemy would also automatically set player 1 as the archenemy and team 1, and lock each other player into team 2. When network play becomes available I guess the team restriction could be removed allowing two teams to take on the archenemy while knowing they have to stay strong enough to defend against each other afterwards (or make alliances with the archenemy I guess). In archenemy rumble teams could be allocated freely and defaults to free-for-all.
I had never heard of the pentagram format so never considered it, but I think Sol's suggestion is a good approach.
Last thing I'm not sure of is how the life would work in a archenemy commander mix. Does Commander set your base life at 40, each archenemy gets +20 (and Vanguard applies its modifier last)?
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
75 posts
• Page 1 of 5 • 1, 2, 3, 4, 5
Who is online
Users browsing this forum: Google [Bot] and 33 guests