The Ghost of Christmas Future, II

Announcements about major changes in Haven & Hearth.

Re: The Ghost of Christmas Future, II

Postby loftar » Wed Mar 11, 2015 2:01 am

txtrung0 wrote:What is your stand on path-finding? Can you give me some more insight of why didn't you put it in?

Well, for one thing, I don't really think one really wants a "pathfinder" for the character, because that might have quite unexpected results. I would find it fairly annoying to click on something only to find that it wasn't so immediately accessible as I thought it was and the server found that the most efficient way to it was via the deep end of a lake. I'm pretty sure that, rather than pathfinding, what one actually wants is some kind of "sliding", the problems of which are described here.

There's also the issue, of course, with pathfinding being a comparatively expensive algorithm, and as such it's probably not a great idea to put the triggering of into the hands of people who can just as well decide to spam it to lag the server.

ramones wrote:When I saw hourglass in first Hafen dev video i turned it off and decided I wont even give it a try.

In pretty much all instances, the hourglass in Hafen is far more lenient that it is in current Haven.

Granger wrote:don't make them block carts/wagons

Given the offset, this is quite simply not a problem, since they aren't in the way of carts/wagons.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 9045
Joined: Fri Apr 03, 2009 7:05 am

Re: The Ghost of Christmas Future, II

Postby Granger » Wed Mar 11, 2015 2:28 am

loftar wrote:There's also the issue, of course, with pathfinding being a comparatively expensive algorithm, and as such it's probably not a great idea to put the triggering of into the hands of people who can just as well decide to spam it to lag the server.

Put it in the client, able to toggle it with a key ?

ramones wrote:When I saw hourglass in first Hafen dev video i turned it off and decided I wont even give it a try.

In pretty much all instances, the hourglass in Hafen is far more lenient that it is in current Haven.

Good to hear.

Granger wrote:don't make them block carts/wagons

Given the offset, this is quite simply not a problem, since they aren't in the way of carts/wagons.

So for it to work we'll have to put up the milestones in zig-zag pattern (like now), or are we able to put them in a nice straight line?
⁎ Mon Mar 22, 2010 ✝ Thu Jan 23, 2020
User avatar
Granger
 
Posts: 9254
Joined: Mon Mar 22, 2010 2:00 pm

Re: The Ghost of Christmas Future, II

Postby loftar » Wed Mar 11, 2015 2:58 am

Granger wrote:Put it in the client, able to toggle it with a key ?

Well, apart from protocol issues, the client doesn't have access to all relevant information, like the actual bounding boxes of objects and the traversability of various tiles. And, well, more broadly speaking, the model is not generally fit for the client to try to be "intelligent".

Granger wrote:So for it to work we'll have to put up the milestones in zig-zag pattern (like now), or are we able to put them in a nice straight line?

It seems you don't quite understand. Let a screenshot demonstrate:
Image
The (downwards pointing) arrow shows the point the character will actually walk to.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 9045
Joined: Fri Apr 03, 2009 7:05 am

Re: The Ghost of Christmas Future, II

Postby Granger » Wed Mar 11, 2015 3:16 am

loftar wrote:
Granger wrote:Put it in the client, able to toggle it with a key ?

Well, apart from protocol issues, the client doesn't have access to all relevant information, like the actual bounding boxes of objects and the traversability of various tiles. And, well, more broadly speaking, the model is not generally fit for the client to try to be "intelligent".

Current clients manage that. Also they added the option to add waypoints to walk along.
Granted, they had to add some of the needed information since it wasn't there in the first place.

