IRC logs for #openttd on OFTC at 2011-10-17
        
        
        
            ⏴ go to previous day
01:00:49  <Eddi|zuHause> ooh... forum backup... didn't have that in quite a while...
 
04:57:20  *** Eddi|zuHause2 has joined #openttd
 
05:48:22  *** Cybertinus has joined #openttd
 
06:08:28  *** DayDreamer has joined #openttd
 
06:12:19  *** sla_ro|master has joined #openttd
 
07:31:53  *** SirSquidness has joined #openttd
 
08:06:13  *** Eddi|zuHause2 is now known as Eddi|zuHause
 
08:19:01  *** Progman has joined #openttd
 
09:01:07  *** Brianetta has joined #openttd
 
09:37:09  * Bolt_ waves and says 'howdy folks'
 
09:46:36  *** TheMask96 has joined #openttd
 
09:55:04  *** the is now known as the_bolt
 
10:01:34  *** Eddi|zuHause has joined #openttd
 
10:15:54  <planetmaker> maybe you could fix your too many white space in the op code patch?
 
10:16:26  <planetmaker> and dunno... maybe you just open an FS task about it, too
 
10:23:40  <the_bolt> I posted into the forums as requested.
 
10:41:26  *** DayDreamer has joined #openttd
 
10:44:44  <the_bolt> next - to document performance do's and don't for the wiki
 
10:53:19  <Arafangion> If you're so worried about performance, why don't you put the C++ classes entirely in the header?
 
11:13:52  <the_bolt> the performance is for the AI script.
 
11:17:39  <Eddi|zuHause> even if not, what do headers have to do with performance?
 
11:28:47  <Arafangion> Eddi|zuHause: Certain styles of implementation are much easier to inline.
 
11:30:02  <Eddi|zuHause> Arafangion: but apart from a few special cases, inlining has hardly any effect on performance
 
11:33:26  <Arafangion> Eddi|zuHause: Depends on what you mean by "special".
 
11:34:07  <Eddi|zuHause> Arafangion: "special" as in "that is currently already done"
 
12:56:37  *** Arafangion has joined #openttd
 
12:57:11  *** DayDreamer has joined #openttd
 
13:01:38  <Arafangion> AdmiralAI seems to take ages to start (On a highly populated 64x64 map!)
 
13:02:14  *** Kurimus has joined #openttd
 
13:13:08  <Arafangion> Interesting - on my map, DictatorAI is making more money than gelignAlte.
 
13:21:16  *** DayDreamer1 has joined #openttd
 
13:21:18  * Arafangion looks at Belugas suspiciously.
 
13:21:40  * planetmaker looks at Arafangion suspiciously and waves 'hello' to Belugas
 
13:22:55  * Belugas wonders what's wrong with Arafangion and waves a big smiley hello to planetmaker :)
 
13:25:00  * Arafangion mumbles, looks inwards and returns to The Game.
 
13:27:19  <Belugas> crossed eyes Arafangion :)
 
13:43:34  *** HerzogDeXtEr1 has joined #openttd
 
14:00:42  *** George is now known as Guest13802
 
14:12:11  <Elukka> i was drawing something very similar
 
14:12:15  <Elukka> think i'll do multiple color variants
 
14:13:32  <Eddi|zuHause> not entirely sure about the length, though
 
14:14:15  <Elukka> i figure it can't be too far off the length of the other freight cars
 
14:14:18  <Elukka> which both round off to 5 lu
 
14:14:50  <Eddi|zuHause> 8800m (4lu) is a common figure i found
 
14:25:51  <Eddi|zuHause> Elukka: we can also use recolouring for the wagons
 
14:37:20  *** Doorslammer has joined #openttd
 
14:39:05  <Elukka> at 8.8 / 24 x 12 it's 4 lu, at 8.8 / 24 x 12.5 it's barely 5
 
14:39:33  <Elukka> i suppose recoloring would be a bit easier
 
14:58:57  <MNIM> why is my overflow depot not working?
 
15:00:47  <planetmaker> why did the chicken cross the road?
 
