FreeOrion

Forums for the FreeOrion project
It is currently Thu Dec 14, 2017 6:39 pm

All times are UTC


Forum rules


Always mention the exact version of FreeOrion you are testing.

When reporting an issue regarding the AI, if possible provide the relevant AI log file and a save game file that demonstrates the issue.



Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Wed Mar 29, 2017 9:55 am 
Offline
Pupating Mass
User avatar

Joined: Tue Mar 14, 2017 10:47 am
Posts: 96
Many events in game depend on random - spawn conditions, fleet battles, scouting, etc.
Now it's assumed that good / bad luck is not an issue because it autobalances over time (it's assumed than in 100 games every player will be equally lucky overall).
This assumption is wrong. Some persons are more lucky on average than other. It's not an issue of freeorion, it's just how world works. I personally know several of such people. They always suck in chess and other games where there's no place for luck, but in any game that involves random I just can't beat them. Despite my best efforts, luck is often on their side and I'm just destroyed.
Freeorion is one such game. Some random here, some random there, and I got crushed for no reason.
Examples of being lucky/unlucky in freeorion:
1) scouting
lucky: on first turn you send scout in random direction and find perfect planets and natives
unlucky: in first turn you send scout in random direction and find deep space with Sentry that destroys scout
2) spawn conditions
lucky: you get 10 habitable planets and 3 natives within 3 lanes
unlucky: you get 0 habitable planets and 0 natives within 3 lanes and two enemy AI empires within 4 lanes
3) combat. You send 3 basic hull laser ships with defense grids against maintenance ship and sentry
lucky: your ships destroy sentry in first round and then safely damage maintenance ship while being shielded with defense grid
unlucky: your ships attack maintenance ship all three round, meanwhile sentry destroys one of them and damages other. The next turn remaining ships again attack maintenance ship and sentry destroyed them all (REAL STORY, LOST THE GAME BECAUSE OF THIS SHIT)
Also lucky players get more planetary bonuses, ruins, juggernaut nests, natives than unlucky player.
Unlucky players need more scouts and invest in military early, due to vast amounts of dangerous shit around them.
So in our played games graph L29Ah wins in most cases, despite not having any exceptional tactics or strategy skills. He even does stupid mistakes like leaving critically important black hole system undefended. But on average he wins because luck comes in and helps him win, while other players spawn in direst condition in majority of games.
So on average he just gets unfair advantage in majority of games.
What's even worse - is the fact that influence of random is overwhelming in early game, but fades out to medium or late game. So by the time somebody finds him he just have more of everything, and it looks like he just plays better. But in reality it's just consequence of early game luck.
In most of our games his in-game graph of empire strength starts skyrocketing early, while everybody else stays near the floor. There are exceptions but in most cases it's like that. He just wins without any effort, before even being found by anyone (it's already too late by that time).

Solution:
Centralized per-player Luck Corrector should be implemented. Every random event happened must notify it of: 1) influence of event's outcome on game odds 2) the 'statistically average' outcome of this event (the center of worst <---> best range) 3) the actual outcome. Then, Luck Corrector increments or decrements 'luckyness' vatiable of this player based on how much actual outcome was better or worse than average outcome and scaled by significance of event. And all future random events outcome will be moved to better or worse end based on current 'luckyness' variable (then this variable be updated based on new outcome, and so on).
So, if some player was luckier than average in some event - he will be less luckier in next event, and counterwise.
This will make game MUCH more fair for everyone.


Top
 Profile  
 
PostPosted: Wed Mar 29, 2017 10:18 am 
Offline
Pupating Mass
User avatar

Joined: Tue Mar 14, 2017 10:47 am
Posts: 96
It's not fun to lose one game after another due to theoretically highly unlikely shit happening all the time (i.e.Dyson Forest starting growing over neutral high-tech natives planet, blocking my supply and splitting empire in half, separating industry from shipyard/energy compressor/ muursh, and high-tech natives protecting dyson forest when i tried to attack, and at the same time AI starting attacking my muursh/energy compressor planet which was cut off from industry, I could only build basic hull ships on capital but they needed 8 turns to reach cut off partnof empire, and when I finally cleared that goddamned forest and restored supply - a huge fleet of another player arrived and conquered my muursh planet. Another REAL STORY which led to lost game).
No natives, or some molecular cloud not allowing to clear out maintenance ship, or some random krill swarm destroying important outpost ship - all this happens much more often than it should theoreticalky.
While for some other player it's common to get ugmors, scylior, computronium moon, Mu Ursh and blackhole by turn 60, and his graph skyrockets in 70% of games.
It's just not fair.


Top
 Profile  
 
PostPosted: Wed Mar 29, 2017 5:45 pm 
Offline
Vacuum Dragon

