Floating-point test server

Announcements about major changes in Haven & Hearth.

Re: Floating-point test server

Postby SiO2 » Sun Jul 17, 2016 1:13 am

shubla wrote:Im hyped because romovs said that he will improve pathfinder when floats are in. Currently pathfinder in amber is a bit buggy and gets stuck in things and so on.

atm pathfinder miss simpler futures like shift+LMB travel over the long distances. Which do not really need a f.p. coords.
Bronies for life /)
User avatar
SiO2
 
Posts: 223
Joined: Sun Feb 17, 2013 10:46 pm

Re: Floating-point test server

Postby shubla » Mon Jul 18, 2016 6:52 pm

SiO2 wrote:
shubla wrote:Im hyped because romovs said that he will improve pathfinder when floats are in. Currently pathfinder in amber is a bit buggy and gets stuck in things and so on.

atm pathfinder miss simpler futures like shift+LMB travel over the long distances. Which do not really need a f.p. coords.

They necessarily dont need floating coords. But romovs said that he wont "fix" these things before they come.
Image
I'm not sure that I have a strong argument against sketch colors - Jorb, November 2019
http://i.imgur.com/CRrirds.png?1
Join the moderated unofficial discord for the game! https://discord.gg/2TAbGj2
Purus Pasta, The Best Client
User avatar
shubla
 
Posts: 13041
Joined: Sun Nov 03, 2013 11:26 am
Location: Finland

Re: Floating-point test server

Postby romovs » Mon Jul 18, 2016 7:37 pm

Just to clarify, the main issue with the pathfinder as far as I see it is that object hitboxes have "uneven" rotation. With the current integer based coordinate system they rotate around "pixel" center, that is for example if you take player's hitbox which is perfect square its rotation can be offset by one unit depending on the direction player is facing. This makes making a proper pathfinder rather difficult (not event mentioning that we don't know how object collisions are implemented server side. Like for example, why on earth character's speed affects how close he can get to the object...?) Yeah I know there're ways around it, but it's rather cumbersome.
I don't know whether floating point coords will solve this. Haven't checked it yet, but it's definitely a move in the right direction. I was hopping more about the "slide around objects" feature which should theoretically make everything much more easier.
User avatar
romovs
 
Posts: 1472
Joined: Sun Sep 29, 2013 9:26 am
Location: The Tabouret

Re: Floating-point test server

Postby APXEOLOG » Mon Jul 18, 2016 9:57 pm

romovs wrote:Like for example, why on earth character's speed affects how close he can get to the object...?)

This is because of the movement system. In Haven speed defines the length of the "step" that character does per one tick. So the movement system calculates the next point based on the step length and then collision system checks if this point can be reached. If player cannot reach the point the movement is not occures. So as you can see, less length of the "step" (less speed) leads to the more accurate movement because the next points calculated more often. This is also the reason why 1st and 4th speed matters for some actions (for example is was possible to run through the wall without corner at 4th speed in legacy, or you must use 1st speed for line-mining in legacy).
I don't know if it remains the same right now, or loftar fixed anything, but actually i think i'd rather make the "step" a fixed parameter and perform number of collision checks during each tick. This way we will have accurate movement with any speed, but maybe more expensive in terms of collision-detection
W10 Meme Plot | W9 Mantis Garden | W8 Core | W7 Ofir | W6 the City of Dis | W5 Vitterstad | W4 A.D. | W3 Mirniy
jorb wrote:All your characters will be deleted, and I will level every village any one of them were ever members of.
User avatar
APXEOLOG
 
Posts: 1296
Joined: Fri Apr 23, 2010 7:58 am
Location: Somewhere on Earth

Re: Floating-point test server

Postby Pickard » Tue Jul 19, 2016 1:26 pm

APXEOLOG wrote:
romovs wrote:Like for example, why on earth character's speed affects how close he can get to the object...?)

This is because of the movement system. In Haven speed defines the length of the "step" that character does per one tick. So the movement system calculates the next point based on the step length and then collision system checks if this point can be reached. If player cannot reach the point the movement is not occures. So as you can see, less length of the "step" (less speed) leads to the more accurate movement because the next points calculated more often. This is also the reason why 1st and 4th speed matters for some actions (for example is was possible to run through the wall without corner at 4th speed in legacy, or you must use 1st speed for line-mining in legacy).
I don't know if it remains the same right now, or loftar fixed anything, but actually i think i'd rather make the "step" a fixed parameter and perform number of collision checks during each tick. This way we will have accurate movement with any speed, but maybe more expensive in terms of collision-detection