15:01:46  <__ln__> i have a better question: if A and B are independent, and P(A)=P(B)=p>0, is it true that if P(A union B)=1 then p=1?  (i think it's false)
 
15:03:17  *** Adambean has joined #openttd
 
15:03:18  <planetmaker> I think it's false
 
15:03:24  <planetmaker> 50% of the people are women
 
15:03:30  <planetmaker> 50% of the people have black hair
 
15:03:38  <planetmaker> not 100% are black-haired women
 
15:05:00  <planetmaker> but that doesn't fit the assumptions... I see :-)
 
15:07:40  *** SirSquidness has joined #openttd
 
15:09:56  *** Prof_Frink has joined #openttd
 
15:11:13  <__ln__> today's exam question was to prove that one to be correct.
 
15:11:42  <b_jonas> __ln__: but if you want a proof, you might want to ask on another channel (eg. freenode #math )
 
15:13:39  <__ln__> b_jonas: but what if we choose p=1/2, and let A be the complement of B? P(A union B) = 1, but p != 1.
 
15:22:13  <Yexo> why is P(A union B) always 1 in that case/
 
15:23:04  <planetmaker> complement is always dependent. Not independent
 
15:25:50  *** Brianetta has joined #openttd
 
15:27:42  <__ln__> that might be the key to why the magic fails
 
15:35:47  *** sla_ro|master has joined #openttd
 
16:11:09  *** TWerkhoven has joined #openttd
 
16:19:38  <Eddi|zuHause> __ln__: if A and B are independent, then P(A \cup B) = 1-P(¬(A \cup B)) = 1-P(¬A \cap ¬B) = 1-P(¬A)-P(¬B) = 1-2*(1-p)
 
16:20:34  <Eddi|zuHause> __ln__: if A and B are independent, then P(A \cup B) = 1-P(¬(A \cup B)) = 1-P(¬A \cap ¬B) = 1-P(¬A)*P(¬B) = 1-p^2
 
16:21:04  <Eddi|zuHause> anyway, 1 = 1-(1-p)^2 => p=1
 
16:22:41  <Eddi|zuHause> the step 1-P(¬A \cap ¬B) = 1-P(¬A)*P(¬B) requires independence
 
16:47:30  <peter1138> you know, the more recent title screen games just don't feel right
 
16:48:03  <peter1138> it's really missing the level crossings and the fog horns
 
16:51:30  <Elukka> more recent title screens exist?
 
16:51:50  <peter1138> the one you get when you play a release
 
16:52:16  <peter1138> i don't know how often it changes
 
16:53:15  <Terkhen> the last two releases had a voting contest to select different title screen games
 
16:56:51  <peter1138> hmm, i should try the scott joplin pack through pianoteq
 
16:57:53  <planetmaker> each release branch probably gets its own title game
 
16:58:16  <Elukka> but nightlies still use the old one?
 
16:58:25  <planetmaker> they always will continue to use the same, yes
 
16:58:52  <Elukka> you can kinda tell it's not really made with modern screen resolutions in mind... since most of it is empty
 
16:59:00  <planetmaker> when the minor version number (the x in 1.x.y) changes, then we usually had at title screen contest the last two times
 
16:59:18  <planetmaker> but for nightly that's not important really ;-)
 
16:59:36  <planetmaker> the important property there is: it's a savegame of savegame version 4.
 
16:59:39  <Elukka> i suppose it's not vital
 
16:59:40  <planetmaker> And now we have 16x
 
16:59:52  <planetmaker> thus it's a savegame conversion test implicitly ;-)
 
17:00:32  <planetmaker> but most people anyway use stable. They get nice starting screens. Or so at least the majority of people who voted thought ;-)
 
17:00:59  <planetmaker> So if you want... start making one. There'll be another contest around... December ... February or so
 
17:01:16  <Elukka> i'd never see it since i haven't played stables for years
 
17:01:28  <planetmaker> Doesn't need to stop you
 
17:03:05  <peter1138> shame these midi pieces are too perfect :(
 
17:03:55  <peter1138> exactly the same velocity for every note
 
17:04:00  <peter1138> exactly the same timing
 
17:04:23  <planetmaker> peter1138: don't you own a midi device?
 
17:04:40  <planetmaker> i.e. where are your midi files for a sound set? ;-)
 
17:05:30  <peter1138> this piece is adjusting the master volume
 
17:05:39  <peter1138> instead of adjusting velocity :S
 
17:05:45  <peter1138> wrong wrong wrong :S
 
17:06:47  <peter1138> my midi files for a sound set? what do you mean?
 
17:07:28  *** pugi__ is now known as pugi
 
17:07:29  <planetmaker> I mean your music pieces. As midi files
 
17:07:43  <planetmaker> Dunno if it's feasible with your equipment
 
17:09:19  <peter1138> i never record the midi from the keyboard
 
17:09:24  * Belugas does not think peter1138's excessive use of digital effets can be recorded in midi :)
 
17:09:44  <peter1138> i use a variety of midi synths
 
17:09:49  <peter1138> not usually a soundfont synth
 
17:09:55  <peter1138> (although i have done)
 
17:10:12  <peter1138> and the guitar isn't midi, heh
 
17:10:53  <Belugas> well... yours  and mine... Charles has 2 midi guitars
 
17:11:50  <peter1138> that would sound odd through a soundfont player :)
 
17:11:51  <Belugas> but granted, the idi part is only to grab the events on the guitars
 
17:12:21  <Belugas> as soon as his devise reads them, they are digiatlly processed and output as waves
 
17:12:51  <Belugas> i'l have to ask him, peter1138, but i doubt he'll waste tie on it ;)
 
17:14:35  <Belugas> #In the dead of nights
 
