IRC logs for #openttd on OFTC at 2022-01-02
⏴ go to previous day
00:05:12 *** Kitrana has joined #openttd
00:05:47 *** Gustavo6046 has quit IRC (Ping timeout: 480 seconds)
00:11:00 *** Kitrana1 has quit IRC (Ping timeout: 480 seconds)
01:01:23 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
01:02:15 *** roadt has quit IRC (Ping timeout: 480 seconds)
01:02:47 *** WormnestAndroid has joined #openttd
03:31:21 *** Kitrana1 has joined #openttd
03:33:30 *** Wormnest has quit IRC (Quit: Leaving)
03:34:15 *** Kitrana has quit IRC (Ping timeout: 480 seconds)
03:53:24 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:00:53 *** snail_UES_ has joined #openttd
04:12:52 <DorpsGek> [OpenTTD/OpenTTD] perezdidac updated pull request #9043: Feature: ability to build overlapping bridges on different axes https://git.io/JOWU8
05:35:49 <supermop_Home> ok i got that to work. now i have cute little tropic houses
05:47:44 *** _aD has quit IRC (Quit: leaving)
06:54:47 *** OsteHovel has joined #openttd
07:28:55 *** snail_UES_ has quit IRC (Quit: snail_UES_)
08:12:32 *** D-HUND is now known as debdog
08:32:30 *** WormnestAndroid has quit IRC (Remote host closed the connection)
08:34:04 *** Xaroth has quit IRC (Ping timeout: 480 seconds)
08:35:02 *** OsteHovel has quit IRC (Ping timeout: 480 seconds)
08:42:27 *** andythenorth has joined #openttd
09:01:15 *** andythenorth has quit IRC (Quit: andythenorth)
09:06:44 *** jottyfan has joined #openttd
09:12:54 *** andythenorth has joined #openttd
10:02:45 *** sla_ro|master has joined #openttd
10:44:07 *** quinibuzz has joined #openttd
10:47:10 <quinibuzz> I got an error "Unexpected end-of-file." when I was trying to upload a simple scenario in BaNaNaS. It´s a heightmap with real cities in the right place. Anyone can help me?
10:57:04 <LordAro> quinibuzz: what version have you used to create this?
11:03:55 <LordAro> the file upload could've failed, i suppose
11:04:02 <LordAro> have you tried more than once?
11:04:14 <quinibuzz> I changed the file name also
11:04:25 <LordAro> bananas scenario upload does some basic parsing of the file to make sure its valid
11:04:41 <LordAro> i suppose it's possible something's been missed somewhere
11:05:05 <FLHerne> quinibuzz: Can you upload the .scn somewhere else so we can look at it?
11:07:34 <quinibuzz> I just want to share with the commuty something I was missing for myself. It´s just a simple heightmap of Spain with the province capitals in it.
11:15:33 <quinibuzz> I have to leave. Thanks for the help. I will try again later. Have a nice day.
11:15:38 *** quinibuzz has quit IRC (Quit: Page closed)
11:16:40 <andythenorth> 4 million cargos when?
11:22:55 *** roadt_ has quit IRC (Ping timeout: 480 seconds)
11:33:30 <andythenorth> weird cargo scaling is weird
12:08:09 <peter1138> new map array when?
12:10:46 <TrueBrain> I expect michi_cc to work on that next :p
12:11:28 <peter1138> templated magic everywhere :D
12:13:36 <TrueBrain> go big or go home, right? :D
12:14:12 <TrueBrain> I love the "Exterminate TileExtended" commit
12:14:15 <TrueBrain> sounds like a good start :P
12:16:39 <TrueBrain> I always wonder what these kind of changes do for the speed of the game
12:16:42 <TrueBrain> if it has any real impact or not
12:18:45 <TrueBrain> michi_cc: do I get it right that in your idea you basically daisy chain structs on a single tile?
12:18:47 * andythenorth might rage quit FIRS for a bit :P
12:18:54 <andythenorth> cargo flow brain mess
12:20:47 <michi_cc> TrueBrain: Yes, which is close to what Chris Sawyer did for RCT and Lomo.
12:21:36 <michi_cc> When all the rearranging is done, the tile structure itself should become quite a bit smaller, which hopefully averages out to not more memory than now.
12:21:52 <TrueBrain> memory is not that relevant anymore
12:26:04 <_dp_> memory is kinda important for servers that run multiple instances
12:26:31 <_dp_> but yeah, cpu is way more important in general, especially in the vehicle ticks
12:33:37 <nielsm> the reason for splitting the landscape up has originally been to make lookups faster, iirc: multiple of 8 instead of multiple of 12 per tile... but what that does for cache lines is another question
12:34:24 <nielsm> and is modern hardware really slower at multiplying by 12 for an address lookup than the loss of memory locality for the two parts of the tile structure?
12:34:38 <TrueBrain> we checked that pretty recently
12:34:43 <TrueBrain> performance dropped like a mofo :P
12:35:09 <nielsm> how bad would it be to just add another 4 bytes to the landscape instead? :D
12:35:51 <nielsm> it's just another 64 MB for a 4096 square map
12:36:08 <TrueBrain> yeah, memory is nothing to really worry about ;)
12:36:44 <_dp_> unbitstuffing some stuff can probably also help the performance
12:37:34 <TrueBrain> but mainly I was wondering what michi_cc 's branch does performance wise .. better? worse? Lot better? Lot worse? :) Or do you first need to finish everything before you can say anything about that?
12:37:38 <_dp_> also adding some stuff that didn't fit like snow layer for objects and industries
12:40:15 <nielsm> how would it work if the landscape was changed to be an array of most basic things (height level, ???) and then a field denoting tile type followed by an index into an array chosen by the tile type
12:40:32 <Rubidium> it's not only the memory and CPU instructions that count, but cache locality probably counts even more
12:40:42 <nielsm> not quite stacked landscape, but having e.g. an array of clear land tiles, an array of farmland tiles, an array of road tiles, an array of rail station tiles, etc
12:41:21 <nielsm> and level crossings could possibly be done as a level crossing tile type that points to a road tile and a rail tile, to allow full data for each
12:42:05 <_dp_> not sure about farmland but separating infra would be nice
12:42:11 <_dp_> infra can even be 3d actually
12:43:41 <_dp_> may not even need pointers from the land array as there are plenty of structures that can do range queries
12:43:59 <_dp_> and it doesn't seem that frequently needed
12:44:43 <michi_cc> TrueBrain: In the state you can see (or the state I have locally) performance will definitely be worse. In the end it will probably still have a hit, but hopefully one that is not too large.
12:45:14 <TrueBrain> its funny you recycle an idea of the original author of TT :P
12:45:17 <TrueBrain> that has some irony
12:55:28 <_dp_> michi_cc, your map structure looks very much like a hash table
12:55:35 <_dp_> and not the most effecient kind...
12:57:04 <michi_cc> _dp_: It's not a hash table. It's an array of arrays, and the order of the sub-tiles matters very much.
12:58:00 <TrueBrain> what do you need to actually finish that michi_cc ? And do you consider it viable? :)
12:58:04 <_dp_> michi_cc, array of arrays is one of the ways to make a hash table
12:58:25 <_dp_> michi_cc, only difference is that instead of somewhat random hash you have a sequential tile index
13:17:14 <peter1138> If performance is bad, maybe you'd have to remove 4096x size maps... ;)
13:17:31 <TrueBrain> yes! who added that again?
13:19:28 <_dp_> 4k map by itself doesn't lag that much, only about the same as 1000 vehicles
13:19:33 <_dp_> 2000 if it's a full water map
13:19:38 <michi_cc> _dp_: Yes, but one of the defining things of a hash table is usually that it is unordered, which the map array isn't at all.
13:23:34 <_dp_> michi_cc, by order you mean random access vs sequential?
13:23:48 <_dp_> it's actually a good question what kind of operations openttd needs the most
13:27:25 <michi_cc> _dp_: I mean that at least for what I did, the order of tile structs in the sub-"arrays" has to follow certain rules. And of course the top-level array is also ordered in that it is indexed by a sequential number.
13:27:44 <michi_cc> TrueBrain: I need more of the universal currency that is always in short supply: time :p
13:28:27 <TrueBrain> well, pretty sure several of us can donate some of that too :P
13:35:23 <_dp_> michi_cc, that's just an implementation detail, in the end all you do is associate some tile structs with a tile index, no?
13:36:06 <michi_cc> Yes, right now there is one tile struct for one tile index, in my branch there's an array of tile structs per tile index.
13:46:01 <_dp_> so what I mean is that you do an associative array, and typical solution for those is either a hash table or a tree
13:46:25 <_dp_> so question kinda is why did you do your own thing and can't it be improved by using standard solutions and tricks
13:53:39 <_dp_> like, for an obvious example yours seem to be pretty bad at adding elements
13:53:48 <_dp_> which I guess is kind of ok for openttd
13:54:34 <_dp_> but still having a complexity of O(dy * map_size_x) for each rail or road may be excessive
14:26:53 * andythenorth adds munitions and tanks
14:26:56 <michi_cc> Cache locality is quite important for map access. As a large map will obviously not fit in cache completely, random tile access is always likely to miss, but access is also often for adjacent tiles, which can benefit from contiguous memory.
14:26:57 <andythenorth> this may be regrettable
14:35:17 <_dp_> michi_cc, yeah, but that's just general thoughts, would be nice to analyze what operations openttd needs in more detail first
14:35:52 <_dp_> also I'd guess diferrent tile types are accessed together and need different operations, so it may be better to split them in several structures
14:36:06 <_dp_> like road/rail is mostly needed for pathfinding
14:36:40 <_dp_> so having it in the land array can decrease locality for land operations
14:37:15 <_dp_> though I guess there isn't that much infra compared to the total amount of tiles
14:40:30 <_dp_> but storing rail tiles together can increase locality for pathfinder actually
14:47:41 <supermop_Home> so i guess most houses don't actually use CC to color bits
14:58:30 *** WormnestAndroid has joined #openttd
14:59:40 <andythenorth> what to label the nuclear chain cargos?
15:00:00 <andythenorth> nuclear fuel rods, spent waste, nuclear fuel?
15:04:13 <supermop_Home> what's the convention on drawing swimming pools?
15:04:35 <supermop_Home> dark blue ocean water with waves or a light turquoise?
15:05:13 <andythenorth> aren't there default flats with a rooftop pool?
15:06:10 <andythenorth> supermop_Home standard ocean blue
15:06:25 <andythenorth> temperate town hotel rooftop pool
15:06:43 * andythenorth wonders if the nuclear chain is deadly dull
15:20:35 <michi_cc> Include protesters cargo as alt pax :)
15:23:51 <supermop_Home> temperate hotel pool always looked a little too rough and frigid to be enjoyable
15:24:01 <supermop_Home> with like 6' waves
15:26:23 <supermop_Home> one of the worst parts of tropic base houses is that there are so few of them
15:30:55 <supermop_Home> andythenorth i think shipping the reactor vessels and turbines to the plant under construction is probably more interesting that the relatives small feul
15:31:07 <andythenorth> fuel can be heavy due to the casks :P
15:31:21 * andythenorth just keeps running out of cargos
15:31:26 <andythenorth> 16 million cargos when?
15:31:26 <supermop_Home> it only goes maybe a couple times a year at most
15:32:01 <supermop_Home> of course the vessels only go once every 30 years
15:33:07 <supermop_Home> make the nuclear plant be 'under construction' for years, and you have to ship it enough concrete, equipment and pipes
15:33:32 <supermop_Home> and same for a coal plant
15:34:53 <supermop_Home> then once its done, boost production at any nearby aluminum plants
15:36:14 <andythenorth> we might want to add explicit power grid one day
15:36:22 <andythenorth> extensible with defined 'power types'
15:36:32 <andythenorth> it can be faked with town storage, but it's got no UI
15:36:36 <andythenorth> so player is 'wtf?'
15:57:04 <supermop_Home> sooo there are apartment buildings on the base set sprite sheet for tropic with blue bits... but they aren't CC?
16:14:16 <supermop_Home> can i add recoloring to a replace block?
16:16:55 <supermop_Home> "A series of real (or recolour) sprites has to be specified between the curly braces "
16:24:34 <supermop_Home> too weird to replace the tropic church with a Shinto shrine?
16:27:29 <supermop_Home> but a shrine might fit in better with these little houses
16:40:30 *** gelignite has joined #openttd
16:48:40 <supermop_Home> well this project's aim was to make the houses and apartment buildings in the tropic base set look more like Hawaii and less like the vaguely Spanish mission style the houses are in ogfx
16:49:13 <supermop_Home> but as a baseset i need most of the building to look at home in 1930 and earlier
16:49:56 <supermop_Home> and from 1910-1930, it seems like the most common architectural style for major buildings in Honolulu was......Spanish Mission style
17:10:18 *** Wormnest has joined #openttd
17:22:10 *** gelignite has quit IRC (Quit: Stay safe!)
17:25:24 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
18:30:10 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
18:36:08 *** gelignite has joined #openttd
18:37:06 *** Gustavo6046 has joined #openttd
18:53:32 *** Kitrana has joined #openttd
18:58:25 *** Kitrana1 has quit IRC (Ping timeout: 480 seconds)
19:17:47 *** Kitrana1 has joined #openttd
19:21:05 *** Kitrana2 has joined #openttd
19:22:05 *** Kitrana has quit IRC (Ping timeout: 480 seconds)
19:25:50 *** Kitrana1 has quit IRC (Ping timeout: 480 seconds)
19:41:45 *** Tirili has quit IRC (Ping timeout: 480 seconds)
19:48:21 *** snail_UES_ has joined #openttd
19:53:23 *** ChanServ sets mode: +v tokai
20:00:25 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
20:16:31 <andythenorth> so did we agree to increase to 128 cargos ?
20:20:16 <supermop_Home> first you need to tell me what early 20th century building i should use to replace the tall tropic apartments
20:34:34 <supermop_Home> most of those aren't apartment buildings, but they would at least look sensible in a city core in 1930 or earlier
20:46:49 *** jottyfan has quit IRC (Quit: jottyfan)
20:53:37 *** snail_UES_ has quit IRC (Quit: snail_UES_)
20:54:06 *** Tirili has quit IRC (Remote host closed the connection)
21:14:50 <dwfreed> andythenorth: really gonna break the bank there
21:18:24 *** Gustavo6046_ has joined #openttd
21:18:33 *** Gustavo6046 has quit IRC (Read error: Connection reset by peer)
21:28:57 *** Gustavo6046_ has quit IRC (Quit: Leaving)
21:29:02 *** Gustavo6046 has joined #openttd
21:34:13 *** gelignite has quit IRC (Quit: Stay safe!)
21:40:33 *** Gustavo6046 has quit IRC (Ping timeout: 480 seconds)
22:34:37 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:38:33 *** snail_UES_ has joined #openttd
22:52:18 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:33:02 <supermop_Home> it seems most of the train people here know each other
23:33:33 *** andythenorth has quit IRC (Quit: andythenorth)
continue to next day ⏵