Config
Log for #openttd on 16th February 2023:
Times are UTC Toggle Colours
10:31:31  <dP> rebuilding station doesn't explain other commenters having the same issue in 12.3 😜
10:36:25  <petern> It's nearly always due to rebuilding.
10:36:32  <petern> Perhaps not even nearly.
10:38:23  *** Samu has joined #openttd
10:41:38  <petern> More bike bits purchased, such expensive cheap hobby...
10:59:29  *** godbed is now known as debdog
11:18:00  *** Wormnest has quit IRC
11:46:46  *** moll has joined #openttd
11:54:23  <kamnet> dP: Crazy idea.... what if the devs stopped working on OpenTTD  1.14, and instead worked on making a better version from the ground-up?
11:55:17  <andythenorth> Like Voxel Tycoon?
11:55:28  *** Wormnest has joined #openttd
11:57:55  <petern> Urgh.
11:58:06  *** KiriDore has quit IRC
12:00:27  <kamnet> Voxel Tycoon doesn't sound like a better and improved OpenTTD to me.
12:00:41  <JGR> The Second System Effect should not be underestimated
12:03:13  <pickpacket> kamnet: what would you propose that a "better version" entails?
12:04:18  <JGR> Scrapping something that works in favour of a grand new system which will be ready any time real soon now often doesn't end well
12:04:52  <petern> My work did it, and it worked out 😄
12:05:34  <pickpacket> petern: many of my workplaces have done so too with successful results. And substantial man hours spent 🤪
12:05:58  <petern> Of course it was totally different prospect.
12:07:53  <pickpacket> yeah
12:08:37  <pickpacket> Openttd has 26,877 commits. And I'm guessing some history was lost when it moved from svn (was it?)
12:08:51  <pickpacket> imagine the hours involved in replacing that
12:08:53  <petern> No history was lost in that conversion.
12:09:14  <petern> There was some history lost with a crashed SVN repo in 2004? though.
12:10:48  <kamnet> JGR: Oh I'm not proposing something actually be ready within a year.  Rather, since we have a somewhat functional team here that is experienced enough to know what's limiting them, experiment with creating a base that removes those limits.
12:11:30  <petern> It's not the existing codebase that limits us 🙂
12:11:50  <JGR> It easy to spend a huge amount of time/effort for a fairly modest gain doing that dirty of thing
12:11:59  <JGR> Sort of*
12:12:13  <pickpacket> kamnet: when you say "better version", do you mean in terms of features or in terms of betterment of the codebase?
12:12:35  <petern> "new map array!" 😄
12:15:40  <kamnet> @pickpacket, I'm going off of dp's statement, " in  the context of compatibility problem is not as much in the format itself but the fact that a lot of the game behaviour got poorly specced and now can't be changed."
12:15:40  <kamnet> What would OpenTTD look like if those things could be changed?
12:16:04  <pickpacket> ah
12:17:39  <EmperorJake> we could focus all the effort on OpenLoco instead, give it things like bigger maps and path signals and it could replace OTTD
12:18:28  <JGR> There's nothing stopping people working on OpenLoco at the moment
12:18:58  <kamnet> (other than the time that they're currently giving to OpenTTD and other stuff)
12:20:03  <kamnet> Which might not be a bad idea either - how much of a jump in improvement would OpenLoco had if it had the group effort of OpenTTD devs for a year?
12:20:27  <JGR> Dev time is not really fungible like that
12:31:13  <andythenorth> “Functional team” is kinda true
12:31:14  <andythenorth> By results
12:31:27  <andythenorth> But it’s not particularly a team
12:31:32  <petern> NFT - Non-Functional Team
12:32:11  <andythenorth> Sell me some NFT
12:33:04  <andythenorth> Is it beer time?
12:33:21  *** reldred has joined #openttd
12:33:21  <reldred> Newgrf controllable farm paddocks. NewFarmTypes
12:33:24  <andythenorth> Half term holiday innit
12:33:34  <reldred> NFT’s in OpenTTD. Sky is falling.
12:34:01  <andythenorth> Paddocks is just a WASM function embedded in the tile
12:34:33  <andythenorth> Or a specific loop over tiles in a region…
12:34:37  *** urdh has quit IRC
12:34:51  <reldred> You’re just a WASM function
12:35:22  <andythenorth> Possibly yes
12:35:38  <andythenorth> High probability of that
12:35:41  <andythenorth> Just a sim
12:36:38  <andythenorth> Too early for beer then
12:37:30  <petern> Do it.
12:37:35  <petern> As long as you don't need to drive later.
12:41:10  *** urdh has joined #openttd
13:07:24  <FLHerne> kamnet: problem is that if you break grfs, you're not making a new OpenTTD version anymore so far as much of the player base cares
13:07:37  <FLHerne> and particularly the vocal dedicated part
13:08:34  <pickpacket> OpenLoco?
13:10:23  <FLHerne> Locomotion was Chris Sawyer's sequel to TTD
13:10:30  <andythenorth> BeerVariants?
13:10:32  <FLHerne> it had curves and things
13:10:44  <andythenorth> BeerVariant name callback?
13:10:47  <FLHerne> some people are doing the open-source-clone thing to it
13:11:05  <pickpacket> did it have anything that improved gameplay?
13:11:56  <petern> Nope.
13:13:04  <petern> Everything was dreary grey/brown, and usability of the nice features like bendy bridges and tunnels was bad.
13:14:57  <FLHerne> and the signals were somehow worse than the original
13:15:12  <FLHerne> building complex track layouts was a pain too
13:15:28  <FLHerne> isometric might not look pretty, but six track directions covers everything
13:16:03  <FLHerne> (four if you don't count the parallel ones)
13:20:50  <andythenorth> Maybe we should remake Dwarf Fortress instead of OpenTTD?
13:21:27  <andythenorth> Peter: 1138 Open Granny’s Garden?
13:21:52  <petern> They're probaby still selling that to schools...
13:22:21  <andythenorth> I was thinking of using a framework for it
13:22:37  <petern> Unity?
13:22:42  <andythenorth> GS
13:22:50  <andythenorth> Story pages
13:23:12  <petern> Oh no.
13:23:16  <andythenorth> Can we embed a WASM BeebEm?
13:28:48  <petern> You might hit your op code limit soon.
13:29:33  <andythenorth> Oh yes 😞
13:30:00  <petern> Silly gitea, giving me a 404 not found instead of unauthorised/login page.
13:32:02  <FLHerne> If wasm content interface, could the GRF API then be implemented in WASM instead of random hooks all through the code?
13:32:14  <FLHerne> that would be nice
13:33:29  <FLHerne> I wonder how caching would work
13:34:09  <FLHerne> with current grf API it's fairly obvious to statically determine which outputs depend on which inputs
13:34:43  <FLHerne> wasm would seem to make that quite a bit harder, because it's actual procedural code and not a bunch of switches
13:37:13  <petern> Good luck :p
13:37:51  <andythenorth> One API to rule them all
13:38:01  <andythenorth> Grf, GS, AI
13:38:10  <JGR> Using wasm doesn't by itself make complexity go away
13:39:15  <andythenorth> Does WASM provide anything beyond “forked Squirrel is very dead?”
13:39:27  <andythenorth> Plus it’s an interesting project…
13:40:08  <JGR> It's not too hard to analyse sprite chains/etc, it probably wouldn't be that difficult to do the same wasm
13:43:23  <FLHerne> JGR: yeah, I was just thinking it would concentrate the weird grf in one place
13:43:28  <FLHerne> *grf complexity
13:43:44  <JGR> I don't really see that it would
13:44:14  <JGR> In order for a mod to do anything useful it must interact with the rest of the game
13:44:44  <JGR> That interface has a large surface area
13:48:03  <Samu> my AI achilles' hills or whatever
13:48:07  <Samu> is large towns
13:49:37  <Samu> takes too much time to search for a suitable location for an airport, delaying execution of everything else, I end with vehicles 12 years awaiting in depot for a replacement
13:49:45  <FLHerne> Quite a bit of the current GRF code complexity is (a) interpreting action chains and (b) pointless legacy weirdness like all the different speed units
13:50:13  <FLHerne> for (a) wasm is at least as complex but some library devs' problem
13:53:58  <FLHerne> from what frosch was saying, I think the proposed wasm API would have a lot less role-specific surface than GRF
13:54:02  *** HerzogDeXtEr has joined #openttd
13:54:23  <FLHerne> rather than a hundred callbacks to
13:55:13  *** Wormnest has quit IRC
13:57:38  <FLHerne> *to determine what each vehicle looks like, give it an API to query the world state and have one "what sprites would you like to draw now" callback per train
13:58:24  <petern> Interpreting action chains is just an on-load thing, and it's done.
13:58:39  <FLHerne> evaluating action chains, then
14:00:30  <JGR> The GRF bitstream format is wacky and suboptimal, but there is a lot of existing infrastructure to read/write it
14:00:55  <JGR> Varaction2 evaluation is really not much code at all
14:01:24  <JGR> The main problem is again the strange bitstream format, and not enough operators
14:02:41  <JGR> Using wasm seems a big hammer to me
14:03:12  <andythenorth> I think it’s a question of what else could replace squirrel?
14:03:20  <andythenorth> Squirrel 3?
14:03:24  <andythenorth> Lua?
14:03:40  <andythenorth> Nobody ever embeds python
14:03:47  <JGR> Realistically squirrel/AI/GS is not that important
14:04:18  <JGR> NewGRF is though
14:04:42  <andythenorth> Self-fulfilling prophecy IMHO
14:04:53  *** WormnestAndroid has quit IRC
14:05:00  <kamnet> FLHerne: Oh, no doubt there would be some vocal users against that. I would hope that devs would not feel that they're being held hostage and prevented from exploring ideas which would be a positive benefit overall.
14:05:19  <andythenorth> Our script language is a very limited version with bad docs and poor discoverability
14:05:55  *** WormnestAndroid has joined #openttd
14:05:56  <andythenorth> And we forked it… because that’s what projects do 😛
14:07:55  <dP> GS is limited by design, if you make it useful it'll interfere with newgrfs
14:08:22  <andythenorth> Good
14:08:34  <andythenorth> That’s my intent 🦄
14:10:04  <andythenorth> Weird content API is weird 😛
14:10:12  <dP> at that point it's more reasonable to redo it all with wasm
14:10:34  <andythenorth> Horse has left the stable 🙂
14:10:54  <andythenorth> Wonder which grfs and GS will be lost on the way 🙃
14:11:01  <petern> All of them.
14:13:33  <petern> So I was digging steps down to create a mine and hit sculk sensors... scared.
14:17:25  <gebik> petern: /difficulty peaceful 😛
14:22:56  <andythenorth> Go North
14:25:19  *** sergbloim has quit IRC
14:25:42  *** Wormnest has joined #openttd
14:36:18  <petern> Fitting 3 new tyres...
14:36:52  <petern> Although I think the inner tubes are a bit fat now, forgot about them.
14:37:39  <petern> 20x1.75 tubes in 20x1.35 tyres, oops.
14:39:08  <andythenorth> What could go wrong?
14:39:36  <petern> More chance of pinching it I think? Dunno
14:40:28  <andythenorth> Buy the 1.35s then leave them on a shelf
14:40:42  <petern> £80 so no 🙂
14:40:52  <andythenorth> The 1.75s won’t pinch flat ubtil your 30 miles from home, in the rain
14:41:08  <andythenorth> Character building
14:41:23  <petern> Ooh, 55-95 psi instead of 30-65psi, that's gonna be hard.
14:41:35  <andythenorth> Every pebble
14:41:47  <petern> I've got 3 spare tubes, unfortunately all 1.75...
14:41:47  <andythenorth> The speed though
14:42:21  <andythenorth> Ok another beer, or design HEQS 2?
14:43:03  <andythenorth> Will probably finish HEQS 2 just in time for WASM to obsolete it
14:43:14  <petern> Yes
14:43:16  <andythenorth> NotGRF
14:43:35  <petern> Use WASM to inject pixels into the frame buffer.
14:43:41  <andythenorth> Ideal
14:43:49  <andythenorth> What happened to webGL?
14:46:27  <FLHerne> It's happened, everyone uses it
14:46:51  <FLHerne> soon to be obsoleted by WebGPU maybe
14:47:46  <andythenorth> Port OpenTTD
14:48:11  <andythenorth> Our 3D rendering will be much faster
14:59:08  *** WormnestAndroid has quit IRC
14:59:25  <Samu> what is {RAW_STRING}
14:59:39  *** WormnestAndroid has joined #openttd
15:09:56  <Samu> this is quite repetitive
15:09:58  <Samu> local rail_infrastructure_count = GSInfrastructure.GetInfrastructurePieceCount(company, GSInfrastructure.INFRASTRUCTURE_RAIL);
15:10:33  <bigyihsuan> is it even possible to compile ottd to wasm?
15:12:14  <LordAro> yup
15:12:22  <LordAro> that's what the preview builds are
15:17:18  *** nielsm has joined #openttd
15:24:14  <bigyihsuan> ~~ottd in the web browser when~~
15:25:31  <TallTyler> Already exists, but missing some features like actually saving to a useful place (browser storage currently, which is easy to wipe)
15:28:20  <Samu> hey TallTyler i found the cause of river gen stalls
15:28:36  <Samu> i updated the issue
15:41:20  *** Smedles_ has joined #openttd
15:45:35  *** Smedles has quit IRC
15:58:59  <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #10477: [Bug]: Build bridge window truncates speed and cost https://github.com/OpenTTD/OpenTTD/issues/10477
15:59:10  *** Smedles has joined #openttd
16:01:45  *** supermop_toil has joined #openttd
16:06:38  *** Smedles_ has quit IRC
16:08:42  <andythenorth> Should vehicle info text include railtype (etc)?
16:13:44  <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1075812234464329819/UniTrans_1990-09-11.png
16:13:44  <Xarick> too much information, and it's using too much cpu
16:14:57  <andythenorth> Has your script got a sleep in the main loop?
16:15:10  <glx[d]> Samu: {RAW_STRING} something broken in GSText, it has been disabled by <https://github.com/OpenTTD/OpenTTD/commit/c02aabf1b837ba15ae2e2abc68570f0bf63aa190> (but looks like a side effect), and if I re-enable them they are enclosed with quotes
16:16:11  *** TROILUS4 has joined #openttd
16:17:01  <Samu> no sleep
16:18:11  <glx[d]> it should sleep
16:18:40  <glx[d]> well there's a sleep after each command call
16:18:59  <Samu> maybe this information is not that important
16:19:40  <glx[d]> but you don't have to constantly update the league window if there's no change
16:19:52  <Samu> it's the number of stations that have a vehicle heading to it / total number of stations of that type
16:20:06  <Samu> then the %, for each vehicle type, for all 15 companies
16:20:13  *** TROILUS has quit IRC
16:20:13  *** TROILUS4 is now known as TROILUS
16:20:40  <glx[d]> expensive data it seems
16:21:00  <Samu> it has to create lists, and valuate
16:21:22  <Samu> lists + valuate make it fast, but uses much cpu
16:21:30  <Samu> cpu spikes
16:22:59  <Samu> local vehicle_list = GSVehicleList_Station(station); i suspect this one is costly
16:23:18  <Samu> and i iterate over all stations, 4 times per company
16:23:36  <Samu> i could perhaps make it iterate 1 per company with a bit of boring code
16:24:17  <Samu> let me show
16:24:25  <dP> it would be nice to have RAW_STRING working in GS
16:24:41  <glx[d]> it's supposed to work in the doc 🙂
16:24:43  <dP> it's kinda ridiculous that it's not able to display any string that's not in lang file
16:25:38  <Samu> https://gist.github.com/SamuXarick/2c859fb291261ad1c01b8cc910762d5d#file-infrastructure_efficiency-nut-L15-L26
16:26:13  <Samu> i repeat that code 4 times in the function, and then the whole function is iterated over all 15 companies
16:26:18  <Samu> :(
16:35:36  <glx[d]> ah I think I know why RAW_STRING are disabled, if GS messes up its parameters it crashes openttd
16:36:08  <glx[d]> string args handling is not very safe
16:44:56  *** keikoz has joined #openttd
16:56:16  <dP> yeah, openttd doesn't keep the argument type so can't distinguish string from integer later
16:56:55  <dP> to do the safety check
17:27:14  <Samu> got a weird crash
17:29:51  <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486
17:30:59  *** TROILUS has quit IRC
17:31:25  *** TROILUS has joined #openttd
17:38:48  <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486
17:41:43  *** Flygon has quit IRC
17:42:38  <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486
17:47:02  <Samu> i didn't wanna upload the script, it's not finished :(!
17:58:59  <Samu> https://gist.github.com/SamuXarick/2c859fb291261ad1c01b8cc910762d5d#file-infrastructure_efficiency-nut-L15-L60
17:59:13  <Samu> now it's slighly less spiky, but it's still slow
17:59:47  <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1075838921126182912/UniTrans_1990-12-28.png
18:00:33  <LordAro> Samu: uploading a GS to an issue is not the same as publishing it...
18:00:53  <LordAro> your only other option is to cut it down to a minimal example
18:06:45  <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486
18:09:07  <glx[d]> but the dumps seems to show it's not related to the GS itself, ai_debug_company is 0
18:09:44  <Samu> let me try here
18:11:25  <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486
18:12:32  <Samu> show_company = OWNER_DEITY (18 '\x12')
18:12:38  <Samu> it's the GS for me
18:13:53  <glx[d]> I just use the info available in dmp (it's not always correct)
18:15:13  <Samu> ah, it's iterating over all companies
18:15:37  <Samu> that's somewhat wrong indeed
18:15:52  <Samu> SelectValidDebugCompany
18:19:01  <Samu> i think it's initializing the debug window and selecting whatever comes first
18:19:16  <Samu> so it begins with AIs first
18:20:16  <Samu> then i guess the code that was meant to come after, was to point the GS error, which didn't execute, it already crashed openttd
18:20:39  <glx[d]> oh for GS to be valid it has to have an instance, but for AI ins

Powered by YARRSTE version: svn-trunk