Azərbaycan dili Bahasa Indonesia Bosanski Català Čeština Dansk Deutsch Eesti English Español Français Galego Hrvatski Italiano Latviešu Lietuvių Magyar Malti Mакедонски Nederlands Norsk Polski Português Português BR Românã Slovenčina Srpski Suomi Svenska Tiếng Việt Türkçe Ελληνικά Български Русский Українська Հայերեն ქართული ენა 中文
Subpage under development, new version coming soon!

Subject: Fix randoms in Sokker [bug]

2025-06-07 08:54:53
juytt to All
tl;dr Devs should update their random functions in code.

If pseudo-random functions are set incorrectly in programming, it produces improbable series of numbers, compare to (real) random.
This tends to make the chances very unequal between each user compared with pure random chance.

----

During the last 5 weeks, I receive zero 16y old junior in youth school for 13 draws in a row.
Having zero 16y old for 13 consecutive draws is (2/3)^13 it's 0,33 % of chance. Very improbable.

This is just one example among many, there are totally improbable series that shouldn't happen but frequently do.
It's obvious that there's a problem with generation of randomness.

To be clear, the problem here is not typically random. But pseudo-random generate.
If receiving zero 16y in 13 draws is very improbable, in the meantime's that's mean another team it's likely to get the exact opposite.
The result is far more inequitable than "real" random.

And it's just an example of random draw for junior starting age. We have coaches' draws, certainly random is part of forms, injuries...
(edited)
2025-06-07 11:03:03
Sokker at it's best tpday! At the end of the season I receive 5 new players
18 hopeless and GK
16 weak and GK
Another 16 weak and GK
16 adequate and GK
And to end with...
16 good and...you never guessed it... GK indeed!

A good example of a well balanced random feature! Thank you Sokker.

Ps...yes, they all came into my youth school today!
(edited)
2025-06-07 11:22:30
Can't be more random as it is! :)
2025-06-07 12:42:36
Do you know that 16 is equally as likely as 17 or 18? It may not be 33%, it may be some much smaller number. In any case that’s probability for you. It’s possible to flip 10 heads in a row. It’s also possible for a dice to be rolled 10 times in a row without a single 1 or 2. It happens.

I do understand your frustrations however and feel like some things should be adjusted in the junior space as there are a few too many layers of rng to have to work through (get the right number of juniors in to start with each week, get the age roll right, get the talent right, get the skill set right, get the time of season right etc.)
2025-06-07 13:34:40
It may not be 33%, it may be some much smaller number.

Maybe not in your world, but in the world of maths: 16, 17, 18 have the same probability and that's 33%. I mean... in pure random.

Yep, It’s possible to flip 10 heads in a row (0,09% of chance). We can also always gain (real) millions in a lottery with a probability of 0,0000007% (Euro lottery)
In that case, would you mind if we applied these probabilities to Sokker juniors ? Basically, all users will closed their Y.S.

Above all, you've all missed the point, I'm not bothered by the fact that the junior draws depend on luck, nor do I mind being currently very unlucky myself.
The point with pseudo-random : Inevitably, some teams will accumulate a lot of bad luck, while in the meantimes others will accumulate a lot of luck. Quite simply, we can reduce these gap. Or not.
(edited)
2025-06-07 13:55:14
Only if they are equally likely. If one is more heavily weighted then maths says otherwise. I mean they probably are equally likely here but it’s why I asked the question because your maths fails if that isn’t the case.

I wasn’t implying that you should use those odds, I simply said that even something with a 1/2 chance or a 1/3 chance can still go on good and bad streaks. Don’t be silly regarding using lottery odds, no one would play the game which goes against what any game developer would want.

I mean that’s the point of it being “random” in the first place isn’t it? Not everyone will get as equally lucky as others? It’s not like all football clubs produce equally the same talent.
2025-06-07 14:05:37
Still, real life and football simulators work differently then Sokker which is notreal life or a simulator, but a game. The line that defines the rules should be followed as a game fpr each point. The problem with Sokker is that it's a game which has some real life simulator features. But the line switches from game to simulator between various points. And that is wrong imo
2025-06-07 14:12:29
That's why i was speaking of pseudo-random Vs random.

Im ok, random could be seems as fair, we all have the same chance of... unless it depends on some kind of merit.
But when the dices are loaded, it's another story.

In random, having "at least one 16y in 13 rows" prob is 1-(2/3)^13. Around 99,55 % of chance.
Typically "not having any 16y in 13 draws" we can be almost sure that dices are loaded !
(edited)
2025-06-07 14:52:17
koka to juytt
And I had no GK since I started the YS, so 11 weeks in a row. Anyway...
2025-06-07 15:32:37
juytt to koka
Or we can get no high levels coaches in 10 max draws, or the contrary, or 10 times playing Away (junior league) and then, and then… We can find many real example of improbable series.

I’ve just taken junior starting ages into example because it’s easy to know a normal probability (33%)
(edited)
2025-06-08 08:45:21
What’s the alternative? Have a guaranteed equal distribution so everyone gets the exact same at the same time? You’d still run into bad luck if it was over the course of a season you get x 16yos because one would get it early in the season or one would get it late etc.

There is always going to be some form of inequality. The fact remains the current system is fair (everyone has the same chance). Might not be equal though
2025-06-08 09:53:08
I was not talking about youth exclusively but about the overflow of random within the entire game. And also about the long bad luck streaks like the form "random".
I get random has to be there, but its the way It's distributed that raises a brow imo.
(edited)
2025-06-08 10:16:49
EDIT : sorry, I thought you were answering me.

Alternative ? Without access to the source code, it's obviously impossible to know exactly what's going on.
I suspect there is a "seed" (a number using for random generation) almost fixed, that can produce same "random" numbers in a row, whereas the seed should be reset.
I also suspect that sokker code is very old ^^ The standard rand() function (php language) is notoriously bad at generating randomness on older versions.

For example, I can write two exact same random function, but one is stick to a fixed seed (the time when script is run), other one is base on resetting seed.
The first "random" always generate the same numbers 16, 17 or 18, depend on time.
Let's say that each juniors draws for each teams are not generate at the same time (which is obviously the case), the result could be terrible between teams if seed is not reset during time.

[url=https://imgbb.com/][/url]

Also, there is a nice picture who illustrate 2 pseudo-random results, one is correctly set, other not.
https://boallen.com/random-numbers.html
(edited)
2025-06-08 16:15:55
I have a hard time seeing this system called 'fair' since I've gotten one pull in 5 seasons, and he was only useful because he was 16. His sale value at pull was maybe 100k or so. The guy is still on my team, but has BY FAR the lowest talent on my rebuild.

The best thing they could do is get rid of the old pulls, since it's nearly impossible to get a viable youth this way. Even a divine 20 year old is going to be considerably behind a well trained equivalent. Set them up to be all 16-17 year olds, or maybe 15-17 year olds.
2025-06-08 16:16:02
Message deleted

2025-06-08 16:46:46
Sure. Age and Number of draws are major random criteria.
Weeks, talent, levels are also important.... But at 18y old we can always fired (whatever talents, weeks...) and off course for 1 to 6 draws other criteria's doesn't matter for draws that don't exist.

So if we remove 18y old and set draws to minimum of 3 to 6 (or 2 to 4 whatever) it should removed at least very poor draws and reduce inequity without adding/touching anything else in code (even pseudo random). It's poor man solution but much better than current state.
(edited)