17:20:58  <Yexo> Elukka: you could still download the a stable version and just copy opntitle.dat from there to your nightly install
 
17:21:52  <peter1138> hey cool, some 32bpp graphics ;p
 
17:23:20  *** TheMask96 has joined #openttd
 
17:24:57  *** LordAro has joined #openttd
 
17:24:59  <b_jonas> thanks again for pointing me to the openttdcoop wiki. its examples will help me build better networks even if I'm not playing openttdcoop.
 
17:27:00  *** frosch123 has joined #openttd
 
17:31:24  <Terkhen> no need to highlight me twice :P
 
17:40:16  <b_jonas> though their complicated examples are over my head
 
17:40:22  <b_jonas> I might still learn a bit at a time
 
17:42:36  <peter1138> some of it isn't relevant
 
17:43:35  <peter1138> actually none of it is, to my playing style :p
 
17:48:39  <frosch123> Terkhen: doesn't the second highlight cancel the first one?
 
17:49:03  <Terkhen> not if I already checked the first one and alt tabbed again
 
17:50:26  *** glx is now known as Guest13824
 
17:50:26  *** ChanServ sets mode: +v glx_
 
17:55:27  *** valhallasw has joined #openttd
 
18:07:03  *** JVassie has joined #openttd
 
18:19:12  *** TWerkhoven[l] has joined #openttd
 
18:23:10  *** DayDreamer has joined #openttd
 
18:28:42  *** Brianetta has joined #openttd
 
18:44:50  <b_jonas> they're building logic gates from presignals! that's crazy.
 
18:45:25  <b_jonas> and they're actually deliberately using the bugs in the old signal behaviour
 
18:48:06  *** andythenorth has joined #openttd
 
18:50:29  <DDR_> b_jonas: OpenTTD Coop, right?
 
18:50:51  <b_jonas> DDR_: yes, I was looking at the openttdcoop wiki to learn a bit about track layouts
 
18:53:40  <b_jonas> hmm, I've got 64% station rating for this iron ore mine with a single slow ship that transmits to a station 60 tiles away
 
18:53:57  <b_jonas> I guess that's because ships get a bonus for station rating computation, right?
 
18:54:07  <b_jonas> should I be using feeder ships to fool stations into giving me better ratings?
 
18:54:20  <Pinkbeast> Much as I respect the #coop people that is a bit like trying to learn how to sail a dinghy by close consideration of HMS Victory
 
18:54:43  <frosch123> well, the max speed of the last vehicle visiting a station also affects rating
 
18:55:15  <frosch123> which compensates the ship bonus usually :p
 
18:56:27  <DDR_> b_jonas: I've been playing openTTD for a few years, and I still have no freaking clue how most of the Coop's stuff works.
 
18:56:35  <DDR_> You're a brave, brave man.
 
18:56:53  *** Biolunar has joined #openttd
 
18:59:52  <b_jonas> DDR_: I don't wish to play coop, I just want to learn som things about the layouts for my single-player games. Their info about layouts sometimes seem fresher than the ones on openttd wiki.
 
19:00:10  <Pinkbeast> Really? Some of their stuff still used block signals last I looked.
 
19:00:25  <Pinkbeast> I think the wiki has pretty good information on normal stations and junctions.
 
19:00:35  <b_jonas> Pinkbeast: true, and I did mention they seem to use old signal bugs as well
 
19:00:39  *** AcidWeb has joined #openttd
 
19:00:55  <frosch123> Pinkbeast: in case you did not notice, they use non-path signals intentionally
 
19:01:00  <b_jonas> Pinkbeast: but they're using pre-signals for exotic logic blocks that I'm not sure you can build from path signals
 
19:01:07  <frosch123> because they are more advanced than path signals when used correctly
 
19:01:31  <b_jonas> they're using pre-signals for priority thingy
 
19:01:43  <frosch123> path signals are for people with less than 7 platforms :p
 
19:02:03  <Pinkbeast> What I'm saying is _the last time I looked_ there were still layouts that used block signals because they predated path signals.
 
19:02:56  <DDR_> I wouldn't put it past them to save old-but-impressive signal layouts.
 
19:03:17  <Pinkbeast> And that I don't think jonas will learn much about normal gameplay, just as any kind of "stunt flying" in videogames doesn't necessarily tell you much about normal play.
 
19:03:24  <AcidWeb> What may cause ppl randomly drop from multiplayer game? "Client dont respond in X days" error or something like that
 
19:04:11  <b_jonas> Pinkbeast: I at least learnt how they build junctions that connect a sideline to a mainline
 
19:04:16  <b_jonas> I used something like that in my last game
 
19:04:38  <b_jonas> before reading their wiki that is
 
19:05:07  <AcidWeb> Hmm but all ppl are affected. Not only one drop randomly.
 
19:05:07  <DDR_> Hm, ... memory blank here, what's it called when trains exit by the same end of the station they entered, versus exiting by the other end of the station?
 
