IRC logs for #openttd on OFTC at 2024-09-26
⏴ go to previous day
00:06:09 *** akimoto has joined #openttd
02:19:59 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
02:20:05 *** Extrems has quit IRC (Ping timeout: 480 seconds)
02:22:55 *** Extrems has joined #openttd
02:27:48 *** Wormnest has quit IRC (Quit: Leaving)
02:31:49 *** debdog has quit IRC (Ping timeout: 480 seconds)
02:37:12 *** Extrems` has joined #openttd
02:39:05 *** Extrems has quit IRC (Ping timeout: 480 seconds)
02:39:05 *** Extrems` is now known as Extrems
04:46:05 <DorpsGek> - Update: Translations from eints (by translators)
05:28:53 *** keikoz has quit IRC (Ping timeout: 480 seconds)
05:30:32 *** D-HUND is now known as debdog
07:06:45 *** akimoto has quit IRC (Ping timeout: 480 seconds)
07:46:48 <kuhnovic> peter1138: The author seems to be quite aware of how ridiculous it is, judging from the FAQ
07:48:33 <LordAro> libdisasm seems unhappy
07:48:39 <LordAro> or possibly sourceforge
07:52:22 <kuhnovic> peter1138: #12964 looks good to me, apart from the fact that CI fails of course
07:52:39 <ahyangyi> peter1138: Winamp? 😮
07:53:31 <LordAro> why on earth does the Windows CI install pandoc?
07:53:58 <LordAro> quite a lot of rust too
07:54:55 <LordAro> the cache for which appears to be broken
07:55:02 <ahyangyi> `a free, copyleft license` but you can't fork it, lol
07:55:17 <ahyangyi> The only liberal part is how they used these word liberally.
08:02:02 <LordAro> (that was me retrying it, obvs)
08:31:34 <peter1138> Someone fill the whole page with a needlessly long copy & paste.
08:42:58 *** johnfranklin_ has joined #openttd
08:44:49 *** mindlesstux has joined #openttd
08:48:36 *** johnfranklin__ has joined #openttd
08:52:48 *** johnfranklin__ has quit IRC ()
09:14:10 *** aperezdc has quit IRC (Remote host closed the connection)
09:14:23 *** aperezdc has joined #openttd
09:18:58 *** aperezdc has quit IRC (Remote host closed the connection)
09:19:10 *** aperezdc has joined #openttd
09:59:13 <xarick> i forgot how to apply a diff
10:00:35 <xarick> maybe the diff is severely outdated
10:02:22 <LordAro> what does the diff look like?
10:02:36 <LordAro> though if it was a svn-style diff i'd expect it to error much more violently
10:12:03 <LordAro> seems fine, just conflicts i guess
10:39:05 <xarick> yay, this is much more clearer
10:39:58 <xarick> now i understand why the costs fail
10:40:19 <xarick> max_penalty is 2000, moving from an area to another costs 1600
10:41:04 <xarick> the area the ship is about to enter means that the new cost would become 3200
10:41:22 <xarick> 3200 > 2000, therefore, no path found by the hlpf 😦
10:42:12 <xarick> ship found a path initially, then it didn't, the penalty's at fault 😦
10:42:30 <xarick> this is for the automatic servicing interval
10:44:59 <xarick> in the extreme case: if the ship needs to go zig-zagging between 2 areas, the costs would skyrocket 😦
10:47:55 <xarick> my dilema is: how to apply a reasonable max_penalty for the high level pathfinder so that it doesn't expand the search more than necessary, and still be in line with the equivalent low level pathfinder penalty
11:20:23 <xarick> the damn thing even sets an intermediate region on this
11:29:05 <kuhnovic> Not 100% that I understand the nature of your problem, but in order to get repeatable paths you need to make sure you never deviate from the HL path. In order words, every next HL PF call needs to be from a water region patch that was on the previous HL path.
11:30:52 <peter1138> His penalty is massive because it is crossing between regions every other tile.
11:31:07 <kuhnovic> Otherwise you could end up in a different water region that wasn't on the HL path. The HL PF will then determine a new path starting at that region, and this can in some obscure edge cases send the ship back to where it came from, and the ship gets stuck in a loop.
11:33:36 <kuhnovic> Ah right. Region-crossings are not a great metric to use in this case. They tell you very little about the actual distance traveled, since it depends on where in the region you start/end. And then there's crazy synthetic situations like the one shown above.
12:31:58 <xarick> I'm going with NODES_PER_REGION * max_penalty = high_level_max_penalty
12:38:48 <xarick> absolutely crazy what the hlpf sometimes suggests as destination
12:41:05 <xarick> i know it's not precise but i can't help it 😛
12:51:44 <kuhnovic> It's not that crazy if you consider that every water region is one "pixel" on the "HL PF map image", and it has no knowledge of "what is inside that pixel" (fine grained terrain features)
12:51:59 <kuhnovic> It's not exactly a sentient being you know 😉
12:54:13 <xarick> imagine 5 areas, ship in in the middle area, the other 4 areas are towards the direction of each vertice of center area
12:54:49 <xarick> there's a depot in those 4
12:55:59 <xarick> the ship could be near one of the vertices, and the hlpf could suggest a depot that makes the ship walk a hell lot
12:56:09 <xarick> when it's just next door visually
12:57:36 <xarick> luckily it does not set intermediate destination in this example
12:57:50 <xarick> and uses the llpf destination instead
12:59:33 <xarick> but what about those situations where it does?
13:12:21 <xarick> i think only kuhnovic understands this picture
13:14:49 <xarick> I wanna create a worst case scenario based on this, but one where the intermediate destination is set
13:44:26 <kuhnovic> xarick: This why the "find closest depot" logic uses the HL PF (well, sort of... actually only. It uses the water region information to determine if it can reach neighboring regions). Then it uses manhattan distance to determine the closest depot. It's primitive but good enough for the vast majority of cases.
13:46:21 <kuhnovic> See #11768 for more details
14:12:51 <xarick> i'm testing master, seems "smarter"
14:14:34 <xarick> funny, months ago I thought of it bad, and used examples :8
14:16:15 <xarick> in case of a tie, use lowest dist_square
14:17:41 <peter1138> Remember when people used to write blogs, and then there'd be sites called "planets" that collected updates from all these blogs?
14:17:55 <peter1138> Apparently... they still exist.
14:26:13 <kuhnovic> xarick: You can always come up with cases where the "wrong" depot is chosen, if you know how the logic works. But I highly doubt anyone will ever notice it in actualy gameplay. It's not really a bug either, just suboptimal
14:49:18 *** gelignite has joined #openttd
15:11:07 <xarick> don't know where I wanna go with this
15:15:18 <xarick> constantly losing focus on what I'm doing
15:21:14 <peter1138> Welcome to Long Covid?
16:29:23 *** HerzogDeXtEr has joined #openttd
16:29:53 <xarick> the order at which the depots are added to the dest_tiles affect the pathfinder results
16:30:03 <xarick> even if they're placed on the same tiles
16:30:30 <xarick> dest_tiles can't be std::vector
16:33:08 <xarick> depot indexes changing affects the order they're parsed
16:37:33 *** gelignite has quit IRC (Read error: Connection reset by peer)
16:41:24 *** gelignite has joined #openttd
16:46:23 <xarick> bottom side added all depots, top side searches for a single depot
16:50:03 <xarick> im trying to understand what happened
16:53:07 <xarick> FindNearestDepot - creates a list with all depot locations, high level pathfinder adds several origins then returns the path as 9,11 -> 8,11 -> 8,10 -> 8,11
16:53:35 <xarick> depot is chosen, it's at the top
16:54:56 <xarick> ChooseShipTrack - finds a path to the chosen depot, high level pathfinder adds 1 origin but returns the other path as 9,11 -> 9,10 -> 8,10 -> 9,10 😦
16:55:28 <xarick> why don't the paths match?
16:58:29 <xarick> the only different variable is the number of origins
17:01:07 <xarick> let me check how many origins were added
17:04:01 <xarick> there are 11 depots in the world
17:04:24 <xarick> highlvlpf added 6 regions as origins
17:05:07 <xarick> how's the estimate calculated here...
17:05:19 <xarick> I didn't touch this code
17:06:17 <xarick> basically i just multiplied everything by 16
17:09:43 <xarick> ship is at 9,11, chosen depot is at 8,10
17:10:18 <xarick> what happens during node following
17:57:16 <andythenorth> have you asked GPT? 🙂
18:16:05 *** Wormnest has joined #openttd
18:54:04 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
19:03:51 *** ChanServ sets mode: +v tokai
19:07:29 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
19:19:46 *** gelignite has quit IRC (Quit: Stay safe!)
19:42:39 *** tokai|noir has joined #openttd
19:42:39 *** ChanServ sets mode: +v tokai|noir
19:46:34 *** tokai has quit IRC (Ping timeout: 480 seconds)
20:20:34 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:23:35 <andythenorth> GPT didn't know? 🙂
20:24:40 *** Flygon has quit IRC (Read error: Connection reset by peer)
20:26:06 <peter1138> You and your anthropomorphism
20:27:33 <truebrain> Scotty doesn't know, Scotty doesn't know, Scotty doesn't know .. tnx, now I have that song in my head
20:39:31 <xarick> forgot what was the issue with may_reverse
20:47:16 <xarick> my brain doesn't work 😦 i keep forgetting things
20:47:23 <xarick> i lose track of what i was doing
20:52:56 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:20:23 <xarick> maybe I need to walk one tile ahead? 😦
21:23:29 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:29:26 *** Artea has quit IRC (Remote host closed the connection)
21:56:19 <xarick> wow, nasty little bug in my code
22:45:29 *** TinoDidriksen has quit IRC (Ping timeout: 480 seconds)
22:45:41 *** TinoDidriksen has joined #openttd
22:46:12 *** TinoDidriksen is now known as Guest4663
continue to next day ⏵