One Hour One Life Forums

a multiplayer game of parenting and civilization building

You are not logged in.

#1 2018-12-15 17:21:07

thundersen
Member
Registered: 2018-12-02
Posts: 92

Server population over time

So betame, CrazyEddie and me were discussing how players are distributed across servers and how that affects 'Nocturnal Infertility' in 2(?) other threads. First of all thanks to these two guys for all the interesting information they shared! Let's use this thread now instead of boring others with our technical gibberish.

I started to collect data from the reflector report over here: http://onehouronelife.com/reflector/ser … ion=report (thanks betame for the link).

So this is what I have so far:

05Oyser.png

Timestamps are in UTC (you can use this to convert to your local time). We can see the car update on Thursday and the busy Friday that followed.

Gaps in lines mean that a server was reported as OFFLINE in the reflector at that moment. I don't calculate the sum, if at least one server is missing.

Here's an online version of the graph that should be updated every five minutes for the next few days (well, if my thrown together data collection thingy at pythonanywhere.com continues working that is).

How is this related to player experience? Look at servers 3 and 4 for example. The rise of server 4 from about 22:00 on Dec 14 and its subsequent decline look bad to me. Server 3 could have absorbed all of these players, but they were sent to 4 only to let 4 starve when 3 reached its low of 20 players (yup, CrazyEddie, that's still true). I think this is due to the 50% rule that Jason added to the reflector about a month ago. All non-twins are sent to the next server in line, if a server reaches 50% capacity. This looks like an unintended side-effect from the 50% rule that causes quite a few unnecessary lineage wipes, but I could be wrong. What do you think?

PS: I've toyed with the idea of scraping the Family Trees to get data about ending lineages, but I don't have time for that...

Last edited by thundersen (2018-12-15 17:53:27)

Offline

#2 2018-12-15 20:12:21

CrazyEddie
Member
Registered: 2018-11-12
Posts: 676

Re: Server population over time

Yeah, there's an interesting and probably unintended "bounce" going on.

Servers are effectively capped at (I'm guessing) 60 players? Which is half of their max capacity of 120 players? Once they reach that soft cap the reflector sends half of their new connections to the next downstream server. ... which means their birthrate is halved, but since their population hasn't changed (yet) their death rate stays the same, so they have a big population drop.

The population of the two servers will then stabilize at roughly 30 each - half of the upstream server's population before the downstream server was added. BUT NOTICE! Thirty is very close to twenty! Even when things are basically holding steady, there's still quite a bit of variation, both in the overall game population and on any particular server. And because the upstream servers are kept close to their caps, any fluctuation in the total game population is entirely shifted onto the two downstream-most servers. And since they're both at roughly 30 soon after the split, it's very easy for Server X-1 to fluctuate down from thirty to twenty... which triggers the sterilization of Server X!

You can see this happen with Server 3 and 4 between Dec 14 22:00 and Dec 15 02:00, and again between Dec 15 04:00 and Dec 15 06:00. Server 3 is at sixty players, Server 4 spins up, both servers converge to approximately thirty players, Server 3 dips down to twenty players, and Server 4 is killed off.

A small tweak could reduce this kind of bouncing. Raise the soft cap and lower the kill trigger. If the server max is 120 players (which is dependent on the game's performance and the server's virtual hardware) then maybe set the soft cap to 75%, which would be 90 players, and which would mean the post-split population would be approximately 45 players on each of the two servers. At the same time, lower the kill trigger from 20 players to 10 players. That gives a "safety spread" of 35 players, which is probably enough to prevent a server from bouncing on and off due to minor fluctuations in total game population.

Heck, lower the kill trigger to zero! Keep sending new births to the two downstream-most servers until at least one of them (the upstream one) has no players at all! That will let most of the lineages on those two servers (and all of the servers, really) die out "naturally" due to an overall decline rather than being forcibly exterminated while they may still be viable even in the face of the decline.

Offline

#3 2018-12-15 20:13:26

CrazyEddie
Member
Registered: 2018-11-12
Posts: 676

Re: Server population over time

Oh, and lest I forget, that graph is awesome! Thanks for the data collection and processing, thundersen.

Offline

#4 2018-12-15 23:10:42

betame
Member
Registered: 2018-08-04
Posts: 202

Re: Server population over time

WOW! Neat stuff. Thanks for putting that together!

Irrelevant:
Server4 just popped back up, so I'm going to log onto it once server3 hits its minimum (10% I think).
(was just [~00:00 UTC Dec16] Johny http://lineage.onehouronelife.com/serve … id=2406576 on server 3 while the population dipped from ~40-23. I was in a large town with lots of women, so I can't say there were problems. The lineage data shows more than what I could see in a life.)
(missed the killing of server4. happened pretty quick <30min, just before 08:00 UTC Dec16)

Last edited by betame (2018-12-16 08:09:19)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#5 2018-12-16 02:39:38

betame
Member
Registered: 2018-08-04
Posts: 202

Re: Server population over time

The point of this post will be to show how server login routing affects the in-game experience. So I’m linking Logins to BirthRate.
As always, I could have missed something in this model.

Assumptions:
-Only automated server choices
-No delayed effects, e.g. QuitRatio is constant
Note: I’m calling fertile women ‘birthers’ because its shorter and sounds less medical.

On any given server,
PopChange = Logins - Logoffs (replaying folks are recycled) [eq. 1]
noting
Logoffs = ServerPop*QuitRatio (QuitRatio is a constant, related to the average playtime per person) [eq. 1a]

AvgBirthRate = PopChange / NumBirthers + ReplayingP / NumBirthers [eq. 2]
noting
ReplayingP = ServerPop / AvgLifespan [eq. 2a]
NumBirthers = ServerPop * %Birthers [eq. 2b]

Putting it together,

AvgBirthRate = PopChange / NumBirthers + 1 / (AvgLifespan * %Birthers) [eq. 2,2a,2b]
AvgBirthRate = (Logins - ServerPop*QuitRatio) / (ServerPop*%Birthers) + 1 / (AvgLifespan * %Birthers)

When the server pop isn’t changing,
Logins = Logoffs, (meaning PopChange = 0) [eq. 1b]
AvgBirthRate = 1/ (AvgLifespan * %Birthers) [eq. 1b,2,2a,2b]
= ReplacementFertility?, the ReplacementFertility is some constant (independent of ServerPop) related to player skill, similar to real life litter sizes. (In human terms each mother needs ~2.1 babies to become a grandmother, in OHOL it's more)
Rethinking whether it actually equals the AvgBirthRate of a constant-population server. Maybe it's lower and players on those servers are struggling, and eves are making up for lost lineages? Maybe those servers have it super easy? (probably the latter; see post below)

Fun gameplay is when we’re close to ReplacementFertility - just enough babies to keep our lineage going on average. If we’re skilled, our lineages tend to grow, and if we’re bad moms our lineages tend to fade.

IF we want all players to feel like they're in a constant-pop server, then PopChange needs to be very small
 compared to NumBirthers on a given server, but how?
We can't control Logins, but applying the Logins across the whole population would keep PopChange/NumBirthers small.
One way to change %Birthers is to increase the number of eves, as is protocol if all birthers are on cooldown.
QuitRatio is not likely to change.
I’m still mulling over in my head what the best approach(es) may be.



Right now, there are two ways population crashes occur:
1) When the active player count is falling, the last 2-3 servers are handling all of the player fluctuation while the other servers sit happily at constant population.
I’d rather have all servers bear the load equally, as was the case before the Nov10 reflector commit (sans when total active player count > 2* server max.)
Better yet, send Logins to each server proportionally to how many birthers are on the server. Every single woman will have a near equal opportunity for grandkids. Maybe one server will dominate because its tech is thriving and will reach the server cap. But the lone woman who finds the perfect spot on server 4 will have a chance to make a thriving town.

2) Servers rising cuts into the second-to-last server. And risks reversing the process soon after.
CrazyEddie’s suggestion would help, and is easy to implement.

Last edited by betame (2018-12-18 09:04:07)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#6 2018-12-16 15:38:50

thundersen
Member
Registered: 2018-12-02
Posts: 92

Re: Server population over time

...and of course the script crashed the minute I walked out of the door yesterday night. So the data now has a pretty big gap...

Glad to see you guys liked it though. I fixed the reason for that crash and started it again. As you can see there is no automatic restarts or anything, so it'll just stop again at some point, but I don't want to spend more time on it right now.

Jason must have had a reason to introduce the 50% cap, but it I agree that it seems too close to the 10% and seems to cause this bouncing phenomenon we have seen. I'm going to open a GitHub issue to ask him.

My hangover is not helping with understanding your equations, betame, but I'm doing my best... big_smile I like your idea to take available mothers into account before assigning player to servers. Seems intuitive and not too complicated. Servers would have to give the reflector more data to for its decision, but that shouldn't be too hard.

(By the way, the PHP code for the reflector server is here: https://github.com/jasonrohrer/OneLife/ … erver.php).

Offline

#7 2018-12-17 08:59:52

betame
Member
Registered: 2018-08-04
Posts: 202

Re: Server population over time

Really, the math doesn't reveal anything, it's just me wrapping my head around things.
Your graphs tell the story best.

The main problems visible; player's offspring experience varies greatly (and unnecessarily) depending on their server's situation.
But the solution also has to fit into Jason's goals/ vision.

I'm curious how eves might help balance things too, but I don't yet understand their spawn mechanic.


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#8 2018-12-17 15:21:58

CrazyEddie
Member
Registered: 2018-11-12
Posts: 676

Re: Server population over time

betame wrote:

I'm curious how eves might help balance things too, but I don't yet understand their spawn mechanic.

I haven't verified this in the code, but based on Jason's descriptions, I believe it works like this:

A player joins and is directed to a server (or connects to one manually). Once connected to a server, an eligible mother on that server is chosen at random and the player spawns as that mother's child. Eligible mothers are fertile females that aren't in birth cooldown and whose lineage the new player is not on lineage ban from. If there are no eligible mothers than the player spawns as an Eve and the spawn location is some combination of "spawning at an old Eve camp" and "spawning on the next spot on the spiral Eve spawn chain".

Each time a female gives birth they're put on a birth cooldown timer chosen randomly from 0 to 5 minutes. Children who /die don't trigger the cooldown (or, rather, they untrigger it when they /die, resetting it back to zero).

Living more than thirty minutes bans you from your current lineage for 90 minutes (clock time, not play time, I think). Murdering or being murdered does the same. Using /die does the same. Eves who die of old age are not lineage banned and so have a chance to respawn as their own descendant sooner than the 90 minute timer would otherwise allow.

If you're cursed then only mothers in Donkey Town are eligible. If you're not cursed then only mothers not in Donkey Town are eligible. If you are cursed and there are no eligible mothers in Donkey Town then you'll spawn as an Eve in Donkey Town.

--

If a server's player population count is holding steady, then Eves should be pretty rare. Say there's 100 players on a server. Half are women. Assume half of those women are of childbearing age. That's 25 fertile women on the server. Each can have one child every 2.5 minutes on average. That's ten children every minute. That's ten percent of the server population every minute, dying and being reborn. That implies an average lifespan of ten years. Lifespans can be pretty low, what with children starving, /die-ing, and being abandoned, but I think it's a safe bet that in most cases the average will be higher than ten years.

As long as that's the case, then the fertile population on a server should be large enough to give birth to all the players dying and being reborn on that server, which means no Eve spawns will be needed. Random fluctuation and lineage bans may cause an Eve spawn occasionally, plus people using /die in order to get banned from all lineages and deliberately spawn as an Eve.

If the death rate is lower and lifespans are longer, then mothers will have babies less often (and fewer of them during their life). If the death rate is higher and lifespans are shorter, then Eves will start spawning, and will continue to spawn until lifespans improve or there are enough Eves alive currently that the male/female ratio has skewed far enough to provide enough females to handle the death/rebirth load.

In the limit, consider the case where all mothers let all their children starve immediately when born. Deaths and rebirths will be happening much, much faster than the birth cooldown will allow, and Eves will be spawning in huge numbers. Eventually nearly everyone will be an Eve. There will be a small percentage of the population which keeps getting born as children, and then starving, and then being reborn to an Eve who just had her cooldown timer expire. Figure it takes thirty seconds to starve as an infant, and the average cooldown timer is 2.5 minutes, so there would be roughly one perma-baby for every five Eves.

---

All that is the case when a server population is stable (for example, if it's one of the servers being kept at its soft cap). If the population is growing (because the server just became active) then it's like adding additional births to the natural death/rebirth rate - once that total gets higher than one per 2.5 minutes per woman, then Eves start spawning and keep spawning until an equilibrium is reached.

And if the population is falling, then it takes an even higher death/rebirth rate (and accordingly shorter lifespan) in order to get any new Eve spawns.

... at least, I think that's how all this works. I could be mistaken. If I am, please point it out.

Offline

#9 2018-12-18 01:55:33

betame
Member
Registered: 2018-08-04
Posts: 202

Re: Server population over time

CrazyEddie wrote:

A player joins and is directed to a server (or connects to one manually). [reflector code]
Once connected to a server, an eligible mother on that server is chosen at random [weighted by their wamth, server.cpp 4400] and the player spawns as that mother's child. Eligible mothers are fertile females that aren't in birth cooldown and whose lineage the new player is not on lineage ban from. [4167]If there are no eligible mothers than the player spawns as an Eve [4288]and the spawn location is some combination of "spawning at an old Eve camp" and "spawning on the next spot on the spiral Eve spawn chain". [+Eve 'spawned next to random player' 4390]

Each time a female gives birth they're put on a birth cooldown timer chosen randomly from 0 to 5 minutes. [560]Children who /die don't trigger the cooldown (or, rather, they untrigger it when they /die, resetting it back to zero).[8027]

Living more than thirty minutes bans you from your current lineage for 90 minutes (clock time, not play time, I think) on a multiplier based on ServerPop]. Murdering or being murdered does the same. Using /die does the same. Eves who die of old age are not lineage banned and so have a chance to respawn as their own descendant sooner than the 90 minute timer would otherwise allow.

If you're cursed then only mothers in Donkey Town are eligible. If you're not cursed then only mothers not in Donkey Town are eligible. If you are cursed and there are no eligible mothers in Donkey Town then you'll spawn as an Eve in Donkey Town.

^Sounds right. Verified where I could.

---

As I understand you, AvgBirthRate is capped at ~1 per 2.5 min
if AvgBirthRate > 1 per 2.5 min,
eve spawns, increasing %Birthers until AvgBirthRate =< 1 per 2.5 min. (thats up to 10 babies in an average birthing window!)

Got me wondering if a constant pop server normally is capping their birthrate
Average lifespan was found to be ~15 for women (excluding eves) and ~10 for men (higher infant mortality, and other factors) from here
If I had to estimate %Birthers I'd say out of a pop of 100, 66 are female. 33 make it past 15, and 20 are Birthers. (close to your guess) (real age of death stats here)
So that makes AvgBirthRate on a constant pop server about 1/(12.5*0.2) = 0.4 per minute, which happens to be exactly the birth cool-down cap of 10 kids in a birthing window. But these are just estimates.


That 2.5 average birth cool down has a delicate job of limiting maximum birth rate, but also making sure to not excessively produce eves since they'll make infertile hours even worse. (also in the last link topic, total eve spawn rate was 10%)
As mentioned in the 'Having 0 daughters thread' recently, each person /dying to become an eve during infertile hours cuts into everyone's fertility a tiny bit.


but regardless, the server problems still stand, making some lives harder to grandma in.

Last edited by betame (2018-12-23 03:23:46)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#10 2018-12-18 02:27:02

CrazyEddie
Member
Registered: 2018-11-12
Posts: 676

Re: Server population over time

betame wrote:

^Sounds right. Verified where I could.

Excellent, thanks!

As I understand you, AvgBirthRate is capped at ~1 per 2.5 min
if AvgBirthRate > 1 per 2.5 min,
eve spawns, increasing %Birthers until AvgBirthRate =< 1 per 2.5 min.

That's a good restatement of what I meant, yes. I think it's right, but I could easily be missing something.

That 2.5 average birth cool down has a delicate job of limiting maximum birth rate, but also making sure to not excessively produce eves since they'll make infertile hours even worse.

Good point!

Offline

#11 2018-12-18 18:30:03

CrazyEddie
Member
Registered: 2018-11-12
Posts: 676

Re: Server population over time

btw, I just realized the answer to the minor mystery of why you so often see an Eve and her first child spawn simultaneously - i.e. the moment your screen goes from black to visible you see that you are Eve with a child already there, or a child with an Eve who hasn't moved from her starting tile.

Here's why that happens:

If global population is increasing, almost all the new connections will be sent to the two most-downstream servers. The upstream servers will be kept at their soft cap, and the last two servers will split their incoming connections 50/50 (using coin flips, not alternating). So if two players click "Get reborn" at nearly the same time, and if all the upstream servers are at their cap (i.e. nobody has died there in the last minute or so), then the two incoming players will be assigned to the same downstream server about half of the time.

So then what happens?

Sometimes, there are plenty of eligible mothers on that server, and the two players will be born as children into already-existing lineages (different ones, most likely). But often there will be no eligible mothers. When that happens, the first connecting player will be spawned as an Eve. AND, when the second player connects a few seconds later, there is still no eligible mother... except the newly-spawned Eve, because Eves spawn without a cooldown timer! They only get a cooldown timer after their first child is born! So the second player by necessity spawns as the new Eve's child.

Since it takes a few seconds from the time you connect to the server until the time your client has finished loading the map, by the time you see your surroundings the game has already allocated both the Eve and the child and so you see them both at the same time - as long as the two players clicked "Get reborn" within a few seconds of each other.

Mystery solved.

Offline

#12 2018-12-18 19:08:36

Gederian
Member
Registered: 2018-03-28
Posts: 164

Re: Server population over time

Fist off, great job getting this data and making sense of it. Here are the conclusions I have drawn:

- If you randomly end up on high level servers you will never see your tree grow past a few hours. Bad experience for new players.

- Birthing people to servers based at all on load is bad. All servers should be used at all times.

- Eves should be evenly distributed across all servers so each server has roughly the same number of bloodlines at a time.

- Factors to consider when spawning (by weight) to ensure fair distribution: Last Birth, Generation Number, Highest Tech

Civilizations never fail due to not procreating enough but in this game its what gets 99% of advanced civilizations.

Offline

#13 2018-12-18 22:25:26

thundersen
Member
Registered: 2018-12-02
Posts: 92

Re: Server population over time

Hey guys, here's a new link to a more recent version of my plot. Not exactly sure what happened, but somehow plotly is redirecting my uploads to this.

Gederian wrote:

- Eves should be evenly distributed across all servers so each server has roughly the same number of bloodlines at a time.

Interesting idea, but keep in mind that different servers are different worlds. Families would never meet each other. Also there are currently too many servers available (15) for that to work, at least during low points (70-ish players at 11 UTC today).

I think a more viable option for the current amount of players might be to scale vertically instead of horizontally, i.e. bigger and fewer servers. The current estimated maximum number of players is 120 (server1) + 14*160 = 2360. 4 bigger servers with a capacity of 500 should be more than enough, heck, server1 could have held everybody during the last few days. The main downside of course would be that an outage would affect more people, but I'm not sure that an outage of one of the lower servers would currently be much better. 60-80 players would get shifted to a higher server only to get shifted back when the other one comes back. Who knows what the bouncing effect we observed would produce in such a scenario.

I would love to hear Jason's take on this.

PS: Holy crap. How have I missed THIS. There is public life log data? BY SERVER? I hope I can find some time over the holidays to tinker with that.

Offline

#14 2018-12-19 00:54:32

thundersen
Member
Registered: 2018-12-02
Posts: 92

Re: Server population over time

I added a  suggestion on Reddit. Please feel free to comment or upvote, if you think that this deserves a fix.

Offline

#15 2018-12-19 03:52:35

CrazyEddie
Member
Registered: 2018-11-12
Posts: 676

Re: Server population over time

If there were a single server that were large enough to support all the players, there would still be nocturnal infertility and the same number of lineages would still die out every night.

The only difference from the current situation is that currently, if you are on a downstream server you are guaranteed to have your lineage die due to server sterilization and if you are on Server 1 you are (almost) guaranteed to not face any downward population pressure from falling birthrates. If everyone were on the same server, every lineage would face the same chance of dying out. That chance would be very high, and it would be guaranteed that a certain number of them will die, but every lineage would have a chance to compete against the others in a devil-take-the-hindmost race.

Offline

#16 2018-12-19 12:30:37

betame
Member
Registered: 2018-08-04
Posts: 202

Re: Server population over time

thundersen wrote:

I would love to hear Jason's take on this.

Me too! No matter how awesome and revealing your plots are (super cool, thanks again!), he's the one with the power.

I've no luck finding info surrounding the Nov 20 reflector commit. But the problem still existed in other forms before then.

This old July 2017 thread has a lot of statements about the issue back in the day. The only changes since then were to the server cap as lag was managed, and the Nov20 commit, afaik.
Here's my grabs:

jasonrohrer wrote:

[...]
But once the balanced populations get too low, we switch out of "spreading mode" and stop sending new players to the secondary server entirely, and it becomes a "Children of Men" scenario while the last generation of people live out their lives there.

This works similarly when the population is big enough for three servers.  We keep spreading them evenly until the spread population drops below the 20 threshold, and then suddenly stop spreading them.

Actually, the spread isn't even with three or more servers.  Because of the multiplying fractions, only 25% end up on the second and third servers.  With 5 servers, the fractions are:  50%, 25%,12.5%, 6.25%, and 6.25%

Of course, this means that in a really heavy population boom, the main server will still reach 95% faster than the rest, and so on down the line.

Maybe it's okay... but the algorithm can be improved to make it more even, someday.

[...]

I do want the majority of players to have a "full server" experience, and have the "desolate server" be a more rare experience.

In your last case, where the population falls to 513, we have 72% of the player population on very full servers, 14% on an almost-half-full server, and 12% of players on desolate servers.

An even spread across all 7 servers would put 100% of players on an almost-half-full server.  But trying to maintain an even spread no matter what would mean that sometimes the entire population of players experiences more and more desolation.  In the case of a dip in population, we really want to consolidate somehow and bring the remaining people together onto the same server.
[...]
Can you run your sim with various parameter settings and take some measurements?

Like, number of lone eves?  Number of times a server gets cut off from new babies and dies off completely?

Currently, the reflector is using 50% and 10%.  Maybe other settings are better.

Also, if we count the number of servers that are currently being spread to, we can spread with different splits along the way (instead of 50/50 at each step).  Like with 7 servers, the first server should send 6/7 to the next server, and that server should send 5/6 to the next server and so on.... I that should put 1/7 on each.

Yes, the front server starts with a higher pop, so during a boom, it will keep a higher pop, but only for an hour max, until those people die.  After that, each server will have 1/7 of the population.

We could still keep the stopSpreadingFraction, and once the 1/7 amount dips below a threshold, we start letting extra servers die off and focus new players onto the remaining servers.

But I'm not sure if that's better....  maybe there's something good about keeping the top servers more full.

We can either give most players the better experience, at the expense of some players having a less good experience, or give everyone the same mediocre experience.

[...]

Well, the problem with 0% as the lower threshold is that the population will remain spread, forever, no matter what, after it starts spreading.  So if it dies down to only 5 players, there will be one on each of 5 servers.  At that point, they should obviously be together on one server.

I'm trying to make a system that doesn't require any manual babysitting.

Last edited by betame (2018-12-19 12:36:34)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#17 2018-12-19 15:31:24

CrazyEddie
Member
Registered: 2018-11-12
Posts: 676

Re: Server population over time

Some of what he wrote there is predicated upon old presumptions, such as "all the players on a server are going to be crammed together into a small area" and "there will be lots of towns close to each other". In that case, having more players on a server is good, because it gives you more people to interact with.

Those were the days of towns that lasted forever, constantly repopulated with multiple Eves spawning nearby.

Nowadays, with the spiral spawn location chain, lineages are mostly isolated from each other. The number of players on your server is irrelevant. What matters is the number of players in your lineage, because that's who you will interact with, and the number of new connections being directed to your server, because that determines whether your lineage will be growing or shrinking.

Offline

#18 2018-12-20 12:41:20

Sylverone
Member
Registered: 2018-12-16
Posts: 63

Re: Server population over time

Very cool data. Just making a post to keep an eye on this.

Offline

#19 2018-12-24 12:55:01

betame
Member
Registered: 2018-08-04
Posts: 202

Re: Server population over time

thundersen wrote:

Hey guys, here's a new link to a more recent version of my plot. Not exactly sure what happened, but somehow plotly is redirecting my uploads to this.

It sounds like thundersen's been pouring over more detailed life-log data, but based on just these graphs I'm seeing predictable population surges.

During the largest peak, 3 servers of ~100 could hold everyone
During the lowest trough, 3 servers would drop to only ~20.

Unless the %fluctuation in active playerbase grows, there should always be some ideal number of servers for any future state of the game's popularity, without needing to start/stop servers so frequently. Basically what CrazyEddie had said previously.

Me throwing numbers around:
A server splitting to grow a new server is just as severe as shutting a server down.
In both cases, ~30 people leave the server in ~30 minutes
Which translates (see above eq.) to -1 births per minute/ 80players*0.2partsBirthers = - 0.06 births per minute, granted this only lasts for 30 minutes.
a 15% drop in fertility when a server starts splitting
and 60% drop in fertility when the server is being shut down.
hmm... I mean these are just estimates.

Last edited by betame (2019-01-04 02:37:09)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#20 2018-12-24 15:02:13

EggInASac
Member
Registered: 2018-12-13
Posts: 1

Re: Server population over time

Interesting read, appreciate the effort.

Offline

#21 2018-12-25 22:46:38

betame
Member
Registered: 2018-08-04
Posts: 202

Re: Server population over time

Compared to the major issue here of servers bouncing on/off, I'm not certain nocturnal infertility is a huge killer when I put numbers on it (but it can still be improved by de-concentrating the load)

Assuming as above, populations have ~20% Birthers. And pulling numbers from thundersen's graphs, population crashing window from 00:00 to 12:00 UTC is approximately 12 persons per hour.

AvgBirthRate = (-0.2 persons per minute)/(Pop*0.2partsBirther) + 0.4 births per minute (the constant-pop birth rate, from above calc)
The smallest %change in overall birth rate is when the population has just started dropping, the last two servers at ~60 share the burden.
0.2 / (120*0.2) = 0.0083 less births per minute
a 2.1% change
Likewise
The largest %change in birth rate is just before server1 starts sharing the load,
4.2% fewer births
Then when Server1 starts sharing the load, its back to
2.1% fewer births

Sharing the loads between servers equally would cut these numbers in half, and the game's difficulty wouldn't depend on which server we get assigned to.

Last edited by betame (2018-12-26 01:53:02)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#22 2018-12-29 23:34:23

betame
Member
Registered: 2018-08-04
Posts: 202

Re: Server population over time

Looking at another cause of infertility; /die-ing to become an eve.

I wish I had data on the average ratio of birthers. It's the biggest unknown in the equation.
On server 1, out of a population of 60, a liberal 25% birthers would mean there're 15 mothers.

Everyone's birth rate drops by 6.25% each time a person /dies to become an eve.
[1/15 - 1/16] / (1/15) = 0.06250

By my current estimates, adding an eve to a full server is worse than facing nocturnal infertility on a sub-server.

Eves should only be made when all possible mothers are on birth cool down. -To keep the lineage ban alive, /die-eves should be an infertile variant.
(but still, the biggest problem is servers bouncing on/off)

Last edited by betame (2018-12-31 08:15:04)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#23 2018-12-30 00:07:12

thundersen
Member
Registered: 2018-12-02
Posts: 92

Re: Server population over time

betame wrote:

I wish I had data on the average ratio of birthers.

I'm currently wrestling with the life logs. Working on another plot right now, but I think I can give you that data pretty soon. smile

Offline

#24 2018-12-30 00:28:44

betame
Member
Registered: 2018-08-04
Posts: 202

Re: Server population over time

Bless.
I'd struggle to put that data together myself. Full of anticipation for your next insightful plot.


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#25 2018-12-30 01:12:40

thundersen
Member
Registered: 2018-12-02
Posts: 92

Re: Server population over time

Thanks! Would it help you, if I put the data in a CSV, which you could import into Excel or whatever tool you like?

Last edited by thundersen (2018-12-30 01:13:22)

Offline

Board footer

Powered by FluxBB