Please, Fix Labyrinth Timer

"
Aggnog wrote:
"
Rhys wrote:
I understand your frustration and sympathize, but the problem is that such a fix is not easy, not fast, and not cheap.

Behind the scenes, there is no timer. Just a couple of time-stamps. We already went with the "easy, fast, cheap" solution. Making it track in-game time across multiple servers is much harder. It would be nice, yes, but unfortunately it's actually quite a lot of work. Sorry.



If you aren't going to add a complete and fair feature then don't do it at all, especially if its going to be a month late to begin with. Labyrinth is already a failure at least after the first run and this doesn't make it any better.


This issue made this game a pay2win one. You pay for better equipment and connection, you win the prizes.
The time stamps need to be saved in a database, in its own field. Each one needs its own field, so that you don't overwrite. Column 1 is the player, column 2 is the start, column 3 is the finish time.

Following so far?

Ok so you start the race when the first grace buff wears off. Column 2 has a time now. What happens the first time you zone? Another grace buff. Shit, you don't have another start field, so you are hosed. You'd need as many columns as players zone, which could be infinite if they keep zoning back and forth.

My solution? 4 Column database. 1 column for the playerID, 2 column for zone start, 3 column for zone end, column 4 for cumulative time. Column 4 starts at 0.

On each zone, record the time grace buff expires. On each 'zone exit' event, log the time in column 3. Take the difference between column 2 and column 3, then sum that with column 4. Clear column 2 and column 3, then load the next zone, start over and keep going until the player dies, leaves the lab (or disconnects), or kills Izaro.

If Izaro was killed, move the playerID and the total in column 4 to your race tracking DB and clear the rest out so the player can run again.

Column 1 is a playerID, Column 2 is a time field, Column 3 is a time field, Column 4 is ansigned 4 byte float.
Apparently I wasn't clear enough.

It isn't trivial. It cannot be done in just a new minutes. It isn't a super long and complicated process either, we just have a lot other stuff on our plate right now.

Please be patient. Thank you.
Code warrior
Last edited by Rhys on Apr 19, 2016, 10:51:36 AM
Please remove the lab from the game , ty .
R.I.P 4.B.
I have around 1k ish PC build with a crappy 20mb down / 2mb up internet and my loading screens are horrible including SSD samsung evo 850, avarage time to load is 5-9 seconds in Lab and 4-8 seconds in towns

I think it matters with internet speed aswell, my friend tested with his 90mb down / 9mb up loading zones on a PC that you don't want to play PoE on. im talking about 2gb ram, vid card 6 years ago, the whole pc build is maybe like below 250 euro's?

his town/zones/lab loading screens were 2-3 times faster than mine, i could be wrong on this..

FeelsBadMan
what up cuzz
Last edited by feelgewd on Apr 19, 2016, 11:04:57 AM
"
Rhys wrote:
Please be patient. Thank you.


I don't want to read too much into this, but it sounds like a fix is at least in the pipeline for the future. Sounds good to me.

Thanks, Rhys!
"easy fast cheap"

well maybe you should do it then, right?
Creator
the temporary fix is pretty simple:
remove the prize until the timer is fair for all

people arent fighting over the board top spot, they are fighting over the prize
Next supporter pack will include an SSD :)
While I cant ever approve timestamps as a makeshift timer (and cannot really accept the 'we didn't think it'd be a big deal' argument), some of the ideas in this thread are so bad they're not even 'junior programmer' bad. They're a 'not a programmer' bad.

Take log and grep through it. Wait What?
I/O is expensive as fuck and you want to grep through what's likely terabytes of server log? You're literally gimping yourself by going from memory (fastest possible aside from registers) operations to I/O operations, traversing a log you write from the same process anyway.

Same with the DB suggestion. There is zero point in storing in DB if you can store in memory. Database calls are expensive as shit. If you have to store something, you do it (preferably in a batch) after all calculations are done in memory. That dB solution has at very least like 6 updates, each of which is a million times if not more expensive than a memory call to do calculations on a in-memory structure. Even if there are 100k players running the lab simultaneously, your memory overhead should not be more than 10-20MB
And there's no need to store anything in case server crashes, because if server crashes your lab is fucked anyway

Report Forum Post

Report Account:

Report Type

Additional Info