Ingame Movement: Choppy Edition

A place to record your ideas for the game.
Post Reply
User avatar
Steelpoint
Github User
Joined: Thu Apr 17, 2014 6:37 pm
Byond Username: Steelpoint
Github Username: Steelpoint
Location: The Armoury

Ingame Movement: Choppy Edition

Post by Steelpoint » #74724

Maybe its just me but I've felt that any form of in game movement has been seemingly getting more choppy and sluggish for some time, far more so than usual. No matter if there's only one person, one hundred or even on a offline server. This would not be a problem if not for that I've played on several other servers that seem to have eliminated, or at least reduced, the effect. One good example is hippiestation where movement is extremely smooth.

Perhaps there's a solution? Or maybe its contrived and I'll be told why hippie is doing something wrong. But I will say that smooth movement feels like heaven.
Image
Jalleo
Joined: Tue Apr 15, 2014 1:27 pm
Byond Username: Jalleo

Re: Ingame Movement: Choppy Edition

Post by Jalleo » #74919

This should be a issue report. This is not a idea but a potential issue...
User avatar
Remie Richards
Joined: Thu Apr 17, 2014 7:11 pm
Byond Username: CrimsonVision
Location: England, UK, Earth, Sol, Milky Way, Local Group, Virgo Supercluster, Known Universe
Contact:

Re: Ingame Movement: Choppy Edition

Post by Remie Richards » #74922

Correct me if I'm wrong but Hippie may have went the way of Goon, having a different ticklag, something definable in the config that defines the FPS that the game runs at, it defaults to 0.9 and the FPS is calculated as 10/ticklag (so 11.11111FPS) where as other servers which might be using the 0.5 suggestion in the config, would be running at 10/0.5 = 20FPS.

You have to bare in mind though that a lot of SS13 was built around the original 11fps which leads to difficult controls (Ala moving forward one turf in goon is likely to throw you about 2-3 turfs instead since there's more frames for your input to be registered)

R_DEBUG Admins can actually change the FPS live on the servers with the set FPS verb (which actually DOES set FPS, not ticklag in this case, it used to be set_ticklag but carn replaced it cos she's weird.)
私は完璧
User avatar
Steelpoint
Github User
Joined: Thu Apr 17, 2014 6:37 pm
Byond Username: Steelpoint
Github Username: Steelpoint
Location: The Armoury

Re: Ingame Movement: Choppy Edition

Post by Steelpoint » #74924

Playing around with the FPS was interesting, I found around 16-18 FPS felt and seemed good. Anything above 19 to 20 however seemed to go too fast.

E: Then again around 20ish FPS also seems to work right.
Image
Miauw
Joined: Sat Apr 19, 2014 11:23 am
Byond Username: Miauw62

Re: Ingame Movement: Choppy Edition

Post by Miauw » #74965

I think setting FPS also sets ticklag.
<wb> For one, the spaghetti is killing me. It's everywhere in food code, and makes it harder to clean those up.
<Tobba> I stared into BYOND and it farted
User avatar
MisterPerson
Board Moderator
Joined: Tue Apr 15, 2014 4:26 pm
Byond Username: MisterPerson

Re: Ingame Movement: Choppy Edition

Post by MisterPerson » #74972

People complain that higher fps results in "imprecise" controls right now. I can see why that's the case and agree that it's not good. Higher FPS was the entire goal of that keyboard stuff I was doing. I'll come back to it eventually. We'll have to be careful to ensure that an average tick takes less than tick_lag to complete. Right now it's not even close on Sybil even at highpop unless the singulo is running around.

fps and tick_lag are tied together. Here's a snippet I use in my test project: Setting one sets the other, and both are rounded somewhat.

Code: Select all

/mob/verb/set_world_fps_or_tick_lag()
	set name = "Set fps or tick_lag"
	set category = "Debug"

	switch(input(src, "What do you want to set") as null|anything in list("fps","tick_lag"))
		if("fps")
			var/input = input(src, "Current is [world.fps] with tick_lag [world.tick_lag].", "What fps do you want?") as null|num
			if(input != null)
				world.fps = input
		if("tick_lag")
			var/input = input(src, "Current is [world.tick_lag] with fps [world.fps].", "What tick_lag do you want?") as null|num
			if(input != null)
				world.tick_lag = input
		if(null)
			return
	world << "New FPS: [world.fps] tick_lag: [world.tick_lag]"

I code for the code project and moderate the code sections of the forums.

Feedback is dumb and it doesn't matter
WJohnston
Joined: Wed Apr 30, 2014 3:16 am
Byond Username: WJohnston

Re: Ingame Movement: Choppy Edition

Post by WJohnston » #75009

Imprecise movement only happens when you make the game too fast. I think sawu discovered a middle ground where the game feels smooth but the movement doesn't skip and extra tile. This is also much less of an issue now that we have a lot more control over stuff like space movement no longer RNG slipping us.
Apparently I was an director or something.
Post Reply

Who is online

Users browsing this forum: No registered users