Joined: Wed Aug 26, 2015 6:15 pm
Posts: 506
This sounds like metaphysical nonsense. Yeah, sometimes you spawn great, other times not so much. The idea that some people have magic luck (good or bad) is not scientific. Instead of blaming luck or whatever, realize that you shan't suffer floaters or baby Dysons to live. Or you reap the consequences.


Top
 Profile  
 
PostPosted: Wed Mar 29, 2017 6:04 pm 
Offline
Pupating Mass
User avatar

Joined: Tue Mar 14, 2017 10:47 am
Posts: 96
Nothing magical. Metaphysical, yes. Anything we can't observe is a source of randomness.
Nobody knows how this randomness work. So, nobody knows if there is some 'auto-balancing' trait in it or not.
Nothing forbids luck to better for one player and worse for another (on average).
It's unprovable and even unresearchable.

But, we don't need to research or understand how it works.

We can just make freeorion free of this nonsense by controlling and balancing luck/unluck programmatically.
I see only benefits of it. It will not make anything worse.

Quote:
you shan't suffer floaters or baby Dysons to live. Or you reap the consequences.

Yeah, but you didn't read or understand my post. Nobody should let them live or play unsafe, but consequences are more frequent for unlucky players than for lucky ones. That's the point. So, lucky players can typically sacrifice safety for faster expansion / advancement, while unlucky can't. That alone places them in highly unfair situation.


Top
 Profile  
 
PostPosted: Wed Mar 29, 2017 6:40 pm 
Offline
Creative Contributor
User avatar

Joined: Sat Sep 13, 2003 6:52 pm
Posts: 1396
I will agree with one thing...
Luck makes it harder to have a strategy.

The more random variation in the benefit/cost of a choice, the more random and less strategic the cost becomes (ie see floater/baby Dyson.. you must kill it)

Essentially it removes a choice.

Especially if you can't get more information

I can scout to see what systems are around me (go mass colonization/native conquest/tech up to get better access)

But If I see something that has a 2% chance each turn of losing me the game, I have to put all resources into eliminating it.

For some of those it might be better to have them on a counter.

+1 each turn, Their chance of "developing" is X% for every counter over the minimum amount Y

"normalizing" both home system "value" and even slightly that of adjacent systems makes randomness play less of a role.

it should still play some, but too much can be bad.


Top
 Profile  
 
PostPosted: Wed Mar 29, 2017 8:58 pm 
Offline
Pupating Mass
User avatar

Joined: Tue Mar 14, 2017 10:47 am
Posts: 96
Krikkitone : instead of normalizing individual code parts it's better (and simpler) to implement universal solution by inserting Luck Normalizer object between random generator implementation and anything that needs to do random stuff, so that EVERYTHING that may be influenced by luck goes through it. And every call to get random something will also have to provide Luck Normalizer with significance of event and 'normal' value ( right in the center between worst and best outcome ) of requested range.
Then, every part of code that does random something will need to be rewritten and updated with event significance and 'normal' value values.
After it, it doesn't matter if it's chance of Floater changing into Forest, or chance of nice natives created during map generator - Luck Normalizer will adjust resulting random value based on every players' current 'luckyness' value (which it will update then).
So if one player got extremely lucky on some occasion (determined by significance of event (size of stakes) and difference between 'normal' (average) outcome and outcome he got) - he will have bad luck until his 'luckyness' value returns back to normal (i.e. he may get extremely unlucky the next turn, or just be slightly unlucky in several following events, i.e. krakens' directions will be chosen inconveniently for him, AI's scout happen to discover them (while scouting 'randomly'), etc).


Top
 Profile  
 
PostPosted: Wed Mar 29, 2017 9:39 pm 
Offline
Creative Contributor
User avatar

Joined: Sat Sep 13, 2003 6:52 pm
Posts: 1396
afwbkbc wrote:
Krikkitone : instead of normalizing individual code parts it's better (and simpler) to implement universal solution by inserting Luck Normalizer object between random generator implementation and anything that needs to do random stuff, so that EVERYTHING that may be influenced by luck goes through it. And every call to get random something will also have to provide Luck Normalizer with significance of event and 'normal' value ( right in the center between worst and best outcome ) of requested range.
Then, every part of code that does random something will need to be rewritten and updated with event significance and 'normal' value values.
After it, it doesn't matter if it's chance of Floater changing into Forest, or chance of nice natives created during map generator - Luck Normalizer will adjust resulting random value based on every players' current 'luckyness' value (which it will update then).
So if one player got extremely lucky on some occasion (determined by significance of event (size of stakes) and difference between 'normal' (average) outcome and outcome he got) - he will have bad luck until his 'luckyness' value returns back to normal (i.e. he may get extremely unlucky the next turn, or just be slightly unlucky in several following events, i.e. krakens' directions will be chosen inconveniently for him, AI's scout happen to discover them (while scouting 'randomly'), etc).


