Back to Home / #openttd / 2022 / 01 / Prev Day | Next Day
#openttd IRC Logs for 2022-01-18

---Logopened Tue Jan 18 00:00:34 2022
00:05-!-Gustavo6046_ is now known as Gustavo6046
02:16-!-andythenorth [] has joined #openttd
02:16-!-andythenorth is "andythenorth" on #openttd
02:29-!-sla_ro|master [] has joined #openttd
02:29-!-sla_ro|master is "slamaster" on @#sla #openttd
03:50*andythenorth might be about to discover log O(n) or something
03:51<andythenorth>if I build a linkgraph of p edges between n nodes
03:51*peter1138 needs to discover healthy living agin
03:51<andythenorth>in January?
03:51<andythenorth>healthy living in January involves eating carefully and doing a few stretches
03:52<andythenorth>maybe a walk to the shop
03:53<andythenorth>anyway I need some kind of graph traversing thing
03:53<@peter1138>Unfortunately the last time I lost any weight was because I was cycling 250km every week and counting calories... And I can't do that again...
03:54-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:96b6:f57:b290:e69a:6832] has quit [Quit: Leaving]
03:55<andythenorth>because life reasons?
03:58<@peter1138>I no longer have a commute that forces me to go out whatever the weather, and I went a bit mental with the counting.
03:59<andythenorth>oh yeah working at home
03:59<andythenorth>not all gravy
03:59<andythenorth>I used to do enough walking meetings that I'd wear out shoes
04:00<andythenorth>now I don't even wear shoes
04:00<andythenorth>I haven't left my kitchen table for 20 months
04:03<andythenorth>I need to learn about how GS blocks I think
04:04<andythenorth>looks like I can't run housekeeping functions on every tick because other functions will take many more ticks to complete
04:04<andythenorth>e.g. pathfinding
04:12*andythenorth must to grown up work
04:12<andythenorth>planting pylons on the map in a train game is not that
04:12-!-andythenorth [] has quit [Quit: andythenorth]
04:14-!-toktik [] has quit [Remote host closed the connection]
04:25-!-Smedles_ [] has joined #openttd
04:25-!-Smedles_ is "Paul Smedley" on #openttd
04:25-!-Smedles [] has quit [Ping timeout: 480 seconds]
04:33-!-sla_ro|master [] has quit []
04:55-!-Thedarkb-T60 [] has quit [Ping timeout: 480 seconds]
06:22-!-toktik [] has joined #openttd
06:22-!-toktik is "toktik" on #openttd #linux #debian-offtopic
06:31-!-zzy2357[m] [~zzy2357ha@2001:470:1af1:101::aef5] has joined #openttd
06:31-!-zzy2357[m] is "city.halogen:zzy2357" on #openttd
06:34-!-sla_ro|master [] has joined #openttd
06:34-!-sla_ro|master is "slamaster" on @#sla #openttd
07:42-!-lobster [] has joined #openttd
07:42-!-lobster is "Lob Star" on #tycoonexiles #openttd
07:45-!-lobstarooo [~lobster@] has joined #openttd
07:45-!-lobstarooo is "Lob Star" on #tycoonexiles #openttd
07:51-!-lobster [] has quit [Ping timeout: 480 seconds]
07:52-!-lobstarooo is now known as lobster
08:05-!-lobster [~lobster@] has quit [Quit: Going offline, see ya! (]
08:18-!-toktik [] has quit [Read error: Connection reset by peer]
08:19-!-toktik [] has joined #openttd
08:19-!-toktik is "toktik" on #openttd #linux #debian-offtopic
08:51-!-andythenorth [] has joined #openttd
08:51-!-andythenorth is "andythenorth" on #openttd
08:52-!-glx [] has joined #openttd
08:52-!-mode/#openttd [+v glx] by ChanServ
08:52-!-glx is "Loïc GUILLOUX" on +#openttd
08:52<andythenorth>"squirrel depth first search"
08:52<andythenorth>just gets me a lot of google results about how squirrels find nuts
08:53<andythenorth>I want to resolve if a graph connects all possible nodes
08:53<andythenorth>no max number of edges per node
08:53<andythenorth>min number of edges is 1
08:54<andythenorth>I have a naive approach which is start at one node, and build connections directly to all others
08:54<andythenorth>another naive approach is to cycle through each node, and build 1 edge to the nearest unconnected node
08:54<andythenorth>repeat until all nodes are connected
08:57-!-virtualrandomnumber [] has joined #openttd
08:57-!-virtualrandomnumber is "virtualrandomnumber" on #openttd
08:57-!-virtualrandomnumber [] has quit []
09:29-!-tokai [] has joined #openttd
09:29-!-tokai is "Christian Rosentreter" on #openttd
09:29-!-mode/#openttd [+v tokai] by ChanServ
09:31<andythenorth>oh this is nice :)
09:31<andythenorth>that page says that's the most appropriate graph approach for cable and utility networks :)
09:31<andythenorth>so should work for connecting power stations to each
09:36-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
09:40<@peter1138>Sometimes I wish I could have constructors as part of an interface...
09:41<@peter1138>Probably means I need to redesign...
09:45<supermop_Home>how weird does the weird tube building need to be
09:50<supermop_Home>I've spent the last 12 years wanting to make a metabolist inspired base set or town set, and here I am contemplating making one of the two metabolist inspired buildings in the game into something totally mundane
09:52<reeeco>andythenorth: you could use google search opeator 'site:foo' .. if you have desired sites to search
09:52-!-reeeco is now known as wiscii
09:56<@peter1138>Meh, Activator.CreateInstance(type, args) definitely feels wrong.
09:56<FLHerne>supermop_Home: Pretty weird, I think
09:56<FLHerne>everyone loves the weird tube building
10:13<supermop_Home>FLHerne is it most important that it be weird as in different than the other building around it, or different than the buildings that came before it?
10:14<supermop_Home>and do people like this building? I honestly didn't know... despite loving the probably real life inspiration for it, I always disliked the sprite
10:15<supermop_Home>especially in ogfx, the simon foster one is cute at least
10:17-!-esselfe [] has quit [Quit: restarting]
10:18-!-esselfe [] has joined #openttd
10:18-!-esselfe is "Steph" on #openttd #debian-quebec #linode
10:31<FLHerne>supermop_Home: I remember seeing (on TT-Forums/Reddit) love expressed for the tubular building in particular
10:32<FLHerne>probably mostly because it's unique, but it does look quite nice IMO
10:32<supermop_Home>basically neither approach really fits 'hawaii'.. there are round buildings there but more like low-rise offices from the 60s-70s
10:33<supermop_Home>and there are rounded sleek buildings from around 2000, but pretty much normal 2000s condos
10:34<supermop_Home>there are a few buildings more spiritually close in structure, round and otherwise, from Japan and Europe in the 70s
10:36<supermop_Home>and there are some neither tubular nor structurally weird buildings in Honolulu from the 80s and 90s that are unabashedly weird and futuristic in style
10:37<supermop_Home>A 60s cylinder building from Hawaii - wrong era, wrong height, not weird enough:
10:39<supermop_Home>a 2000s round building from Hawaii - not a cylinder, tall, not weird enough?:
10:41<supermop_Home>A metabolist era cylindrical building from Tokyo - wrong era, weird enough, too metabolist:
10:43<supermop_Home>60s-70s BMW building - probable inspiration for original sprite, actually is a suspended structure - wrong era, too distinctive: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoGCBUVExcVFRUYGBcZGiMdGhkaGyUjHRwfIx8jHBwaHRwkHy0kGiEoHRwgJDUkKCwuMjIyISE3PDcxOysxMjEBCwsLDw4PHBERHTMpISgxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEuMTExMf/AABEIAR4AsAMBIgACEQEDEQH/xAAbAAACAwEBAQAAAAAAAAAAAAAEBQIDBgEHAP/EAEcQ
10:43-!-supermop_Home [] has quit [Excess Flood]
10:44-!-supermop_Home [] has joined #openttd
10:44-!-supermop_Home is "Guest" on #openttd
10:44<LordAro>supermop_Home: well done
10:44<supermop_Home>oops sorry
10:44<LordAro>s'alright, you were killed after 5 lines
10:45<supermop_Home>haha well on my end it was like 100
10:45<FLHerne>supermop_Home: The Tokyo one is vaguely similar to the other weird OTTD tower
10:46<FLHerne>although the OTTD one has lots more blocks
10:47<FLHerne>60s one looks almost like a cylindrical version of the square OTTD 60s block
10:48<FLHerne>supermop_Home: I think it's likely based at least in part on the Rotunda in Birmingham for i in range(len(digits - 1)
10:48<supermop_Home>the one I tried to post was the bmw HQ, which I had heard was one of the things that inspired foster
10:48<andythenorth>chances I can persuade anyone to add a minimum spanning tree graph solver to the core game?
10:49<andythenorth>with parameters for edge weight e.g. 'penalise cities' etc
10:49<supermop_Home>FLHerne that Birmingham building looks pretty conventional, apart from being round
10:50<supermop_Home>the shizuoka tower is contemporaneous to the nakagin capsule tower, that the capsule tower in game is based on
10:52<FLHerne>I doubt there's any real-world precedent for hanging a tower building from cables :p
10:52<FLHerne>I guess Skylon is probably the closest thing
10:53<supermop_Home>BMW headquarters!
10:53<supermop_Home>its cylindrical units suspended from above
10:54<supermop_Home>you certainly couldn't do it with only two cables like in the sprite... people on the bottom floor could run back and forth to get the whole tower swinging
10:54<FLHerne> oh, I see
10:54<FLHerne>it's not very apparent from the aerial views
10:54<FLHerne>and that would be FUN!
10:55<supermop_Home>unfortunately its not an animated building
10:55<FLHerne>Skylon needle
10:56<FLHerne>Not really a building, but that tensegrity layout should be stable enough for one
10:56<FLHerne>if you ignore practicality
10:59<supermop_Home>it should have 3 or 4 columns instead of the 2 it does.. and some way to get into the building from the ground
10:59<supermop_Home>I guess the sprite disappoints from an archigram style perspective because the tube itself is so plain
11:00<supermop_Home>and those architects would have visually expressed the circulation too - stairs elevators, ductwork
11:01<supermop_Home>i guess there is also the weirdness of looking at 2000 as the future 20+ years on
11:02<supermop_Home>most architecture in the early 2000s was pretty boring
11:03<supermop_Home>so now you are are playing the game era similar to the 70s-80s on the original game, with these wild futurist buildings
11:04<supermop_Home>like 'here is the train i remember taking as a child, driving past this futurist setting'
11:10<andythenorth>looks like people have written minimum spanning trees for NoAI
11:11<andythenorth>oh there's more
11:14<andythenorth>well this is all very interesting, but I am a terrible programmer :P
11:21-!-nielsm [] has joined #openttd
11:21-!-nielsm is "Niels Martin Hansen" on #openttd
11:47-!-Wormnest [~Wormnest@] has joined #openttd
11:47-!-Wormnest is "Wormnest" on #openttd
12:04-!-debdog [~debdog@2a00:79c0:620:6b00:7a24:afff:fe8a:d04d] has joined #openttd
12:04-!-debdog is "Wowbagger" on #openttd
12:12-!-gelignite [] has joined #openttd
12:12-!-gelignite is "gelignite" on #llvm #openttd
12:24-!-WormnestAndroid [~WormnestA@] has quit [Read error: No route to host]
12:34-!-Flygon [~Flygon@2001:44b8:411e:4e00:b5fa:3596:3152:8b57] has quit [Quit: A toaster's basically a soldering iron designed to toast bread]
12:56-!-Wolf01 [] has joined #openttd
12:56-!-Wolf01 is "Wolf01" on #openttd
13:01-!-skrzyp [] has joined #openttd
13:01-!-skrzyp is "skrzyp" on #openttd
13:49-!-frosch123 [] has joined #openttd
13:49-!-frosch123 is "frosch" on #openttd
13:51-!-gelignite [] has quit [Quit: Stay safe!]
13:53-!-gelignite [] has joined #openttd
13:53-!-gelignite is "gelignite" on #llvm #openttd
13:57<andythenorth>so how would I start making a minimum spanning tree?
13:57<TrueBrain>by planting some seeds
13:57<andythenorth>thanks :)
13:58<TrueBrain>you are very welcome
13:58<andythenorth>not the answer I expected
13:58<andythenorth>but in the same spirit as what I expected
13:58<_dp_>andythenorth, prim n**3
13:59<andythenorth>this suggests it's been done in NoAI
13:59<andythenorth>but I can't find part 2 :P
14:00<andythenorth>the implementation is not in part 1
14:00<+glx>doesn't seem to have a part 2 yet
14:01<andythenorth>nope :)
14:01<TrueBrain>maybe next year :)
14:02<_dp_>part 1 links to a quite fast but complex algo for spanning tree
14:02<andythenorth>some of the AIs might have this already
14:02<andythenorth>this article mentions it
14:02<andythenorth>maybe PathZilla
14:04<frosch123> <- it links to that
14:04<_dp_>why AIs do spanning tree though, makes no sense with openttd economy
14:07<frosch123>andythenorth: <- you are right, check the animation at the bottom
14:11<_dp_>wow, PathZilla actually does delaunay triangulation
14:12<frosch123>afaik all the town-road-network ais do delaunay
14:12<frosch123>those fake ai/gs, which just build roads for the sake of building a public road network
14:14<_dp_>nah, I checked CityConnector but it seems pretty simple
14:15<_dp_>EMST doesn't even make that good of a public network
14:15<andythenorth>totally unrelated, Zutty's forum avatar is from a video I was watching earlier :P
14:15<andythenorth>'my lovely horse'
14:16<_dp_>MST makes sense if roads are made of gold xD
14:16<andythenorth>I am digging through pathzilla trying to find the MST
14:16<andythenorth>but it's not obvious in my search
14:16<andythenorth>or the google code version is missing things
14:16<andythenorth>lots of empty dirs
14:17<_dp_>andythenorth, in archive it's just pathzilla/graph/impl
14:17<andythenorth>bananas version has it all :)
14:17<andythenorth>found it
14:18<andythenorth>MST and others
14:18<andythenorth>I have no idea whether MST is what I need, just suggested by googling
14:20<_dp_>for electricity MST certainly makes more sense than for roads
14:21<andythenorth>hmm MinimumSpanTree() doesn't seem to be called
14:21*andythenorth was hoping to cargo-cult an implementation
14:30<_dp_>andythenorth, why are you placing pylons btw, just for the eye-candy?
14:31<_dp_>I though of doing power lines with tram type at some point xD
14:31<andythenorth>mostly for the lolz
14:31<andythenorth>seems like the kind of thing nobody has tried yet
14:31<andythenorth>it's only just possible recently
14:31<andythenorth>with your PR for objects, and the newgrf check
14:32<andythenorth>kind of curious
14:32<andythenorth>how slow are the in-game pathfinders?
14:33<andythenorth>the GS road pathfinder takes months to connect two nearby towns
14:34<_dp_>in-game pathfinder still can't route ships without buoys :p
14:40<andythenorth>can we do something about selecting objects?
14:40<andythenorth>not sure why the string matching fails
14:46*andythenorth looks how GS detects grf industries
14:52<andythenorth>oh maybe it doesn't
14:52<andythenorth>maybe I was just lucky so far
15:11<andythenorth>ok so GetIndustryID() returns the internal OpenTTD ID of the industry?
15:11<andythenorth>not the grf-defined ID?
15:13<frosch123>yes, do we need to scramble them to avoid any confusion?
15:14<_dp_>pretty much everything id in GS is internal, otherwise it wouldn't work with multiple grfs
15:16<andythenorth>for industry I can resolve this by fingerprinting on cargos
15:16<andythenorth>but objects...there's nothing to fingerprint on?
15:17<andythenorth>actually the fingerprinting is silly
15:18<andythenorth>functions for grfid and industry-id-in-grf are not going to hurt anything
15:18<andythenorth>except that I can't think of a name :P
15:19<andythenorth>GetIndustryID is already taken
15:19<andythenorth>optional params?
15:22<frosch123>GSIndustry.GetNewGRFID could return a tuple of grfid+localid
15:22<frosch123>no idea whether we can return tuples easily
15:22<andythenorth>me neither
15:23*andythenorth was looking at GetIndustryIDAtOffset in grf
15:23-!-Rubidium_ is now known as Rubidium
15:24<andythenorth>most things seem to return a single value
15:24-!-jottyfan [] has joined #openttd
15:24-!-jottyfan is "jottyfan" on #openttd
15:24<andythenorth>but can that be an array?
15:26<andythenorth>random browsing of nogo spec suggests that 'return one thing' is the prevailing approach
15:28<Rubidium>why not return some object, that might be reused for other NewGRFIDs?
15:30<andythenorth>GSGRFItem or something?
15:33<nielsm>I am confused by people who confuse "not inefficient" for being the same as "optimized to the highest level possible, every last pixel of running distance squeezed out"
15:33<nielsm>or maybe do not understand the concept of "good enough for most people"
15:34<andythenorth>context? :)
15:34<nielsm>"you must be out of your mind that you are not investing days to learn the art of constructing computers using pieces of railroad tracks and color light signals"
15:35<nielsm>in response to people being happy users of path signals
15:41<andythenorth>must be reddit?
15:41<nielsm>JGR thread on tt-forums
15:43<_dp_>nielsm, where did you find anyone calling them inefficient?
15:43<_dp_>*in that thread
15:44<nielsm>yeah I'm pulling a bit of a strawman here, but when I see someone arguing that the two_way_eol thing doesn't work with path signals that to me just screams "I don't understand anything less than hyper-optimized"
15:46<_dp_>idk, for a signal discussion that thread seems relatively reasonable so far imo
15:46<nielsm>the argument that path signals are bad because they don't allow making the same constructions as block signals are being abused for is completely missing the point that you can still build crash-free deadlock-free networks using only path signals
15:47<frosch123>ah, i wondered when someone would complain that you cannot disable the signal gui. there was already some drama 15 years ago when it was added, so i was kind of surprised when noone noticed when that setting was gone
15:48<FLHerne>You can, but I doubt you can make a self-regulating network with path signals
15:48<FLHerne>not that that's essential to very many people
15:48<nielsm>self-regulating networks is also well past "average player" territory
15:48<FLHerne>but there are meaningful end goals that can be achieved only using block signals
15:49<FLHerne>The only "average player" use of block signals I know of is the prio merge
15:49<FLHerne>That's very useful even in my very unoptimised [or, rather, optimised for 'realism'] networks
15:59-!-frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
16:12<andythenorth>ok so maybe something like ScriptTile, but for GRFItem
16:13<andythenorth>or extend GSNewGRF?
16:14<andythenorth>no, GSNewGRF.GetItemGRFID() is better
16:24<andythenorth>how is GS extended even
16:26<TrueBrain>w00p, loop support is done!
16:26<TrueBrain>shocking :D
16:26<TrueBrain>took only 150 lines of code
16:26<TrueBrain>but what-ever
16:27<andythenorth>how many of them were loops?
16:27<andythenorth>while (loops >= done) { return "congrats" }
16:31<andythenorth>hmm it's not trivial for GS to resolve generic grf items
16:34<TrueBrain>okay .. 95% of the FIRS economy is online and kicking ..
16:34<TrueBrain>I am missing industry:production_level .. that can't be hard to add :P
16:34<TrueBrain>and ranges don't work yet
16:34<TrueBrain>but that is for tomorrow :D
16:36-!-Kitrana [~yoshi@] has joined #openttd
16:36-!-Kitrana is "purple" on #openttd
16:39<TrueBrain>after that it is actual testing if it behaves as expected .. very curious about that :D
16:40<TrueBrain>as it requires actual playtesting .. scary shit :P
16:40<andythenorth>release it as FIRS 4.5.0
16:40<andythenorth>see if anyone notices
16:40<TrueBrain>docks in the middle of the sea
16:40<TrueBrain>I think they do :P
16:40<TrueBrain>sorry, Bulk Terminals
16:40<TrueBrain>but ... I should now also be able to use RPN to restrict the placement correctly
16:41<andythenorth>RPN is the best RPN
16:41<TrueBrain>it for sure solves a lot of problems :P
16:42<TrueBrain>anyway, now zzz time :)
16:42-!-Kitrana1 [~yoshi@] has quit [Ping timeout: 480 seconds]
16:50<andythenorth>if we do something like GSNewGRF.GetItemID(), it will need to accept a range of types as param, e.g. industry, tile, vehicle, object
16:54<andythenorth>the alternative seems to be extend all the types, e.g. GSIndustryType, GSObjectType to have methods to get the grfid and the id of them item in the grf
16:55<andythenorth>also the names seem to be impossible
17:03-!-gelignite [] has quit [Quit: Stay safe!]
17:05-!-WormnestAndroid [~WormnestA@] has joined #openttd
17:05-!-WormnestAndroid is "WormnestAndroid" on #openttd
17:15-!-jottyfan [] has quit [Quit: jottyfan]
17:23-!-andythenorth [] has quit [Quit: andythenorth]
17:31-!-nielsm [] has quit [Ping timeout: 480 seconds]
17:53-!-sla_ro|master [] has quit []
18:15-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
21:34-!-cathartes [] has joined #openttd
21:34-!-cathartes is "cathartes (vultur-cadens)" on #openttd #C #moocows #oftc
22:25-!-Wormnest [~Wormnest@] has quit [Quit: Leaving]
22:31-!-D-HUND [~debdog@2a00:79c0:620:3c00:7a24:afff:fe8a:d04d] has joined #openttd
22:31-!-D-HUND is "Wowbagger" on #openttd
22:35-!-debdog [~debdog@2a00:79c0:620:6b00:7a24:afff:fe8a:d04d] has quit [Ping timeout: 480 seconds]
22:43-!-glx [] has quit []
22:53<wiscii>impossible names is a ottd norm
23:26-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:96b6:f57:b290:e69a:6832] has joined #openttd
23:26-!-Gustavo6046 is "realname" on #openttd
23:45<Gustavo6046>if you want it to be cool, just add more dragons to it
---Logclosed Wed Jan 19 00:00:35 2022