IRC logs for #openttd on OFTC at 2015-07-24
⏴ go to previous day
00:09:03 *** Biolunar has joined #openttd
00:18:14 *** HerzogDeXtEr has joined #openttd
00:35:36 *** ToBeFree has joined #openttd
00:44:44 *** Eddi|zuHause2 is now known as Eddi|zuHause
00:53:26 *** tycoondemon has joined #openttd
00:54:30 *** HerzogDeXtEr1 has joined #openttd
01:05:06 *** tycoondemon has joined #openttd
01:56:33 *** Hiddenfunstuff has quit IRC
06:35:28 *** Alberth has joined #openttd
06:35:28 *** ChanServ sets mode: +o Alberth
06:56:16 *** Eddi|zuHause has joined #openttd
07:25:01 *** sla_ro|master has joined #openttd
07:45:29 *** Biolunar has joined #openttd
07:59:53 *** sla_ro|master has joined #openttd
08:21:40 *** sla_ro|master has joined #openttd
08:27:45 *** andythenorth has joined #openttd
08:30:33 <Zuu> What if, a busy bee fork would have: industries are by default at low 33% production. When a goal is completed it level up the involved source industry to produce more.
08:32:29 <Zuu> Perhaps one 33% step at a time. If you play on eg. 255x255 with not too many industries you will then at some point get to level up the same industry more than once.
08:32:42 <andythenorth> one goal of BB was to encourage forks
08:32:56 <andythenorth> especially w.r.t to goal types + rewards
08:33:25 <andythenorth> level up + new destination for the extra cargo?
08:33:46 <andythenorth> it’s ~impossible for GS to enforce source-destination pairs for a cargo
08:34:09 <andythenorth> but it can still provide a goal that encourages certain routes
08:34:42 <Zuu> It cannot enforce destination of cargo.
08:34:59 <Zuu> Not sure how it would detect that the new cargo is delivered to a different location.
08:35:45 <Zuu> IIRC we don't have A->B monitors.
08:36:09 <peter1138> Subsidies manage it
08:38:41 <Supercheese> Unless cargodist is on :P
08:39:01 <andythenorth> cdist doesn’t know
08:39:06 <andythenorth> unless I misunderstand
08:39:11 <andythenorth> cdist only knows next hop
08:39:43 <andythenorth> Zuu: it doesn’t need to enforce the destination, just provide a new goal using the extra cargo
08:39:46 <andythenorth> player can figure it out
08:40:15 <andythenorth> could just do a ‘transported from’ goal, but eh, they’re easy to cheat with piglets :)
08:40:16 <Zuu> It could just be a goal for that cargo type that the industry produces with some random destination industry.
08:40:54 <Zuu> Eg. after leveling up an industry, provide a 'transport to' goal with matching cargo.
08:42:12 <Zuu> which would then level up the destination industry? or can only 'transport from' goals level up?
08:45:29 <andythenorth> what kind of goal triggers a level up?
08:45:40 <andythenorth> could be things like town delivery goals…
08:56:22 *** snorre_ has joined #openttd
09:01:49 *** Twofish has joined #openttd
09:21:29 <Zuu> Hmm, you save companies directly into the table returned by Save(). Would make more sense to return { companies: {}, other_data: {}, ..} so it is more extendable.
09:23:10 <Zuu> Also, I see it process data directly in Load() which is okay if you do it fast. I however have seen AIs crash due to doing this, and has since then picked up a practice where I just put loaded data table in a member variable of the main class and then handle it when Start() is called, where you have no time restriction.
09:23:45 <Zuu> See MinimalGS for an example.
09:41:44 <Alberth> it was my first real script :p
09:51:58 <Zuu> Hmm, doesn't this code make it so it will wait until the largest timeout is completed?
09:52:34 <Zuu> Just the if statements that are reversed as to how I would write them. :-)
09:58:26 <Alberth> clearly you want a n-ary 'min' function :)
10:04:35 <Alberth> I sometimes wonder if we should have a customizable payment function X + distance * Y + travel-time * Z
10:05:32 <planetmaker> newgrf-able coefficients?
10:05:40 <planetmaker> or GS-able coefficients? :D
10:06:09 <Alberth> where you can define the XYZ values for a pair of src/dest, only src or dest, or generic (in order of test)
10:06:33 <planetmaker> M = A + B*distance^beta + C*travel_time^gamma
10:06:39 <Alberth> grf can do cargo-type specific payments
10:06:44 <planetmaker> make it 5 variables then :)
10:07:05 <Alberth> well, yeah, whatever formula is nice
10:07:23 <planetmaker> I dunno either. I don't even quite know what it's now.
10:07:58 <planetmaker> However currently the value and the cargo aging times t1 and t2 can be set by newGRF
10:08:12 <Alberth> time, distance, cargo-type, speed of arrival, and the number of status in villages along the way :p
10:08:43 <planetmaker> :) And vehicle type - that currently influences station rating
10:09:07 <Alberth> ah, yeah, and if you just washed the train, you get shiny bonus points
10:10:03 <Alberth> I think cargo aging fits nicely in the newgrf domain
10:10:28 <planetmaker> sure. They define it. they set how fast it decays. Ice cream should have a very short half life time
10:10:35 <planetmaker> coal on the other hand melts less quickly
10:10:53 <planetmaker> using the dreaded R-argument here, I know :P
10:11:12 <planetmaker> agreed, coal could basically have a 100% flat income curve :)
10:12:01 <Zuu> Well, buring coal could cause nearby farms to produce less crops :-)
10:12:02 <Alberth> well, on the other hand, people are an impatient species :p
10:13:14 <planetmaker> so next we'll have NewGRFs control vehicle running costs on a daily basis. And in an anti-pattern the GS controlling cargo delivery forumula :P
10:14:10 <planetmaker> I think you really have to duplicate it N times
10:14:25 <Zuu> Which is why you guys use a pre processor? :-)
10:14:50 <Alberth> hack NML to make it smarter? :)
10:15:16 <planetmaker> Zuu, but of course you can link to the same switches. But you'll need the item blocks
10:15:23 <andythenorth> cargo decay is an attribute of the cargo: proper domain is newgrf
10:15:23 <andythenorth> cargo payment rate is an attribute of the economy on this map at this point in time: proper domain is OpenTTD or GS
10:15:54 <andythenorth> newgrf has custom profit calculation, but nobody ever found any use for it afaik
10:15:56 <Zuu> GS info.nut could have a method where it defines which NewGRFs it want in the game. Then GS authors just need to make NewGRFs to do fine grained stuff with vehicles, and things that need to run too often for the GS domain.
10:15:56 <planetmaker> you don't need to define any single property, it might suffice to just define the callback
10:15:58 <Alberth> btw I hate how NML hides the name of the switch in its parameter list
10:16:19 <andythenorth> I have to copy and paste switches or read the docs every time
10:16:27 <andythenorth> the structure is hard to learn
10:16:53 <planetmaker> hm, I didn't get what you mean, Alberth
10:17:21 <Alberth> switch (bla bla name bla bla ) { ...} vs name = switch (bla bla bla bla ) { }
10:17:22 <andythenorth> {FEAT_TRAINS, switch_name, params, more params, even more params }
10:17:40 <planetmaker> you mean the switch name should be first like switch SWITCHNAME(feature_x, params,...) ?
10:18:17 <Alberth> planetmaker: at some other place than the parameter list, imho
10:18:38 <Alberth> because that's stuff going in, rather than coming out
10:18:48 *** guru3-vp1 has joined #openttd
10:18:54 <planetmaker> for me the normal way is like: function function_name(parameters) { body }
10:19:17 <andythenorth> switch (FEAT_TRAINS, SELF, ${vehicle.id}_switch_graphics_${variation_num}_${cargo_variant_num}_check_preceding_vehicle_same_id,
10:19:18 <andythenorth> ${vehicle.get_nml_expression_for_id_of_neighbouring_unit(unit_offset=-1)}) {
10:19:28 <Alberth> sure, switch name ( ... ) would also work
10:20:14 <andythenorth> I don’t hate the current syntax
10:20:21 <andythenorth> I just find it slow to remember
10:20:30 <Alberth> but it should work for all blocks
10:20:32 <andythenorth> conceptually, it’s easy to follow
10:21:00 <Alberth> andythenorth: so what should have to change to make it easier to remember?
10:21:15 <Alberth> syntax is supposed to help you write and read it
10:21:56 <andythenorth> foo = switch(params) would make more sense to me
10:21:58 <planetmaker> Alberth, but you're right. I found it awkward as well but stopped to think about it
10:22:25 <andythenorth> I’m not sure my opinion is valid, I largely stopped writing nml
10:22:29 <andythenorth> and I am not the intended audience
10:22:39 <Alberth> I have programmed assembly language, but cannot grok nfo, because *everything* is a number rather than just the numbers
10:22:47 <andythenorth> ha, I like that :)
10:23:05 <andythenorth> no meaningful syntax at all
10:23:17 <planetmaker> Alberth, so that's a project for nml 0.5 :)
10:23:38 <andythenorth> you can see the kind of syntax I invented :P
10:23:47 <andythenorth> it’s not even good python stlye probably
10:23:54 <Alberth> well, yeah, I am somewhat pondering about nml 2.0 :p
10:24:03 <planetmaker> I'd like to continue... but bbl :)
10:24:48 <andythenorth> I would rather have something like
10:24:58 <andythenorth> foo = road_vehicle()
10:25:13 <andythenorth> rather than item(FEAT_ROADVEHS, foo, stuff)
10:25:16 <andythenorth> or whatever nml does
10:25:49 <Alberth> yeah, nml is built up from nfo concepts, and it shows
10:25:51 <andythenorth> I would also rather that foo was then a first class object that I could actually do naughty stuff to
10:26:07 <andythenorth> rather than an intermediate format that has to be parsed
10:26:25 * andythenorth seems to be out on a limb compared to most authors
10:26:48 <andythenorth> I considered making a ‘framework'
10:26:54 <andythenorth> but I’m not a good enough programmer to do it well
10:26:58 <Alberth> building nml objects from python, and handing them to nml for compilation
10:27:01 <andythenorth> and I don’t want the maintenance overhead
10:27:23 <Alberth> you don't want to go back to text, imho
10:27:24 <andythenorth> eddi could do it, but he hasn’t :)
10:27:46 <andythenorth> yeah, dropping the text interchange would be wise
10:27:48 <Alberth> eddi has his own nml fork :)
10:28:21 <andythenorth> I dunno, nml Gets Stuff Done
10:28:40 <andythenorth> I wonder if dropping the initial parsing step makes it any faster
10:29:38 <Zuu> andythenorth: Is .pnml your extension for python script that produces nml or for is it a partial nml file?
10:29:49 <Alberth> scanning is the real problem, as ply pulls in the the entire file as 1 string
10:30:16 <andythenorth> Zuu: I think it’s ‘processed nml'
10:30:24 <andythenorth> or ‘nml for pre-processing’ or such
10:30:30 <Alberth> so you have python handling *very* large strings
10:30:31 <andythenorth> anywhere it’s an intermediate format
10:30:58 <Alberth> it' probably C pre-processor input
10:31:05 <andythenorth> what Alberth said
10:31:20 <Alberth> andy typically generates .nml from .py
10:31:24 <Zuu> Makes sense. I was about to make a self contained script that running it will generate the nml file, but that is probably not a good thing if you ever want to make your second NewGRF.
10:31:28 <andythenorth> and .pypnml is a template file with python templating that results in a pnml file
10:31:42 <andythenorth> and .pynml is a template file with python templating that results in an nml file
10:31:46 <andythenorth> there is some ‘history’ here :P
10:33:00 <andythenorth> Alberth if $somebody wanted to try writing out nml using the output parts of nmlc….
10:33:07 <andythenorth> I have python objects for vehicles and such :P
10:33:14 *** Hiddenfunstuff has joined #openttd
10:33:50 <Alberth> in my view, you'd start with a language design first
10:34:01 <andythenorth> for a long time, I thought it would be too hard to define switch chains in python, but then I figured out how to use a tree
10:34:04 <Alberth> ie what do you write down in text
10:34:54 <andythenorth> properties are trivial to handle
10:35:05 <Alberth> and the ":" versus "=" or ";" etc aren't very interesting at first
10:35:06 <andythenorth> logic chains are complex I think
10:35:35 <andythenorth> it’s hard to define switches without some big string
10:35:41 <andythenorth> or at least a template that has to be supplied
10:35:48 <Alberth> with the few things I wrote, I found you need a lot of chains
10:36:19 <andythenorth> chains are really simple in concept, but do a lot of the work
10:36:26 <andythenorth> and they can branch to all kinds of destinations
10:36:40 <andythenorth> and they have scope
10:36:55 <Alberth> but you cannot see that in the source
10:37:08 <andythenorth> in the nmlc source?
10:37:25 <Alberth> in your newgrf nml file
10:37:55 <andythenorth> dunno, I would be able to see it
10:38:02 <andythenorth> just reading backwards from the graphics block
10:38:08 <andythenorth> then following switch names
10:38:16 <Alberth> in C or Python you never make int i; int i2; int i3; .... int i4; if they are not used together
10:38:37 <Alberth> yet you have all kinds of template hacks to make names unique globally
10:38:50 <andythenorth> yes, it’s a global namespace
10:39:02 <andythenorth> or rather, there is no concept of namespace
10:39:19 <andythenorth> there is the concept of nfo of ‘last time this ID was defined'
10:39:20 <Alberth> if you had proper scope, switch names could live in a small part of the code
10:39:47 <Alberth> and you want that in nml ?
10:39:59 <Alberth> or should the nml compiler worry about that?
10:40:02 <andythenorth> it’s of no use to me
10:40:20 <andythenorth> it was a practical fact of writing nfo that needed to be understood, and could be exploited usefully
10:40:31 <andythenorth> but nml magics it all away
10:40:45 <andythenorth> except that it does it a bit slowly
10:41:15 <andythenorth> from nfo -> nml, we lost the concept of ‘last defined ID’ for switch IDs
10:41:21 <andythenorth> but we didn’t gain any form of namespacing
10:41:34 <andythenorth> so actually it looked easier, but was retrograde
10:42:00 <andythenorth> now the author has to manage switch names explicitly, and in my code you see all those chameleon loops handling that
10:42:30 <andythenorth> previous IDs could be defined over and over again, with no problem, as long as you understood the execution order
10:44:03 <andythenorth> hmm, there is also a mostly-complete implementation of context in nfo/nml
10:44:24 <andythenorth> so SELF / PARENT exist, as well as special cases like ‘next vehicle’
10:45:15 * andythenorth should confuse the implementation in the newgrf inside openttd and the implementation in the compiler :P
10:45:34 <Alberth> sorry, but I have to type some pages of text now
10:45:47 <Alberth> so many newgrf processing things :)
10:49:11 <andythenorth> yexo deliberately left out templating and such
10:49:22 <andythenorth> to wait and see how nml was used
10:49:35 <andythenorth> now we have evidence :)
10:55:28 <andythenorth> Alberth: if global switches were banned, or made a special case, a lot of the switch management could be actually hidden away :P
10:55:54 <andythenorth> as ultimately it’s just going to write out 00 02 or 00 FF or whatever, local to a specific action 3 chain :P
10:56:06 <andythenorth> (action 3 -> action 2 chain)
10:57:04 * andythenorth opens a grf in a text editor
10:57:22 <Alberth> gives a bit of a garbled text :)
10:58:06 <andythenorth> I assume that encodes instructions or something as codepoints
10:58:16 * andythenorth well out of depth
11:20:05 <Bob__> us the free graphics for openTTD the same as the ones from the original game??
11:21:54 <Zuu> Hmm, I make al sorts of noob mistakes. Trying to transport oil from a refinary to the oil wells.. :-)
11:23:29 <planetmaker> hehe, Zuu :) That's industry 5.0. Getting the ressources back to the place they originated from back then
11:23:55 <Bob__> could somebody explain the free graphics for me?
11:23:59 <planetmaker> Bob__, not exactly sure what you ask, but every graphics base sets can be used and they're exchangable
11:24:30 <Zuu> Base sets contain no game modifications, only graphics.
11:24:32 <planetmaker> graphics are best explained by simply looking at them
11:24:57 <Bob__> who makes the free graphics and is it similar to the original?
11:25:33 <planetmaker> people make them (the readme will tell you). And they provide sprites for everything as well. Of course they're not identical or it would be blunt copy and copyright violation
11:26:01 <planetmaker> so really: just *look* at them. And judge yourself
11:26:13 <planetmaker> you can have them all and change it ingame
11:26:25 <planetmaker> the baseset which you use
11:26:30 <Bob__> is there a way to easily compare them?
11:26:41 <planetmaker> yes. start openttd. and see!
11:26:46 <Bob__> also is the name of train changed?
11:26:48 <Zuu> Open download content window and dowload all
11:27:04 <planetmaker> all base set. All NewGRF might be a bit much :)
11:27:22 <Zuu> Yes, I ment all base sets. But good you clarified. :-)
11:27:47 <planetmaker> luckily there's no "download all" button, though :)
11:30:02 <Bob__> what's the difference between basesets and newgrf?
11:31:18 <Zuu> Base set is a pure graphics file with all essential graphics needed to even start the game.
11:31:44 <Zuu> Eg. it contains a bitmap font used to display text when no ttf font is defined.
11:32:06 * planetmaker --> lunch. Laters :)
11:32:07 <Zuu> It contain GUI icons, but also graphics for default vehicles, industries etc.
11:32:21 <Zuu> planetmaker: Good idea :-)
11:32:48 <Alberth> hmm, already had that :(
11:33:26 *** Defaultti has joined #openttd
11:37:47 <Zuu> Hmm, the wiki stll call it avdanced settings. s/advanced settings/settings/g would be good, but I guess some work.
11:39:10 <Alberth> wiki is terribly outdated
11:47:30 <Bob__> how do i change the volume in game??
11:57:32 <Alberth> I usually change the volume of the computer
11:58:14 <Alberth> isn't there a music icon somewhere in the menu bar???
11:58:20 <Alberth> don't remember exactly
11:58:32 <Zuu> There is a loundspeaker icon in OpenGFX.
11:58:48 <Bob__> so i have to be in game to do it, cant do it from the start menu??
11:59:05 <Zuu> No I don't think that is possible.
11:59:17 <Zuu> You can always do it at system level in your OS.
11:59:49 <Zuu> At least Windows 7 has a per program volume control.
12:01:34 <Bob__> what newgrf should i get?
12:02:39 <Zuu> Depends on what type of game you like to play.
12:03:11 <Zuu> Complexity or simple, specific country, etc.
12:03:25 <Bob__> i want a nice graphics set
12:03:38 <Bob__> which one is a good 32bit?
12:04:03 <peter1138> There is no good 32bpp set.
12:06:15 <Bob__> is there a good 8bit one ?
12:11:26 *** andythenorth has joined #openttd
12:12:07 <Bob__> why dont i see any server when i press 'find server' in multiplayer??
12:15:59 <Alberth> many newgrfs have nice graphics, however, each is typically tuned towards a kind of play style
12:17:19 <Bob__> why doesnt multiplayer work???
12:17:44 <Alberth> ie "make massive transport system" has powerful cheap engines, "realistic play" has all the zillion engines of the region they represent, "hard play" has very expensive engines
12:18:37 <Alberth> do you have matching openttd version?
12:18:38 <planetmaker> Bob__, multiplayer obviously works for many people... so either you use a 'wrong' version or your network is not proper
12:19:03 <peter1138> lan/internet button?
12:19:37 <Bob__> oh it's the 'advertised' option lol
12:19:47 <Eddi|zuHause> <Zuu> Not sure how it would detect that the new cargo is delivered to a different location. <-- a possible solution for that: 1) you offer a subsidy along with the goal, 2) the subsidy records how much cargo was transported while it is active, 3) upon finishing the subsidy, you test if cargo amount is at least X, and mark the goal as fulfilled
12:19:48 <Bob__> isn't newGRF mean graphics?
12:20:13 <planetmaker> grf = game ressource file
12:20:21 <planetmaker> graphics are only one ressource among others
12:20:51 <Alberth> stats are the resources with a bigger impact on game play :)
12:21:12 <Eddi|zuHause> <Bob__> why dont i see any server when i press 'find server' in multiplayer?? <-- often this is because your firewall is too aggressive with UDP packages
12:23:04 <Eddi|zuHause> peter1138: i treat these words as synonyms
12:23:14 <Zuu> Eddi|zuHause: Interesting idea. Though the API as far as I can see doesn't allow reading amount of cargo transported for a subsidy. But yes, you can use it to check that at least 1 cargo was transported.
12:23:38 <Eddi|zuHause> Zuu: yes, the game currently does not record that number, but it should be fairly easy to do
12:25:02 <Eddi|zuHause> peter1138: that sounds like nonsense
12:25:15 <peter1138> Eddi|zuHause, they're not synonyms in computing, at all.
12:26:08 <Eddi|zuHause> peter1138: german manages just fine without this totally arbitrary distinction
12:26:14 <peter1138> English isn't German.
12:26:44 <Eddi|zuHause> except it has totally simplified grammar and totally blown out of proportion vocabulary :p
12:28:09 <Bob__> all words are made up, therefore, it is pointless to assert that a word means a certain thing, any assertion is equivalent to "i will only recognise this definition" and is mostly based on stubborn refusal and "kids these days" mentality
12:28:23 <Alberth> Eddi|zuHause: so you have Java packets ? :)
12:28:57 <Eddi|zuHause> Alberth: i haven't used java in ages
12:29:30 <Alberth> it's backward compatible to the extreme :p
12:30:36 <Bob__> what does 12/50 - 15/15 mean in the clients column on the multiplayer window?
12:31:42 <Alberth> so there is no company free for you to play with
12:31:51 <Bob__> whats the first number mean?
12:31:56 <Eddi|zuHause> Bob__: number of players - number of companies
12:32:12 <Bob__> so the first one can only watch??
12:32:39 <Eddi|zuHause> you can watch, or join another person's company (if they let you)
12:32:43 <Alberth> unless you get invited, or know the password of a company
12:33:20 <Alberth> given there are fewer clients than companies, some maybe free for taking over, but that depends on the server rules
12:36:09 <V453000> holy shit I managed to write replacenew block for first try on my own :D
12:36:38 <Eddi|zuHause> black magic! witch! burn him!
12:37:41 <planetmaker> V453000, clearly the typos moved from your code to your irc output ;)
12:37:53 <planetmaker> that's wtf was happening :P
12:40:56 <V453000> the offset was a bit confusing but after seeing first issue, it got me :D
12:43:17 <Alberth> before you know it, you understand what you're doing :p
12:44:57 <V453000> I wouldnt go that far to say such things :P
12:49:02 <Alberth> no worries, there is plenty of other fish in the sea to try :)
12:53:10 <Zuu> Hmm, my leveled up factory produces goods without input :-)
12:53:32 <planetmaker> Achievement unlocked: producing stuff out of thin air :)
12:54:11 <Zuu> Need to fix so that it actually check if goal is completed in order to level up too. :-)
12:54:15 * andythenorth wonders where frosch is going with the JSON idea
12:55:13 * andythenorth had an idea about utility grid or such
12:55:30 <andythenorth> purely as a convention managed by GS
12:55:55 <andythenorth> ‘this industry provides water / gas / electricity to the [local | map-wide] grid’
12:56:08 <andythenorth> ‘this industry would like to be supplied with water / gas / electricity’
12:57:00 *** innocenat has joined #openttd
12:59:47 *** theholyduck has joined #openttd
13:02:23 <Zuu> Hmm, I miss my AI function SendToDepotForSelling when I play using GUI :-)
13:02:58 <Zuu> It takes care of even turning vehicles with speed zero around (likely in a queue)
13:03:45 <Zuu> And it marks up the vehicle that it should be sold, so that the depot cleaning procedure will sell it automatically later on. :-)
13:04:53 <Eddi|zuHause> cheat yourself into an AI company :p
13:05:12 <Alberth> make a sign "sell vehicle #123"
13:05:15 <Zuu> Or I should just let an AI test the GS.
13:05:27 <Eddi|zuHause> $someone arbitrarily disabled AI support for human company
13:06:19 <Alberth> yeah, AIs don't like to be too close to humans
13:30:18 <Zuu> Now this game is a bit wierd. BusyBee goals 'transport X amount to Y' causes industry Y to be leveled up. Also these so called secondary industries are producing base production by default and production is increased when they are leveled up. :-p
13:32:33 <Zuu> Goals 'transport X amount from Y' doesn't seem to be implemented in base BusyBee. But if my fork would do that, and the NewGRF is changed to only alter primary industries, that may make a bit more sense. :-)
13:32:56 <andythenorth> nah, BB has only one goal type :)
13:33:08 *** Supercheese has joined #openttd
13:33:13 <Zuu> Though to can be either industry or town.
13:33:35 * andythenorth wonders if there is a case for a GS library for goals
13:33:43 <andythenorth> abstracting the BB Goal class or such
13:33:52 <andythenorth> dunno much about GS
13:34:47 <Zuu> I know krinn like the idea that a GS should be written as a library and then a tiny GS that use this library. This to allow mixing GSes easier.
13:35:10 <Zuu> At least when it come to utility GSes.
13:35:52 <andythenorth> might be interesting
13:36:09 <andythenorth> dunno, if it got too much framework, and bureacracy then it’s boring :)
13:36:15 <Zuu> But then he do wierd things like overriding API methods with his own variants with side effects.. :-)
13:36:23 <andythenorth> if I have to call a factory class first, and then use it to create other classes, then I might get bored :P
13:36:37 <Zuu> Eg. his variant of build bridge will record were all bridges are in an array.
13:36:57 <planetmaker> it sounds compelling to me. But there was some argument against that, but I forgot which. It was rather 'design/conceptual not wanted' than 'not possible'
13:37:26 <Zuu> I think the idea was the GSes should be simple.
13:37:38 <planetmaker> I think the problem was along the lines of "what to do when two parts try to modify the same thing in different ways"
13:37:56 <planetmaker> And then we'll end up in a worse hell than we are with NewGRF compatibility :)
13:38:46 <Zuu> Yep, and instead we put it on someones task to merge two GSes in one. One way to make it easier for someone who would like to do that is to offer eg. NoCarGoal as a GS library and then have a very slimmed NoCarGoal GS that just use that library.
13:39:11 <Zuu> Then if someone want to combine two such GSes that are a library + gs, you load both libraries and hope they don't conflict. :-)
13:39:18 <planetmaker> yes. So that combining different things is an easy programming task
13:39:34 <planetmaker> are there gs libs? there are ,yes?
13:39:40 <Zuu> But it is still up to someone to combine it and test out and then release as one GS on bananas.
13:40:06 <andythenorth> my view is distorted probably
13:40:11 <andythenorth> I think of it like python modules
13:40:23 <andythenorth> where there are vast numbers of well defined modules that can be imported
13:40:25 <Zuu> But not for every GS, as mentioned above.
13:40:26 <andythenorth> some good, some bad :P
13:40:42 <Zuu> It is mostly things like SCP, SuperLib, ServerGS and ToyLib IIRC.
13:41:06 <Zuu> And road pathfinder, A*, and some data structures.
13:41:07 <planetmaker> yeah, right. Well, so the idea of a slim GS with fat libs is already viable, though
13:41:21 <planetmaker> ho, I should know since the doxygen stuff :D
13:42:04 <planetmaker> I made a build job for each lib. And yes... there were GS libs among those :P
13:42:06 *** ChanServ sets mode: +v tokai
13:43:18 *** tokai|noir has joined #openttd
13:43:18 *** ChanServ sets mode: +v tokai|noir
13:49:31 <V453000> issues with holes in ground sprites is a problem I have no clue how to solve
13:53:40 <planetmaker> holes in ground sprites?
14:00:09 <V453000> things not connecting properly
14:01:09 <V453000> guess I fucked up some offset I just dont see how yet
14:02:30 <planetmaker> oh, you mean at tile borders?
14:02:38 <planetmaker> there... should be no holes :P
14:02:57 <planetmaker> anti-aliasing might introduce some if it makes the result smaller / partially transparent
14:07:11 <V453000> no, I have no antialiasing on edges
14:07:20 <V453000> this is just something moved, but in a very weird way
14:10:51 <planetmaker> what's the exact width and height of the ground tiles?
14:45:09 <V453000> they are fine, there are some issues with some sloped things, researching what is going on
14:46:23 <V453000> I forgot I touched that XD
14:46:59 <V453000> would be great if the game drew black or some well visible colour in case of such holes
14:47:10 <V453000> is quite tough to debug now
14:48:34 <Alberth> load a paused game, and don't move it?
15:10:04 <V453000> there is a lot of things missing and things needing improvement, but :)
15:11:24 <V453000> ... I might search for a way to keep the tunnel look more "flat" instead of being so elevated in compare to the actual ground
15:12:58 *** sla_ro|master has joined #openttd
15:16:57 <Zuu> Tunnels is always a problem. I didn't looked too much on them until you mentioned them.
15:17:36 <V453000> they are a gigantic problem in 3D
15:17:40 <V453000> in pixel drawing they are kind of fine :D
15:18:55 <Zuu> My first thought is that the light setting is a bit dark. But then, in the winter it get dark early and if this is a cloudy day, then the light setting is quite fine.
15:19:15 <V453000> the brighter bits will make it look fine
15:19:25 <V453000> vehicles/buildings/industries will be colourful
15:19:55 <Zuu> I like the touch of light in tunnels. And if active parts in the game are brighter, then it can probably look very nice.
15:19:57 <V453000> but yeah maybe a little bit brighter would not harm
15:20:11 <V453000> the idea is to make the important things stand out
15:20:16 <Zuu> Well, no a dark background can make the important things light up more.
15:20:19 <V453000> like, if you zoom out on the map you can clearly see where are industries
15:21:57 <Zuu> It will probably be very nice
15:23:18 *** frosch123 has joined #openttd
15:23:50 <Zuu> Great. It is most important that you like it. :-)
15:28:42 <V453000> second rocky tileset is coded but not visible yet :PP
15:29:18 <frosch123> the horizontal track looks weird
15:29:26 <frosch123> the rails blend in too much with the background
15:29:35 <V453000> that is kind of the point
15:29:46 <V453000> + there will be fences
15:29:52 <frosch123> wut? there is light in the tunnel :p
15:30:08 <V453000> diagonal tracks look wtf in general, yeah :|
15:30:31 <V453000> tunnels are secret yeti gold mines
15:30:36 <frosch123> what is the yeti driving?
15:30:52 <V453000> no it is cutting down the tree
15:31:11 <frosch123> left-handed yetis :p
15:31:16 <V453000> when it animates it is clear what is going on :P
15:31:41 <V453000> idk I hold chainsaw either way, as it fits the situation
15:31:52 <V453000> but yeah yetis are confused out of their minds
15:32:23 <frosch123> i see, they cut the trees comfortably at hip level
15:33:31 <frosch123> it's weird that almost everything in that screenshot is white/grey, except the helmet :p
15:33:43 <V453000> yeah that is the fun part :)
15:33:58 <frosch123> will the D12 tree get digits?
15:35:34 <Alberth> but nice grey with white-ish sprinkles :)
15:35:35 <Zuu> or just a dull winter day
15:36:39 <Alberth> but who wants to play in winter if you can play at the moon?
15:36:49 *** andythenorth has joined #openttd
15:36:58 <frosch123> lol @ forum guy who registered 2 weeks ago as "garfiled" and now wants to change name to "garfield" :p
15:39:17 <SpComb> likely to cause mass confusion
15:43:12 <Zuu> frosch123: Further more, his only post seem to be the post in which the user want to be renamed. That said, acounts are useful too for reading history.
15:46:52 <V453000> btw it is fun how the small amount of colours reduces file size
15:48:56 <Alberth> greyscale is even better, all channels have the same value
15:49:16 <V453000> this is not entirely grayscale, it is slightly tinted into yellow but I might desaturate it some further
15:49:22 <andythenorth> V453000: it is looking nice
15:49:29 <V453000> thanks andythesouth :)
15:49:40 * andythenorth does a lot of near-monochrome UI design
15:49:45 <andythenorth> but with one or two key tints
15:50:49 *** roidal_ has joined #openttd
15:53:29 <V453000> I will cut your fingers off andy :)
15:54:33 <andythenorth> you’ll need very long scissors
15:54:40 <andythenorth> from prague or such
16:01:38 *** Belugas has joined #openttd
16:01:38 *** ChanServ sets mode: +o Belugas
16:08:23 <V453000> andythenorth: the page said it not me
16:52:10 *** andythenorth has joined #openttd
16:59:18 <andythenorth> where is cat though
17:07:02 *** HerzogDeXtEr has joined #openttd
17:21:31 <Eddi|zuHause> in your page, cutting off your fingers
17:22:00 <frosch> do you expect him to read the logs for that?
17:51:53 *** Belugas has joined #openttd
17:51:53 *** ChanServ sets mode: +o Belugas
18:09:57 *** TheMask96 has joined #openttd
18:31:40 <Eddi|zuHause> (as i do for this :p)
19:06:07 *** Progman has joined #openttd
19:09:29 *** gelignite has joined #openttd
19:27:11 *** Nathan1852__ has joined #openttd
19:33:58 *** Belugas has joined #openttd
19:33:58 *** ChanServ sets mode: +o Belugas
19:45:27 <DorpsGek> Commit by translators :: r27338 trunk/src/lang/unfinished/frisian.txt (2015-07-24 19:45:18 +0200 )
19:45:28 <DorpsGek> -Update from WebTranslator v3.0:
19:45:29 <DorpsGek> frisian - 8 changes by BAJansen
19:49:14 *** Wormnest has joined #openttd
19:51:51 *** andythenorth has joined #openttd
19:54:10 <andythenorth> V453000: so is brixxxxxx replacing ogfx?
19:54:26 <andythenorth> including an 8bpp option, for those of us who refuse to…redraw all of FIRS :P
19:54:31 <V453000> no, it will probably have very specific style compared to everything else
19:54:40 <andythenorth> I think FIRS will fit right in
19:55:03 <andythenorth> have you tested? o_O
20:11:37 *** supermop has joined #openttd
20:21:36 <Zuu> Nice yeti variation on the train.
20:22:23 <V453000> actually I think that random is quite bad
20:22:29 <V453000> should be at least 5 kinds I think
20:22:56 <V453000> but poor distribution :P
20:24:19 <Zuu> Hmm.. noise polution make my life hard.
20:26:05 <andythenorth> yours is more realisms than the photo V453000
20:26:11 <Zuu> I changed the imessenger.grf to only allow GS to control primaries. I also changed my Bee fork to level up industries when a town goal is completed for mail cargo. It then levels up all industries that are closest to that town. However, completing mail goals require many sources as mail production is low.
20:26:33 <andythenorth> how is the mail goal defined?
20:26:45 <Zuu> It is the usual mail goal of Busy Bee.
20:27:01 <Zuu> I check if cargo has town effect mail.
20:27:25 <andythenorth> yeah, also BB has a wide range of possible values for the cargo delivered goal
20:27:34 <andythenorth> mail goals can take years :)
20:27:51 <andythenorth> I wondered about transporting 50% of the mail in a town
20:28:07 <andythenorth> using the town stats, if GS can read them
20:30:57 <Zuu> If the GRF is possible to make so that secondaries retain the normal function (in that the output is a factor of input), but GS can improve the output/input ratio, then Bee-fork could level up receiving industry again.
20:32:05 <andythenorth> that could be done
20:32:21 <andythenorth> for (not FIRS) it’s quite trivial I think
20:32:39 <andythenorth> set a multiplier in a register, and use it during 256 tick production cb
20:32:50 <Zuu> I think I for short term will allow any town goal to level up industries. Then try to set up some repository or at least update published versions.
20:32:52 <andythenorth> for FIRS, which already combines cargos in a ratio, it would be tricky
20:33:13 <andythenorth> Zuu: sounds good...proof of concept
20:33:38 <Zuu> That is what I like doing. Prof of concepts. :-)
20:33:48 <Zuu> Just look at the Tutorial AI for example :-D
20:35:45 <Zuu> As for the name of the Bee-fork, I currently use ProducingBee.
20:37:09 <Zuu> But I'm open for suggestions.
20:40:00 *** Pensacola has joined #openttd
20:48:44 <andythenorth> BeeProductive :D
20:49:04 <andythenorth> we can make another fork for BeeLine
20:49:22 <andythenorth> BeeTheChangeYouWantToSee :P
20:49:38 *** zeknurn has joined #openttd
20:51:30 <Zuu> Hmm, played 28 game years to complete my mail goal only to catch an error in the script. I think next time I'll cheat a bit and make the script level up goals that has timed out. :-)
20:54:31 <Zuu> At least I didn't forgot to make bundle. :-p
20:56:23 <Zuu> Oh.. my NewGRF allow me to fund battery farms in tropic. But at least they don't show up on random.
20:56:23 <andythenorth> V453000: I think lukasz1985 is going to make his own set
20:56:55 <Zuu> Hmm, the battery farm produces fruit. :-)
20:58:50 <V453000> andythenorth: well lets see :)
20:59:12 <V453000> ah hate on both me and pikka :D :P
20:59:17 <Zuu> Btw, in BusyBee, there is a setting to set the goal timeout. Allowed range is 4 to 20 years. But the hard value is 3 years. So if I try to change it, I cannot get it back to 3 years other than removing the GS and adding it back again. :-)
20:59:19 <V453000> I like his comment, it is quite constructive
21:05:06 <andythenorth> Zuu: thats unfortunate :)
21:50:38 *** Nathan1852__ has joined #openttd
22:31:55 *** Nathan1852 has joined #openttd
23:32:11 *** Progman has joined #openttd
continue to next day ⏵