That's FAR too complicated.

much simpler to
1. notice things that are very significant & have large luck component (through balancing)
and
2. reduce the random component (or eliminate it altogether... instead of X having 2% chance of happening per turn, have it automatic at 50 turns..or automatic at randomly determined 30-60 turns)


Top
 Profile  
 
PostPosted: Wed Mar 29, 2017 11:15 pm 
Offline
Pupating Mass
User avatar

Joined: Tue Mar 14, 2017 10:47 am
Posts: 96
Quote:
That's FAR too complicated.

Nope.

Quote:
1. notice things that are very significant & have large luck component (through balancing)

Won't help. Too much effort without actually achieving anything. Lucky players are more lucky on average, so they will still get some luck here, some luck there, and these micro-lucks will combine into easy wins.
We need a normalizer that will ensure equal amount of luck on average.

Quote:
2. reduce the random component (or eliminate it altogether... instead of X having 2% chance of happening per turn, have it automatic at 50 turns..or automatic at randomly determined 30-60 turns)

Less random = more boring game. We need fair random, not less random.


Top
 Profile  
 
PostPosted: Thu Mar 30, 2017 12:02 am 
Offline
Vacuum Dragon

Joined: Wed Aug 26, 2015 6:15 pm
Posts: 506
There is no such thing and "lucky" or "unlucky" players. Everyone who plays, including the AIs, will have lucky or unlucky events happen through random chance. Actually bad luck teaches you to be a better player because you have to try to work around the situation. A good player will usually figure a way to win anyway.

I once spawned Egassem with three Inferno worlds in close proximity to the homeworld. That didn't teach me anything. Now, the time I was playing George and had no colonizable worlds anywhere close, so I had to stretch and defend lines far out into a neutral area that was a meeting place for two AIs, then I learned some techniques.


Top
 Profile  
 
PostPosted: Thu Mar 30, 2017 12:22 am 
Offline
AI Lead, Programmer
User avatar

Joined: Sat Sep 22, 2012 6:25 pm
Posts: 4390
afwbkbc wrote:
Lucky players are more lucky on average... We need a normalizer that will ensure equal amount of luck on average.
I find this idea hilarious -- build a module that will assess the actual game-significance and player benefit of all the RNG rolls, and if some players have too much of a lucky streak then the module will intervene and instead of just relying on the RNG it will just plain Stick It To Them! :lol: :lol: :lol:

And no one else will be willing to try implementing this, so the implementation will be left to you, and then you will have to convince your multiplayer opponents to be willing to play subject to your homebrew "Neutralizer". :lol: :lol:

