[Gameplay] Racing: Pinpoint Accuracy and Conservation |
0 | ||
I don't mean the minigame. I don't know how Transformice is coded, but I have an idea. Recording the time it takes for a mouse to complete a map with Lua using nothing but os.time(), I got the EXACT same time as displayed by the game (with an extra decimal place to boot!) - this tells me the server records times. Why? And why might you notice that sometimes you get cheese a little late, or go in the hole a little late? Because, from what I can see, when you do these things, you tell the server "hey, I got cheese," wait for a response, then get it. Why? Because it tells everyone you got cheese! Send that packet to one less socket and leave it to the client. Instead of waiting for the server to tell you that you have cheese or completed the map like any normal mouse, do it yourself. Tell the client they got cheese when they got it, and tell the server to relay that data to all players EXCEPT the sender. While we're at it, let's let the player tell you how long it took. A hacker's going to hack whether it's this way or another. Why not allow the client to tell the server what their time was so that ping isn't even an issue? The client has full control over how fast they go, and can therefor give you how long it took EXACTLY for them to complete the map. "Firsts" can be distributed at the end of the map to compensate for the mixed results this may rarely create, however it will surely satisfy the competitive community. If you don't know what I mean: These are very simple methods of recording PINGLESS TIMES and eliminating cheese and "hole lag." Yeah, it's a real thing. |
![]() ![]() « Citoyen » 1375697520000
| 0 | ||
The client already tells the server that the player enters the hole. The client keeping time and reporting to the server is a good idea for accuracy. However, it it could cause lagging players who seemingly finish later to end with a lower time than the other players. |
0 | ||
Makinit a dit : Yeah, it tells the server. It doesn't, however, go in the hole itself: the problem. Instead of going in the hole when you go in the hole, you tell the server, then wait for a response (that info being relayed to everyone including yourself) before you go in. Same for cheese, and that's what cheese lag is. Also if you lag, I don't think that's a good reason for you to get a bad time... this is, after all, devised to prevent ping-based timing. |
![]() ![]() « Citoyen » 1375698120000
| 0 | ||
Concerning the first part of your suggestion: that will only give a visually quicker feedback, but the finish time will still be the moment the notification of entering the hole reaches the server. The client won't know the time until the server responds. |
0 | ||
It is when the time reaches the server, however that isn't necessarily instantaneous and not prone to lag. Your time is increased every moment the transfer takes, which varies. You can see the results of these "ping races" in insta-cheese maps: sometimes you may have someone off by a whole half-second, which is pretty big! One such person is my friend Kenjit who suffers from connection I think many in Aus have which puts a great delay on his good times. He beat me a few times (in real racing maps) and got 2nd to me, actually. |
0 | ||
No, because: 1) The server would have to wait until the end of the map before it could rank the players 2) Players who were always "behind" me, finish before me - not a good user experience 3) Hacking is even harder to detect This suggestion only help people that have a bad connection while makes it way worse for the ones with a good connection. |
0 | ||
Moepl a dit : But waiting for a map to end prevents round abuse : ) I think the user experience is worsened by seeing yourself finish first but not getting it as-is, and if anything this might help with that. And hackers can just minimally modify their speed as-is. The same strategies for catching these would apply. I don't think a hack to minimally modify time would make a difference or even be made given speed is so much easier. |
0 | ||
Fxie a dit : Haha, there are easier ways to prevent that without making other things worse. Fxie a dit : Only those with a bad connection have that. Your suggestion only helps those and make it worse for others. Fxie a dit : A cheater would simply play the map normally but gives himself a better time. There is no way a moderator could reliable detect that. |
0 | ||
Moepl a dit : I don't see anything made worse but preventing instant stats >.> Also, many people have bad connections, and the majority have "average" connections, with things like random lag spikes and other common annoyances. I think most people would be helped by this, especially in a hardcore competitive sense where the time matters : ) (racing and bootcamp) A moderator could see an unrealistic time, even if it's small, judging by everyone else's time on a ping map. Besides, the best a hacker could do is emulate better connection in the present state of the game with a change too small >.> That and how much I doubt these typical hackers would manage to factor in the first person's time, modify it, then send their time... the little cheats these people use are not anything like that - that'd require writing your own code into the game. Can't see that happening when people can just toggle a constant like speed, and when most of them just copy-paste it already done by someone else. Also, you make it sound as if that's the entire suggestion - what are your thoughts on the first half? C'mon, you agree Matty. |