Just bad code, could be fixed in minutes without any side effects - when next step blocked, find last open cell and move there.
w16 nope! w15 Trust me bro(Arcanum) w14 Arcanum w13 Arcanum w12 Action w11 Willowroot w10 Dis w9 Hive w8 Core w7 H.A.W.X/Progress w6 Dis/Disneyland w5 Peace/Late Project w4 Hermit
Pickard
 
Posts: 461
Joined: Wed Jul 27, 2011 8:23 pm

Re: Floating-point test server

Postby APXEOLOG » Tue Jul 19, 2016 1:41 pm

Pickard wrote:Just bad code, could be fixed in minutes without any side effects - when next step blocked, find last open cell and move there.

How do you find it without translating the point along the vector with some small steps? I don't know any algorithm for this...
W10 Meme Plot | W9 Mantis Garden | W8 Core | W7 Ofir | W6 the City of Dis | W5 Vitterstad | W4 A.D. | W3 Mirniy
jorb wrote:All your characters will be deleted, and I will level every village any one of them were ever members of.
User avatar
APXEOLOG
 
Posts: 1296
Joined: Fri Apr 23, 2010 7:58 am
Location: Somewhere on Earth

Re: Floating-point test server

Postby Pickard » Tue Jul 19, 2016 2:25 pm

APXEOLOG wrote:
Pickard wrote:Just bad code, could be fixed in minutes without any side effects - when next step blocked, find last open cell and move there.

How do you find it without translating the point along the vector with some small steps? I don't know any algorithm for this...

https://en.wikipedia.org/wiki/Bresenham ... _algorithm

Image
w16 nope! w15 Trust me bro(Arcanum) w14 Arcanum w13 Arcanum w12 Action w11 Willowroot w10 Dis w9 Hive w8 Core w7 H.A.W.X/Progress w6 Dis/Disneyland w5 Peace/Late Project w4 Hermit
Pickard
 
Posts: 461
Joined: Wed Jul 27, 2011 8:23 pm

Re: Floating-point test server

Postby APXEOLOG » Tue Jul 19, 2016 2:38 pm

Pickard wrote:
APXEOLOG wrote:
Pickard wrote:Just bad code, could be fixed in minutes without any side effects - when next step blocked, find last open cell and move there.

How do you find it without translating the point along the vector with some small steps? I don't know any algorithm for this...

https://en.wikipedia.org/wiki/Bresenham ... _algorithm

Yeah, this is how you will find the point, but how you will find the collision-free point? The only way is to make collision checks for each point of the path until you got the nice one. This is literaly the method i've described above :)
W10 Meme Plot | W9 Mantis Garden | W8 Core | W7 Ofir | W6 the City of Dis | W5 Vitterstad | W4 A.D. | W3 Mirniy
jorb wrote:All your characters will be deleted, and I will level every village any one of them were ever members of.
User avatar
APXEOLOG
 
Posts: 1296
Joined: Fri Apr 23, 2010 7:58 am
Location: Somewhere on Earth

Re: Floating-point test server

Postby Pickard » Tue Jul 19, 2016 4:06 pm

APXEOLOG wrote:Yeah, this is how you will find the point, but how you will find the collision-free point? The only way is to make collision checks for each point of the path until you got the nice one. This is literaly the method i've described above :)

Its only checking additional 3-5 cells when you hit obstacle. Very cheap.
w16 nope! w15 Trust me bro(Arcanum) w14 Arcanum w13 Arcanum w12 Action w11 Willowroot w10 Dis w9 Hive w8 Core w7 H.A.W.X/Progress w6 Dis/Disneyland w5 Peace/Late Project w4 Hermit
Pickard
 
Posts: 461
Joined: Wed Jul 27, 2011 8:23 pm

Re: Floating-point test server

Postby APXEOLOG » Tue Jul 19, 2016 5:47 pm

Pickard wrote:
APXEOLOG wrote:Yeah, this is how you will find the point, but how you will find the collision-free point? The only way is to make collision checks for each point of the path until you got the nice one. This is literaly the method i've described above :)

Its only checking additional 3-5 cells when you hit obstacle. Very cheap.

Yes, but this is a question to loftar why didn't he still implement this
W10 Meme Plot | W9 Mantis Garden | W8 Core | W7 Ofir | W6 the City of Dis | W5 Vitterstad | W4 A.D. | W3 Mirniy
jorb wrote:All your characters will be deleted, and I will level every village any one of them were ever members of.
User avatar
APXEOLOG
 
Posts: 1296
Joined: Fri Apr 23, 2010 7:58 am
Location: Somewhere on Earth

PreviousNext

Return to Announcements

Who is online

Users browsing this forum: Claude [Bot], Python-Requests [Bot] and 4 guests