IRC logs for #openttd on OFTC at 2025-07-19
โด go to previous day
00:38:09 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
02:58:26 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
03:22:12 *** Smedles has joined #openttd
04:07:15 *** WormnestAndroid has quit IRC (Remote host closed the connection)
04:07:19 *** WormnestAndroid has joined #openttd
04:07:25 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
04:07:41 *** WormnestAndroid has joined #openttd
04:43:20 <DorpsGek> - Update: Translations from eints (by translators)
07:41:41 <andythenorth> errors in coffee
07:41:46 <andythenorth> didn't make any yet
08:04:58 *** gelignite has joined #openttd
08:18:42 <peter1138[d]> ^ Some sort of built-in scaling, independent of wallclock settings, would be a reasonable thing to have.
08:19:27 <andythenorth> related: andythenorth doesn't understand how to scale industry behaviour for wallclock
08:19:46 <andythenorth> not sure it actually does that
08:20:47 <peter1138[d]> You don't need to scale industry behaviour for wallclock. That's the point.
08:22:40 <andythenorth> no but I need to scale the text string
08:22:52 <andythenorth> I think the current one might be lies
08:23:42 <peter1138[d]> If it was "3 months" before then "3 minutes" is correct now.
08:30:46 <peter1138[d]> Maybe #14321 would let you validate more clearly.
08:39:27 <andythenorth> I happen to be running that ๐
08:40:57 <locosage> peter1138[d]: is there no string code for time durations with wallclock?
08:41:18 <andythenorth> there's a PR for it I believe
08:41:30 <andythenorth> tick is still 30ms? Or was there some drama about that?
08:41:54 <locosage> requiring newgrfs to figure out game settings themselves feels very wrong
08:42:15 <locosage> andythenorth: nah, tich rate changed in v14
08:43:54 <andythenorth> ok so 27 production cycles is ~3 mins
08:51:23 <peter1138[d]> andythenorth: I never know because there's this habit of treating PRs as read-only things.
08:53:03 <andythenorth> Or only-not-read? ๐
08:53:17 <ahyangyi> Neither read or write
08:53:32 <ahyangyi> Pull requests pull themselves together
08:55:42 <andythenorth> there's a thing where an LLM will just do them now
08:55:48 <andythenorth> you just say what you want
08:55:52 <andythenorth> then it magically does it
08:55:58 <andythenorth> copilot or something
09:01:13 <andythenorth> maybe I can get it to do FIRS
09:07:09 <andythenorth> oh GPT 4o can actually write nml, that's new
09:07:13 <andythenorth> it's _mostly_ correct
09:07:54 <andythenorth> it's synactically confused by nml compile-time helper expressions, it has conflated them with the ability to call vars or methods at runtime.
09:09:41 <andythenorth> yeah ok so it can boilerplate all the blocks for features and actions
09:10:04 <andythenorth> but it's confabulating for the API to specific vars, methods
09:10:56 <andythenorth> that stuff is uncanny valley, because it looks like progress, but the human learns less, and then it's harder to figure out what the robot has made up
09:42:36 <peter1138[d]> What could Iron Horse do with an RGBA recolour?
09:43:04 <peter1138[d]> Or: should I yet again rethink things through.
09:43:33 <peter1138[d]> (Apparently LUTs or something)
09:57:25 *** Flygon has quit IRC (Remote host closed the connection)
09:57:54 <locosage> peter1138[d]: 16 mil variants! ๐คญ
10:02:20 <peter1138[d]> Oof, that seems like it would cause problems...
10:07:19 <andythenorth> peter1138[d]: Dunno ๐
10:07:38 <andythenorth> Leave it to the player to choose?
10:14:33 *** dh1 has quit IRC (Quit: My Mac has gone to sleep. ZZZzzzโฆ)
10:20:38 <peter1138[d]> andythenorth: I was thinking about the custom remaps you use.
10:20:48 <peter1138[d]> "Not quite the right shade"
10:41:04 <andythenorth> peter1138[d]: interesting point
10:41:31 <andythenorth> might address that some of the useful colours are in animated ranges
10:41:53 <andythenorth> and that I've used some of the ranges for compile-time recolouring
10:42:28 <andythenorth> all of this range is gone in Horse
10:42:37 <andythenorth> leaves limited reds and yellows ๐
10:43:42 <andythenorth> more directly though, maybe we could have presets so that CC orange and CC cream don't look awful ๐
10:46:39 <peter1138[d]> So in this branch, RGBA remaps are simply extensions to palette maps.
10:47:12 <peter1138[d]> So you provide the 256 palette entries, then you provide another 256 RGBA entries.
10:47:26 <peter1138[d]> NML probably needs to be changed, I guess.
10:48:19 <peter1138[d]> (Or 16 entries I suppose, if you're doing a tile highlight remap.)
10:55:34 <peter1138[d]> Do Americans pronounce hazlenuts as hazlenoots?
10:56:44 <peter1138[d]> Hazelnuts / hazelnoots.
11:08:17 <andythenorth> pingu FIRS economy
11:08:17 *** tokai|noir has joined #openttd
11:08:17 *** ChanServ sets mode: +v tokai|noir
11:08:40 <andythenorth> Produces: noot noot
11:13:06 *** tokai has quit IRC (Ping timeout: 480 seconds)
11:13:36 <andythenorth> should I use all 64 cargo slots in FIRS Steeltown?
11:13:56 <andythenorth> it means I'll have to stop saying "but you don't even need all 64" to other people
11:15:40 <peter1138[d]> You can start telling everyone that 64 is way too low and there's no reason for it.
11:16:16 <andythenorth> as long as I have something to talk about, I'm happy
11:16:23 <andythenorth> the actual words aren't that significant
11:16:37 <_zephyris> Would you like to see my LUT playground?
11:16:45 <belajalilija> Use 64 and gradually start complaining about how limiting that is until the devs let us use more
11:16:49 <andythenorth> does it have swings and a witches hat roundabout?
11:16:56 <peter1138[d]> Yes, we'll just "let" you use more.
11:17:15 <peter1138[d]> There's no technical reason for it, the developers just don't want you to do it.
11:17:48 <andythenorth> we can't more than 64, as it's not possible to have 2 char abbreviations for them
11:17:51 <andythenorth> so that's a hard limit
11:18:02 <andythenorth> let's have 64 company colours instead
11:18:13 <_zephyris> Main focus was making nice 32bpp LUTs from 8bpp index LUTs though.
11:18:29 <andythenorth> LUTs always sound so fancy
11:18:46 <peter1138[d]> A palette recolour is a LUT.
11:18:58 <andythenorth> Horse randomises wagons using LUTs
11:19:46 <andythenorth> index 1: "noot noot"
11:20:14 <andythenorth> print(random.choice(LUT))
11:21:33 <andythenorth> ```import random
11:21:33 <andythenorth> LUT = ["noot", "noot noot"]
11:21:33 <andythenorth> print(random.choice(LUT))
11:21:39 <andythenorth> if anyone actually wants it
11:22:51 <andythenorth> needs randomised ansii shell colours
11:37:40 <peter1138[d]> It's a scalable font of the BBC micro font... but not monospace ๐ฎ
11:51:34 *** SigHunter has joined #openttd
12:07:03 *** rito12_51026 has joined #openttd
12:07:04 <rito12_51026> andythenorth: Couldn't you use 4 char abbreviations instead?
12:07:55 <peter1138[d]> Only if we update the spec first.
12:13:24 <andythenorth> should we have a committee meeting?
12:15:42 <andythenorth> I foresee someone on the internet naming me as a vandal
12:15:53 <peter1138[d]> I see the railtypes thing settled down.
12:16:00 <andythenorth> probably into a nothing?
12:16:57 <ahyangyi> peter1138[d]: Is there such a spec? The cargo abbreviations are not always 2 characters for all languages.
12:17:34 <andythenorth> ` It should be a two-letter abbreviation prefixed by the special character 0E to switch to the microscopic font.`
12:17:47 <andythenorth> `should` isn't as imperative as `must` but is quite imperative
12:17:53 <ahyangyi> Not all languages use the microscopic font anyways
12:17:57 <andythenorth> the inclusion of the 0E formatter is lolz though
12:19:07 <peter1138[d]> It's not even needed / desirable.
12:19:47 <_glx_> ideally strings should not include any colour/size as first char
12:20:31 <peter1138[d]> ahyangyi: It's "microscopic" because it's the small font, which is intended to be smaller than the regular font. Of course, if you configured it to not be smaller that's "your own fault"
12:21:45 <peter1138[d]> Just make it an abbreviation, don't worry about 2 letters, imho.
12:22:18 <peter1138[d]> _glx_: I have patches but I throw them away as they get out of date ... :p
12:22:29 <peter1138[d]> I can do it again though, if we want it done.
12:23:14 <_glx_> IIRC it was somehow decided to be for after 15
12:31:06 *** SigHunter has quit IRC (Ping timeout: 480 seconds)
12:32:02 <peter1138[d]> There was going to be a new translator tool as well ๐
12:32:16 <peter1138[d]> Also, out-of-GRF translations.
12:32:32 <peter1138[d]> Instead I just keep rebasing things ๐ฎ
12:37:49 *** wm_ is now known as MinchinWeb
12:42:34 <asasnat> peter1138[d]: I thought that was the TempleOS font for a second
12:43:06 <asasnat> though I'm not sure if that system uses a custom font or just uses whatever the BIOS gives it
12:47:52 <peter1138[d]> Pretty sure the TempleOS stole the font.
12:48:19 <peter1138[d]> It is the Acorn font.
12:52:47 <andythenorth> peter1138[d]: I am at FIRS 5 Beta 23 or something
12:53:02 <andythenorth> "Change: total rework"
12:53:54 <peter1138[d]> Some minor differences from the real font.
12:54:22 <peter1138[d]> Or MODE 2, as andy prefers.
12:58:02 <peter1138[d]> Funny how obscure Acorn is, given the CPUs they designed are in... well, everything.
13:21:02 <ahyangyi> Much less obscure than Squirrel
13:21:42 <ahyangyi> peter1138[d]: No, my point is that if you use, say, Chinese or Japanese, the bundled microscopic font does nothing about it
13:22:01 <ahyangyi> And the abbreviation was never "two characters" to begin with
13:22:15 <peter1138[d]> It was, to begin with.
13:22:30 <ahyangyi> when there wasn't any non-Latin languages around ๐
13:23:06 <peter1138[d]> Sure. Changing later doesn't make it "to begin with" ๐
13:47:20 *** gelignite has joined #openttd
13:49:48 *** lobster has joined #openttd
14:16:50 <peter1138[d]> zBase but in 8bpp 1x zoom.
14:17:30 <peter1138[d]> Spot the difference?
14:24:11 <peter1138[d]> Anyway it's mid-afteroon.
14:25:48 <peter1138[d]> Has anyone tested #14357 in anger?
14:29:51 <talltyler> Question is, what does it look like in 32bpp 1x zoom?
14:31:23 <peter1138[d]> It's not worth trying ๐
14:31:55 <talltyler> Maybe I am misunderstanding what youโre testing ๐
14:32:45 <talltyler> I definitely spot the difference but am not sure if itโs due to palette or reduced resolution.
14:33:37 <peter1138[d]> Oh there are a differences, just not much.
14:34:16 <peter1138[d]> Basically: "forcing 32bpp 4x zoom graphics to 8bpp 1x zoom doesn't make them fit in with native 8bpp 1x zoom"
14:35:06 <peter1138[d]> (A couple of weeks ago someone was requesting an option to force 32bpp sprites to be converted 8bpp, to make things match)
14:36:13 <talltyler> Of course they donโt fit in ๐
14:36:56 <talltyler> You canโt make pixel art by just downscaling an image. Many have tried and failed.
14:38:03 <talltyler> And there are plenty of 32bpp 1x zoom graphics that fit in perfectly (JP+ stuff). I only know theyโre 32bpp because the artists have mentioned it. ๐
14:42:02 <talltyler> As far as 14357, I wonder if audigex is interested in testing with BRTrains, there are some electro-diesels (and presumably multi-voltage stuff) in there. ๐
14:42:41 <talltyler> Actually, reading closer, this is just for multi-voltage, right?
14:45:24 <peter1138[d]> I would imaginge it's for allowing multiple railtypes on a vehicle.
14:45:51 <peter1138[d]> "voltage" doesn't exist as far as railtypes are concerned.
14:58:02 <talltyler> Multiple powered railtypes, though, as opposed to RAIL and ELRL
14:58:29 <peter1138[d]> Oops, forgot to handle the regression tests when I did the valid history stuff.
14:59:37 <talltyler> I still need to test callback-based industries with your industry cargo graph PR ๐
15:00:49 <peter1138[d]> PIRS does stockpiling, don't know others.
15:06:09 <talltyler> IOTC does stockpiling, and would probably benefit from graphs because if you import too much negative-value cargo without exporting the profitable product, you can actually bankrupt yourself.
15:09:36 *** Wormnest has joined #openttd
15:20:19 <peter1138[d]> Spam glorious spam.
15:33:08 <michi_cc> talltyler: It's for multi-anything. Voltage, signalling systems, gauge, whatever. It should reduce the need for "combinatorial" railtypes.
15:38:05 <peter1138[d]> I guess authors can't really test it without an NML patch.
15:39:18 <talltyler> That would probably help.
15:43:02 <michi_cc> Additionally, #9953 is just a bit required for it because otherwise NewGRFs can easily make anything drive on anything. Unfortunately, any change in that area isn't possible without breaking some games unless a backwards compatible mode is made (think invisible leading engine and stuff).
15:45:45 <peter1138[d]> Is "NewGRFs can easily make anything drive on anything" a problem? Or do you mean accidentally?
15:47:01 <michi_cc> Not accidentally. But without #9953 compatible has absolutely no meaning at all. As soon as something is powered, that's it. Your rail waggon can now also be a monorail wagon etc.
15:48:39 <michi_cc> It's a valid opinion that players should be able to do whatever they want, so don't care is an option.
15:52:50 <peter1138[d]> I was more thinking "if the NewGRF makes it that way, then it should be "
15:52:58 <peter1138[d]> Rathern than "if the player makes it that way..."
15:56:28 <peter1138[d]> if "Invisible leading engine" is used to bypass compatibility that's... well, exploiting a bug?
16:00:29 <michi_cc> Well, the thing is that if an engine is made belong to e.g. rail and monorail, anything that you can attach to it (i.e. that can be bought in a rail or monorail depot) will run on both railtypes right now.
16:02:53 <peter1138[d]> `set enable_broken_railtype_compatibility_test true`
16:02:54 <michi_cc> It also makes railtypes of wagons basically irrelevant, even without multi-railtype engines, because compatible doesn't mean anything.
16:03:35 <michi_cc> That would be the " backwards compatible mode" ๐
16:04:00 <peter1138[d]> If there's no backwards compat mode, is the save recoverable or are trains stuck?
16:04:31 <peter1138[d]> (Fixable only by crashing other trains into them...)
16:06:28 <michi_cc> Not sure, I haven't fully tested the code from frosch, but I think there are some combination (when NewGRFs are in use) that can result in fully blocked trains. And even if the train isn't totally bricked (because the compatible mask isn't recalculated every tick), it will still unexpectedly break routes.
16:08:58 <andythenorth> did I not test 14357 yet?
16:09:07 <andythenorth> sorry, I thought I had, and that I had an nml patch locally
16:09:16 <andythenorth> both seem to be hallucinations
16:10:30 <peter1138[d]> Really has turned into an AI.
16:22:39 <andythenorth> peter1138[d]: internal LLM
16:24:29 <belajalilija> Has there been any more thought on the default AI idea?
16:29:40 <peter1138[d]> Have you thought about it?
16:32:07 <andythenorth> Would you like the answer GPT gave?
16:32:51 <andythenorth> no default AI then
16:33:21 <belajalilija> peter1138[d]: Iโm not a code person, Iโm just aware of how it might potentially help newer players
16:33:27 <talltyler> `Maintenance` is the only answer I agree with in that list. GPT is just repeating words other people have said (not necessarily about OpenTTD) ๐
16:34:02 <peter1138[d]> andythenorth: No.
16:34:48 <belajalilija> In the help channel and the main channel you get the same basic signal question every other day
16:35:01 <andythenorth> talltyler: funny how that goes
16:35:08 <belajalilija> Theyโre a large portion of what people struggle with
16:35:40 <belajalilija> Also even when people are not asking for help for that issue i regularly see poor signalling choices in the screenshots they send
16:36:17 <talltyler> What if we let players load the title game save instead?
16:36:27 <talltyler> (i.e., just included it as a savegame)
16:36:38 *** Smedles has joined #openttd
16:37:04 <tabytac> Honestly thats a pretty elegent solution
16:37:05 <belajalilija> That might help but i understand that newer ones are pretty built up and may be overwhelming
16:37:24 <belajalilija> But it isnโt a bad idea
16:37:24 <tabytac> shame it would mean that people get sent to the Toyland realm :P
16:37:38 <talltyler> Or alternatively, built a "tutorial" savegame that was just a simple working network, showing one of everything. This would not change based on the current title game.
16:37:46 <tabytac> people are sometimes asking how to load the titlegame save anyways
16:37:56 <talltyler> It would be nice to have signs explaining why the network is like that, but that can't (currently) be translated.
16:38:26 <belajalilija> I did a tutorial save game, perhaps i should do it again
16:39:00 <belajalilija> Iโm sure we can get some people to then alter the signs for other languages
16:39:48 <belajalilija> Is it that single cfg file that contains all settings?
16:39:50 <tabytac> talltyler: This could nicely tie into the idea for revamping the "Create new game" button which merges the heightmap scenario and newgame stuff into one
16:40:37 <tabytac> Could even take in more inspiration from Factorio with how they handle the tutorial world
16:40:45 <talltyler> The cfg files have nothing to do with translations ๐
16:41:19 <belajalilija> If Iโm making a tutorial game you want it on vanilla settings
16:42:05 <talltyler> Still not sure what you mean. Settings are stored in the savegame (except for client settings, of course)
16:42:13 <talltyler> But a new player will already have default settings.
16:42:52 <peter1138[d]> They mean they want to make a simple tutorial game, using the default settings.
16:43:20 <talltyler> tabytac: Oh, I really like this idea. Give players a savegame/scenario (they're the same thing, just different file extensions) with some pre-existing infrastructure, and ask them to expand upon it.
16:43:53 <talltyler> Oh, belajalilija if you want to make a new game using default settings there's a Reset to Defaults button in the settings window ๐
16:44:18 <peter1138[d]> I imagine they want to keep their settings around afterwards ๐
16:44:31 <tabytac> You can also just make a empty openttd.cfg file in the directory of your exe file to make some new config files
16:44:35 <tabytac> that you cna just delete later
16:47:04 <belajalilija> peter1138[d]: Yeah, is it all in the cfg?
16:47:12 <talltyler> I never played any of the TTO/TTD games, but wasn't there a scenario that did this? MegaRail perhaps?
16:47:17 <peter1138[d]> Are you settings all in the settings file? Well...
16:47:29 <kale91> there was a tutorial in the original I remember
16:47:37 <peter1138[d]> There are multiple settings files, private, secret, hotkeys, favouriates, etc.
16:47:40 <tabytac> talltyler: Yeah from what ive seen in the factorio community specifically they do a very good job of getting new players up to speed with how some of the game's less intuative features work. That idea could translate well into OpenTTD too
16:47:59 <tabytac> never played the them myself as they came out after i started
16:48:02 <peter1138[d]> talltyler: Original TTD makes it very hard to start without a scenario.
16:49:05 <peter1138[d]> The "New Game" button takes you to this list.
16:49:29 <andythenorth> TTD had some sort of scripted tutorial
16:49:37 <andythenorth> there might be a dosbox wasm version online
16:49:42 <peter1138[d]> Though they are just pre-made worlds, not actually filled scenarios, I think.
16:49:49 <belajalilija> peter1138[d]: I mean, settings arenโt even all under the name settings, itโs a fair question
16:50:15 <tabytac> belajalilija: thats changing in V15 tho atleast
16:51:46 <peter1138[d]> The snazzy tutorail window. The colours look familiar -- like our help window ๐
16:52:24 <talltyler> Somebody updated the Scotland scenario, it looks really nice ๐
16:53:46 <andythenorth> wonder how the tutorial was implemented
16:54:00 <andythenorth> it appears to use a recording of a human moving the mouse
17:06:02 <belajalilija> peter1138[d]: Megarail and Highlands 1956 were both filled to some degree, Megarail even came with an extensive player owned network
17:07:00 <peter1138[d]> Yeah those were listed in the "Play Scenario" section though, not the "New Game" list.
17:07:29 <belajalilija> Were there more there?
17:07:40 <belajalilija> Your scenario list looks pretty sparse
17:08:05 <peter1138[d]> That's the "New Game" list.
17:08:07 <belajalilija> Discord channel #simple terminus station with passing
17:08:25 <belajalilija> Thatโs every scenario the game had there
17:11:39 <_glx_> there's a tutorial on bananas
17:38:21 *** gelignite has quit IRC (Read error: Connection reset by peer)
17:39:00 *** gelignite has joined #openttd
17:44:27 <rito12_51026> talltyler: Why can't it be a gamescript with popup messages
17:46:08 <talltyler> Game Scripts are less stable, and require more testing if we change anything
17:49:19 <peter1138[d]> There's an entire part of the GameScript API designed only for creating tutorials, and it caused no end of headaches back before we rebuild the build system.
17:49:50 <peter1138[d]> There is one ancient tutorial that I know of :p
17:50:55 <peter1138[d]> Huh, I should've copied the pictures ๐
17:51:25 <rito12_51026> talltyler: Does it also apply to NewGRF?
17:51:35 <talltyler> GRFs are much safer.
17:51:53 <peter1138[d]> GS should be stable, to be fair.
17:52:40 <talltyler> I guess that's not really the word I was looking for.
17:55:13 <peter1138[d]> You mean stable like Debian Stable.
17:55:26 <talltyler> I don't know what I meant. ๐
17:55:57 <talltyler> Maybe just "I had a frustrating time writing a Game Script and don't want to touch it anymore." ๐
18:00:37 <peter1138[d]> That's why the answer to "wouldn't it be nice if we had this" is "yes, we look forward to your contribution" ๐
18:01:05 <peter1138[d]> (And yes, I do notice that people say "we" when they'd like something...)
18:46:07 <peter1138[d]> Well, that's not right.
18:46:13 <peter1138[d]> The parameter should be on the f50 string.
18:46:43 <peter1138[d]> > STR_ERROR_GENERIC_OBJECT_IN_THE_WAY :{WHITE}{STRING} in the way
18:47:11 <peter1138[d]> > STR_ERROR_CAN_T_BUILD_HERE :{WHITE}Can't build {STRING} here...
18:47:21 <peter1138[d]> Okay, they both need parameters.
18:48:43 <peter1138[d]> In nromal gameplay, it doesn't include a string in the first part.
18:52:32 <peter1138[d]> Okay, it's there...
19:10:21 <peter1138[d]> That error message is produced from the command. `CcBuildIndustry` then replaces that error with a different error message, and that replacement is what is at fault.
19:10:36 <peter1138[d]> It uses `GetEncodedString(result.GetErrorMessage())`
19:11:02 <_glx_> old abusing of global string params ?
19:11:08 <peter1138[d]> Which will make a new error message from just the string id. The original error message has already been consumed by the first error window.
19:11:29 <peter1138[d]> Why does `CcBuildIndustry()` feel the need to open a different error window though?
19:11:51 <peter1138[d]> The command system does that automatically...
19:12:13 <peter1138[d]> > (svn r19423) -Codechange: Move error message reporting of industry build in SE to a callback.
19:12:55 <peter1138[d]> I wonder if SE did not get regular error popups at some point?
19:13:04 <peter1138[d]> It does at the moment.
19:15:39 <peter1138[d]> OR: Do we instantly place the original error message just so that we can have it say "Can't build {...} here..." instead of "Can't construct this industry type here..."
19:27:06 <peter1138[d]> Fixing bugs by just removing code...
19:27:10 <peter1138[d]> Let's do the rest ๐
20:00:38 *** ChanServ sets mode: +v tokai
20:07:36 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
20:11:10 *** dh1 has quit IRC (Quit: My Mac has gone to sleep. ZZZzzzโฆ)
20:17:48 *** mistertrain has joined #openttd
20:17:59 *** mistertrain has quit IRC ()
20:56:56 *** dh1 has quit IRC (Ping timeout: 480 seconds)
20:57:21 *** Smedles has joined #openttd
21:53:42 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:07:22 *** NGC3982 has joined #openttd
22:08:37 <MinchinWeb> Back in the day I worked with Zuu to write a tutorial for OpenTTD. I was a playable scenario with a custom GS. But this was ~10 years ago, so everything we wanted it to do, we had to ask for the features to be added to OpenTTD.
22:08:52 <MinchinWeb> I think that's how the StoryBook system came about
22:09:07 <MinchinWeb> (and maybe even GameScripts...)
22:09:13 <peter1138[d]> > signal SIGFPE: integer divide by zero
22:09:18 <_glx_> this tutorial still works (surprisingly)
22:09:35 <peter1138[d]> Asking for features is not a bad thing.
22:10:13 <MinchinWeb> No, the asking was fine, and no one ever complained. It just made the project take forever
22:10:38 <MinchinWeb> and it's pretty labour intensive to write the conditional code with all the edge cases to teach a player how to do stuff.
22:10:54 <MinchinWeb> I think we looked at road vehicles and ships?
22:11:11 <_glx_> IIRC it does planes too
22:11:16 <MinchinWeb> Trains and signaling would have been great to do, but a bit of a beast to program
22:11:30 <MinchinWeb> it might do planes...I haven't loaded it in like 10 years
22:11:52 <MinchinWeb> anyway, off to bed for me
22:12:13 <_glx_> I can imagine the pain for signaling (needing to analyse what the user built)
22:12:41 <MinchinWeb> yeah, after you figure out how to explain it well
22:14:00 <_glx_> well GS can build stuff on behalf of player to show
22:15:09 <_glx_> but player may have totally messed up the map
22:18:46 <peter1138[d]> For a tutorial function you could just use a presaved scenario...
22:20:47 *** MinchinWeb has quit IRC (Ping timeout: 480 seconds)
22:22:55 <_glx_> but nothing prevents player to do unexpected things
22:26:45 *** gelignite is now known as Guest22289
22:26:45 *** Guest22289 has quit IRC (Read error: Connection reset by peer)
22:26:48 *** gelignite has joined #openttd
22:31:23 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:40:44 *** dh1 has quit IRC (Quit: My Mac has gone to sleep. ZZZzzzโฆ)
23:25:32 *** dh1 has quit IRC (Quit: My Mac has gone to sleep. ZZZzzzโฆ)
23:38:48 *** dh1 has quit IRC (Ping timeout: 480 seconds)
continue to next day โต