19:05:42  <DDR_> AcidWeb: It might be the server's connection, or just wider hickups in the network...
 
19:05:52  <AcidWeb> DDR_: Server got 100/100 connection.
 
19:06:17  <AcidWeb> And some other services that working correctly.
 
19:06:51  <planetmaker> DDR_: I'd not argue that block signal layouts are all outdated
 
19:07:20  <b_jonas> planetmaker: how about pre-signal layouts for giving priority to a line over another one?
 
19:07:24  *** andythenorth is now known as Guest13836
 
19:07:24  *** andythenorth_ has joined #openttd
 
19:07:24  *** andythenorth_ is now known as andythenorth
 
19:07:54  <planetmaker> b_jonas: that's one place where path signals cannot help a lot
 
19:09:36  <b_jonas> hmm, which mode of transport should I use for this forest? road, train?
 
19:12:21  <DDR_> How much wood do you have to transport?
 
19:14:00  <AcidWeb> Maybe i screwed network settings? net_frame_freq = 2 net_sync_freq = 50
 
19:14:00  <andythenorth> try using a river :P
 
19:15:46  <Rubidium> the speed of a connection says nothing about the stability of said connection
 
19:16:31  <Rubidium> though it has to be said that OpenTTD doesn't cope very well with slightly unstable connections whereas other applications might have less trouble with that
 
19:16:40  <Terkhen> AcidWeb: what's the size of the map?
 
19:17:20  <b_jonas> Rubidium: yes, I have FISH loaded
 
19:17:32  <Elukka> anyone know if YACD is still being actively developed?
 
19:17:34  <Rubidium> though that's mainly because we actively monitor the connection, i.e. we sort of "ping" the clients and if they don't reply within the 10 seconds they're dropped
 
19:17:46  <Elukka> i'm kinda on an ottd hiatus because i really want to play with yacd but it's not playable enough yet...
 
19:17:47  <b_jonas> I couldn't download BIRD though (the corresponding airplane GRF)
 
19:17:49  <AcidWeb> Im using AP+ it that change anything.
 
19:17:49  <Rubidium> Elukka: I think michi_cc knows
 
19:17:55  <Terkhen> Elukka: to my knowledge it is on hiatus right now but ^
 
19:18:10  <Elukka> i hope it's not on a permanent hiatus!
 
19:18:38  <DDR_> b_jonas: I usually use road for travel distances under two feet of real screen-space, although I have been known to make longer roads if the mood takes me.
 
19:18:45  <Terkhen> I have seen connection problems when the map is too big or it has too many vehicles and either the server or the client can't keep up with execution
 
19:18:58  <Terkhen> DDR_: check the YACD thread at the development subforum
 
19:20:28  <michi_cc> Elukka: YACD is waiting on some inspiration on how to make the algorithms at least twice as fast (or for somebody to rewrite the core game loop with multi-core support).
 
19:20:53  <planetmaker> hm, so speed is the problem?
 
19:21:16  <Terkhen> btw michi_cc, my approach to subsidies is using the part of YACD you suggested :)
 
19:21:25  <andythenorth> which bits are slow?
 
19:21:27  <Elukka> i hope you work on it in the future, it's such a great addition to the game :)
 
19:21:31  <Terkhen> I still have to fix subsidy creation, but the house acceptance/production code is done already
 
19:21:41  <Elukka> really i'd rather play on smaller maps with yacd than on large maps without it
 
19:21:45  <Elukka> if it was too slow to play on big maps
 
19:22:09  <Terkhen> hmm... and I was waiting on YACD for playing again too :P
 
19:22:40  <michi_cc> I have a test game that isn't that large (512x512 with a low number of towns and industries) but has a great number of cargo in flight and it is at 100% of my 3.2 GHz CPU. Over half the time in that game is purely spent inside "path"finding for cargo packets.
 
19:22:57  <Elukka> okay, that sounds like an issue
 
19:23:14  <Terkhen> what parts could be multithreaded?
 
19:23:37  <DDR_> oo, yacd looks nice. Seems to be the same idea behind cargo that Simutrans has, but without sucking like Simutrans does.
 
19:23:42  <andythenorth> YACD does use ~2x more CPU than non-YACD
 
19:24:35  * Terkhen wouldn't even know how to start to add multicore support :P
 
19:24:50  *** Alberth has joined #openttd
 
19:24:50  *** ChanServ sets mode: +o Alberth
 
19:25:35  <planetmaker> Terkhen: the only thing I can vaguely imagine is to move drawing to a completely separate thread
 