Why not give the client that info (since the server knows it and it would only need to give it once per object type to the client, so it wouldn't be that huge of an impact on bandwith) and let the server accept a (reasonably sized) list of waypoints for the character to walk along?
Computation intensive pathfinding could be done in the client then, with the server just cheaply popping the next coords from the given list.

Sure, some problems like running into moving objects (like other players, cattle, whatever) will remain... but in not so long time it'll be available in custom clients anyway (one way or another). So why not put in in there for all to have from the start?

Granger wrote:So for it to work we'll have to put up the milestones in zig-zag pattern (like now), or are we able to put them in a nice straight line?

It seems you don't quite understand. Let a screenshot demonstrate:
Image
The (downwards pointing) arrow shows the point the character will actually walk to.

A picture tells more than a thousand words.
Looks good to me, definitively an improvement over current situation.
⁎ Mon Mar 22, 2010 ✝ Thu Jan 23, 2020
User avatar
Granger
 
Posts: 9254
Joined: Mon Mar 22, 2010 2:00 pm

Re: The Ghost of Christmas Future, II

Postby loftar » Wed Mar 11, 2015 3:31 am

Granger wrote:Current clients manage that. Also they added the option to add waypoints to walk along.

Well, they don't actually. One thing they cannot manage, for instance, is construction sites, whose size they cannot really know.

Granger wrote:Why not give the client that info

Well, there are a number of reasons, but most importantly, the central model I've always worked via is that the client is dumb (the client is not supposed to "know" that the "clicks" it sends mean "walk"), and making it otherwise would break a deal of the general model and make it largely inconsistent. Making the change in a consistent way would be an extremely large change, and one that I wouldn't be particularly inclined on making even disregarding the economic aspects of the question. For one thing, making the client more intelligent and aware of game mechanics requires a fair deal of duplication of code between the client and server (just the fact that both the server and the client would both need an independent implementation of pathfinding is quite more than enough to make be cringe, and it wouldn't be the only example).
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 9045
Joined: Fri Apr 03, 2009 7:05 am

Re: The Ghost of Christmas Future, II

Postby Xcom » Wed Mar 11, 2015 3:47 am

Thing is though that private clients already have path finding abilitys. It wouldn't hurt to just get the ability to rally as to not have to systematically delay each click based on server client delays. That is all the client lacks to apply a path finder. Getting more info on hitboxes like the hitboxes of signs is also another very un-user friendly mechanic as well, even if path finding is done or not.

To be frank. Its not cringe worthy to have to use the client in a clever way as to avoid server side calculation. Its quite the opposite and a shame to pass up on using such a useful mechanic. I always thought avoiding path finding was done to avoid botting and such, never thought it was because of coding preference.
User avatar
Xcom
 
Posts: 1105
Joined: Wed Dec 14, 2011 1:43 pm

Re: The Ghost of Christmas Future, II

Postby loftar » Wed Mar 11, 2015 3:53 am

Xcom wrote:To be frank. Its not cringe worthy to have to use the client in a clever way as to avoid server side calculation.

To be frank, maintaining and extending a game of this magnitude is pretty much work as it is as a single programmer, and I'd like to avoid anything that increases the maintenance burden further. The worst thing that could happen is to have the project stall due to becoming unmaintainable.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 9045
Joined: Fri Apr 03, 2009 7:05 am

Re: The Ghost of Christmas Future, II

Postby Xcom » Wed Mar 11, 2015 4:28 am

Suppose if the public main client didn't have a path finder included it wouldn't make sense to have a rally to match. But was hoping the server could get the backbone of the mechanic coded for then have the client pathfinder get its update further down the line. I am sure a few in this community including me or ender would be able to aid in that gap till a proper public one would get included.

By the server side code I meant only to have a form of multi-click path be accepted. Also in some form send the client all the data to have the client not guess hitboxes of signs for example.

I suppose other more pressing matters needs payed attention to but a man can wish. :)
User avatar
Xcom
 
Posts: 1105
Joined: Wed Dec 14, 2011 1:43 pm

Re: The Ghost of Christmas Future, II

Postby loftar » Wed Mar 11, 2015 4:36 am

Well, waypoints are one thing. I have considered making it, in general, so that any one action can be queued to start immediately after the current one finishes, which should double as walking waypoints as well. It just hasn't been a huge priority, and I'm also unsure how to do it purely UI-wise.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 9045
Joined: Fri Apr 03, 2009 7:05 am

Re: The Ghost of Christmas Future, II

Postby Jackard » Wed Mar 11, 2015 5:49 am

usually it's something like "hold shift to queue movement or actions" (and not holding it overwrites the previous queue, or esc to cancel) but dunno if thats appropriate for this?
User avatar
Jackard
 
Posts: 8849
Joined: Sun Jul 12, 2009 6:07 am
Location: fucking curios how do they work

PreviousNext

Return to Announcements

Who is online

Users browsing this forum: Claude [Bot] and 1 guest