I would say "Good Luck with That!", but since you self-report as low-luck (or at least not lucky), I think it means that the entire "Luck Neutralizer" idea is simply ruled out as inherently impossible (in my experience, that's how it always goes when you try to influence Lady Luck.)

It really sounds like multiplayer play is not a good situation for you right now, I would highly recommend you play solo games for a while, and as the FreeOrion gods become more familiar with you, and you with them, you may find your luck changing for the better and could then go back to multiplayer.

_________________
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0


Top
 Profile  
 
PostPosted: Thu Mar 30, 2017 12:55 am 
Offline
Programmer

Joined: Sun Feb 14, 2016 12:08 am
Posts: 359
Some new map shape(s) (or option for the existing shapes) that generate more uniform starting areas would probably be good.
e.g. given any spiral shape, generate an arm per player with minimal specials and place the starting planet in the same general area of the arm.

_________________
Any content posted should be considered licensed GNU GPL 2.0 and/or CC-BY-SA 3.0 as appropriate.


Top
 Profile  
 
PostPosted: Thu Mar 30, 2017 6:55 am 
Offline
Pupating Mass
User avatar

Joined: Tue Mar 14, 2017 10:47 am
Posts: 96
Quote:
There is no such thing and "lucky" or "unlucky" players. Everyone who plays, including the AIs, will have lucky or unlucky events happen through random chance.

No. As I said, some players are more lucky than others on average. I also didn't believe it for long time, but finally the amount of evidence became overwhelming.
There is no reason to believe luck is perfectly balanced somewhere. I don't speak of freeorion or random generator, I speak of how world works. When we don't see reasons of something - its outcome is 'random' and is thought to be based on 'chance', but some players just get better chances in these cases than others.

Quote:
A good player will usually figure a way to win anyway.

Yes. But there is a limit of how good unlucky players can influence the game. Luck is overpowered, and lucky players can be less good to win unlucky players that are more good. Again, on average.

Quote:
build a module that will assess the actual game-significance and player benefit of all the RNG rolls, and if some players have too much of a lucky streak then the module will intervene

Yes, that's the only possible solution here.

Quote:
just relying on the RNG

When just relying on RNG, any player that gets lucky just gets away with it - the next time he will still have same chances to be lucky as somebody who was extremely unlucky 5 turns in a row. There is no implicit 'auto-balancing' feature anywhere.

Quote:
so the implementation will be left to you

Yes, I'll try to implement it this week.

Quote:
to play subject to your homebrew "Neutralizer"

Just a simple 'Luck Correction' option will be added to game lobby, with values like "None", "Light", "Normal", "Extreme". These values will determine how much Luck Normalizer will modify RNG's outcome before returning. If you believe in fairness of the world you will still be able to play with "None" same as before, so nothing will break.

Quote:
I think it means that the entire "Luck Neutralizer" idea is simply ruled out as inherently impossible

Nope, implementation of Luck Neutralizer does not depend on luck (maybe only for junior programmers which I'm not), so I can do it.

Quote:
It really sounds like multiplayer play is not a good situation for you right now

Nah, I'm used to compensate lack of luck with skills. Freeorion is, however, too luck-dependent so skills have their limits of influence. After my fix this will become a whole new life.

Quote:
FreeOrion gods

Well nobody knows for sure how luck is decided. All I know is that luck/unluck ratio is different for different people, both in games and in life. But in games we can at least normalize it.


Top
 Profile  
 
PostPosted: Thu Mar 30, 2017 8:18 am 
Offline
Pupating Mass
User avatar

Joined: Tue Mar 14, 2017 10:47 am
Posts: 96
dbenage-cx wrote:
Some new map shape(s) (or option for the existing shapes) that generate more uniform starting areas would probably be good.
e.g. given any spiral shape, generate an arm per player with minimal specials and place the starting planet in the same general area of the arm.

Nope, it won't eliminate unfairness and also will make game more boring. Less random = more boring, at least one random event = possible unfairness. Every RNG call must be intercepted and altered by Luck Normalizer, or lucky players will have possible game-winning luck chances.


Top
 Profile  
 
PostPosted: Thu Mar 30, 2017 9:07 am 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4294
Location: Sol III
I... am rendered utterly speechless... :shock:


Top
 Profile  
 
PostPosted: Thu Mar 30, 2017 10:13 am 
Offline
Space Floater
User avatar

Joined: Tue Feb 22, 2011 4:54 am
Posts: 33
afwbkbc wrote:
Quote:
There is no such thing and "lucky" or "unlucky" players. Everyone who plays, including the AIs, will have lucky or unlucky events happen through random chance.

No. As I said, some players are more lucky than others on average. I also didn't believe it for long time, but finally the amount of evidence became overwhelming.
There is no reason to believe luck is perfectly balanced somewhere. I don't speak of freeorion or random generator, I speak of how world works. When we don't see reasons of something - its outcome is 'random' and is thought to be based on 'chance', but some players just get better chances in these cases than others.


So.... you're saying when we're born, somebody rolls some dice, and that's the amount of luck we're given for our life times?

You need to take a look at the concept of variance. And don't say you do, cause you obviously have no idea what you are talking about.

I was a part time professional poker player for a number of years. I didn't make enough to live on, but that wasn't the goal, it was just part time, 10-30 hours a week. It did pay for a number of improvements around the house, a few Caribbean vacations, and some needed car repairs. I made around 12-15k a year from this.

A have (somewhere) all the data from every hand I played. I could show you graphs of my running bad, and then running good. There would be stretches, months at a time, where I was taking a loss. Then there would be other stretches that made up for those losses. But they always reverted to the mean in the long run. When you are counting the number of hands played in 6 or 7 digits, you're definitely approaching the long run.

If I learned anything from my time studying and playing, it is that variance is a bitch.

In the short term, it may look like the world is against you, and none the cards fall your way, but in the long term, it will always, ALWAYS, average out. Some people think they are cursed, and some think they are extra lucky. They aren't, variance will get them in the end.

Luck is a residue of design.
That means that you can make your own "luck". In cards, it means knowing the odds for every play at all times, evaluating all the cards in play, and playing accordingly. In sports betting, it means looking at the odds and making informed, well educated moves against those odds. In the stock market, it means doing your research and positioning yourself to profit the best. Going for a job interview? Practice your interview skills and groom appropriately to increase your odds of getting the job. Crossing the street? Wait for traffic to clear, or be really quick. All of the techniques improve your chances success, and therefore appearing to be lucky.

Now, on topic, maybe the startup engine should be tweaked a bit to balance the starting scenarios a bit better, but that has nothing to do with any one persons luck. Got start 10,000 games (at least), and careful log each starting position you are given. Then have a "lucky" person do it. And then an "unlucky" one. With a big enough data set, which by the way not one player of this game has, you'll see that every player on average was given identical starting conditions.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next

All times are UTC


Who is online

Users browsing this forum: AhrefsBot and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group