19:26:01  <michi_cc> YACD speed is directly related to number of active cargo packets and number of cargo producers (which in practice means house count, in comparison those few industries don't really matter).
 
19:26:01  <Rubidium> planetmaker: doesn't help much
 
19:26:04  <andythenorth> how does simutrans handle cargo packets?
 
19:26:15  <Alberth> anything known about weird names for wagons in opengfx+trains?
 
19:26:17  <planetmaker> andythenorth: simutrans has no reall MP support
 
19:26:59  <Rubidium> planetmaker: the bits that determine which sprites to draw are heavily dependant on the game state, so those need a "lock" of that state
 
19:27:07  <planetmaker> Rubidium: Not? I wonder... My OpenTTD uses even on idle 15% CPU of the core it runs on
 
19:27:23  <Rubidium> and the rest is already in a seperate thread on SDL/Allegro
 
19:27:31  <planetmaker> Rubidium: yes... but redrawing once per tick... hm...
 
19:27:39  <Terkhen> I can't think of anything that is not tightly coupled with the rest of the code
 
19:28:03  <Rubidium> hmm, sorry... only on SDL
 
19:28:07  <Yexo> perhaps part of the tileloop could be threaded, although even that would be very tricky to get right
 
19:28:43  <planetmaker> I wonder whether it might start to become interesting to mulithread things even if it gives a penalty on single core systems
 
19:29:13  <DDR_> Probably, very few people have single-threaded systems anymore.
 
19:29:26  <planetmaker> single-threaded: hardly ;-)
 
19:29:39  <Rubidium> planetmaker: the game state is so interdependant on eachother and on the execution order that I don't think much can be achieved
 
19:29:40  <michi_cc> Terkhen: Most of the YACD cargo pathfinding could be done parallel if the events that modify link graph woudn't be all over the place. This especially means vehicle movement where movement, stopping, loading/unloading is all done serially on each vehicle instead of first moving all vehicles, then checking station state, then loading etc.
 
19:29:49  <b_jonas> it doesn't sound too probably, but I think someone has suggested to have multiple maps connected only very losely, with gates where vehicles can pass but where the pathfinder doesn't see past the gates so you have to use explicit orders to the gate.
 
19:30:11  <planetmaker> Rubidium: I seem to recall reading like 5 ... 10% somewhere?
 
19:30:22  <Terkhen> so it needs a huge amount of changes to how the tileloop works first :)
 
19:30:28  <Rubidium> planetmaker: yes, *without* any locking
 
19:30:32  <andythenorth> does each packet have to calculate a full path on each tick?
 
19:30:41  <andythenorth> or just next hop? or what?
 
19:30:54  <Rubidium> andythenorth: only when loading/unloading
 
19:30:57  <planetmaker> hm, desync heaven. nice
 
19:31:58  <Rubidium> even then, profile the game to see what takes a lot of time
 
19:32:13  <Elukka> now i'm depressed that yacd might never get finished :(
 
19:32:16  <Rubidium> IIRC making/removing fences takes relatively much
 
19:33:17  <michi_cc> Example: In order to balance different routes the amount of waiting cargo is taken into account, which means that the link graph before a vehicle loads in different to the state after the vehicle loads. Ergo, the order of vehicle loading and cargo pathfinding has to be fixed.
 
19:33:40  <planetmaker> they look pretty Dutch, Alberth ;-)
 
19:34:01  <planetmaker> Did I mess up naming somewhere?
 
19:34:05  <Rubidium> and (in theory) you could remove that code from the tile loop and just build the fences when building farm tiles or when clearing tiles (in general)
 
19:34:30  <Alberth> I am quite sure "vogn" is not Dutch either :)
 
19:34:36  <Rubidium> they don't look Dutch to me
 
19:34:50  <Alberth> it is supposed to be UK english
 
19:35:02  <Rubidium> it's rather Norwegian or some other Scandinavian language
 
19:36:07  <planetmaker> hm... :-) I shall look into that. Thanks, Alberth
 
19:36:30  <Terkhen> michi_cc: let's see if I understood it correctly... it needs to group parts of the code that change the state such as vehicle load / unload and station handling, to avoid updating the cargo state more than necessary
 
19:36:34  <andythenorth> michi_cc: what could you do less of (i.e. worse, but acceptable)?
 
19:36:42  <planetmaker> The trains anyway need to make use of michi's new cargo aging property :-)
 
19:36:57  <Alberth> aka, "not known" thus :)
 
19:38:05  <Alberth> planetmaker: do you want me to make an issue about it?
 
19:40:01  <AcidWeb> Can AP+ can cause cause that player drops?
 
19:40:54  <michi_cc> Terkhen: Yes, for example make records of loaded/unloaded cargo packets, added/removed cargo links during vehicle tick execution and only apply them after all vehicles where processed. (Obvious problem: how to make sure vehicles don't load more cargo than present; solution idea: maybe don't store packets, but only "has to (un)load".) Then you could do cargo routing in parallel to vehicle pathfinding.
 
19:41:06  <Yexo> Alberth / planetmaker: the grf is fine, it's a bug in openttd
 
19:41:17  <Yexo> in openttd 1.1.3 it works as expected
 
