IRC logs for #openttd on OFTC at 2024-06-23
β΄ go to previous day
02:09:45 *** Wormnest has quit IRC (Quit: Leaving)
02:50:02 *** gnu_jj_ has joined #openttd
02:53:32 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
03:04:55 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:42:11 <DorpsGek> - Update: Translations from eints (by translators)
06:49:01 <truebrain> Eddi|zuHause: Tollbrain! You have to pay me to pass!
07:14:34 <peter1139> Now if you want to change it you'll have to revert first...
07:16:35 <truebrain> NOOOOoooooooooooooooooooo
07:22:53 <truebrain> no, did not see. And cool π
07:23:08 <andythenorth> trying to teach GPT to identify 'pipes' in this spritesheet
07:23:34 <andythenorth> it's been talking to itself for about 7 minutes straight now
07:24:43 <truebrain> I just like these blog posts π
07:27:33 <truebrain> I am also still amazed about the level of detail in that game; haven't got the chance to play it, but it does look amazingly detailed π
07:37:04 <michi_cc> It absolutely is, and compared to many other games from the genre it is surpisingly realistic. Like for example you look at the the in-game recipe for making tofu, and wonder why the hell does it need limestone? And then you google and find out that calcium sulphate from limestone is actually used to coagulate the tofu and quite essential π
07:37:35 <truebrain> lol, the creator sure did some research π
07:37:42 <michi_cc> And, depending on your preferences, I really like that there is no first-person stuff or avatars or any other anying things.
07:38:49 <michi_cc> So yes: if you like factory games, COI is definitely something to check out.
07:38:55 <truebrain> the only reason I actually haven't played it, is because it has no multiplayer
07:39:13 <truebrain> and I enjoy these kind of games a lot more with someone else
07:39:51 <truebrain> but we all know how difficult multiplayer is, so I don't blame anyone for not having it π
07:41:31 <michi_cc> The could probably do it, as they use a lock-step simulation (like we do), but at this point it is definitely a game design decision. Multiplayer and singleplayer game balance rarely align.
07:42:01 <truebrain> did Factorio do any balancing around MP vs SP? π
07:42:51 <michi_cc> Probably not, but I don't really play Factorio as I want to manage, not run around with an avatar.
07:43:10 <truebrain> I was more pointing out that I don't care about balance in MP vs SP π
07:43:21 <truebrain> I wasn't comparing games π
07:43:28 <michi_cc> Okay, but other people might π
07:43:57 <truebrain> I am thinking of the last time I played a single-player game .. that has been a while
07:44:01 <truebrain> most likely a clicker of some sorts
07:45:30 <michi_cc> Anyway, apparently other people actually have read our blogs. I chatted a bit with the COI lead dev about train signals and pathfinding and stuff, and you can see a quote from that in the dev-chat π
07:46:00 <truebrain> always nice, if we all read each others blog posts π
07:46:31 <michi_cc> So I guess we have to do that again in the future? π€£
07:46:48 <truebrain> what new features will 15.0 have?
07:47:15 <michi_cc> That very much depends on the release window π€£
07:47:22 <truebrain> 2030 works for you? π
07:47:58 <johnfranklin[d]> Even if I purchased these "big seemingly-interesting games", I would left them to dust and only play openttd π
07:48:36 <michi_cc> Anyway, let me vanish for a second, I should have been getting breakfast instead of chatting here π
07:50:47 <johnfranklin[d]> And part of them are "open and exit"
07:54:13 *** Adasds1232w has joined #openttd
07:54:55 *** Adasds1232w has quit IRC ()
07:58:59 *** XiaoJi_Game has joined #openttd
08:00:11 *** XiaoJi_Game has quit IRC ()
08:08:18 <pickpacket> there will be no consensus
08:08:56 <pickpacket> but in the beginning the suggestions were all really wild
08:09:45 <truebrain> just be careful you don't design a stock market π
08:16:14 <pickpacket> exactly. That's where the wild suggestions amounted to, mostly
08:17:39 <pickpacket> lots of idea about dividends, and at least one suggested there should be an actual stock market
08:17:59 <truebrain> after a while you will find out the game is actually better off without any of this crap π
08:18:08 <truebrain> in my opinion, it just doesn't work for a game like this
08:18:42 <pickpacket> in general it is, yes. Only very specific circumstances make it worthwhile
08:19:10 <pickpacket> One think that at least I taken away from the discussion is that there is an argument for having a lending system, though. Where a company can lend money from another and pay interest on the loan annually
08:19:24 <pickpacket> an alternative to the kind uncle thing
08:19:37 <pickpacket> it would be hard to implement, though
08:19:44 <pickpacket> or at least I assume it would be
08:20:05 <truebrain> we already have a lending system
08:20:20 <pickpacket> yes, but only from the bank
08:20:34 <truebrain> which, for a game like this, is in my opinion more than sufficient
08:21:10 <pickpacket> I agree :) But then I love being the kind uncle and feel no need to have a return on investment in other companies
08:22:53 <truebrain> it was a fun little idea back in 1995 .. but in these days, it is just a method to abuse game mechanics π¦
08:28:36 <pickpacket> the same could be said for exclusive transport rights or road reconstruction ;)
08:31:21 <andythenorth> Stock market could be done mostly in GS
08:31:35 <andythenorth> Apart from company merge
08:32:04 <andythenorth> Let the people who want it write their ownβ¦
08:39:04 <truebrain> pickpacket: that is actually different, exclusive transport rights. As that is competitive. Although the implementation could use work, for sure
08:39:23 <truebrain> but lending money to another player is "cooperative", that is then abused to be competitive
08:39:32 <truebrain> which is the actual issue, tbh
08:41:39 <pickpacket> truebrain: how can it be abused? π€ The image in my head is that a player lays out an open request for a loan and the first other company to takes the offer gets it, with a fixed rate on the loan and repaid buy the lender at their discretion. Bank loan paid first, then other loans in the order they were taken
08:41:59 <truebrain> So what value does it add to the game?
08:42:07 <truebrain> the bank already fills in that role
08:42:16 <pickpacket> the bank has a limit on the loan :)
08:42:27 <truebrain> which is configurable, so .. yeah.
08:42:57 <truebrain> it all comes down to game theory, in my mind. It states that a game with a single currency can never have an effective economy. If you have enough, it becomes irrelevant. If you are short, you are having a bad game experience π
08:43:06 <pickpacket> if the kind uncle can fill a role then this could also fill a role. But you'd have to ask those who have wished for it :D
08:43:37 <pickpacket> yeah. I think there's three states you can be in, economically
08:44:04 <pickpacket> 1) you make an early and good profit and money soon becomes something you don't have to think about
08:45:05 <pickpacket> 2) you need a larger starting sum because you're not experienced enough to build a profitable business quickly
08:45:39 <pickpacket> 3) it doesn't really matter how much money you get because your business will never be profitable and any injection of cash is just artificial breathing
08:46:03 <truebrain> the people in 2) learn how to do either 1) or 3) really quickly
08:46:08 <truebrain> so I would argue there are only 2 groups π
08:47:35 <truebrain> anyway, in the early days of OpenTTD people attempted to address this economy inbalance. They never succeeded, as far as I am aware. Most were focused still on a single resource, which, at least game theory tells me, can never succeed
08:48:03 <truebrain> this is why I joked from time to time we need things like: steel for rails, etc etc. But than it is a totally different game π
08:52:55 *** HerzogDeXtEr has joined #openttd
10:20:57 *** nielsm has quit IRC (Ping timeout: 480 seconds)
10:22:34 <michi_cc> Stock market stuff made some sense in Railroad Tycoon, but there you played as an actual character that (partly) owned the company, and not the company itself.
10:41:32 <Eddi|zuHause> the stock market discussion is effectively like a perpetuum mobile discussion. science tells them "this is impossible", and yet they're all having ideas how it can still work.
10:41:45 <Eddi|zuHause> science AND experience...
11:41:29 <pickpacket> Eddi|zuHause: the problem I see with it is that -- just as with so many other things -- a lot of people can agree that they want *something* but nobody can agree on *what* that something would be, or *why* they want something at all
11:42:33 <pickpacket> The idea I threw in the other day is hardcore competitive but non-exploitable. Most people don't like that.
11:43:15 <pickpacket> All other ideas I've seen are either highly exploitable, turn the game into something else, or both.
11:45:47 <pickpacket> I'm getting flashbacks to the change I made to the exclusive transport rights, where *all* opposition was against the thing existing at all in any form because it's "mean" π
11:46:57 <pickpacket> I don't see a reason for any kind of shares system that doesn't add something more or less radical to gameplay. The old one added absolute nothing but exploitability
11:54:10 <Eddi|zuHause> that pretty much sums it up
11:54:56 <Eddi|zuHause> in all railroad tycoon-mimic games i mostly ignore the stock market feature, it gives me no joy whatsoever.
13:06:07 <pickpacket> where's a good introduction to GS?
13:06:32 <pickpacket> gimme a sec and I'll check the wiki first π€ͺ
13:13:23 <andythenorth> truebrain: The other currency is tiles. But we made map sizes that devalued that currency.
13:14:38 <andythenorth> pickpacket: There isnβt one, but starting with Zuuβs MinimalGS is a trodden path
13:20:37 <andythenorth> Thereβs no charts in storybook, and the UI can run a bit slow in GS, but with a few API extensions stocks and shares would work
13:21:28 <andythenorth> I canβt see company merging in the NoGo API docs, but thatβs pretty much all that would be needed, rest GS can do I think
14:07:53 <Eddi|zuHause> that's the bankrupcy merger, i presume?
14:12:48 <pickpacket> I'd like to get info on crashed vehicles. Specifically which company owned it and how many died. However I only see an event for when ones own vehicles crash
14:13:16 <Eddi|zuHause> that should be a news message?
14:14:29 <pickpacket> I can't find an event for a news message. Plus that doesn't include which company owned it
14:15:18 <Eddi|zuHause> i don't know how that is for scripts/ais, but the news messages have a link to a vehicle, which you can then look up the owner of
14:15:25 <Eddi|zuHause> until that vehicle is cleared, of course.
14:16:18 <Eddi|zuHause> possibly it only has a link to a location
14:24:55 <pickpacket> may not be all news types, I guess. But there's no event specifically for news
14:29:29 <pickpacket> huh. Among the news types there is "accident" and "accident_other". What's that about?
14:30:43 <pickpacket> oh. Accident_other is when it happens to another company
14:31:14 <andythenorth> Lot of filtering needed in the event stream π
14:31:48 <andythenorth> Thereβs nothing like pub sub built in, but you can sort of fake it
14:33:01 <andythenorth> I think I wrote a thing that registers lists of functions against GS event types
14:38:34 *** Smedles_ has joined #openttd
14:40:52 <pickpacket> I'm talking about two different things. First if there's an AIEvent for when someone else's vehicle crashes or when a general piece of news is published (can't find either), second is a look at how the news are produced in the code
14:42:12 *** Smedles has quit IRC (Ping timeout: 480 seconds)
14:55:43 <_glx_> usually an AI only care for its own crashed vehicles, and it only really needs to vehicle id
14:56:14 <pickpacket> An AI, yes. But a GS π
14:57:56 <_glx_> GSEvent has the same data
15:06:36 <pickpacket> yes. "Event Vehicle Crash, indicating a vehicle of yours is crashed."
15:07:15 <pickpacket> no event for when another crashes, or how many died
15:09:14 <pickpacket> I think I want to do three different things:
15:09:31 <pickpacket> 1) Add info about which company owned a crashed vehicle to the news popup
15:09:50 <pickpacket> 2) Add info about cargo in the vehicle crash event
15:10:16 <pickpacket> 3) Add a similar "vehicle crash other" event for when a vehicle belonging to another company crashes
15:10:29 <andythenorth> Or just generally?
15:10:38 <pickpacket> no, in the API π So that I can make a GS that uses it
15:11:04 <pickpacket> the news item is a qol thing to save me from having to look it up manually every time a crash happens
15:11:35 *** Smedles has joined #openttd
15:11:38 <andythenorth> Generally extending existing script API is quite straightforward
15:11:53 <andythenorth> Not sure how much context events supply though
15:13:21 <andythenorth> oh I see, it's all in the GSEvent object
15:13:36 <andythenorth> and then you call methods to get the items in context
15:14:23 <pickpacket> I mean the first one would be in the news gui I guess. The second would be to add info in an existing even. The third is to add a new event
15:17:27 *** Smedles_ has quit IRC (Ping timeout: 480 seconds)
15:18:45 <pickpacket> I've never written a GS before. I'd have to learn that too in order to test it properly
15:23:01 <pickpacket> Maybe cargo doesn't have to be added to the event? Can a GS find the vehicle by the vehicleID and which company it belongs to?
15:23:07 <pickpacket> and get the info from that?
15:27:35 <pickpacket> oh. That was just for creating news
15:32:39 <andythenorth> GS is generally a lot of looking things up
15:33:12 <pickpacket> aren't all APIs? ;)
15:33:17 <andythenorth> although squirrel can pass a lot of objects around natively, for various reasons GS tends to work a lot with "here's a numeric ID, now instantiate a new local object with it"
15:33:25 <andythenorth> then call methods
15:34:13 <pickpacket> ^--- What? Shared train stations?
15:36:13 <pickpacket> andythenorth: oh, you meant like that
15:36:32 <pickpacket> Would info on cargo be a bad fit in the vehicle crash event?
15:36:49 <pickpacket> it really only has the bare minimum of info
15:37:38 <pickpacket> a GS doesn't have to have a company, so what does "Event Vehicle Crash, indicating a vehicle of yours is crashed." mean in that case?
15:47:32 <andythenorth> it usually means you need to know if you're in deity mode or company moe
15:50:49 <Eddi|zuHause> does deity mode mean you own all the vehicles, or none of them? :p
15:51:42 <Eddi|zuHause> also, which effect vehicles "crash"? zeppelin? large ufo?
15:52:07 <Eddi|zuHause> does otherwise despawning count as "crash"?
15:58:26 *** HerzogDeXtEr1 has joined #openttd
15:59:32 <_glx_> I think GS receives events for any crash
16:00:36 <_glx_> hmm #12804 works as intended, cargo goes to closest industry*
16:04:42 *** HerzogDeXtEr has quit IRC (Ping timeout: 480 seconds)
16:37:54 <pickpacket> _glx_: that's interesting. It gets the crash event, which includes the vehicleID... Is that a globally unique ID?
16:38:24 <peter1139> No, it's only unique for that game.
16:38:36 <_glx_> all IDs are unique (per type and game)
16:43:32 <pickpacket> peter1139: yes, but unique across that game rather than unique within the company?
16:45:31 <peter1139> Unique for that instant. It could get reused.
16:51:18 *** Wormnest has joined #openttd
16:52:52 *** merni has quit IRC (Quit: User went offline on Discord a while ago)
17:08:37 <Eddi|zuHause> pickpacket: all vehicles live in one global pool. and after a crash they get cleared out at some point. after that point, your vehicle ID will be useless.
17:09:49 <Eddi|zuHause> the vehicle pool also includes non-company vehicles (smoke puffs, disaster vehicles, etc.)
17:22:23 <_glx_> VehicleID is valid for the tick the crash event is triggered and for some ticks after it, but it script takes too long to process the events the VehicleID could point to another vehicle
17:22:59 <pickpacket> Eddi|zuHause: if I get a vehicleID from a crash event and I want to find out what cargo it was carrying I can do so, bur does that mean I only get the cargo for the engine?
17:23:30 *** rau117 has quit IRC (Quit: User went offline on Discord a while ago)
17:24:47 <Eddi|zuHause> dunno if there are functions to get the cargo of the whole train
17:25:03 <Eddi|zuHause> i'd assume there are.
17:25:48 <Eddi|zuHause> but that's the same as asking for the cargo of a non-crashed train.
17:26:33 <andythenorth> might be able to walk the vehicles, or perhaps only in depot
17:26:41 <andythenorth> AI can do it in depot, to build trinas
17:27:14 <Eddi|zuHause> if you do it manually, each vehicle has a "next" pointer, for the next wagon in the chain
17:27:49 <Eddi|zuHause> be prepared that each wagon can carry a different cargo type
17:28:09 <Eddi|zuHause> also need to do that for airplanes, and articulated trucks
17:29:10 *** gelignite has joined #openttd
17:39:17 <_glx_> GetCapacity works on the full chain
17:41:51 <pickpacket> Hm. This could be possible with the current API in that case
17:44:19 *** tokai has quit IRC (Ping timeout: 480 seconds)
18:45:22 *** marchnex has joined #openttd
18:46:51 <peter1139> Which is the canonical padding around the text entry box?
18:51:54 <peter1139> The town/industry ones are pretty old, and that way is necessary to have it alongside a dropdown without making the dropdown height non-standard.
18:55:59 *** andriydohniak has joined #openttd
18:55:59 <andriydohniak> Hello, I am back!
18:56:15 <andriydohniak> The at least string check will fail
18:56:27 <andriydohniak> at least the string check will fail*
18:58:57 <andriydohniak> Rebased on master
19:07:10 <wensimehrp> andriydohniak: π could you please add the cargo icon?
19:08:26 <andriydohniak> wensimehrp: Mb I could make that a togglable setting?
19:09:00 <andriydohniak> so its off by default, but if you need it, you can turn it on?
19:09:35 <wensimehrp> Not to make it a setting I'd say
19:10:17 <wensimehrp> but to add a button at the title bar to toggle
19:10:54 <wensimehrp> that's more straightforward
19:10:59 <andriydohniak> why would you not want this to be a setting?
19:11:21 <andriydohniak> But it is ugly, and only few people want it (you)
19:11:41 <andriydohniak> the needs of many outweigh the needs of few
19:14:17 <wensimehrp> > With normal scaling and font sizes the cargo icons are the same height as normal text
19:14:17 <wensimehrp> and in your screenshot the icons are too small... maybe this is why you would think it's ugly. π¦
19:15:04 <andriydohniak> It's not just the size, the yellow background makes the contrast look very bad, and it is becomes very crowded
19:16:22 <wensimehrp> andriydohniak: ... That's also a problem
19:18:20 <andriydohniak> I will have a think, if this PR passes (eventually), I might try to add better looking icons, by changing the backrounds of the graphs first, so the contrast is not as bad
19:20:02 <andriydohniak> but for me this is not that important, and will take some (probably bigger then I expect rn) amount of effort, and if this is important to you, the code drawing all that very easy to modify, and has a small scope, so you can try making good looking icons, and submit a PR
19:21:01 <andriydohniak> Honestly, I don't have much OpenTTD development spirit left in me rn, I want to do something else, but this PR is like my unfinished business holding me back
19:36:43 <talltyler> Don't get hung up on cargo icons, that's outside the scope of your PR π
19:39:49 *** nielsm has quit IRC (Ping timeout: 480 seconds)
19:54:05 <andriydohniak> talltyler: Can you start the CI run on my PR, I want to check wich strings are unused
19:54:52 <andriydohniak> peter1138: This does look good, but
19:54:52 <andriydohniak> 1. there is no colour box, just the icon
19:54:52 <andriydohniak> 2. The background is not that yellowish brown
20:06:06 *** gelignite has quit IRC (Quit: Stay safe!)
20:19:03 *** Beer has quit IRC (Quit: Leaving)
20:19:21 <_glx_> if you want to easily check CI results while you're in "need approval to run" state, you can open a PR on your fork from the same branch
20:20:04 <_glx_> CI will run for your fork, but the preview will fail
20:30:16 *** virtualrandomnumber has joined #openttd
20:30:57 *** virtualrandomnumber has quit IRC ()
20:31:31 *** virtualrandomnumber has joined #openttd
20:31:51 *** virtualrandomnumber has quit IRC ()
20:37:57 *** marchnex has quit IRC (Ping timeout: 480 seconds)
20:47:15 <andriydohniak> Is it ok to spam PRs?
20:47:56 <andriydohniak> I guess deleting it will make it go away, and not even polute the git history
20:59:49 *** marchnex has joined #openttd
21:02:44 *** marchnex1 has joined #openttd
21:07:51 *** marchnex has quit IRC (Ping timeout: 480 seconds)
21:07:51 *** marchnex1 is now known as marchnex
21:21:45 *** marchnex has quit IRC (Quit: marchnex)
21:26:19 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:34:39 *** toktik is now known as Guest10587
21:40:07 *** Guest10587 has quit IRC (Ping timeout: 480 seconds)
22:05:05 *** HerzogDeXtEr1 has quit IRC (Read error: Connection reset by peer)
22:36:16 *** ChanServ sets mode: +v tokai
23:07:00 *** Flygon has quit IRC (Read error: Connection reset by peer)
continue to next day β΅