Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: random start location and colors
random start location and colors
Jul 23 2017, 12:25 pm
By: KimsKams  

Jul 23 2017, 12:25 pm KimsKams Post #1



Good Sunday morning ladies & gentlemen!

I have a question, probably what i want is currently not doable, but since some of your guys' knowledge is so deep I would be very happy to get surprised.

So, I have a Ums-map with 7 Human Players and 1 Computer player. All of these players have units and buildings on the map. Now i would like to randomize which player will play which role. So I activated random start location for the force where the human players are listed. What I would want to archieve would be, that the color of the computer player does not get randomized, but instead always will be the same. For his force, random start location is not activated, nevertheless, while his starting location is fixed, his color is randomized which causes problems. If there was a way to work around this, I would be super thankful if you could tell me ;-)



None.

Jul 23 2017, 1:49 pm Dem0n Post #2

ᕕ( ᐛ )ᕗ

You could do it through triggers to randomly give each player a group of units/buildings at the start of the game.




Jul 23 2017, 2:34 pm NudeRaider Post #3

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

What Demon said is correct. But if you want colors randomized among human players as well, you're out of luck. When you disable random start locations P1 will always be red, P2 always be blue. etc. (or whatever you set them to).
But their roles and races and thus which buildings they receive can be changed by randomizing triggers.

I have no idea if that fits your map, but you could even give players the ability to control their role to an extent, depending on the race they choose.

Post has been edited 1 time(s), last time on Jul 23 2017, 5:49 pm by NudeRaider.




Jul 23 2017, 2:58 pm KimsKams Post #4



Thank you very much for your input. I'll describe the problem a little bit more in detail:

So the map is a world war map which is played enthusiastically by a little community.
In the original map the colors are fixed and the players can chose in the lobby which country they play (for example: Player 1 plays Germany which is red).
Now we have a map where the countries you'll end up are randomized (= you do not know which country you will play).
This is cool, but the gaming experience suffers under the presence of randomized colors (because you see a unit, but don't instantly know to which country it belongs).

To solve this I want to build a map where the country you'll play is randomized, but the original colors are preserved (= Germany is always red, Italy is always blue).

My idea is the following: I activate random start location; Once the map has loaded there are 7 beacons, each of which belong to a country. Now the player who ended up red, has to walk to the beacon germany and will receive all german lands and units (+ a (country-) identifying deathcount is set + Triggers that happen during the game are adjusted so that they do belong all human players (p1-p7) but will only trigger for the player with the correct death count).

By doing so, I have randomized countries for the players, but the colors stay as everybody has known them for years.

Now the only problem is, there is a player 8 and this is a computer player which traditionally is white. The above described solution will not completely work, if white is in the pool of randomly distributed colors (because then in 7 out of 8 cases a human player will end up white, while the computer has the color of a traditionally human player).

So my question is, is there a possibility to take out white of the pool of colors that randomly get distributed?



None.

Jul 23 2017, 6:21 pm Dem0n Post #5

ᕕ( ᐛ )ᕗ

Making players walk to a beacon to claim units that they're already bound to is pretty bad UX. I realize you want to keep the maintain the classic player colors, but doing it this way doesn't seem the most efficient. I feel like people would definitely appreciate automatically being given a random country and taking two seconds to figure out which country they and everyone else are more than having to walk to beacons at the start each game to get their units.




Jul 24 2017, 12:12 am KimsKams Post #6



well while it is a suboptimal solution, it is closest to a solution that i have come. And I tell you, the pain that comes with random colors really outweights the burden of having to move to a beacon.

Quote
Making players walk to a beacon to claim units that they're already bound to is pretty bad UX
Is there a possibility to detect the color of a player non-manually, ergo via triggers?
And again, the most important question to me is, if its possible to take 1 color out of the randomization?

Post has been edited 1 time(s), last time on Jul 24 2017, 7:57 am by KimsKams.



None.

Jul 24 2017, 8:28 am KimsKams Post #7



Quote
I feel like people would definitely appreciate automatically being given a random country and taking two seconds to figure out which country they and everyone else are more than having to walk to beacons at the start each game to get their units.

and this basically is what we already have, it's just that no1 plays it because of the fucked up / unfamiliar colors. Funny how the brain works isn't it, but minimap awareness and general feel for the game decrease drastically for all the players I have talked to, but yeah that is pretty map specific.



None.

Jul 24 2017, 1:52 pm molo Post #8



Might it be possible to just create multiple versions of the map in each of which the arrangement of the players got altered - and then have something load 1 out of these multiple versions in a random way?

Like is it possible to have a map-file beneath which multiple files hide, and which whenever it gets accessed randomly choses one of the contained maps?
Or would it be possible to work with something similiar as the "next scenario" action?



None.

Jul 24 2017, 9:07 pm rockz Post #9

ᴄʜᴇᴇsᴇ ɪᴛ!

Quote from KimsKams
well while it is a suboptimal solution, it is closest to a solution that i have come. And I tell you, the pain that comes with random colors really outweights the burden of having to move to a beacon.

Quote
Making players walk to a beacon to claim units that they're already bound to is pretty bad UX
Is there a possibility to detect the color of a player non-manually, ergo via triggers?
And again, the most important question to me is, if its possible to take 1 color out of the randomization?
Random start locations do 2 things:
Randomize the player number (start locations aren't actually randomized) and randomize the color. If we didn't get a random color, it would mean that when you play someone in melee with randomized players, you could tell where they were based on their color.

There may be a way in old patches to detect player colors, but the newest patches have likely patched this out.

Since colors are random, I believe if any one force has random start locations, all colors will be random in the game, according to the 8 colors set in the player numbers, regardless of whether or not they have start locations.

There is an awful option of using rescuable units for color, as they retain their color. You'd make all german units owned by player 5 (red color) and set player 5 to rescuable. Every time you build a new unit, replace it with a player 5 unit and a current player unit so it gains the red coloring but is owned by the current player. It's the most awful method and limits the game to 8 players + colors (so 5 players with 3 colors, or 2 players with 6 colors, etc...) and I wouldn't recommend it. IMO you have two options: 1) suck it up and deal with random colors, or 2) suck it up and deal without random countries. Since you can randomize the players without starting the game using a website like random.org, I would recommend doing this for all future private games. Alternatively you can make 2 versions of the map, get your randomness from the random version of the map, quit, then play the non-random with the people in the proper order.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Jul 24 2017, 10:54 pm KimsKams Post #10



Hey Rockz, thanks a bunch for this deep answer, and yeah god damn it, since the map already has 8 players and needs them we'll probably have to deal with it.
But the idea of creating multiple maps (a max of 128?) without using random start location, but putting the players at different places, so that in the lobby it is not forseeable on which country you will end up, might be a solution.

I am not a programmer, but if i might ask, do you imagine it as complicate to write a little program that peridoically - on a random basis - choses between a certain sum of maps, picks one, renames it and places it at a desired folder?
I mean probably this is everything but possible within a .scx file, but a "third party" batch file or something might do the job.



None.

Jul 25 2017, 12:00 pm KimsKams Post #11



Thank you, thank you all!!
I decided to tackle the problem as follows:
Will create ~10 versions of the map, where i relocate players (standard p1 = red = ger --> p4 = red = ger etc.) and do that in a way that in the game lobby it is not detectable which player sits on which country.
Then protect these 10 maps, copy each 4 times, allocate to each of these 50 map files a random number, and make this folder with 50 maps available to the hosts of our community. Now they can randomly pick one and the fact that people join in a random order adds an additional element of randomness.



None.

Jul 25 2017, 10:12 pm rockz Post #12

ᴄʜᴇᴇsᴇ ɪᴛ!

If everyone is on one force, and you have 7 players, you'll need 7! = 5040 maps to be truly random. You can randomize the number after you've gone through all the permutations.

if it's 3v3 and you have 2 forces, you'll need 3! * 3! = 36 maps to be truly random.

The major issue here is that you're going to have to make all triggers and units owned by "germany" in the old map (player 1) be owned by the new germany (player 2) in the new map. If you have forces that makes things a bit easier, and I would recommend rather than having something "owned" by a particular player, give "germany" some form of marker, say 1 exactly 1 death of start location at the beginning of the game. That way, you can have germany's triggers owned by force 1 or 2 and make the trigger only fire if current player has 1 death of start location.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Jul 25 2017, 10:38 pm KimsKams Post #13



yeah you are right, but i think if i have 10 versions of it and just take away the responding information from the gamelobby, the randomness of the joining timing just is sufficient, i do not need truest randomization, since even if i had this the host could always betray.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:39 am]
Ultraviolet -- no u elky skeleton guy, I'll use em better
[10:50 pm]
Vrael -- Ultraviolet
Ultraviolet shouted: How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
hey cut it out I'm getting all the minerals
[10:11 pm]
Ultraviolet -- :P
[10:11 pm]
Ultraviolet -- How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
[2024-4-17. : 11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
[2024-4-17. : 1:52 am]
Vrael -- hah do you think I was born yesterday?
Please log in to shout.


Members Online: IlyaSnopchenko