19:45:38  * Terkhen needs to learn to use that program :P
 
19:47:08  <frosch123> wow, three different chains ending in the same function :o
 
19:47:36  <michi_cc> That savegame is already with a seriously reduced cargo recalculation frequency, otherwise the StationCargoList::UpdateNextHop chain would be much bigger (and the game not playable anymore on my PC).
 
19:48:43  <michi_cc> The part below ChooseRouteLink "suffers" from inlining (adding a new node is not nearly as expensive as it seems :)
 
19:48:53  <Terkhen> so it expends most of the time calculating cargo paths again and again
 
19:48:59  <AcidWeb> Im new in this topic. But it seems to me that using only planes is very easy way to win company value goal on servers without any GRF. Im right?
 
19:51:04  <AcidWeb> That is answer why most servers i see have them disabled.
 
19:51:18  <michi_cc> Terkhen: That game has about 100000 cargo packets or so, the time till the same packet is looked at again is quite big (which means there's not much that could be cached).
 
19:51:26  <AcidWeb> Need tweak server. Limit of 10 is to high.
 
19:52:07  <AcidWeb> Client #63 is dropped because the client did not respond for more than 4 game-days
 
19:52:17  <AcidWeb> Also need find a reason of that ;p
 
19:52:47  <Alberth> too big map, too busy map, too fast server
 
19:53:10  <michi_cc> The chain starting at TileLoop is purely the time spent for initial routing of the cargo (i.e. find out if there's a route at all and if yes, which station to deliver to), something which can't be tricked away.
 
19:53:16  <AcidWeb> Alberth: To fast server?
 
19:53:49  <Alberth> or too slow client, depending on your point of view :p
 
19:54:01  <Yexo> AcidWeb: you get that when the map is very busy and the client is not fast enough
 
19:54:42  <AcidWeb> I cant call this map busy
 
19:54:49  <AcidWeb> Also it is only 512x512
 
19:55:33  <michi_cc> The chain over LoadUnloadStation is getting the new next hop upon unloading from a vehicle to a station.  The final chain(s) that end at UpdateCargoNextHop are for periodically rerouting cargo so cargo flow adapts to changes in the link graph.
 
19:55:46  *** Brianetta has joined #openttd
 
19:55:56  <AcidWeb> There is any option to "slow" the server?
 
19:58:10  <AcidWeb> Autopilot sending some additional commands every 30 seconds may cause ppl problems?
 
20:00:46  <glx> 4 times bigger than default size
 
20:01:41  <AcidWeb> Im just looking for answer on main question. If i screwed something? :D
 
20:01:57  <AcidWeb> And if yes how to fix it.
 
20:02:22  <AcidWeb> If it is client problem ok - i dont like it but i will live with that.
 
20:02:44  <Alberth> did you try pausing the game when a client connects?
 
20:03:17  <Terkhen> michi_cc: hmm... 23.95% is quite big... even if it can't be tricked away, that part could use some optimization
 
20:03:19  <AcidWeb> as i observer that is not connected.
 
20:04:51  <AcidWeb> also there are no pattern in that drops
 
20:05:00  <AcidWeb> It just sometime drop random ppl.
 
20:05:34  <Alberth> network connections are stochastic yes
 
20:07:19  <michi_cc> Terkhen: It already has a lot optimizations. For example the most expensive operation is pathfinding when the source is not connected to the destination as you'd potentially have to visit all nodes. To alleviate that problem I've locally implemented a station coverage cache so I can fail fast in case the target tile is not covered by any station. Obviously this optimization gets less and less effective the better connected the map is (which will als
 
20:07:19  <michi_cc> o be the time when this part uses more and more time due to town growth).
 
20:09:46  <andythenorth> how many graphs are there on any one map?
 
20:12:38  <Terkhen> it's a complicated problem :(
 
20:13:31  <andythenorth> this would be easier if we limited the game to 1 cargo :P
 
20:13:48  <AcidWeb> Anyway thank you for help. Maybe that is just hickup.
 
20:13:52  <andythenorth> I think there's only one graph in that map for PAX
 
20:14:15  <andythenorth> with one graph, all you need to check is coverage
 
20:15:09  <andythenorth> with 2 graphs...you'd need to check coverage, and if the start / end nodes are in the same graph
 
20:15:20  * andythenorth is a newbie at network theory :P
 
20:16:04  <michi_cc> Yes, there's only one connected pax graph. At lot of the houses on the map are inside station coverage though, so most of the time there is a path from source to destination.
 
20:16:22  <andythenorth> and calculating the path is expensive?
 
20:17:11  * andythenorth wonders how Railroad Tycoon 3 solved this, on older machines, while running a 3D engine
 
20:17:40  <andythenorth> probably a different problem, for a different codebase
 
20:18:06  <Yexo> andythenorth: a lot smaller maps, so less vehicles, less cargo
 
20:18:11  <DDR_> Hm, I think if you did some tricky work with minimizing the track layout, it becomes a trivial problem.
 
20:18:23  <Yexo> that is also a huge advantage
 
20:18:31  <andythenorth> RT3 had a different way of routing cargo
 
20:18:43  <Yexo> since without mp support you don't have to worry about desyncs
 
20:19:41  <andythenorth> how does the internet route packets?
 
20:20:07  <Alberth> non-deterministically
 
20:20:19  <andythenorth> I guess the computational load is handled by n devices too
 
20:20:26  <andythenorth> there is no 'the internet' device
 
20:20:30  <andythenorth> unless they're not telling us
 
20:20:40  <Alberth> it wouldn't be able to handle the load :)
 
20:21:41  <andythenorth> YACD is rather nice to play with :)
 
20:21:54  <michi_cc> Expensive enough to matter. A single cargo pathfinding only takes 0,0017% of the total CPU time, but a single tick only gets 0,15% of total time in this specific test case.
 
20:21:59  <Alberth> I once heard a story where routers told each other cost of routing, and one router said 0. All traffic was routed to there and the network went down :)
 
20:22:19  *** welshdragon has joined #openttd
 
20:23:13  <andythenorth> michi_cc: do you have to calculate the entire path?
 
20:23:33  <michi_cc> andythenorth: The big difference of RRT3 is that it doesn't actually care about the destination of cargo. The routing choice is very simple: destination has higher price -> load onto train, finished.
 
20:23:49  <andythenorth> it made for a fun game, although many disagreed :)
 
20:23:57  <Terkhen> sounds more boring than YACD
 
20:26:14  <michi_cc> andythenorth: On initial cargo generation the whole path has to be calculated to decide whether to generate the packet at all. After that, you don't necessarily have to do a full calculation, but then you might get the same problems the old train pathfinder had (like not managing a right turn for a destination on the left).
 
20:26:28  * andythenorth has ants in mind
 
20:26:39  <andythenorth> ants leave markers behind for other ants to follow....
 
20:28:02  <Alberth> Yexo / planetmaker: bisecting gives me r22970 to blame
 
20:28:08  <Terkhen> I don't think that ACO is appropiate for this problem
 
20:28:24  <michi_cc> Maybe A* just is very inefficient for this specific kind of problem and some other pathfinding algorithm would do a lot better, but I'm really not a specialist on pathfinder algorithms, so...
 
20:28:26  <Terkhen> too many paths, you'll need too many ants :P
 
20:28:33  <Yexo> Alberth: just found that out too :)
 
20:28:40  <andythenorth> ahttp://wiki.squeak.org/squeak/5633
 
20:29:04  <CIA-6> OpenTTD: yexo * r23036 /trunk/src/newgrf.cpp: -Fix (r22970): swapped parameters resulted in wrong vehicle names
 
20:30:01  <andythenorth> these are theories, not working code :)
 
20:30:20  <Terkhen> there must be a good method for a graph that changes a lot
 
20:30:26  <andythenorth> ant routing apparently performs badly in that case
 
20:30:31  <Terkhen> s/method/heuristic method/
 
20:30:43  <Terkhen> but then you are not getting optimal paths :)
 
20:30:48  <Alberth> Yexo: thanks for fixing :)
 
20:30:53  <andythenorth> does the graph change a lot?
 
20:30:59  <andythenorth> in a typical game?
 
20:31:34  <Rubidium> andythenorth: every time you change an order or change the time it takes a train to go from A to B
 
20:31:54  <Terkhen> andythenorth: if it is taking into account stuff such as "waiting cargo" then it is changing all the time
 
20:34:17  <andythenorth> so it's a known difficult problem :P
 
20:35:50  <andythenorth> michi_cc: if we can solve it, maybe we can patent it :)
 
20:36:00  <andythenorth> and then license it to cisco et al
 
20:36:10  <andythenorth> and use the income to implement TTD 3D :P
 
20:36:25  * andythenorth is only partly fooling and is partly serious :o
 
20:36:55  <andythenorth> a large TTD map represents a moderately complex routing situation that needs solving with relatively few computing resources
 
20:37:25  <michi_cc> Somehow I get the feeling we're not the first humans trying to find a solution to this problem :)
 
20:37:36  <Terkhen> is an optimal path a requirement for cargo packets? because if it is, probably A* and its family are probably the only real option
 
20:37:53  <Rubidium> andythenorth: internet routing is "easier". You only got point-to-point connections.
 
20:38:45  <Rubidium> i.e. the packet will always be offloaded at the next station regardless of how it goes further
 
20:39:01  <planetmaker> traveling salesman problem ;-)
 
20:39:14  <andythenorth> Terkhen: what constitutes 'optimal' ?
 
20:39:34  <Terkhen> hmm... good question :)
 
20:39:35  <andythenorth> I was wondering earlier today (for non-related reasons) how real railroads solve this
 
20:39:43  <Rubidium> andythenorth: spread evenly over the capacity
 
20:39:47  <michi_cc> Terkhen: Optimal definitely not. It has to be good enough that nobody complains that cargo for A to B is going over a X that looks very inoptimal to a human.
 
20:40:09  <andythenorth> let them route their own packets :P
 
20:40:14  <andythenorth> think that was mentioned once :)
 
20:40:53  <Rubidium> I don't think real railroads have capacity issues when routing (at least passengers)
 
20:41:10  <Rubidium> they just say: the earliest/fastest connection is: XYZ
 
20:41:11  <Terkhen> then what we need is a method that works in a graph that changes frequently and also needs to repeat paths a lot because cargopackets tend to use the same source/destination and gives decent results
 
20:41:36  <Rubidium> even when a million people go via that route, when you could also take a route 10 minutes longer that's empty
 
20:41:39  <andythenorth> stepping back a bit - what if the packets are generated even if there is no route?
 
20:41:53  <michi_cc> An inoptimiality inside defined bounds would even be good because then some of the highly volatile routing variables used to balance links could be removed.
 
20:42:31  <planetmaker> inoptimal != non volatile
 
20:44:20  <michi_cc> Terkhen: Actually the tuple of (4x4 source map square, 4x4 destination map square, routing flags) does not repeat a lot. I tried a global (source, dest, flag) cache and even without any cache invalidation the benefit wasn't very great. With invalidation, there's almost no benefit left.
 
20:45:00  <Rubidium> I think the major problem of cargo routing is the fact that it isn't point-to-point and it isn't "real time" (compared to internet routing)
 
20:45:47  <Rubidium> with internet routing you push packets to another host and you can just send X packets per second (which is more or less a constant)
 
20:46:17  <Terkhen> hmmm... I wonder if a certain algorithm could work in this case, let me check its name
 
20:46:21  * andythenorth suspects railroad manifest freight routing is point-to-point 
 
20:46:53  <michi_cc> Terkhen: I have a profile with a very limited cache that purely caches on cargo unloading (because there you often get several identical packets). The 51.07% of YapfChooseRouteLink shrink to 50.70%...
 
20:46:54  <Rubidium> with OTTD cargo routing you have a "container" for cargo coming in that has some remaining capacity (highly fluctuating) and departs every now and then
 
20:47:35  <Rubidium> so where for internet it would suffice for: 1 packet over link A, then two over link B, then one over link A, 2 over link B would suffice for spreading load in routing
 
20:48:29  <Rubidium> for cargo you would send relatively a lot in a train and then a relatively a lot in another taking a slightly longer route
 
20:49:36  <Rubidium> and as you don't know future capacity you have to guess: should I just fill this train take takes a slightly longer route till its max? Or can everything go in the faster train coming next?
 
20:50:04  <andythenorth> sounds like a 'know the future' problem
 
20:51:05  <andythenorth> how come humans know the future, but we can't teach software how we do it?
 
20:51:17  <Rubidium> and in the real world you can try some (or a lot of) permutations of routings to find an optimal one, but in OpenTTD you don't have the time for it
 
20:51:58  <andythenorth> in the real world, excepting PAX, vehicles are sent according to the need to route cargo
 
20:52:04  <andythenorth> in TTD we don't have that connection
 
20:53:07  <appe> Markk:s circumference exceeds jupiter.
 
20:54:28  * Rubidium puts himself on a siding ;)
 
20:56:10  <appe> to explore Markks digestive systems, you would need fusion power.
 
20:58:32  <Terkhen> michi_cc: I see, I expected a lot more :/
 
20:59:01  <Terkhen> so that path is not good either
 
20:59:12  * Terkhen finds an optimal path for today
 
21:16:00  *** andythenorth has left #openttd
 
21:20:49  *** FLHerne has joined #openttd
 
22:11:22  <Eddi|zuHause> <andythenorth> there is no 'the internet' device <-- ever seen the it crowd? ;)
 
22:24:25  *** JVassie has joined #openttd
 
22:31:30  *** sla_ro|master has joined #openttd
 
22:32:16  *** sla_ro|master has joined #openttd
 
22:49:05  *** welshdragon has joined #openttd
 
23:01:47  *** heffer_ has joined #openttd
 
23:02:02  *** TrueBrain has joined #openttd
 
23:02:02  *** eQualizer has joined #openttd
 
23:02:39  *** welterde has joined #openttd
 
23:03:18  *** Zeknurn has joined #openttd
 
23:06:49  *** peter1138 has joined #openttd
 
23:06:49  *** ChanServ sets mode: +o peter1138
 
23:14:44  *** glx is now known as Guest13867
 
23:15:20  *** Strid__ has joined #openttd
 
23:18:37  *** heyheyy has joined #openttd
 
23:25:38  *** mib_apmba8 has joined #openttd
 
23:32:36  *** peter1139 has joined #openttd
 
continue to next day ⏵