Back to Home / #openttd / 2012 / 02 / Prev Day | Next Day
#openttd IRC Logs for 2012-02-11

---Logopened Sat Feb 11 00:00:31 2012
00:00<Nat_as>just need a room temprature superconductor and you could probably scale that up to be a working vehicle.
00:01<Rhamphoryncus>That IS magnetic levitation
00:02<Rhamphoryncus>But "magnetic" is an old term. "quantum" is modern :P
00:03<Nat_as>it uses quantum mechanics to stabilise it.
00:04<Rhamphoryncus>Yeah, that's a very interesting form, but not necessarily useful for a maglev train
00:04<Nat_as>well it would need room temperature superconductors to be practical.
00:05<Rhamphoryncus>Most of the traditional maglev approaches are based repulsion. Yeah, the magnets themselves hold you in the middle, but it's not very stable.
00:05<Rhamphoryncus>The transrapid approach use computer-managed attraction
00:06<Rhamphoryncus>And makes it a "solved problem". It's no longer a challenge to do
00:06<Rhamphoryncus>The issue is cost of the track and weight of the train
00:07<Rhamphoryncus>Superconduction could potentially make the train much lighter
00:08<Rhamphoryncus>Oh, forgot the other (even bigger) issue
00:08<Nat_as>>replaced by cable cars
00:09<Rhamphoryncus>The cost of the track is pretty large, but is actually comparable to high speed passenger track
00:10<Rhamphoryncus>The bigger issue is that it's a totally incompatible system. There's no way of having a transitional technology.
00:10<Nat_as>I think it's funny how the Accela can't actualy reach top speed or tilt on the raills it uses
00:10<Nat_as>because it shares tracks with freight trains.
00:11<Nat_as>The problem with all high speed trains is they are not really compatible with freight lines.
00:11<Rhamphoryncus>It can't tilt?
00:12<Rhamphoryncus>Speed I could understand. Busy line, no passing lane
00:12<Nat_as>the tracks aren't designed with the assumption of trains tilting. The corners don't have enough clearance.
00:12<Nat_as>it would hit the walls.
00:13<Nat_as>they didn't realize this until they upgraded all the tracks to high speed rails.
00:13<Rhamphoryncus>How the heck did they miss that?
00:13<Nat_as>I guess passinger trains will never be profitable in the US
00:13<Nat_as>well metro trains are.
00:13<Nat_as>but not long distance passenger rail.
00:14<Nat_as>one problem I see with maglevs is actualy hills and turning
00:15<Nat_as>when the track is a thick strip of magnets, and the train is traveling at just under mach 1
00:15<Nat_as>that can cause issues
00:15<Rhamphoryncus>why hills? Just the change of direction?
00:15<Nat_as>yeah they don't bend well.
00:16<Nat_as>much longer turning radius than normal trains.
00:16<Nat_as>or even monorails.
00:16<Rhamphoryncus>Are you talking about the transrapid specifically?
00:17<Nat_as>and I'm sure there are designs that don't have this problem as badly.
00:18<Rhamphoryncus>What you really lead is simpler, lighter cars
00:19<Nat_as>>The RAND Corporation has depicted a vacuum tube train that could, in theory, cross the Atlantic or the USA in ~21 minutes
00:19<Nat_as>HOLY FUCK
00:19<Nat_as>I thought suborbital flight was impressive
00:20<Nat_as>morning commute to London. Head back to LA for the evening.
00:21<Rhamphoryncus>Old idea. Thus the newgrf
00:30<Rhamphoryncus>Another issue with trains is cars can very easily intermingle traffic patterns, whereas trains (and even buses) are very rigid
00:30<Rhamphoryncus>I have seen some very interesting proposals that would change that
00:30<Nat_as>timetables and such?
00:30<Rhamphoryncus>I mean in real life
00:31<Rhamphoryncus>A train is only between stations. A car is anywhere on a road, driveway, parking lot, or many places off road
00:32<Rhamphoryncus>So, a better middle ground.. self-driving cars help, less dependent on a driver
00:32<Rhamphoryncus>There's proposals for cars that can join together on the road like a train, when going the same way, but then split apart when they want to go somewhere else
00:33<Nat_as>I have heard that
00:34-!-bryjen [~bryjen@] has quit [Read error: Connection reset by peer]
00:34<Rhamphoryncus>Imagine a tiny car built like a 4 wheeled enclosed scooter, single seat. Have it join like that, but also side-to-side
00:35<Rhamphoryncus>And with centralized route management you could have it delay your departure by a minute so it can meet up with people going the same way you are, to avoid having to disconnect later
00:37<Rhamphoryncus>And guarantee highways are at peak efficiency. Fast movement, optimal packing
00:37<Rhamphoryncus>With braking systems that interact that might hit 90% packing
00:42<Rhamphoryncus>In other news.. I should do some coding
00:42<Nat_as>anyways, what are the important niches for trains?
00:42<Nat_as>part of me wants to make a trainset,
00:43<Nat_as>or rather pixel art for a trainset
00:43<Nat_as>I'd need somebody to code and shit
00:43<Rhamphoryncus>I really don't know
00:44<Rhamphoryncus>I'm working on a timetable overhaul, which should make passenger service more viable
00:44<Nat_as>what passenger service needs is working destinations.
00:44<Rhamphoryncus>(and as I more recently learned, transfer orders within a large city can let you do feeders for a city-to-city route
00:45<Rhamphoryncus>yeah, I need to review YACD
00:45<Nat_as>i like cargodist
00:45<Nat_as>but it's still not as good as simutrans' model
00:46<Rhamphoryncus>Cargodist is fun, but it's too easy to manipulate. It's not about building your network to match the map.
00:46<Rhamphoryncus>Anyway, for the sake of argument we can assume that is fixed and passenger service works
00:47<Nat_as>then what?
00:47<Rhamphoryncus>There's both metro and inter-city trains, but metro overlaps drastically with trams. Kinda sucks
00:47<Rhamphoryncus>Freight needs some diversity
00:47<Rhamphoryncus>You currently look for an engine that is fast, powerful, and short
00:48<Rhamphoryncus>Cost is often not a concern
00:49<Rhamphoryncus>You want short because you need uniformity to maintain flow. Any slowdown, such as at a corner, becomes your limiting factor
00:50<Rhamphoryncus>If an engine is a full tile long (2 normal wagons) then you could have put in two normal engines in that space, often completely trumping the single one in power
00:51<Rhamphoryncus>If you could make your network handle mixed speeds better.. possibly a bias towards faster or slower tracks, as well as making trains look a few signal-blocks ahead to slow down rather than going all-out then full-stop
00:52<Rhamphoryncus>The latter would (if built right) give you a continuous speed, reducing you to the slowest train, but NOT causing a jam
00:53<Rhamphoryncus>And once you've got that you could give the bias towards certain speeds of tracks, so they'll try to separate when they can
00:53<Rhamphoryncus>oh! The payment calculations need a total redesign
00:54<Rhamphoryncus>They currently mean that everything has an optimal distance to deliver it to
00:54-!-kkb110_ [] has quit [Remote host closed the connection]
00:54-!-kkb110 [] has joined #openttd
00:54<Rhamphoryncus>Optimal relative to the running cost that is
00:55<Rhamphoryncus>Although I believe longer can earn you less even in absolute terms
00:55<Rhamphoryncus>Until it hits the bottom limit and it becomes a constant factor distance/time
00:55<Nat_as>Man I'm lost here
00:56<Rhamphoryncus>Let me find you a link
00:57<Rhamphoryncus>Your payment scales up with distance, but if you reformulate it in terms of time spent (ie how many times can 1 train do this in a year?), then you can factor that out
00:58<Rhamphoryncus>And if you assume the train has a constant speed then there becomes a specific time&distance at which that train will earn the maximum amount per year
00:58<Nat_as>so a bunch of guys carring cargo a short distance can pay just as much as one guy going a long distance?
00:58<Nat_as>I noticed that shipping oil by boat can have supply problems with the refinery not making goods
00:59<Nat_as>because it had been months since the ship last came
00:59<Nat_as>and it produced nothing
00:59<Rhamphoryncus>That's a separate issue with station rating
00:59<Nat_as>which is a problem if I want to ship goods from there
00:59<Nat_as>the train has to just sit there or lose money
01:01<Rhamphoryncus>So you take the numbers on that wiki page, punch in the formulas and graph it out, and you get a nice round curve that humps near 70 or 130 days (depending on the cargo type), but then goes up at a constant angle once it hits a certain minimum value
01:02<Rhamphoryncus>That constant angle is because you hit that maximum lateness penalty of 88%. After that you could wait for 10 years before delivery and it'd have no effect
01:02<Nat_as>can you simplyify this to explain why I can't ever seem to make a profit off of coper ore?
01:02<Rhamphoryncus>But the distance, that still matters
01:03<Rhamphoryncus>Let me see if I can remember the formula. In general though: that's not time-sensitive so you want your train to take about 130 days
01:03<Rhamphoryncus>Get as far as you can in 130 days
01:04<Nat_as>seems strange
01:04<Rhamphoryncus>Do you always have a train there, doing a full load?
01:04<Nat_as>You'd think you want cargo to get to the destination as quickly as possible
01:04<Rhamphoryncus>You would :/
01:05<Nat_as>but you say I should find a factory on the other side of the map?
01:05<Nat_as>that ought to be fixed somehow?
01:05<Rhamphoryncus>That CAN work, if the map is large, but it's the harder way. it relies on the return hitting rock bottom first
01:14<Nat_as>looking at simutrans aggain
01:14<Nat_as>there is an ENLARGE MAP option
01:21<Rhamphoryncus>Oh there's my nice pretty curve again
01:23-!-supermop [] has quit [Quit: supermop]
01:24<Nat_as>is it gausian?
01:24<Rhamphoryncus>No idea :D
01:25<Rhamphoryncus>So.. copper ore.. on a per trip basis 50 days will earn you.. a factor of 42.
01:26<Rhamphoryncus>130 days will earn you a factor of 68
01:26<Rhamphoryncus>At 232 days it's bottomed out again at 27
01:27-!-kkb110 [] has quit [Read error: Connection reset by peer]
01:27-!-kkb110 [] has joined #openttd
01:27<Rhamphoryncus>At 567 days it has recovered to 68
01:28<Rhamphoryncus>And at 600 it hits 72. It keeps going forever at this rate
01:28<Nat_as>okay simutrans is still ugly and fiddly
01:28<Nat_as>pack 32
01:28<Nat_as>I THINK I AM IN LOVE
01:28<Nat_as>it's so pretty
01:29<Rhamphoryncus>But the only reason I get a curve with a peak there is because I'm including distance. This is maximum income for that industry, NOT for the train
01:30<Rhamphoryncus>If you're talking about the train then your ideal is a mere 10 days
01:30<Rhamphoryncus>err 12 days
01:30<Rhamphoryncus>Of course that assumes constant movement, no loading or acceleration time
01:32<Nat_as>what if you like small maps?
01:32<Rhamphoryncus>It should be easier to make a profit
01:35<Rhamphoryncus>Nothing I've read so far mentions when they start counting the time. It might be when the "packet" of cargo is created in the station
01:36<Rhamphoryncus>So any time left waiting would still count
01:36<Rhamphoryncus>Meaning you get double-penalized for not using full-load. You get payed less AND the rating drops (reducing quantity)
01:38-!-kkb110 [] has quit [Remote host closed the connection]
01:38-!-kkb110 [] has joined #openttd
01:46-!-pc [~pc@] has joined #openttd
01:46<pc>alguien que sepa español e ingles
01:47<Rhamphoryncus>I have no idea what you said but I'm pretty sure the answer is this channel is mostly just english
01:48-!-hbccbh [~hbc@] has joined #openttd
01:50-!-pc [~pc@] has left #openttd [Saliendo]
01:55<Rhamphoryncus>Nope, time is only counted while loaded in to a vehicle
01:55<Arafangion>Rhamphoryncus: I think you pretty much answered pc. :)
01:56<Rhamphoryncus>I guess the "no idea" part wasn't strictly true ;)
01:57<Arafangion>Rhamphoryncus: It's fairly easy to guess, "... ... ... spanish .. english?" :)
01:57<Rhamphoryncus>Oh, I didn't even notice the spanish. Just the ingles was enough
01:57<Rhamphoryncus>"Person talking in non-english language is saying something about english.. gee.."
01:58<Arafangion>Very common in bilingual settings.
01:58-!-KouDy1 [~KouDy@] has joined #openttd
02:00<Nat_as>time for bed
02:00-!-Nat_as [] has quit [Quit: ajax IRC Client]
02:00-!-KouDy1 [~KouDy@] has quit [Read error: Connection reset by peer]
02:01<Rhamphoryncus>Coding accomplished in the last hour and a half: 0
02:01*Arafangion feels pleased himself for not responding to that 'time for bed' inappropriately.
02:01<Arafangion>Rhamphoryncus: Congratulations. :)
02:01-!-KouDy1 [~KouDy@] has joined #openttd
02:01<Rhamphoryncus>But if I don't do it then who's going to rewrite the timetabling?
02:02<Arafangion>Rhamphoryncus: Not as good as negative line counts, but hey, it's something. ;)
02:02<Rhamphoryncus>Pretty sure my cleanup patch in the tracker has that
02:02<Rhamphoryncus>Yup. +80 -84
02:02<Arafangion>-4, even better. :)
02:03<Arafangion>You must be slipping.
02:03<Rhamphoryncus>I'm coding so fast I'm overflowing and going backwards?
02:04<Arafangion>Rhamphoryncus: I'm alluding to the fact that cleaning up code is better than making it more complex.
02:04<Arafangion>Rhamphoryncus: And extrapolating from that like crazy. :)
02:05<Arafangion>Yikes, looked away from openttd and gues what? Made 3 millino.
02:06<Rhamphoryncus>I've made 1.5 billion in my last game.. but I did start by cheating up to 2 billion, spending and losing down to 1 billion, then finally climbing back up to 2.5 billion
02:07<Arafangion>This was a brand new game on a tiny map, only 7 trains, all of which are mail and passengers on a 128x128 map.
02:08-!-hbccbh [~hbc@] has quit [Remote host closed the connection]
02:08<Arafangion>I find it hard to put much time into games.
02:08<Rhamphoryncus>I.. have way too much time
02:09<Arafangion>Don't we all?
02:10<Rhamphoryncus>no :)
02:12<Arafangion>Way to make me feel better!
02:18-!-hbccbh [~hbc@] has joined #openttd
02:20<Rhamphoryncus>Heh, I worry about the most petty stuff: if I'm redesigning the orders window do I need a new file name? ;)
02:27-!-sla_ro|master [slaco@] has joined #openttd
02:30-!-cmircea [~cmircea@] has joined #openttd
02:36-!-tokai|noir [] has joined #openttd
02:36-!-mode/#openttd [+v tokai|noir] by ChanServ
02:41-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
02:42-!-chester [~chester@] has joined #openttd
02:42-!-tokai [] has joined #openttd
02:42-!-mode/#openttd [+v tokai] by ChanServ
02:45-!-chester [~chester@] has quit []
02:46-!-chester [~chester@] has joined #openttd
02:46-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
02:48-!-tokai|mdlx [] has joined #openttd
02:50-!-tokai [] has quit [Read error: Operation timed out]
02:51-!-andythenorth [] has joined #openttd
02:56-!-Firartix [] has joined #openttd
03:01<Arafangion>Rhamphoryncus: Always. ;)
03:01<Rhamphoryncus>andythenorth: ahoy
03:02<Rhamphoryncus>andythenorth: engineering/farming/manufacturing supplies are a PITA
03:03<andythenorth>see endless debate about removing them :P
03:03<Arafangion>Indeed, the engineers are never happy with equivalents.
03:03<Arafangion>And the farmers tend to be too eupheremic.
03:03<Rhamphoryncus>... quiet, peon :P
03:03<Arafangion>And who knows what manufacturing makes(!)
03:03<Arafangion>Just saying. :)
03:04*Rhamphoryncus throws peanuts
03:05<andythenorth>MNSP are 'just another input cargo'
03:05<andythenorth>they don't work like the other two
03:05<@Rubidium>the only obvious thing... packaging peanuts ;)
03:06<Arafangion>Rubidium: There's several different types of those, one of which are apparently edible, although I've not put that to the test.
03:06<Rhamphoryncus>Well the other two are a PITA then :D
03:07<Arafangion>Rhamphoryncus: Haven't put them to the test, either!
03:08<andythenorth>Rhamphoryncus: what's problematic?
03:09<Rhamphoryncus>The "1 every month" thing
03:09<Arafangion>Ok, that's it. I'm out of here.
03:09<Rhamphoryncus>Transferring to that station, then micromanaging a trick to pick up and unload at the same station
03:10<andythenorth>Rhamphoryncus: that's an odd, over-optimising behaviour that someone has put in the wiki
03:10<andythenorth>no accounting for how people will play a game :P
03:11<Rhamphoryncus>Yeah, but then the game tells you "0 xxx delivered this month"
03:11<Rhamphoryncus>hmm, adding "(20 last month)" to the text would help
03:12<Rhamphoryncus>Or make last month the main display and current in the parenthesis, since last month is the only one with useful information
03:13<andythenorth>valid suggestion
03:14<andythenorth>the supplies behaviour may change
03:15<andythenorth>to "deliver [some] supplies [often]"
03:15<andythenorth>rather than ">1t every month"
03:15<Rhamphoryncus>It feels like it should scale up with larger industries.
03:15<andythenorth>it possibly will
03:16<Rhamphoryncus>Just as long as it doesn't encourage you to concentrate it all in one.. although in the long term the cap will discourage that
03:17<Rhamphoryncus>Another thing I noticed is with multiple farms at one station it will only deliver to one of them :/
03:17<andythenorth>that is a limitation of openttd
03:17<Rhamphoryncus>I was afraid you'd say that
03:18<andythenorth>I considered making a farm cluster 'one big industry' but it was thought to be a bad idea
03:18<Rhamphoryncus>Which also means you're well aware of the limit
03:18<andythenorth>cargo destination patches solve the issue
03:18-!-Firartix [] has quit [Ping timeout: 480 seconds]
03:18<Rhamphoryncus>That reminds me, I thought it'd be cool if an industry could take over more tiles as it scaled up
03:18<Rhamphoryncus>Huh, didn't think of that
03:19<andythenorth>industries expanding is currently quite out of scope
03:19<andythenorth>it has been discussed
03:19<Rhamphoryncus>The catch is such tiles would have to be a) empty, b) town building, or c) specially marked station tiles
03:19<andythenorth>there is an interesting possibility that industries could 'plant' new objects
03:20<Rhamphoryncus>How about limiting the industry unless the player plants them?
03:21<andythenorth>too many messages and such needed
03:21<andythenorth>too many conditional cases
03:21<andythenorth>too much multiplayer headache
03:21<Rhamphoryncus>I've been playing with the newgrf station sets so I'm very concerned about locking-in the industry
03:22<Rhamphoryncus>Well, then the next though is purely aesthetic.. station sets that are industry aware and convert to industry buildings when it scales up
03:22-!-Neon [] has joined #openttd
03:23<andythenorth>gameplay effect would be...?
03:23<Rhamphoryncus>Pretty :)
03:23<Rhamphoryncus>Like all station sets
03:29-!-lmergen [] has joined #openttd
03:30*andythenorth ponders
03:31<andythenorth>articulated RVs are a headache
03:31<andythenorth>do I put all the consist weight on the lead vehicle - to reflect accurate weight?
03:31<andythenorth>or do I avoid that because it incorrectly boosts TE?
03:32<andythenorth>or do I have to adjust the TE coefficient down in some ratio?
03:32<@Rubidium>in the purchase menu do the former, in game do the latter ;)
03:32<andythenorth>adjust TE coefficient, to get result = TE coeff * lead vehicle weight?
03:33<@Rubidium>no, spead the weight correctly
03:33<andythenorth>weight must be 0 for trailing parts of RVs
03:34<@Rubidium>oh... then I have no clue
03:34<andythenorth>eddi thought I should adjust the TE
03:34<andythenorth>he's often right
03:34<andythenorth>more often than me anyway :P
03:36<Rhamphoryncus>How do the physics differ having it all at the front vs hypothetically having it spread out?
03:37<andythenorth>that's the headach
03:38<@Rubidium>Rhamphoryncus: do you have a bike? If you lean forward very far it's *much* easier to make the back wheel spin than when you lean very far backward
03:38<@Rubidium>that's because the amount of grip you have is related to the amount of weight put on the wheel
03:39<Rhamphoryncus>So it's purely a question of traction for the power wheels
03:39<Rhamphoryncus>Which are usually the front of an RV
03:39<@Rubidium>so if the cabin of a truck is 1t and it's pulling something of 20t it's more likely going to slip than when you put a 21t truck in front of a 0t trailer
03:39<@Rubidium>yes, and traction dictates the limit in acceleration
03:40<Rhamphoryncus>hmm, but the game does some calculations itself combining TE and weight of the cab?
03:40<@Terkhen>good morning
03:41<Rhamphoryncus>And.. in some cases that should include part of the cargo weight, in other cases it should not..
03:41<@Rubidium>which you can do as you can give the cab some cargo
03:43<Rhamphoryncus>Half for a semi. It'd display silly though
03:44<Rhamphoryncus>And if you have to have a weight of 0 for the trailer itself then you can use it to gain TE, but you can't have it slow down acceleration for adding mass
03:45<andythenorth>which is what BANDIT does
03:45<andythenorth>the cargo part is easy
03:45<andythenorth>but I also have to account for vehicle weight
03:45*andythenorth is embarrassingly slow at working out the multiplier need for TE coeff
03:45<@Terkhen>andythenorth: maybe because you had to rework TE three times for HEQS and you are tired of it? :P
03:45<andythenorth>ho :)
03:46<Rhamphoryncus>reverse-engineering the game physics because it doesn't properly support what's needed sucks :/
03:46-!-MJP [] has joined #openttd
03:46<@planetmaker>Rhamphoryncus: real scientists and engineers do that with reality ;-)
03:46<@Terkhen>you don't need to reverse engineer the game physics, you can check the source
03:47<andythenorth>this can be simplified somewhere:
03:47<@planetmaker>and reality has no open source, unfortunately where we can look it up
03:47<@Terkhen>I wouldn't call them "physics", and neither "realistic" :P
03:47<andythenorth>coeff of TE = default TE / (total consist weight / lead vehicle weight)
03:47<andythenorth>I have all those values btw
03:47<andythenorth>but the formula is unwieldy
03:47<Rhamphoryncus>Terkhen: well, reverse their formula so you can put in the values that give the correct result
03:48<@Terkhen> <--- all you need is there
03:48<@Terkhen>and yes, the formula is not great... but it can be calculated quickly for thousands of vehicles :)
03:49<@Terkhen>sadly it is a case of precision vs optimization
03:49<andythenorth>can I remove default TE from my formula somehow?
03:49-!-DDR_ [] has joined #openttd
03:49-!-DayDreamer [~DayDreame@] has joined #openttd
03:49<andythenorth>maybe not
03:49-!-DayDreamer [~DayDreame@] has quit []
03:50-!-DDR_ [] has quit []
03:50<@Terkhen>probably not, unless there is some mathematical trick that I'm not aware of
03:51<@Terkhen>you could set it to 1, though
03:51<andythenorth>across the whole set?
03:51<andythenorth>my formula appears to work
03:52<andythenorth>seems like too many divides
03:52-!-hbccbh [~hbc@] has quit [Remote host closed the connection]
03:52<andythenorth>anyway, this is for later
03:52*andythenorth -> breakfast
03:53<andythenorth>Terkhen: you could code review my 'rebuild the physics on the vehicle' code :D
03:53<@Terkhen>hmm... I was planning on playing some civ IV instead, but I guess that a quick review should not hurt
03:53<@Terkhen>where is it?
03:54<andythenorth>I haven't finished writing it yet ;)
03:54<andythenorth>maybe later
03:56<@Terkhen>ok :)
03:58<Arafangion>It's pretty awesome how opensource projects are reviewed. :)
03:58<Arafangion>Professional programmers should take note of the so-called "cowboy coders". :(
04:00<@Terkhen>I wouldn't call a quick review while I'm thinking about playing a game instead of the code I'm reviewing "awesome" :P
04:01<Arafangion>Terkhen: It's more than some places do.
04:01<@Terkhen>that's true :)
04:03<andythenorth>if you have an hour spare, watch the Greg Wilson talk - mentions code review...
04:03<Arafangion>andythenorth: Got subtitles?
04:04<Arafangion>andythenorth: It doesn't... SO I can't watch it.
04:05<Rhamphoryncus>Arafangion: you at work or something?
04:06-!-hbccbh [~hbc@] has joined #openttd
04:06<Arafangion>Rhamphoryncus: I'm deaf.
04:07<Rhamphoryncus>ahh, that'd do it
04:07<Arafangion>Oh... And comments are generally useless... I generally prefer not having them. :)
04:07<Rhamphoryncus>There are a great deal of useless comments
04:07<Arafangion>Rhamphoryncus: That *includes* when I do ASM.
04:07<Rhamphoryncus>But they CAN be incredibly useful, if done right
04:07<Arafangion>Seriously. I've done ASM, and I ignroed comments there, too.
04:07<Arafangion>Possibly, but you have to assume that they're wrong.
04:08<Rhamphoryncus>Just like variable names
04:08<Rhamphoryncus>Or function names.. like BeginLoading
04:09<andythenorth>or nml switch identifiers that andythenorth forgot to rename correctly :P
04:09<andythenorth>verbose is good, but also misleading
04:09<Arafangion>Perhaps... But they are much, much more likely to be in sync, and when you do change it, you can lean on the compiler to catch the cases you missed, generally speaking.
04:09<Arafangion>andythenorth: Yeah, damn him! ;)
04:09<andythenorth>nfo IDs, being all hex, are never misleading :P
04:09-!-Chris_Booth [] has joined #openttd
04:09<Arafangion>andythenorth: I'll have you know that I'm a TDD fanatic. :)
04:10<@planetmaker>s/TDD/TTD/ :-P
04:10<andythenorth>where 'consist_weight' might actually mean 'consist_te', 'A2' always means 'A2'
04:10<Arafangion>planetmaker: Bah.
04:11<Rhamphoryncus>Arafangion: nice to be reminded once in a while that subtitles are more than just a convenience for some
04:11<Arafangion>Rhamphoryncus: They're also very useful for those who don't speak that language as their mother tongue.
04:11<Rhamphoryncus>Although what I really want is subtitles hooked up to speech synthesis so you can still watch it if you're deaf AND blind :D
04:11<@planetmaker>But maybe we should rename the game to Transport Deity Deluxe ;-)
04:11<andythenorth>sounds more like a sid meier game
04:11<Arafangion>Rhamphoryncus: That'd be fairly useless. :)
04:12*Rhamphoryncus grins
04:12<Arafangion>Rhamphoryncus: But possibly, you could make the subs go out to a braille interface... But realistically the person would need an interpreter.
04:13<Rhamphoryncus>Oh sure, take me seriously
04:14<Arafangion>Rhamphoryncus: I'm deaf, it's pretty hard for me to joke about this.
04:14<Rhamphoryncus>Life's too short not to
04:16-!-JVassie [~James@] has joined #openttd
04:17<andythenorth>NML te_coeff cb can return 0..255
04:17<andythenorth>is it on the same base as the property though?
04:18<andythenorth>or does 255 = 1
04:18<@planetmaker>callbacks return nfo values
04:18<@planetmaker>if you give no unit
04:18<andythenorth>I'm looking at the nfo docs
04:18<andythenorth>but it's not documented what the range is
04:18<andythenorth>for cb36 at least
04:20<@planetmaker>in nfo the values are the same as the properties
04:21<andythenorth>I could just test
04:23*andythenorth suggests that 255 = 1
04:23<andythenorth>which makes sense
04:23<andythenorth>which follows then that it's a fraction in the range 0..255
04:23<andythenorth>thanks :)
04:25*andythenorth may not be using full capability of nml here
04:25<andythenorth>I don't really use expressions in switch blocks or such
04:30-!-hbccbh [~hbc@] has quit [Quit: Leaving.]
04:32-!-George [~George@] has quit [Read error: Connection reset by peer]
04:32-!-hbccbh [~hbc@] has joined #openttd
04:33-!-Progman [] has joined #openttd
04:34-!-tokai|noir [] has joined #openttd
04:34-!-mode/#openttd [+v tokai|noir] by ChanServ
04:38-!-George [~George@] has joined #openttd
04:39<Rhamphoryncus>ahahaha, fucking assholes. slideshare checks the user agent so it can refuse access if you're on the desktop without flash
04:39<Rhamphoryncus>While simultaneously bragging about how portable their new html5 website is
04:40-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
04:42<Rhamphoryncus>Of course I'm sure it's because they use flash cookies
04:44<Rhamphoryncus>Woo, once you get in it's fairly predictable. wget don't fail me now :P
04:45<Rhamphoryncus>Arafangion: if you want I can upload the slides somewhere, or I can give you the slideshare link and you can try your luck
04:48-!-Chris_Booth [] has quit [Ping timeout: 480 seconds]
04:50<andythenorth>if result = (76 / 255) / (vehicle_weight / consist_weight)
04:51<andythenorth>there might be a simpler way to do this
04:51<@Terkhen>what are you trying to do?
04:51<andythenorth>specify the coefficient of TE
04:51<andythenorth>I'm happy with the method
04:51<andythenorth>just think the formula might be simplified
04:52<andythenorth>years since I did anything like find the common factors in a formula though :)
04:52<@Terkhen>isn't that calculated by the game? why do you need to simplify it?
04:54<andythenorth>I need to provide a non-default value for TE
04:54<andythenorth>(coefficient of TE)
04:54-!-tokai|mdlx [] has joined #openttd
04:55*andythenorth might just use the formula above - it will work
04:55<andythenorth>I failed higher maths for a reason :)
04:55*andythenorth bbl
04:55-!-andythenorth [] has quit [Quit: andythenorth]
04:55-!-mahmoud [] has joined #openttd
05:00-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
05:03<Arafangion>Rhamphoryncus: Nah, it's fine, I actually already have a pretty full on agile methodology at my work. :)
05:04<Arafangion>Rhamphoryncus: Including extensive code review.
05:04<Rhamphoryncus>The slides aren't on agile coding
05:04<Rhamphoryncus>It's more about the lack of evidence-based research in programming. It's nearly all anecdotes
05:05<Rhamphoryncus>The talk, which I've just started watching, has said he's expecting that to change significantly in the next 10 years
05:05<Arafangion>Rhamphoryncus: Well, good luck. That was already the case 10 years ago.
05:06<Arafangion>Rhamphoryncus: The industry took over academia there at least a decade ago.
05:06<Rhamphoryncus>It's never been evidence-based
05:07<Arafangion>Oh, there's been plenty of evidence based research done, almost none in academia, though.
05:07<Arafangion>The nature of what "evidence" is, however, is fairly disputed. :(
05:07<Arafangion>And applying the lessons learned is frequently disputed, as well.
05:07<Rhamphoryncus>Yeah, it's just starting to be taken seriously
05:08<@Rubidium>more "don't have the time to change" ;)
05:08<Arafangion>Rhamphoryncus: I don't actually work for a software house.
05:08<Arafangion>Rhamphoryncus: I'm work in a software team within a large, *non* software business.
05:08<Rhamphoryncus>Same applies
05:08<Arafangion>I disagree.
05:09<Rhamphoryncus>This is about figuring out what the factors are in bugs. Not as an anecdote, but as a controlled study
05:09<Arafangion>Rhamphoryncus: My code is subject to actual audits.
05:10<Arafangion>Rhamphoryncus: Actually, software bugs are a minor thing, in the grand picture.
05:11<Rhamphoryncus>Bugs were just an example
05:11<Arafangion>Rhamphoryncus: Because once you get into risk management, you have to assume that a software bug is 100% likely.
05:11<Arafangion>Ie, the risk of failure is 100%.
05:11<Arafangion>Not "probable".
05:11<Rhamphoryncus>That's a nice philosophy. I agree with it, but it's a philosophy
05:11<Arafangion>It's legal.
05:11-!-lmergen [] has quit [Read error: Connection reset by peer]
05:11<@Rubidium>where's the proof that there's a 100% chance of a sofware bug?
05:11-!-lmergen [] has joined #openttd
05:12<@Rubidium>where's the proof that the risk of failure is 100%?
05:12<Rhamphoryncus>taken literally, your risk is still 100% *after* audit
05:12<@Rubidium>where's your proof? ;)
05:12<Arafangion>Rhamphoryncus: Indeed.
05:13<Arafangion>Rubidium: Where's the proof that it's *not* 100%?
05:13<xiong>All code conceals bugs. More code conceals more bugs. The only file guaranteed to contain no bugs is empty.
05:13<Arafangion>xiong: Exactly.
05:13<Rhamphoryncus>xiong: unless it's perl or php ;)
05:14<Rhamphoryncus>But that's his whole point. With real controlled studies we can put actual numbers on things
05:15<xiong>No; this guy was trying to learn Perl and came in with a horrible stinking mass of random code -- a script that he grew by simple accretion. Didn't work right. He said, Help.
05:15<@Rubidium>Arafangion: false (the application) always returns a non-zero exit code
05:15<Rhamphoryncus>What the bug rates are and the best ways to find them (and fix them without more bugs!), most effective coding practices, best interfaces
05:15<@Rubidium>which can be mathematically proven
05:15<xiong>I said, Well, go *here* and open a new, empty file; save to disk, commit to git. Relax and enjoy; that file is bug-free and a step forward from what you had.
05:16<Arafangion>xiong: Wrong.
05:16<Arafangion>xiong: Your project likely has requirements.
05:16<@Rubidium>as such it's not 100% (doesn't mean it can't be so near to 100% that it isn't noticable)
05:16<Arafangion>xiong: And that empty file doesn't satisfy any of them, therefore, it's buggy.
05:16<xiong>Ho ho. I dare you to attempt to unravel this guy's stuff. I'd rather try to build a bikeshed out of cooked pasta.
05:17<xiong>Actually no; his project had no requirements. So we worked on that next.
05:17<Arafangion>xiong: Looking at the slides will be pointless, and the video's not captioned, so I'll pass.
05:17<@Rubidium>though... I'd say the chance that an application doesn't have a bug is near zero, but review would increase the chance (but it'd still be near zero)
05:17<Arafangion>xiong: Ha.
05:18<Rhamphoryncus>Arafangion: I'm enjoying it, but I think I've already summarized it for you
05:18<xiong>There is indeed hope. I firmly believe in progress. Test, test again; refine requirements; refactor. Bugs can be eliminated.
05:20<xiong>But if any given strategy is capable of eliminating, say, 90% of outstanding issues with a codebase; then, say, three iterations might reduce the bug level to a mere 0.1% of previous -- which would be amazingly outstanding. Even so, something will remain... not quite right.
05:20<Rhamphoryncus>Rubidium: yeah. Even with the perfect program, mathematically validated to conform to the specification, the specification can be both buggy or just *wrong*
05:20<@Yexo>xiong: would that be 90% of _known_ outstanding issues or 90% of _all_ issues?
05:21<Arafangion>xiong: And what if a cosmic ray flips a bit?
05:21<Rhamphoryncus>xiong: there's a tendency to find less and less with each iteration. I assume because they're always looking for the same things
05:21<@Yexo>if at a given time only 5% of the issues is known, you can reduce that amount by 90% but the total amount of issues will stay high
05:21<xiong>So this is why I worked so hard with this guy on the concept of testing. He eventually said he hasn't got "time to test".
05:21<Rhamphoryncus>xiong: hah
05:21<Arafangion>xiong: The standard answer is: So how do you know it works?
05:21<xiong>Yah. He doesn't get it.
05:22<Arafangion>I had one guy who didn't check in code for a month.
05:22<Arafangion>Sad thing, I don't think he realised that the rest of us literally didn't consider his code as *existing* otherwise.
05:22<xiong>We can sit here and discuss whether it's ever possible to say, "It works"; but we all agree, I hope, that anyone who got to such a point would have done a lot of testing first.
05:22<Arafangion>Which means... He'd done no work in a month.
05:23<@Rubidium>Rhamphoryncus: you're talking about a program that is more than the bare minimum a program can be
05:23<Rhamphoryncus>Arafangion: which is another example of why we NEED research on good coding practices
05:23<xiong>Yes, that's the other thing... push to GitHub. You can't believe how long I worked on this topic with this guy.
05:23<Arafangion>Rhamphoryncus: If you care about this stuff, I suggest you get a job working for a medical software company.
05:24<Arafangion>Rhamphoryncus: Seriously.
05:24<xiong>Granted, it's only a trainer project but if he doesn't train, he'll never get anything done.
05:24<Rhamphoryncus>Rubidium: I'd LIKE to code as if lives depend on my code. I'm not up to it though
05:24<Rhamphoryncus>Arafangion: I've got too many issues getting in the way :/
05:24<@Rubidium>Arafangion: at Therac?
05:24<Arafangion>Rhamphoryncus: Which is why you define a process and follow the process.
05:25<Arafangion>Rubidium: I suppose.
05:25<Rhamphoryncus>Arafangion: a process based on personal experience and anecdotes
05:25<Rhamphoryncus>Better than nothing, but nowhere near as good as it could be
05:25<Arafangion>Rhamphoryncus: The processes I use reference legal requirements.
05:25-!-peteris [~peteris@] has joined #openttd
05:25<xiong>There is no magic bullet.
05:25<Rhamphoryncus>The legal requirements are not based on research either
05:26<Rhamphoryncus>*some* might be based on significant failures of the past
05:26<Arafangion>Rhamphoryncus: You'd be wrong if you assumed that they were based on pure software.
05:26<Arafangion>Rhamphoryncus: They're *engineering* requirements.
05:26<Rhamphoryncus>But mostly just more personal experience and anecdotes
05:27<Rhamphoryncus>So? That's fine for physical properties. It doesn't have any basis in code though
05:27<Arafangion>Rhamphoryncus: I disagree.
05:27<Arafangion>Rhamphoryncus: But...
05:28<Arafangion>Rhamphoryncus: It does depend on the nature of the software product you're working on.
05:29<Arafangion>It's massively overkill to, eg, implement an AI bot for OpenTTD as if it was medical software capable of killing a person if there was a small software bug.
05:30<@Rubidium>ghehe... a bug in my code is, in theory, able to not prevent killing of a person. Does that count as well?
05:30<Rhamphoryncus>Yup. Ultimately counter-productive
05:31<Rhamphoryncus>Misapplying resources like that will ultimately end in a worse product
05:38<Rhamphoryncus>mmm psychology research
05:39-!-KouDy1 [~KouDy@] has quit [Quit: Leaving.]
05:40-!-Chris_Booth [] has joined #openttd
05:41-!-DDR [] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0/20120129142603]]
05:55<Arafangion>*reverse* psychology research.
05:55-!-Wolf01 [] has joined #openttd
05:58<Rhamphoryncus>Heh, although we can't prove there isn't a genetic factor in male vs female programmers, we have found social factors. Such as telling people there's a genetic factor. Women *and* men go down if you tell them there's genetic factors.
05:59-!-cypher [] has joined #openttd
05:59<Rhamphoryncus>Oh hey, I broke google. Awesome
06:01<Rhamphoryncus>25% increase in problem complexity produces a 100% increase in solution complexity (Woodfield 1979)
06:03<Arafangion>Rhamphoryncus: That's remarkably close to the 80/20 rule.
06:03<Rhamphoryncus>The key context is that it compounds
06:05-!-TGYoshi [~TGYoshi@] has joined #openttd
06:06<Rhamphoryncus>Repeat it 4 times (~145% increase in problem complexity) and you get a 1500% increase in solution complexity
06:07<Rhamphoryncus>Such as the pages of notes I've made on how to fix timetables in openttd
06:10-!-frosch123 [] has joined #openttd
06:12<Rhamphoryncus>Code review (not running it or writing unit tests) is the most effective way of finding bugs.. but only the first time somebody does it (not the author) and only for an hour. After that it drops off.
06:14<@Yexo>so: A writes code, B reviews for an hour, A fixes the bugs found, C reviews for an hour, A fixes the bugs, etc. ;)
06:14<Arafangion>Rhamphoryncus: If review takes more than an hour, chances are it's too complex.
06:15<Arafangion>Rhamphoryncus: Actually, do you have a reference for that?
06:15<Rhamphoryncus>Yexo: no, has to be different code and a different person
06:15<Rhamphoryncus>Fagan 1997 and Cohen 2006
06:15<@Yexo>Rhamphoryncus: huh? first review by B, second one by C. those are different persons
06:15-!-andythenorth [] has joined #openttd
06:15<Rhamphoryncus>Yexo: oops, I misread, but it still has to be different code
06:15<Arafangion>Rhamphoryncus: Awesome. :)
06:16<@Yexo>Rhamphoryncus: why does it have to be different code?
06:16<@Yexo>are you saying code should only be reviewed once?
06:16<Rhamphoryncus>Yexo: first person already found the shallow bugs
06:16<Rhamphoryncus>No, I'm saying it's less effective at that point than running it or writing unit tests
06:16<@Yexo>ah, ok
06:17<andythenorth>some of you watched Greg Wilson?
06:17<Rhamphoryncus>andythenorth: currently watching, been discussing
06:18<Rhamphoryncus>Managed to download the slides *despite* them only being on slideshare
06:18<Arafangion>Rhamphoryncus: Personally, I reckon code review includes checking that ample unit tests test the new functionality.
06:19<Rhamphoryncus>Arafangion: check the papers to understand the fine print :)
06:19<Arafangion>Rhamphoryncus: Tab's open, will check it out at work. :)
06:19<andythenorth>personally I reckon any argument about this should be making use of evidence :P
06:19<Rhamphoryncus>Ahh, finally using work time for other purposes like a normal programmer *g*
06:20<Arafangion>Rhamphoryncus: No, it's work.
06:21<Rhamphoryncus>Programmers built the internet. EVERYTHING can be justified as part of that :D
06:21-!-Alberth [] has joined #openttd
06:21-!-mode/#openttd [+o Alberth] by ChanServ
06:21<Rhamphoryncus>andythenorth: I've made that point several times
06:21<Rhamphoryncus>[04:15:12] <Rhamphoryncus>
06:21<Rhamphoryncus>[04:15:21] <Rhamphoryncus> Fagan 1997 and Cohen 2006
06:21<Rhamphoryncus>Just before you came in
06:22<andythenorth>comp sci seems to miss a big bit of the 'sci' part :)
06:22<Arafangion>Rhamphoryncus: It's past 4 am for you!?
06:22<Rhamphoryncus>andythenorth: yup
06:22<Arafangion>andythenorth: Not really.
06:22<Arafangion>andythenorth: Comp sci focuses on teh mathy part of it.
06:22<Arafangion>andythenorth: Not teh application of programming to solve real problems.
06:22<Rhamphoryncus>Remember I mentioned having issues? Sleep disorder is one of them
06:22<Arafangion>andythenorth: THAT is engineering.
06:23<Rhamphoryncus>Engineering is the application of economics to physics :P
06:23<Arafangion>Rhamphoryncus: Ha.
06:23<Rhamphoryncus>(quote of greg wilson. Which I probably got wrong.)
06:23<Arafangion>Rhamphoryncus: I have sleep disorder as a *side effect* of my issues.
06:24<andythenorth>greg wilson missed politics
06:24<Arafangion>Undiagnosed sleep disorder. Whoo!
06:24<andythenorth>engineering is the amalgam of politics, economics and science
06:24<Rhamphoryncus>Mine's grown up to be a proper issue of it's own. On meds.. which don't work.
06:24<Arafangion>Rhamphoryncus: Yeah, I'm not keen to start the meds.
06:24<Rhamphoryncus>andythenorth: ugh, I'm going to ignore politics. I'd like to sleep tonight.. whenever I do go to bed.
06:25<Rhamphoryncus>Arafangion: I'm desperate for them. Being left to my own devices has resulted in 15 years of stewing.
06:25<Arafangion>Rhamphoryncus: Especially since in my case... I'd be taking some hard anti-depressants for _their_ side effects, since I don't actually have depression, to hopefully treat the real issue, the side effect of THAT which causes the sleep issue!
06:25<Arafangion>(In other words... Tinnitus sucks)
06:26<Rhamphoryncus>I've got them too. Also don't work.
06:26<Rhamphoryncus>Ugh, that does indeed suck
06:27<Arafangion>Yeah, dr wanted me to put me onto them... But they had too many side effects - I did my research and decided that 1% chance of a *permanent* side effect in each of like, 20 areas, was not worth it.
06:28<Rhamphoryncus>I've been on 5 or 6.. yeah, not great
06:28<Arafangion>Which the Dr wasn't really aware of, since the outcome is generally regarded as "worth it, given that you have depression".
06:29<Arafangion>Still, if it keeps up, I'll probably try it in a decade or two.
06:32<Arafangion>ANyway, everybody's got their issue.
06:33<Rhamphoryncus>Hmm. Based on the wikipedia description (yarrrr!) I'd say I have tinnitus too. I didn't know it could be problematic though.. and most of the time I don't pay attention to it
06:33<Arafangion>Rhamphoryncus: Mine's *loud*, and sounds like anything.
06:33<Rhamphoryncus>Just confusing when I think the TV was left on but muted.. and it's not
06:34<Arafangion>Rhamphoryncus: And I *always* have it.
06:34*Rhamphoryncus nods
06:34<Arafangion>Rhamphoryncus: Oh, no... Ha. It's not "I think I can hear something", it's pretty damn loud!
06:34<Arafangion>As in, "hurts your ears" loud.
06:34<Rhamphoryncus>Blame wikipedia for being vague :)
06:35<Arafangion>Well, tinnitus itself is a very, very vague issue.
06:35<Arafangion>Infact, it's a completely subjective auditory disorder.
06:36<Arafangion>Unfortunately, the only theraphies that look like they'd work, assume that you can hear.
06:36<Rhamphoryncus>I would rate mine as "slight", but it may factor in to my treatment for depression or sleep, so it's worth passing on to my doctor
06:37<Rhamphoryncus>ahh :/
06:37<Arafangion>Rhamphoryncus: Well, everybody has "slight" tinnitus.
06:37<Rhamphoryncus>What's your source on that? ;)
06:37*andythenorth has 'slight' insanity
06:37<Arafangion>Infact, will even go as far as suggest that it's normal and natural.
06:38<Arafangion>Rhamphoryncus: (which looks more at hyperacusis) seems to be one of the best general sources of information about tinnitus, IMHO.
06:38<Arafangion>Although it's theraphy oriented.
06:38<Rhamphoryncus>andythenorth: what's about slight but below moderate? :)
06:38<Arafangion>Rhamphoryncus: That'd be "alcoholic". ;)
06:38<Rhamphoryncus>... yeah, there's a reason I have never drank
06:39<Arafangion>I drink, about to have some whiskey, actually.
06:39<Arafangion>It helps, but even the suggestiont hat it helps is controversial, for obvious reasons.
06:39<Arafangion>Never been pissed, though.
06:39<Arafangion>Although I did get tipsy once. :)
06:40*Arafangion generally drinks one, or maybe two shots over... an hour.
06:40<Arafangion>But I don't generally take meds... And alcohol and meds don't mix.
06:40<Rhamphoryncus>That site doesn't imbue me with confidence
06:41<andythenorth>call int() on the result, or the inputs()
06:42<andythenorth>(when result must be an int)
06:42<andythenorth>calling it on the inputs could lose precision right?
06:42<Arafangion>Rhamphoryncus: The content matches my experiences the most... And is most consistent with teh research I've done.
06:42<andythenorth>this is day 1 comp sci andythenorth imagines
06:42<Rhamphoryncus>andythenorth: python? What's the greater context?
06:42<Arafangion>Rhamphoryncus: But the site design is old. :(
06:42<Arafangion>andythenorth: Always, the result.
06:43<andythenorth>Rhamphoryncus: context is nml requires an int for the result
06:43<Rhamphoryncus>Arafangion: the site is poor and it reads like someone's pet theories presented as gospel truth
06:43<andythenorth>calculation may validly require floats
06:43<Arafangion>Rhamphoryncus: Welcome to medical research!
06:43<@Alberth>ah, nicely on-topic, as always :p
06:43<andythenorth>but the overall precision doesn't matter that much here
06:43<Arafangion>Rhamphoryncus: Sadly, tinnitus is rarely a research topic.
06:43<andythenorth>Alberth: I'm coding for the game at least :)
06:43<Rhamphoryncus>andythenorth: is this something you do to generate your files, not while the game is running?
06:43<@Alberth>\o/ what are you making?
06:43<@Alberth>new bandits?
06:44<andythenorth>I am providing my own version of the 'missing' physics for articulated RVs ;)
06:44<Rhamphoryncus>Arafangion: *good* research is much more critical
06:44<Arafangion>Rhamphoryncus: There's basically bugger-all research done in Tinnitus.
06:44<andythenorth>if the game can't handle calculating TE, consist weight etc dynamically....
06:45<andythenorth>...then I'll calculate static values and encode them in the grf
06:45<Arafangion>Rhamphoryncus: Although from time to time, they might try a new drug.
06:45<Rhamphoryncus>Arafangion: so half of what's on there is probably wrong, and nobody knows which half
06:45<Arafangion>Rhamphoryncus: Actually, it's probably all right. Just nobody knows which faction applies to which case.
06:46*Alberth throws away the game RV physics
06:46<andythenorth>Alberth: :)
06:46<andythenorth>new project?
06:46<Arafangion>All I know, is that the only way I can handle my tinnitus, is to withdraw from sound entirely. I try not to even *think* about sound!
06:47<Rhamphoryncus>andythenorth: yes, you don't want to truncate before doing the math, but make sure you ARE doing the math as a float and not an int. Python3 changes the default / to always produce a float when given two ints, but in python2 it'll still produce an int (like C)
06:47<Arafangion>Unless you import division from future.
06:48<Rhamphoryncus>the fuuuuuuuture!
06:48<Arafangion>Think about that... What other language does that? ;)
06:48<Rhamphoryncus>Even python doesn't do it nearly enough :(
06:49<Arafangion>Rhamphoryncus: Time machines are tricky enough to control, let alone use. I think python does it remarkably well.
06:49*Rhamphoryncus disagrees with python3's existance. It should have been a series of incrementally altered features that could be adopted early using imports of that sort
06:49<Arafangion>Rhamphoryncus: I disagree with that, actually.
06:49<Rhamphoryncus>Which part?
06:50<Arafangion>Rhamphoryncus: For example, one of the earliest changes that went into python3 was to fix up that messed-up tab/spaces thing.
06:50<Arafangion>In effect, -tt3 is the default.
06:50<Arafangion>Also, python3's unicode handling is much, much better, and not compatible with python2.
06:50<Arafangion>For example, you can refer to code points above 65530 (or whatever) even on a default python build on windows.
06:51<Rhamphoryncus>Which can be made an option for several releases, then produce a warning (but you can still disable it), but only finally turn on by default
06:51<Rhamphoryncus>Python's unicode is still pretty sketchy
06:51<Arafangion>It's better than most languages.
06:51-!-|Jeroen| [] has joined #openttd
06:51<Rhamphoryncus>That's not saying much ;)
06:51<Arafangion>Indeed not.
06:51<Arafangion>Have you seen how Ruby did it?
06:51<Rhamphoryncus>"Ours is only *half* broken."
06:52<Arafangion>Incidentally, my work still uses python 2.5
06:52<Rhamphoryncus>But I'm biased.. I had an argument with another dev over it
06:52<Arafangion>Rhamphoryncus: Yeah?
06:52<Arafangion>Ruby's treatment of unicode annoys me.
06:52<Arafangion>I much, much prefer python3's handling of it.
06:53<Rhamphoryncus>Over the proper way to handle surrogates, what's conformant to unicode, that sort of thing
06:53<Rhamphoryncus>Python likes to use CESU8 in some cases.. I don't remember which have been fixed
06:53<Arafangion>PYthon2's implicit string conversions was annoying, thouugh. :( I hate implicit string conversions.
06:53<Rhamphoryncus>Implicit string conversion was a well intentioned but completely failed feature
06:53<@Yexo>which implicit string conversion?
06:54<Arafangion>Yexo: string <-> unicode
06:54<Rhamphoryncus>Yexo: '' + u'' == u''
06:54<Rhamphoryncus>It blindly assumes the string is in ascii and attempts to decode it in to unicode
06:55<Rhamphoryncus>Which lets your code work when developing it but fail a month later when a user uses something outside of ascii
06:55<Arafangion>Rhamphoryncus: As an assumption, it's a reasonable choice, imho, but dammit, I don't like it implicitly being done. It leads to newbies getting surprised.
06:55<Arafangion>And 99% of programmers are newbies.
06:55<Rhamphoryncus>Most text *is* ascii.. but most utf-8 is also ascii.
06:55<Arafangion>I had to find and fix a bug the other day.
06:56<Arafangion>When I did it, the other devs had to ask me how the heck I even *found* it.
06:56<Arafangion>They were trying to find the bug by guessing where it was. :(
06:56<Arafangion>(I used bisection, combined with deleting half the unit tests until it was identified)
06:57<Rhamphoryncus>.. it was triggered by unit tests?
06:57<Arafangion>Rhamphoryncus: Just looked at CESU-8, what's wrong with it? It looks reasonable for python to use it? (As an *implementation* detail)
06:57<Arafangion>Rhamphoryncus: Yeah, we found it coming up in unit tests, but only in very specific situations on specific computers.
06:58<Rhamphoryncus>Oh, but I can assure you python didn't hide CESU-8 as an internal property. You could have it claim it's outputting utf-8 and magically end up with cesu-8
06:58<Arafangion>Rhamphoryncus: I traced it down to, it uses ctypes to load the wrong library, resulting in the C runtime being used incorrectly. :(
06:58<Arafangion>Rhamphoryncus: Bah, that sucks!
06:58<Rhamphoryncus>Still, if it's reproducible it can be found
06:59<Arafangion>Rhamphoryncus: Indeed. I shudder to think of how my team would handle a hard-to-reproduce bug. :(
06:59<Arafangion>I'm trying to push logging as a diagnostic approach.
06:59<Rhamphoryncus>CESU-8 isn't inherently a bad idea, but it only exists as a result of NOT handling surrogates. Your code is doing UCS-2, not UTF-16
07:00<Rhamphoryncus>As long as you schooled them properly on that one :D
07:00<Arafangion>Rhamphoryncus: That's essentially half the problem with the narrow build of python on windows.
07:00<Arafangion>Rhamphoryncus: My team come from a software house... I have an engineering background - we have a few differences!
07:00<Arafangion>(My specialisation was software, though)
07:01<Rhamphoryncus>That sounds entirely unsurprising
07:01<Arafangion>They worry far too damn much about efficiency. :(
07:01<Rhamphoryncus>And conforms to my opinion of software "engineering"
07:01<Arafangion>"Shit, the logs take 8 MB!!!"
07:02<Arafangion>My response: "Oh? Is that all? Fantastic"
07:02<Rhamphoryncus>"The logs take 8 MB!" "*thwack*"
07:02<Arafangion>Doesn't exactly result in agreements.
07:02<Rhamphoryncus>Just imagine me mentally giving you a cookie the next time that comes up :)
07:02<Arafangion>Yeah, and I'm like, whenever there's a problem and someone asks me what went wrong...
07:02<Arafangion>My standard response is: "Well, what do the logs say??"
07:03<Arafangion>Usually if there's no logs, I say: "Oh, that's too bad!". :(
07:03<Arafangion>Rhamphoryncus: Will do. :)
07:04-!-snack2 [] has joined #openttd
07:05-!-|Jeroen| [] has quit [Remote host closed the connection]
07:05-!-frosch123 [] has quit [Remote host closed the connection]
07:07<Rhamphoryncus>Arafangion: do they understand the concept of planning and researching before writing any code?
07:07<Arafangion>Rhamphoryncus: They claim to.
07:07*Rhamphoryncus enjoys lording over other programmers ;)
07:07<Arafangion>Myself... I haven't had a chance, to be honest.
07:08<Rhamphoryncus>Of course I started to type in a search for _date_fract just after I said that and started typing _code_fract instead
07:08<Arafangion>Heh, don't you love it when you think one thing, but type another? ;)
07:08<Arafangion>Happens to me all the time.
07:09<Arafangion>Weirdly, I've sometimes said two different words simultaniously.
07:09<Arafangion>(Which is possible since I'm bilingual in spoken english - and sign language)
07:09<@Alberth>andythenorth: nah, people would worry about backwards compability :)
07:09<Arafangion>Alberth: You'd be surprised.
07:10<Rhamphoryncus>Alberth: there's a place for that. For instance, I intend remain backwards compatible when loading old save files. The behaviour after loading, on the other hand, belongs in the bin beside me *g*
07:10<@Alberth>you don't think people would argue against /me removing all RV physics ? ;)
07:12<Rhamphoryncus>Alberth: loading old newgrfs is another matter :(
07:12<@Alberth>Rhamphoryncus: right, you never load old games from a previous version of course, nor dig around in the openttdcoop archives or the saved-games forum, do you?
07:12<Rhamphoryncus>Alberth: so what timetabling behaviour is important to you?
07:13<@Alberth>it has to work
07:13<Rhamphoryncus>It will work. Much, much better.
07:13<Rhamphoryncus>Just not the same
07:13<@Alberth>in particular with breakdowns enabled
07:14<Rhamphoryncus>Throw in manual depot orders and it will work, *period*.
07:14<Arafangion>Bah, you guys are on topic!
07:15<Rhamphoryncus>Arafangion: it had to happen. You've distracted me so much that I had to stop watching the talk, so I went back to something else *g*
07:15*Alberth likes servicing on date
07:15<Arafangion>Rhamphoryncus: Heh. I should be asleep.
07:15<Rhamphoryncus>maintain orders in the orders list did work before
07:16<Rhamphoryncus>Alberth: What I specifically intend to do is evenly space vehicles in the schedule and let them swap if one breaks down and is overtaken
07:17<@Alberth>that's what I'd like to have yes.
07:17<Rhamphoryncus>So your saves will work just fine with my changes :)
07:17<@Alberth>I failed to get that working in current versions, although I have no ttried it often
07:17<Rhamphoryncus>I also intend to gut all the related UI
07:18<Rhamphoryncus>Hmm, I should check if travel times are actually used for partial timetables
07:19<@Alberth>fine by me :p I don't get the idea of the current UI, too complicated
07:19<Rhamphoryncus>Since I plan to make them not used *g*
07:19<@Alberth>but others may disagree :p
07:20*Rubidium wonders how people can agree to disagree
07:20<Rhamphoryncus>Yeah.. that's why I'm taking a fork mentality. Put my changes out there for those who want them, don't worry if the devs decide not to care
07:21<@Alberth>what worries me a bit is that others seem to like, use it, and/or understand it. So either I am overlooking something, or I am expecting something else than others
07:21<Rhamphoryncus>Alberth: partial orders *can* be helpful. Make a vehicle wait 20 days loading, then leave
07:22<Rhamphoryncus>err, partial timetables
07:23<Rhamphoryncus>for complete timetables you have to pause the game, break out the calculator and calendar, manually set every vehicle to their own start date, then unpause it
07:23<@Alberth>Rhamphoryncus: I am sure it is, although I don't see why you don't want to load full
07:23<andythenorth>Alberth: I was thinking about consists + order groups again
07:23<@Alberth>andythenorth: good :)
07:23<Rhamphoryncus>And then repeat if you ever send one to the depot by hand, skip them to the next order, maybe use autoreplace to upgrade them (not sure), or watch for any other desync of their schedules
07:23<andythenorth>seems it's quite common behaviour to do this:
07:23<andythenorth>- move a vehicle to group
07:23<andythenorth>- add all shared vehicles
07:24<andythenorth>- set auto-replace rule
07:24<andythenorth>- replace all
07:24<andythenorth>- remove from group
07:24<Rhamphoryncus>andythenorth: I'm planning to gut that too :)
07:24<@Alberth>sounds plausible
07:24<andythenorth>which seems like an affordance that could be provided differently
07:24<Rhamphoryncus>But I put them in a group to begin with and leave them there
07:24<andythenorth>for example, auto-replace on shared order group
07:25<andythenorth>one of the 'problems' with trying to fix groups / consists / orders was: "all things to all men"
07:25<Rhamphoryncus>Make a route-management window. Create the list of shared orders, then create vehicles within it
07:25<andythenorth>so they'll always fail :P
07:25<andythenorth>exploding it into distributed bits of functionality _might_ work
07:25<andythenorth>or it might be a cluster ****
07:26<Rhamphoryncus>There's probably use-cases for groups of routes.. but I have no intention of including that at first
07:26<Rhamphoryncus>And *everywhere* there's a vehicle name should be willing to display the route name
07:26<@Alberth>"all things to all men" indeed :p
07:26<andythenorth>including "it must perform magic, or I will argue on irc for four hours, offensively"
07:27<Rhamphoryncus>(damned engsup!)
07:28<@Alberth>andythenorth: you need a handle to the shared order vehicles
07:29<@Alberth>groups are a somewhat dirty backdoor to do that currently
07:29<andythenorth>Alberth: I didn't say it was easy :)
07:29<Rhamphoryncus>hmm. The command "src scribes/order_base.h" doesn't seem to work...
07:30<andythenorth>the implementation might still demand a better group and/or consist framework
07:30<Rhamphoryncus>Alberth: cheerlead for me and you will have it :P
07:31<@Alberth>Rhamphoryncus: unlikely, unless you take the entire vehicle management upside down from the ground
07:31<Rhamphoryncus>.. I might
07:31<Rhamphoryncus>I have the time, I have the skill, I have the itch
07:34-!-Elukka [] has joined #openttd
07:35<Rhamphoryncus>What I haven't gotten is a lot of response from the devs, so my motivation has struggled
07:36<Rhamphoryncus>(thus my fork mentality.)
07:38<andythenorth>that's openttd :P
07:38<andythenorth>"bring working code, possibly get applause" :D
07:38<andythenorth>is python's int() broken
07:38<andythenorth>int(76.5) returns 76
07:38<andythenorth>instead of 77
07:38<@Yexo>Rhamphoryncus: I'm not sure what kind of response you expected
07:38<andythenorth>or is andythenorth broken?
07:39<@Yexo>the latter :p
07:39<@Yexo>int() is not round() or similar
07:39<andythenorth>maybe I call round() first then
07:39<Rhamphoryncus>andythenorth: yeah, it's a problem with many opensource projects
07:40<@Yexo>Rhamphoryncus: if you want an answer to a question, ask a specific question
07:40<Rhamphoryncus>Yexo: how about review and/or application of the patch I did submit?
07:40<@Yexo>I'm sorry, I haven't really followed the bug tracker last week
07:40*andythenorth wonders how much rounding matters in this TE calc
07:40<andythenorth>not a lot
07:40<Rhamphoryncus>two weeks old now
07:40<@Yexo>Rhamphoryncus: can you give me a fs number?
07:40<@Yexo>s/last week/last few weeks/ :p
07:41<Rhamphoryncus>alright, conceded *g*
07:42<Rhamphoryncus>I also find it odd that I can ramble about something code related and get no commentary whatsoever.. but there are people here, they're talking, and sometimes talk to me
07:43<@Yexo>not everyone here is an openttd dev or even a programmer at all
07:43*andythenorth is neither
07:43<@Yexo>in fact I'd guess the majority is not
07:43<Rhamphoryncus>No, but some, and they've been talking when I've rambled
07:43<Rhamphoryncus>If I had a very specific question I might get an answer
07:44<andythenorth>@calc 0/0
07:44<@DorpsGek>andythenorth: Error: float division
07:44<andythenorth>valid maths though :P
07:45<@Yexo>Rhamphoryncus: can't see any obvious mistakes, but I'd need to review it better to give you a proper response. Don't have the time for that now though
07:46<Rhamphoryncus>Yexo: that's fine. That's already an order of magnitude more response than I've gotten so far.
07:46<@Yexo>what I can say as possible reason for slow response: it's a codechange, while those are important in the long run, your patch doesn't offer any immediate benefit
07:46<@Yexo>a bug fix or new feature will get people more excited usually ;)
07:47<Rhamphoryncus>heh. Maybe they're so jaded that they don't believe my promises of fixing timetabling
07:47<@Yexo>if you plan on doing that, create a patch series and submit that in one go
07:48<@Yexo>than the end result is visible and it's clear where individual small patches like this lead to
07:48<@Yexo>if that's too much to do at once, create a document (could be one the wiki) on how you plan to change(/fix) timetabling, where it's obvious how this patch helps
07:49<@Yexo>in either case: it gives more purpose to it than it has now
07:49<Rhamphoryncus>I can't fix it without altering the save format, and I want to do that anyway as part of a broader redesign, so I'm not going to do an intermediate patch of that form
07:49<Rhamphoryncus>But a proof of concept version? Yes
07:53-!-TWerkhoven [] has joined #openttd
07:58<andythenorth>not working :|
08:02<andythenorth>probably a small rounding error becoming larger because I have to multiply by 4
08:03<Ammler>multiply first, then round
08:03<andythenorth>Ammler: that would require a new function or more params on existing function
08:03<andythenorth>which is saf
08:03<andythenorth>saf? sad
08:04<andythenorth>hysterical raisins
08:04<andythenorth>Terkhen: feel like that code review? or deep in civ?
08:06-!-theholyduck [] has quit [Read error: Connection reset by peer]
08:06-!-theholyduck [] has joined #openttd
08:07-!-hbccbh [~hbc@] has quit [Quit: Leaving.]
08:07<andythenorth>the results vary by ~1KN now
08:07<andythenorth>which is 'unacceptable'
08:07-!-hbccbh [~hbc@] has joined #openttd
08:09<Ammler>andythenorth: why is it that complicated? just multiply the input with 4 instead the output?
08:09<@planetmaker>andythenorth: btw, wrt what asked yesterday: if you don't generate the .lng files from then of course such rule is ... pointless at best
08:09<andythenorth>I could write a wrapper function and call that
08:10<andythenorth>planetmaker: +1
08:10<andythenorth>what I should learn is what the rule should be ;)
08:11<Ammler>eddi should comment his stuff
08:12<andythenorth>he doesn't fully understand it either
08:12<andythenorth>I asked him ;)
08:12<Ammler>does planetmaker understand the cets
08:13<Ammler>2 targets running the same script?
08:15<@Alberth>for software, it is quite common to use the same compiler for each source file :p
08:18<andythenorth>apparently maths is not maths in my python script
08:19<andythenorth>@calc (76*38.25) / 115
08:19<@DorpsGek>andythenorth: 25.2782608696
08:19<andythenorth>my script thinks the answer is 25.5
08:19-!-Progman [] has quit [Remote host closed the connection]
08:20<andythenorth>@calc (0.3*255) / (38/115)
08:20<@DorpsGek>andythenorth: 231.513157895
08:20<andythenorth>@calc (0.3*255) / (115/38)
08:20<@DorpsGek>andythenorth: 25.2782608696
08:21<andythenorth>@calc (0.3*255) / (76/38)
08:21<@DorpsGek>andythenorth: 38.25
08:21<andythenorth>my python is retarded
08:21<andythenorth>or I need to learn how it is expanding ints when multiplied by floats
08:22<andythenorth>putting a lot of float() around the place fixes it
08:23<@Alberth>int/int is truncating divide in python 2
08:23<@Alberth>(or actually, rounding towards 0)
08:23<@Alberth>floats stay floats
08:24<andythenorth>and float * int is expanded to width of float?
08:24<andythenorth>but not expanded arbitrarily to (some precision)
08:24<@Alberth>actually, float has the limited precision :p
08:24<andythenorth>so if float is 1.5....result will have one decimal place?
08:24<@Alberth>but it does float * float(int)
08:24<andythenorth>apparently it doesn't
08:24-!-cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
08:25<@planetmaker>Alberth: Eddi modified the Makefile recently. And I haven't found time to look at it since
08:25<andythenorth>I thought it did, from reading docs, but maths suggests otherwise
08:25<@Alberth>andythenorth: decimal place are not relevant with floats
08:25*andythenorth thought he had an answer :(
08:25<@Alberth>you always get the best possible approximation with float
08:25<andythenorth>my code works, but if I don't know why....bad
08:26<@Alberth>if you want control over decimal places and such, use Decimal, or use int and divide at the end
08:26<andythenorth>I don't need that :)
08:26<andythenorth>I just want maths to be maths
08:26<andythenorth>not wrong ;)
08:26<andythenorth>"Python fully supports mixed arithmetic: when a binary arithmetic operator has operands of different numeric types, the operand with the ``narrower'' type is widened to that of the other, where plain integer is narrower than long integer is narrower than floating point is narrower than complex"
08:26<andythenorth>is what I thought
08:27<andythenorth>as it's what docs say...
08:27<@Alberth>the trouble is that what we think as nice numbers (such as 0.1) are not nice in the binary system
08:27<andythenorth>oh...does it expand everything in the expression to same width? Or does it work within parentheses?
08:27<andythenorth>e.g. I have x / (y / z)
08:28<andythenorth>where y and z are both ints
08:28<andythenorth>which would explain the rounding error I see
08:28<andythenorth>x is a float
08:28<@Alberth>per operation would be my thought
08:29<@Alberth>y / z does rounding down in python 2 (ie it does y // z )
08:29<andythenorth>for input values I can provide, this:
08:29<andythenorth> adjusted_te_coefficient = default_te_coefficient / (total_weight / truck_weight)
08:29<andythenorth>produces 25.5
08:29<andythenorth>whereas this:
08:29<andythenorth> adjusted_te_coefficient = float(default_te_coefficient) / (float(total_weight) / float(truck_weight))
08:30<andythenorth>produces 25.2782608696
08:30<andythenorth>the second value is correct
08:30<andythenorth>the first is 'wrong' for some values of 'wrong' :)
08:30<@Alberth>integer arithmetic works differently from 'normal' maths
08:31<Rhamphoryncus>Yes, it is per-operation
08:31<@Alberth>adjusted_te_coefficient = default_te_coefficient * truck_weight / total_weight would be better in integer arithmetic
08:31<Rhamphoryncus>x / (y / z) will produce an int, and only later a float
08:32<@Alberth>x / (y / z) == x / trunk(y / z)
08:32<andythenorth>if I hadn't run a print of the output on this, I would never have caught it
08:32<andythenorth>it only applies in a few places
08:32<andythenorth>edge case :P
08:33-!-frosch123 [] has joined #openttd
08:34-!-tokai|noir [] has joined #openttd
08:34-!-mode/#openttd [+v tokai|noir] by ChanServ
08:37<andythenorth>if it's a fifth-wheel truck, I should put some fraction of the 1st trailer's weight on the truck too
08:37<andythenorth>anyone want to tell me that's too complicated?
08:37<andythenorth>then I can ignore it :P
08:38<@Alberth>you're bike shedding :)
08:39<andythenorth>"I may have no graphics, but LOOK AT THE ACCURATE PHYSICS"
08:40-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
08:41*Alberth misses some people sprites too, but you can build a path for them. Does that count too ?
08:45<andythenorth>let's call that 'done'
08:45*andythenorth would appreciate any code review
08:47<@Alberth>that line at the left looks ok to me.
08:47-!-Eddi|zuHause [] has joined #openttd
08:47<Eddi|zuHause> 14:00:45 < Ammler> does planetmaker understand the cets
08:47<Eddi|zuHause> 14:01:34 < Ammler> 2 targets running the same script?
08:47<Eddi|zuHause>that part is from planetmaker himself
08:48<Eddi|zuHause>i tried to refactor it so it's only called once, but that didn't work...
08:48<@Alberth>Eddi|zuHause: now you have to leave again according to the protocol :)
08:48-!-Eddi|zuHause [] has left #openttd []
08:48*andythenorth briefly, insanely considered a python build script instead of make file
08:48<andythenorth>then andythenorth stopped smoking crack
08:49<@Alberth>a wise decision, in the long term, at least :)
08:49<andythenorth>the former, the latter, or both?
08:49<@Alberth>the latter, no idea about the former
08:50<@Alberth>if all is python, then a python build script is quite trivial
08:50<andythenorth>true, but planetmaker has ~3 years worth of code in the makefile
08:50<andythenorth>and it works
08:50-!-Aitor [] has joined #openttd
08:50-!-Aitor [] has quit []
08:52<@Alberth>yeah, it's one less thing to worry about
08:52-!-FLHerne [] has joined #openttd
09:00<Ammler>lol eddi
09:00<Ammler>Alberth: what protocol?
09:01<Ammler>is he on strike?
09:11-!-TWerkhoven [] has quit [Ping timeout: 480 seconds]
09:24-!-theholyduck [] has quit [Ping timeout: 480 seconds]
09:27-!-lollercaust [] has joined #openttd
09:29<@Terkhen>andythenorth: I was making lunch and then eating it :)
09:30<@Terkhen>I have some friends here today so no reviews until the evening
09:37-!-hbccbh [~hbc@] has quit [Remote host closed the connection]
09:41-!-hbccbh [~hbc@] has joined #openttd
09:47*andythenorth is confused by
09:47<andythenorth>I'm handling callbacks with a chain of switch blocks. Docs imply that's old style method.
09:48<andythenorth>what's the new / correct method?
09:52-!-|Jeroen| [] has joined #openttd
09:56-!-snack2 [] has quit []
09:58-!-TWerkhoven [] has joined #openttd
09:58-!-Rhamphoryncus [] has quit [Quit: Rhamphoryncus]
10:00-!-Zuu [] has joined #openttd
10:01-!-lmergen [] has quit [Ping timeout: 480 seconds]
10:02<andythenorth>how should I fail a graphics chain in NML? Or I shouldn't?
10:09-!-theholyduck [] has joined #openttd
10:10<andythenorth>Yexo: l4 here is the wrong approach in a graphics chain?
10:10<andythenorth>I should always provide graphics?
10:25<@Alberth>Ammler: the 'enter', 'say some stuff', 'leave before others can react' protocol
10:25<andythenorth>Alberth: you should now leave
10:25<andythenorth>or you breach protocol :)
10:27<@Alberth>but I am around too long already :)
10:28<andythenorth>is eddi having some kind of holiday?
10:28<andythenorth>how odd
10:28<@Alberth>no idea, it suprised me too that he did not return shortly afterwards :)
10:30<andythenorth>anybody know the answer to my NML question above?
10:30*andythenorth suspects the answer is 'always return a graphics block'
10:30-!-Keyboard_Warrior [] has joined #openttd
10:37<@planetmaker>a graphics chain sthould not fail
10:38-!-theholyduck [] has quit [Ping timeout: 480 seconds]
10:38<@planetmaker>it's not a callback chain after all
10:38-!-FLHerne [] has left #openttd []
10:42<andythenorth>I've made an 'error' graphic for default results that can only be reached if I screwed up :)
10:44-!-theholyduck [] has joined #openttd
10:49-!-holyduck [] has joined #openttd
10:50-!-supermop [] has joined #openttd
10:50-!-Keyboard_Warrior [] has quit [Read error: Connection reset by peer]
10:56-!-theholyduck [] has quit [Ping timeout: 480 seconds]
10:59-!-Keyboard_Warrior [] has joined #openttd
11:06<+michi_cc>andythenorth: I don't really now about eddi, but I'd guess it is the I-have-to-pass-some-exams-and-not-do-other-stuff mode :)
11:06<andythenorth>wtf? :)
11:06<andythenorth>long time since andythenorth did exams
11:07-!-holyduck [] has quit [Ping timeout: 480 seconds]
11:07<andythenorth>soon they'll be >50% distant from present
11:08<supermop>eddi is in school?
11:08*andythenorth needs to rethink strings :|
11:08<supermop>I always thought he was like my dad's age
11:08<andythenorth>need to tell player about articulated trucks with 1 trailer
11:09<andythenorth>as they can't be routed to drive-in stops
11:10<+michi_cc>University (some Americans might call it school though)
11:10*andythenorth also assumes eddi is older
11:11<andythenorth>incorrectly it seems :)
11:14<+michi_cc>Whatever you imagined him looking, you probably imagined wrong :)
11:15*andythenorth tries to avoid imagining what ottd people look like :)
11:16<andythenorth>time to setup a milestone for BANDIT
11:17<frosch123>it's simple, eddi is the guy with the beard
11:17<frosch123>and the tuba
11:22-!-Markavian` [] has joined #openttd
11:26*andythenorth bends brain to code
11:29-!-Markavian [] has quit [Ping timeout: 480 seconds]
11:30-!-theholyduck [] has joined #openttd
11:36-!-Keyboard_Warrior [] has quit [Ping timeout: 480 seconds]
11:36<andythenorth>conditional templating versus simple templating :|
11:37*andythenorth avoids conditional crap like plague
11:37<andythenorth>if possible
11:39<andythenorth>might have no choice though :(
11:42-!-KritiK [] has joined #openttd
11:54-!-mkv` [] has joined #openttd
12:01-!-Markavian` [] has quit [Ping timeout: 480 seconds]
12:02-!-theholyduck [] has quit [Ping timeout: 480 seconds]
12:07-!-|Jeroen| [] has quit [Remote host closed the connection]
12:12-!-Devroush [] has joined #openttd
12:19-!-Firartix [] has joined #openttd
12:23-!-valhallasw [~valhallas@] has joined #openttd
12:36-!-Neon [] has left #openttd [I only left the channel so... I'm still on the network. It's probably your fault that I'm gone.]
12:44-!-andythenorth is now known as Guest2264
12:44-!-Guest2264 [] has quit [Read error: Connection reset by peer]
12:44-!-andythenorth [] has joined #openttd
12:45-!-kkb110_ [] has joined #openttd
12:45-!-kkb110 [] has quit [Read error: Connection reset by peer]
12:48-!-Nat_as [] has joined #openttd
12:49<Nat_as>can anybody help me with my network>
12:49<Nat_as>I'm getting implicit orders that take my trains in the totaly wrong direction.
12:49<Nat_as>and they are losing money with all this wasted moving
12:51-!-HerzogDeXtEr [] has quit [Read error: Connection reset by peer]
12:52-!-HerzogDeXtEr [] has joined #openttd
12:57<@Alberth>implicit orders don't steer trains
12:57<@Alberth>they are just records of the train visiting different stations than you ordered
12:57<Nat_as>well for some reason my trains are being steered in the opisate direction, and ending up going the whole length of the map
12:58<Nat_as>and I took out a ton of loans to build this raill, so I will probably go bankrupt if they can't earn money
12:58<@Alberth>do you have depot orders?
12:58-!-sla_ro|master [slaco@] has quit [Quit: i like RAGE (fps game) - :P]
12:59<@Alberth>and do the trains need servicing?
12:59<@Alberth>then they probably saw a depot for servicing at some junction, and are now trying to find their way back
12:59<Nat_as>maintain if nessary, and it should not be a problem the way it's set up
13:01<@Alberth>when trains move in weird directions, it's normally because they cannot find a simple way back
13:02<@Alberth>nice, the street lights don't work, so it's really dark outside :)
13:03-!-sla_ro|master [slaco@] has joined #openttd
13:04<Nat_as>but there IS a way back
13:04<Nat_as>I checked a million times
13:04<Nat_as>they avoid it
13:04<Nat_as>and go the other direction
13:04<Nat_as>I even set up waypoints
13:04<@Alberth>then it just looks like a way back, but it isn't
13:04<@Alberth>signal the other way around, not electrified piece
13:05<@Alberth>a trick I sometimes use is to force a train in the direction by cutting off all other options.
13:05<Nat_as>I have double checked all signals, non electric track
13:06<@Alberth>obviously it will get stuck, but the position should give some more information
13:06<Nat_as>the thing is, on the way up, they go over the track they are suposed to
13:06<Nat_as>but on the way back they make a detour.
13:06<Nat_as>it can't possibly be a route issue, it's a pathfinding issue.
13:07<Nat_as>my station is confusing them somebow
13:07<@Alberth>can you post a savegame or so?
13:08<@Alberth>(assuming you play plain openttd)
13:08<Nat_as>sure, it needs cargodist and a few newgrifs
13:08<@Alberth>that's not a plain openttd
13:09<@Alberth>I don't have those patched versions
13:09<Nat_as>I don't think that should be what's causing the problem, but if you don't have it you wont be able to help me sadly
13:09<@Alberth>you can post a game in the cargodist thread perhaps
13:10<Nat_as>I think my new station design just gives them too many options
13:10<Nat_as>I wanted to build a station that can be traveled through without stopping, or stoped at.
13:10<Nat_as>and they seem to use this to turn around when entering and exiting
13:11<Nat_as>making a full 180
13:11<Nat_as>Not sure WHY they chose to do this.
13:11<@Alberth>so what happens if you force them through it?
13:12<@Alberth>ie take out the track after them
13:13<@Alberth>and you can have a station like that, just use a non-stop order
13:13<Nat_as>honestly I don't think I can salvage that game
13:13<Nat_as>I am too much in debit
13:13<Nat_as>I love jungle maps so much
13:13<Nat_as>but it's so hard
13:13<@Alberth>load an old version once you found the reason
13:13<Nat_as>Towns hate you forver and building is expensive.
13:14<@Alberth>I tend to want to build a network, nothing more :)
13:14*andythenorth tries to think of a way to avoid setting truck properties manually :P
13:14*andythenorth is lazy
13:14<andythenorth>I need "vehicle.power = do_magic()"
13:15<Nat_as>i want to build a network, but I want it to be in a tropical banana republic.
13:15<andythenorth>or I need an offsider / apprentice / gimp / collaborator
13:15<@Alberth>andythenorth: use "17" as magic number of the power
13:15<Nat_as>I can kind of do pixel art.
13:15<andythenorth>or use the 'import future' module in python
13:15<Nat_as>if anybody needs sprites.
13:15<andythenorth>and import what the values will be
13:15<Nat_as>is there a alignment template anywhere for train cars?
13:16<andythenorth>Nat_as: there is a (little used - it just started) channel for art
13:16<Nat_as>like black lines that tell you where they are centered and where the boundaries are?
13:17<@Alberth>andythenorth: nice :)
13:17<andythenorth>Alberth: somewhat circular that idea :P
13:18<@Alberth>yeah, not good for getting values now :)
13:19<andythenorth>it's a bit like the magic button I want for excel: 'make my spreadsheet for me' :(
13:20<andythenorth>how hard can it be to decide some HP values anyway :P
13:20<andythenorth>ho, maybe I just set start and end values, and have python fill in the rest with an iterator
13:20<andythenorth>'carefully designed for gameplay' :P
13:21<@Alberth>import random
13:21*andythenorth will just get on with doing it manually
13:21-!-glx [glx@2a01:e35:2f59:c7c0:7457:4189:a2e8:d373] has joined #openttd
13:21-!-mode/#openttd [+v glx] by ChanServ
13:34-!-Chris_Booth [] has quit [Remote host closed the connection]
13:36-!-Chris_Booth [] has joined #openttd
13:45<CIA-1>OpenTTD: translators * r23922 /trunk/src/lang/ (dutch.txt luxembourgish.txt norwegian_nynorsk.txt):
13:45<CIA-1>OpenTTD: -Update from WebTranslator v3.0:
13:45<CIA-1>OpenTTD: dutch - 3 changes by Bennievv
13:45<CIA-1>OpenTTD: luxembourgish - 49 changes by Phreeze
13:45<CIA-1>OpenTTD: norwegian_nynorsk - 1 changes by mantaray
13:52<+michi_cc>Nat_as: There are some simple things to check for if trains won't go where you think they should: a) missing track piece (maglev makes seeing that hard), b) wrong track type/no electrification, c) 90 degree curves disallowed but the only way contains them, d) difficulty options forbid reversing at stations, e) there really is not way (check for detours due to servicing).
13:52-!-LordAro [] has joined #openttd
13:55<LordAro>-4 degrees outside here :L
13:57<@Alberth>how is your patch queue going?
13:59<LordAro>finished, methinks :)
13:59<LordAro>thanks for reminding me to upload it :)
14:00-!-pugi [] has joined #openttd
14:02<LordAro>@fs 5047
14:02<LordAro>^ there you go
14:02<@Alberth>michi_cc: nice summary, thanks. I made it a FAQ:
14:04*Alberth still wants to fix the first 2 or 3 questions at that page, but fails to find a nice layout
14:09-!-HerzogDeXtEr1 [] has joined #openttd
14:16-!-HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
14:19-!-Firartix [] has quit [Ping timeout: 480 seconds]
14:23<Zuu>LordAro: -4 doesn't sound that bad.
14:23<LordAro>-5 now :)
14:24<LordAro>was -12 early this morning
14:25-!-cypher [] has joined #openttd
14:25<Zuu>Okay. Here it is -4 at the moment.
14:26<CIA-1>OpenTTD: rubidium * r23923 /trunk/os/rpm/openttd.spec: -Update [FS#5044]: rpm specs (Ammler)
14:26<@Rubidium>-4 K is pretty bad, though interesting ;)
14:27-!-cypher [] has quit [Read error: Connection reset by peer]
14:27<@Alberth>I doubt you can reach that temperature :)
14:27<Zuu>pick the temperature scale of your choise :-)
14:32<@Rubidium>-4 °D isn't that cold ;)
14:35-!-Markavian [] has joined #openttd
14:35-!-cypher [] has joined #openttd
14:41-!-mkv` [] has quit [Ping timeout: 480 seconds]
14:42<CIA-1>OpenTTD: rubidium * r23924 /trunk/src/ (news_gui.cpp script/api/script_news.hpp):
14:42<CIA-1>OpenTTD: -Fix [FS#5054]: [NoGo] "Some" news messages would cause an assertion to be
14:42<CIA-1>OpenTTD: triggered due to a missing proper location for the viewport of the news message,
14:42<CIA-1>OpenTTD: so only allow building when valid data for the viewport is provided or no
14:42<CIA-1>OpenTTD: viewport is used
14:43-!-Firartix [] has joined #openttd
14:44<CIA-1>OpenTTD: rubidium * r23925 /trunk/src/script/api/game/game_news.hpp.sq: -Fix (r23924): remove some remnants from generated files as well
14:46-!-Xrufuian [] has joined #openttd
14:46<CIA-1>OpenTTD: rubidium * r23926 /trunk/ (7 files in 2 dirs): -Update [FS#5055]: some missing Latin-ish characters as some translations started using them (PaulC)
14:48<andythenorth>~2 hrs to add tablesort js to my site :o
14:48<andythenorth>how silly
14:49<@Rubidium>java just gives you that out-of-the-box
14:51-!-tensai_cirno [~cirno@] has joined #openttd
15:07<andythenorth>how handy
15:07<andythenorth>does it also bath the baby during that period?
15:08<andythenorth>all my coding is slower due to....offspring
15:08<CIA-1>OpenTTD: rubidium * r23927 /trunk/src/ (blitter/32bpp_anim.cpp script/api/script_news.cpp): -Fix [FS#5056]: 32bpp animated blitter was optimised a bit too far regarding not needing to update the colour mapping when (re)initialising the palette
15:16-!-lollercaust [] has quit [Quit: Leaving]
15:19-!-Zjan [] has joined #openttd
15:19<Zjan>hello there
15:23-!-Elu [] has joined #openttd
15:25<CIA-1>OpenTTD: rubidium * r23928 /trunk/src/vehicle.cpp: -Fix [FS#5053]: don't accelerate, for smoke purposes, when you reached the track's maximum speed
15:25<Zjan>hey i got a question
15:25<Zjan>When i start a server, it doesnt show all the time. And when my friend tries to join it sais no response
15:26-!-Elukka [] has quit [Ping timeout: 480 seconds]
15:26<@Rubidium>Zjan: ever heard of the concept of "port forwarding"?
15:31-!-Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
15:32-!-Zjan [] has joined #openttd
15:32<Zjan>yeah i portforwarded 3979 and 3978
15:34<@Alberth>also across your Internet router/modem?
15:34-!-Elu is now known as Elukka
15:34<Elukka>sounds odd if it shows up some of the time but not all the time
15:35<@Alberth>(assuming you are not playing at the LAN)
15:35<@Alberth>Elukka: you can also interpret the message as "never"
15:36<Zjan>not that i know of, so probably not
15:36<Zjan>i entered my ip in the adress bar
15:36<@Rubidium>Zjan: did you forward TCP or UDP?
15:36-!-Elukka [] has left #openttd []
15:36-!-Elukka [] has joined #openttd
15:36<Zjan>we can lan
15:37<Zjan>we can play lan but i got the same problem there
15:39<Zjan>my connection with this chat is really slow at the moment
15:41-!-Devroush [] has quit []
15:42<@planetmaker>Zjan: if you _can_ play in the lan but not have your server advertise over the internet, the forwarding is not properly set in your router
15:44-!-Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
15:45<@Rubidium>I guess the problem is his connection
15:45-!-lollercaust [] has joined #openttd
15:45-!-Zjan [] has joined #openttd
15:45<Zjan>then i dont know how to do it properly
15:47<Zjan>then i didnt forwarded it properly
15:48<Zjan>and i dont know how
15:48<@Alberth>depends on what router you use, you should read its manual
15:50-!-Progman [] has joined #openttd
15:52<Elukka>there should be an option as to whether the ports you forward are UDP or TCP
15:52<Elukka>i don't remember offhand which the openttd ports are, you could forward both
15:53-!-Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
15:55-!-Zjan [] has joined #openttd
15:55<Zjan>i forwared both 3979 and 3978, both utp and tcp
15:56<@Terkhen>that should work, as long as you are forwarding them correctly
15:57<@Rubidium>Zjan: it might very well be that the connection issues are due to the unstable connection you got
15:57<@Terkhen>that too
15:57-!-lofejndif [] has joined #openttd
15:58<Zjan>but i can join others
15:58<Zjan>but i use wireless yes, but i havent had a single problem with it, just this chat actually
15:58-!-lollercaust [] has quit [Quit: Leaving]
15:59-!-lofejndif [] has quit [Read error: Connection reset by peer]
15:59-!-lofejndif [] has joined #openttd
15:59<@Alberth>joining others is a connection in the other direction
16:00<@Alberth>often the routers only block incoming connections, not the outgoing connections
16:03-!-Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
16:05-!-Zjan [] has joined #openttd
16:06<Zjan>so i forwarded both ports, and we played once together for about a minute
16:09<@Terkhen>Zjan: if you managed to play at least once then the ports are forwarded correctly
16:11-!-pugi [] has quit [Ping timeout: 480 seconds]
16:11-!-Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
16:13-!-Zjan [] has joined #openttd
16:14<Zjan>so it's the wireless connection then? weird cuz i didnt had any problems with that at all so far
16:15-!-lmergen [] has joined #openttd
16:19-!-Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
16:19-!-pugi [] has joined #openttd
16:21-!-Zjan [] has joined #openttd
16:26-!-Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
16:29-!-DDR [] has joined #openttd
16:37<andythenorth>way too many trucks in BANDIT
16:39<SpComb>write a truck-reduction function
16:39<@Terkhen>split it into smaller sets
16:41<andythenorth>Terkhen: this is *just* the north american part of the set :o
16:41<@Terkhen>north america is big
16:41<andythenorth>45 trucks between 1905 and 1968
16:41<andythenorth>@calc 63/45
16:41<@DorpsGek>andythenorth: 1.4
16:42<andythenorth>1 every 1.4 years :o
16:43<@Rubidium>sounds low ;)
16:43-!-kkb110_ [] has quit [Read error: Connection reset by peer]
16:43<andythenorth>Rubidium: you're doing sarcasm?
16:43-!-kkb110 [] has joined #openttd
16:43<SpComb>@calc 45 / (1968 - 1905)
16:43<@DorpsGek>SpComb: 0.714285714286
16:43<@Rubidium>last 15 years there were 5 new emission standards, so say 5 different generations. How many manufacturers are there?
16:44<andythenorth>8 manufacturers
16:44<andythenorth>truck types: express, general purpose, heavy duty
16:44<andythenorth>capacities 4t-50t
16:45<@Alberth>andythenorth: trying to simulate RL causes chaos
16:45<andythenorth>hence 'too many'
16:45<@Rubidium>Volvo, Scania, Mercedes, Iveco, MAN which would lead to one every 0.6 years in the last 15 years
16:45<andythenorth>game needs fewer trucks ;)
16:45<+michi_cc>andythenorth: Don't look at the 'extended set' of CETS ;)
16:45<andythenorth>I won't :)
16:46<+michi_cc>Not that I'd think the result of that would be in any way playable at all. The only use is as a model railroad simulator.
16:47<andythenorth>hmm, with 'engines expire' = true, it's better
16:47<CIA-1>OpenTTD: rubidium * r23929 /trunk/src/lang/english.txt: -Doc [FS#4966]: document, in a tooltip, that depot orders disable automatic servicing
16:48<+michi_cc>While a lot of people play without engine expiration, a set should IMHO always be designed for expiration enabled.
16:48-!-perk11 [~perk11@] has joined #openttd
16:52<andythenorth>(can sort on intro date column)
16:56<andythenorth>too many trucks in 1940s
16:58<@Terkhen>choose only a few
16:58<Nat_as>talking about sorting car lists?
16:58<Nat_as>that's a problem with the UI
16:58<Nat_as>it wasn't designed for this man
16:59<@Terkhen>nope, about andy's problem with BANDIT
17:00<andythenorth>I have to ensure some high capacity trucks without trailers are available, for us in drive-in road stops
17:00<andythenorth>designing truck sets is basically about 4x more complex than a train set
17:00<andythenorth>which is why there has only been one I guess
17:00<andythenorth>no surprise in a train game
17:01<Nat_as>because long trucks might be longer than one square?
17:01<Nat_as>Truck+more than one trailer?
17:02<andythenorth>because articulated trucks can't use drive-in roadstops
17:02<andythenorth>it's just a code limitation
17:03*andythenorth waves bye to Reifsnider 260
17:03<@Terkhen>IMO it is a space limitation as well
17:03<@Terkhen>many articulated trucks would not fit into a drive-in roadstop
17:04<andythenorth>also true
17:06-!-lmergen [] has quit [Ping timeout: 480 seconds]
17:06<Nat_as>how is that a problem if they are only one square long?
17:07<Nat_as>Or are you talking about the end of line road stops?
17:07<Nat_as>instead of the on line road stops
17:13*andythenorth will now lose wifi :|
17:14*andythenorth wonders why BROS doesn't use a code generator or templating
17:15<@Alberth>for same reason it took you so long to discover them, would be my guess
17:17<andythenorth>weeeell....HEQS and FISH have a lot of CPP templating ;)
17:17<andythenorth>but templating nml is so trivial :)
17:18*andythenorth removes three trucks from BANDIT
17:18-!-Alberth [] has left #openttd []
17:19-!-perk11 [~perk11@] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
17:20<andythenorth>and another
17:22<@Terkhen>nml templates are trivial now? what changed? :P
17:22-!-hbccbh [~hbc@] has quit [Quit: Leaving.]
17:23<andythenorth>and I'm cheating
17:23<andythenorth>I'm writing templates using methods + language I use nearly every week for 7 years
17:24<@Terkhen>that's what I do with CPP :)
17:25<andythenorth>Terkhen: the 'adjust RV physics' code is here
17:25<CIA-1>OpenTTD: rubidium * r23930 /trunk/src/ai/ai_gui.cpp: -Fix [FS#4944]: [Script] Do not close the parameter window when a script starts
17:25<andythenorth>l107 - l124
17:26<andythenorth>not get_total_consist_capacity() though
17:26<@Terkhen>andythenorth: strange code
17:27<andythenorth>it's snake flavoured
17:27<@Terkhen>as in "it makes little sense to me"
17:28<andythenorth>that's how I often feel with c++ ;)
17:28<andythenorth>I can read some of it. then I fall off a cliff
17:29<andythenorth>because I can understand maybe 60% of c++ code in openttd, the 'wtf?' factor is a big higher when I hit something I can't figure out
17:29<andythenorth>big / bit /s
17:29<andythenorth>the python code linked above is pretty simple ;)
17:29<andythenorth>the templates are a bit more of an acquired taste:
17:30<andythenorth>ho, I just found a bug from reading my own code on devzone :)
17:39-!-Biolunar [] has joined #openttd
17:40<@Terkhen>andythenorth: I don't even see how this relates to nml code at all, it seems like a bunch of random functions to me :P
17:40<andythenorth>it's called by the templating
17:40<andythenorth>each vehicle is an object with attributes, methods etc
17:41<andythenorth>it's slightly like MVC pattern, but not quite
17:41<andythenorth>it's familiar to me - common web app pattern
17:41<andythenorth>data -> object -> render
17:42<andythenorth>some of what I'm doing could be done in nml....with a lot of register use etc
17:42<andythenorth>but it's better to keep the nml quite dumb and just write values into it
17:43<andythenorth>nml is awesome for this
17:43<andythenorth>nfo would have been a nightmare due to need to set masks etc
17:43<CIA-1>OpenTTD: michi_cc * r23931 /trunk/src/ (6 files in 3 dirs): -Change: Scale infrastructure cost of rail tracks by the total number of all tracks and not independently for each rail type.
17:44-!-smo [] has joined #openttd
17:45-!-Cephei [] has joined #openttd
17:45-!-Cephei [] has left #openttd []
17:46<andythenorth>Terkhen: if you're interested (np if you're not), check out BANDIT and run ./src/
17:46<andythenorth>then look at the resulting nml file :)
17:47<@Terkhen>in my experience, the nml code resulting from a templated nml code is quite confusing
17:47<@Terkhen>I'm interested, but not enough to learn python to check it :P
17:47<andythenorth>maybe another time :)
17:47<andythenorth>I never learnt python
17:47<andythenorth>I just started writing it
17:48<andythenorth>as became obvious in the past few weeks :o
17:48*andythenorth has finally learnt python in the last few weeks
17:48<andythenorth>but I used it for ~7 years before that :)
17:50-!-smo [] has quit [Quit: ajax IRC Client]
17:51<andythenorth>Terkhen: I even made starter example projects in the newgrf dev forum ;)
17:59<@Terkhen>yeah, I saw the thread :)
18:12-!-JVassie [~James@] has quit [Ping timeout: 480 seconds]
18:12-!-valhallasw [~valhallas@] has quit [Read error: Operation timed out]
18:15<andythenorth>BROS falls off the rails again :P
18:16<andythenorth>also....time for bed
18:16<andythenorth>good night
18:16-!-andythenorth [] has quit [Quit: andythenorth]
18:18<@Terkhen>good night
18:20-!-TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
18:22-!-MJP [] has quit [Ping timeout: 480 seconds]
18:27-!-Rhamphoryncus [] has joined #openttd
18:31-!-sla_ro|master [slaco@] has quit [Quit: i like RAGE (fps game) - :P]
18:31-!-LordAro [] has quit [Quit: "Time is an illusion. Lunchtime doubly so."]
18:33-!-Zuu [] has quit [Ping timeout: 480 seconds]
18:33-!-Chris_Booth [] has quit [Quit: ChatZilla 0.9.88 [Firefox 11.0/20120208012847]]
18:47<Nat_as>is there anyway to make docks more intresting?
18:47<Nat_as>or are there limitations hardwired?
18:47<Nat_as>because Piers and container cranes would be awesome.
18:48<Nat_as>right now you can't even put more than one dock next to each other.
18:49<Rhamphoryncus>I haven't seen any indication that there is. All the station newgrf stuff is specific to train stations
18:50<Nat_as>Yeah it's kind of a bummer
18:50<Nat_as>if there was a new docks grif that let you build piers like stations (length and width)
18:50-!-tensai_cirno [~cirno@] has quit [Quit: Leaving]
18:50<Nat_as>that would be awesome
18:51<Rhamphoryncus>IMO, the station newgrf needs to be generalized such that most tiles aren't part of a transportation type
18:51<Nat_as>different styles for different cargos, like passingers, oil, and containers
18:51<Nat_as>yeah stations ought to be cleaned up
18:52<Nat_as>and Demolish should not blow the whole damn thing up
18:52<Nat_as>i know bulldozer can remove indivudual tiles
18:52<Rhamphoryncus>heh yeah
18:52<Nat_as>but then I also have to remove the track underneath
18:53<Nat_as>sometimes i'm not thinking and blow it up because I just wanted to get rid of one station row
18:53<Nat_as>also it should be cheaper to restyle existing stations than to build new ones
18:53<Nat_as>and not tick off the local authority
18:53<Rhamphoryncus>I've blown up a station by removing a non-track tyle
18:53<Nat_as>yeah that's the worst
18:54<Nat_as>custom airports would be cool to, like in simutrans
18:54<Nat_as>but probably hard to implement
18:54<Nat_as>at least not without invalidating the existing ones.
18:55<Rhamphoryncus>It's doable
18:56<Nat_as>yeah, simutrans proves this
18:56<Nat_as>Just have taxyways count as roads for airplanes only, runways have a minimum length to count as a small or large airport. Teminals and Air depots exist, ect ect/
18:56<Rhamphoryncus>airports have a set of paths the planes take, much like train signal blocks. You'd need to be able to manipulate and group them together
18:57-!-Elukka [] has quit [Remote host closed the connection]
18:57-!-Elukka [] has joined #openttd
18:57<Nat_as>yeah that's the hard part
18:57<Nat_as>they aren
18:57<Nat_as>aren't quite like roads.
18:57<Nat_as>aircraft take up a whole block and can't pass each other.
18:57<Rhamphoryncus>oi, I forgot about the length thing. You could actually require longer and wider runways for bigger planes like the a380 in the aviator set
18:58<Rhamphoryncus>On the flip side, I would design a MUCH more efficient airport ;)
18:59<Nat_as>yes, right now airplanes are classified as small or large (IRL it's light and heavy), and if large airplanes try to land at a small airport there is a chance of crashing.
18:59<Nat_as>yeah simutrans airports are much more space efficient.
19:00<Nat_as>i hate how you have to make an internatonal airport if you want more than 3 terminal places
19:00<Nat_as>what if I have cargo planes waiting to load 100%
19:01<Rhamphoryncus>yup. Switching to intercontinental is something you just do everywhere ASAP
19:01<Rhamphoryncus>Planes need a new mechanic to balance them better
19:01<Nat_as>man, looking at the Newgrif tutorial, I can say that's one thing where we have more advanced code than Simutrans.
19:01<Nat_as>I sugested airplanes being able to mix cargo types
19:01<Nat_as>they trade flexibility for inefficiency.
19:02<Nat_as>they can move anything anywhere, but cost lots of money.
19:02<Rhamphoryncus>I mean better than the chance to crash
19:02<Nat_as>oh lol
19:02<Nat_as>really airplanes are more safe than trains or cars IRL
19:02<Nat_as>High speed trains are really dangerous.
19:03<Rhamphoryncus>I was just thinking, YACD with different pricing brackets depending on time. Some passengers may really want a fast flight and pay more for it
19:03<Nat_as>oh yeah
19:04<Nat_as>i also suggested differentiating between commuters and travelers.
19:05<Rhamphoryncus>The game would have to estimate travel times to only put those passengers on the plane though
19:06<Nat_as>I'd rather see massive improvements to cargo desitnation handling before that.
19:07<Nat_as>oh, commuters don't care about being stuffed into things and will travel both ways
19:07-!-TWerkhoven [] has quit [Quit: He who can look into the future, has a brighter future to look into]
19:08<Nat_as>Travelers do care and will want to go somewhere as quick as possible and stay there
19:08<Nat_as>that might be oversimple though.
19:08<Nat_as>Tourism industries would be cool
19:10<Rhamphoryncus>That could be simplified in to comfort levels
19:10<Nat_as>The "Passingers go both ways" thing however could be applied to all passingers
19:11<Nat_as>balanced by simply reducing the amount of passingers created by half
19:11<Nat_as>giant trains that move people from a big city to a small city and return empty are silly.
19:11<Nat_as>and a bit disturbing.
19:12<Rhamphoryncus>I'd put that on cargodest again
19:12<Nat_as>reminds me of the "Fema death camp" that turned out to be an Amtrack facility
19:13<Elukka>my favorite part of conspiracy theorists is how they ignore real conspiracies
19:13<Rhamphoryncus>heh yup
19:14<__ln__>wtf is a passinger?
19:15<Rhamphoryncus>the passingers, they're everywhere!
19:15<Rhamphoryncus>They're what happen when you feed a passenger after midnight
19:15<Elukka>they are much like the sheeple but a bit less dangerous
19:16<frosch123>DorpsGek is our sheeple
19:17<Elukka>the passingers skulk through abandoned stations and derelict sidings at night
19:20-!-frosch123 [] has quit [Remote host closed the connection]
19:22-!-Firartix [] has quit [Ping timeout: 480 seconds]
19:22-!-cmircea [~cmircea@] has quit [Read error: Operation timed out]
19:24-!-peteris [~peteris@] has quit [Quit: Ex-Chat]
19:25-!-chester [~chester@] has quit [Quit: Leaving.]
19:32-!-Xrufuian [] has quit [Quit: ...]
19:34<Nat_as>I made a cute little psudo subway system
19:34<Nat_as>but I had to cheat to afford it
19:34-!-supermop [] has quit [Quit: supermop]
19:36<__ln__>night Wolf01
19:36-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
19:42-!-kkb110 [] has quit [Read error: Connection reset by peer]
19:42-!-kkb110 [] has joined #openttd
19:48-!-supermop [] has joined #openttd
19:49<Nat_as>hmm, are signals strictly necessary exiting stations?
19:49<Nat_as>my subway layout seems to sugest they are not, but that might just be because the trains are as short as possible and get out of the way quickly
19:50<Nat_as>I have a two platform set up leading into a double track,
19:50<Nat_as>immediatly outside the station is an X allowing trains to switch to either platform when arriving
19:50<Nat_as>and then there are route signals seperating the left and right raills into coming and going
19:51<Nat_as>I used to put signals between the X and the stations but I left them out this time to save room and I don't notice any issue
19:52<Rhamphoryncus>entering or exiting the station?
19:52<Rhamphoryncus>hrm. I'd have to see the layout
19:52<Nat_as>I have Double tracks, Route signals, a cross, and the station itself
19:53<Nat_as>it used to be double tracks, route signals, a cross, normal signals, and the station itself
19:53<Rhamphoryncus>But the big caveat on most of this is normal block signals treat all the track as a single block, but if you're using path signals then the train can switch in to path mode and may not need signals
19:56<Rhamphoryncus>That's a terminus station? It's the end of the line?
19:57<Nat_as>it was, but i added another
19:57<Nat_as>and it's still working fine
19:58<Nat_as>it could be that the trains are too short and too fast to hit each other
19:58<Nat_as>I want to know if I could replicate this building cargo routes
19:58<Nat_as>with big trains
19:59<Rhamphoryncus>I'm experimenting now
20:00<Rhamphoryncus>For terminus it definitely works
20:01<Rhamphoryncus>This is all 1-way? Or two-way?
20:03-!-Progman [] has quit [Remote host closed the connection]
20:05<Rhamphoryncus>Okay, what happens if you have path signal, cross, station, cross, normal signal, and this is all 1-way (they continue through the station to the next station), when they're at the path signal they grab a path up until the next stopping point
20:05<Rhamphoryncus>For a terminus station this is the end of the line. For a non-terminus station it's whatever signal is after
20:06<Rhamphoryncus>Beware, with a cross after the station they may choose to swap, then sit there and load for a while, preventing any other train from leaving (because they took the path)
20:07<Rhamphoryncus>There is something to help you with this. Click on the gear at the top left, advanced settings, interface, display options, set Show reserved tracks to on
20:12<Nat_as>it seems that tracks are reserved when a train exits the station
20:12<Nat_as>they count as signal blocks
20:13<Nat_as>I really wish subways and underwater tunnels were possible
20:13<Rhamphoryncus>they're reserved from before the train enters the station
20:13<Rhamphoryncus>A train won't go unless it has a stopping point
20:16<Nat_as>no i mean it automaticly reserves as the train exits
20:17<Nat_as>or rather they become reserved as the train enters the station and stay that way till it leaves the block
20:18<Rhamphoryncus>oh, that is what I said
20:18<Nat_as>lol my silly
20:19<Rhamphoryncus>I notice that have a cross immediately after the station irks the pathfinder. It takes a second or two after the train is clear before another train will enter. It probably has a special case for signals immediately after the station
20:19-!-supermop [] has left #openttd []
20:20<Rhamphoryncus>It's much better to have a cross before the station, then signals immediately after
20:21<Nat_as>yes but that doubles the lenght of the station
20:21<Nat_as>which is bad if you are trying to build in a city
20:22<Rhamphoryncus>.. doubles?
20:22<Nat_as>how hard would it be to make OTTD maps layerd?
20:22<Rhamphoryncus>Hard. I still want to do it though :)
20:22<Nat_as>they would have to change the memory allocation of each tile right?
20:23<Nat_as>but it would allow cool things like subways, elivated raill, and airplanes crashing into tall buildings because you put an airport in the center of a city.
20:23<Rhamphoryncus>Redesign that, the save format, the path finding, the tools for building
20:24<Nat_as>isn't that a function of the route shape? it should always be discribable as a web right?
20:24<Rhamphoryncus>huh, that gives me an interesting thought: when building a custom airport you could "build" the flight path it uses to land. This would prevent buildings from grabbing that space
20:24<Nat_as>even if routes overlap
20:24<Nat_as>yeah that would be cool
20:24<Rhamphoryncus>No, it understands the route as a graph and figures out the optimal way to get there
20:25-!-KritiK [] has quit [Quit: Leaving]
20:25<Nat_as>yeah that's what I thought
20:26<Nat_as>making a map 3d should not effect that
20:26<Nat_as>anyways, 'building' air routes would be cool.
20:26<Rhamphoryncus>The algorithms are usually pretty abstract, but the actual code will need some changes to handle it
20:26<Nat_as>maybe small airports don't need it, but large ones become dangerous if you don't.
20:27<Nat_as>the biggest problem is changing the memory
20:27<Rhamphoryncus>AI's would need work
20:27<Arafangion>Nat_as: Aren't they like boats... No chance of crashes in air?
20:27<Arafangion>Even if they overlap.
20:27<Rhamphoryncus>No, memory is easy :)
20:27<Nat_as>Well this sugestion would allow air crashes >:3
20:27<Nat_as>so it's just three easy problems/
20:27<Arafangion>Nat_as: Realistic air traffic management is very tricky.
20:28<Rhamphoryncus>Nat_as: if you build a landing path then there's nothing to crash in to
20:28<Arafangion>You have corridors, and modern planes monitor nearby planes and ensure that they keep the right distance, etc.
20:29<Arafangion>Mid-air crashes are relatively rare, except for airports.
20:29<Nat_as>I know
20:29<Nat_as>I used to be in the air force learning to be an ATC
20:29<Nat_as>it's hard
20:29<Nat_as>hence why I am here now
20:30<Rhamphoryncus>If you're arguing realism then compared to trains they essentially never happen. That's not the issue though. They need a better balancing factor
20:30<Arafangion>Right now planes ruin the fun of the game.
20:30<Nat_as>but it would be cool to 'build' takeoff and landing coridoors, and holding fixes and such
20:30<Nat_as>I'm imagining giant transparent radar display symbols that are layered over the map
20:30<Arafangion>We also need more helicopters.
20:31<Nat_as>oh yes
20:31<Arafangion>As the game progresses, the options in planes and airports become severely restricted.
20:31<Nat_as>Boats should have bigger docks, Airplanes should have custom layouts, and trains should have subways
20:32<Rhamphoryncus>You forgot trucks
20:32<Nat_as>uhh trucks
20:32<Arafangion>What about trucks?
20:32<Nat_as>No idea
20:32<Nat_as>I'm here for the trains
20:32<Arafangion>Rhamphoryncus: What about trucks? :)
20:32<Arafangion>I think the trucks are all fine, but maintaining them is a bitch .
20:33-!-theholyduck [] has joined #openttd
20:33<Rhamphoryncus>Their stations need work too
20:33<Nat_as>although i supose trucks would benifit from tunnels and sky bridges the same way trains would
20:33<Nat_as>one way roads
20:34<Arafangion>Rhamphoryncus: They have lots of options with stations, though.
20:34<Rhamphoryncus>garbage and not garbage?
20:34<Nat_as>stations have lots of options, what they need are a coherent slice of options.
20:34<Nat_as>take the best ones and put them into a pack
20:34<Nat_as>we need more automatic stations.
20:34<Nat_as>and more non station tiles.
20:34<Arafangion>The main issue I have with trucks, is that they usually just go for the closest station, rather than the most 'ideal' station.
20:35<Nat_as>also non station buildings that do shit
20:35<Nat_as>like hotels would be nice.
20:36<Nat_as>Raillroad Tycoon3 had hotels and bars that gave you money for passengers leaving and arriving at a station.
20:36-!-theholyduck [] has quit [Read error: Connection reset by peer]
20:36-!-theholyduck [] has joined #openttd
20:37<Rhamphoryncus>Arafangion: they *have* code to pick empty stations, it just fails fairly often
20:38<Rhamphoryncus>Actually, that's probably one of the best things to really work on. It's totally achievable without significant consequences. Unlike everything else we've mentioned here.
20:38<Nat_as>fix trucks first
20:38<Nat_as>even though nobody cares about them
20:39<Rhamphoryncus>I've actually found trucks are often the most profitable
20:39<Arafangion>Trucks require the least setup, and somehow, don't seem to be as sensitive to slow cargo delivery.
20:40<Arafangion>But they're a PITA to manage.
20:40-!-pugi [] has quit [Ping timeout: 480 seconds]
20:42-!-pugi [] has joined #openttd
20:43-!-theholyduck [] has quit [Read error: Connection reset by peer]
20:43-!-theholyduck [] has joined #openttd
20:43<Nat_as>yes I hate trucks because of how hard route management is in this game
20:44<Rhamphoryncus>Do you use shared order lists?
20:44<Nat_as>another feature I wish this game had from simutrans is route handing separate from vehicle handling.
20:44<Nat_as>shared order lists?
20:44<Nat_as>you mean like when you click on another train to copy it's orders?
20:45<Nat_as>or is there a better way to quickly change several vehicle's orders at once?
20:46<Arafangion>Rhamphoryncus: Managing the shared order lists is also PITA. :)
20:46<Arafangion>Rhamphoryncus: How do you keep track of those lists?
20:46<Rhamphoryncus>Make a group for each list
20:46<Nat_as>where are shared order lists?
20:46<Rhamphoryncus>Put one truck in to it then use "add shared vehicles
20:46<Arafangion>I must be using an old OTTD.
20:46<Rhamphoryncus>naw, the features are well hidden :P
20:46<Rhamphoryncus>Nat_as: ctrl-click when duplicating or cloning
20:47<Rhamphoryncus>or select an existing vehicle, click "go to", then ctrl-click on a vehicle you want to join with
20:47<Nat_as>oh I know how to copy orders
20:48<Nat_as>I was wondering if there were sets of orders stored independently of veichiles that you could quickly switch into and out of
20:48<Rhamphoryncus>It's not a copy. Using ctrl makes it shared
20:48<Rhamphoryncus>You can do switching like that *if* you have a dummy truck somewhere with those orders.
20:49<Nat_as>maybe if there was an administrative building that stored sets of orders
20:49<Nat_as>that would be cool
20:50<Rhamphoryncus>Also, route management is what I'm working on. It will do this
20:50<Rhamphoryncus>Create a route first, then create vehicles to use it
20:50<Nat_as>so you don't have to get annoying popups of "train is waiting in the depot.
20:50<Nat_as>and it would be an excuse for pretty non track buildings
20:50<Nat_as>which are always nice.
20:51<Rhamphoryncus>Anyway, afk for a few hours at least
20:53-!-lofejndif [] has quit [Quit: Leaving]
21:02-!-pugi [] has quit []
21:07-!-Elu [] has joined #openttd
21:08-!-tparker [~tparker@2600:3c03::1d:4242] has quit [Quit: brb]
21:08-!-tparker [~tparker@2600:3c03::1d:4242] has joined #openttd
21:12-!-theholyduck [] has quit [Read error: Connection reset by peer]
21:12-!-theholyduck [] has joined #openttd
21:12-!-Elukka [] has quit [Ping timeout: 480 seconds]
21:36-!-theholyduck [] has quit [Read error: Connection reset by peer]
21:36-!-Elu [] has quit []
21:36-!-theholyduck [] has joined #openttd
21:37-!-tparker [~tparker@2600:3c03::1d:4242] has quit [Quit: leaving]
21:37-!-tparker [~tparker@2600:3c03::1d:4242] has joined #openttd
21:38-!-kkb110 [] has quit [Read error: Operation timed out]
21:48-!-Biolunar_ [] has joined #openttd
21:56-!-Biolunar [] has quit [Ping timeout: 480 seconds]
21:57-!-cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
21:59-!-Biolunar_ [] has quit [Quit: All your IRC are belong to us]
22:08-!-TheStick [] has joined #openttd
22:09<TheStick>Hey, I've got a question...
22:09<TheStick>...are there binaries for a "dedicated server" version of OpenTTD on a generic Linux machine?
22:13<Arafangion>TheStick: Is that different from the regular binary?
22:13<TheStick> that it only works as a server for a multiplayer game...
22:14<TheStick>...that is, zero graphics, sero gameplay on the machine itself.
22:14<TheStick>*zero gameplay
22:14<TheStick>Because I'm getting this error:
22:14<TheStick>error while loading shared libraries: cannot open shared object file: No such file or directory
22:15<+glx>you have to build dedicated version yourself IIRC
22:15<Nat_as>YAY OPEN SOURCE!
22:15<TheStick> would I do that on a Windows machine...?
22:15<+glx>on windows you just get the normal build
22:16<+glx>it has dedicated included
22:16<TheStick>...really, I have two options. Compile on this Win7, or sftp and compile on the generic Linux.
22:16<TheStick>Cuz I want it to run off the Linux.
22:16<+glx>(same for linux except if you need a full dedicated without X)
22:17<TheStick>Which is what I need.
22:17<+glx>compile on linux
22:18<TheStick>Lessee. Get gzip arc of the source...
22:19<TheStick>...something tells me this is gonna get messy.
22:21<+glx>you'll need some libs
22:21<TheStick>...libs from where...?
22:22<+glx>from the distribution
22:24<Arafangion>TheStick: What distro are you using, incidentally?
22:24<TheStick>...of Linus?
22:24<Arafangion>TheStick: That's usually what the question applies to, yes. :)
22:25<TheStick>...long story short, I'm repurposing a MineOS CRUX distro.
22:25<TheStick>...a distro primarily intended to host a Minecraft server.
22:25<Arafangion>TheStick: Then you'll probably have to figure things out yourself. :)
22:25*Arafangion is biased towards debian.
22:26<TheStick>...does anyone know which libs I'm gonna need to see if I can't snag 'em from somewhere...?
22:26<TheStick>...oh, yeah. That would help...;
22:26*TheStick is obviously flying blind here...;
22:27<+glx>of course this page is not for dedicated servers
22:28<Arafangion>And SDL isn't neccessarily something that depends on X122
22:28<+glx>sdl usually requires a window manager
22:29<+glx>basically you start with ./configure --enable-dedicated
22:30<TheStick>Error: configure: error: no liblzo2 detected
22:30<+glx>and the important libs for a server are zlib, liblzma and liblzo
22:31<TheStick>...let's see if I can't find that anywhere...
22:32<TheStick>...uhm. What's the typical extension of a lib that Linux can run...?
22:33<+glx>you need the dev versions
22:33<+glx>so .a
22:33<+glx>and the corresponding headers
22:33<TheStick>(I'm gonna use the 1.1.5 version of OpenTTD, do I really need the dev version?)
22:34<+glx>you always need the dev version of libs to compile
22:34<TheStick>...mmkay then.
22:34<Rhamphoryncus>The -dev *packages* include what you need to compile a program that uses them
22:34<TheStick>So I'm looking for liblzo2.a, right...?
22:35<Rhamphoryncus>Surely that distro has some sort of package system available
22:35<TheStick>apt-get: no
22:36<TheStick>urpmi: no
22:36<TheStick>zypper: no
22:36<TheStick>yum: no
22:37<TheStick>emerge: no
22:37<TheStick>pacman: no
22:37<+glx>prt-get maybe
22:37<TheStick>prt-get: no command given. try prt-get help for more information
22:37<TheStick>Lookee that.
22:38<Rhamphoryncus>Check their website
22:38<Rhamphoryncus>It's possible to grab upstream tarballs and install yourself, but doing this repeatedly will cause debris to collect and in the long run will be MUCH more work
22:38<Rhamphoryncus>And require much more learning
22:39<+glx>seems they have xz and zlib
22:39<+glx>but I don't really see dev versions
22:40<+glx>oh they have lzo too
22:41<TheStick> then where would I need to run prt-get depinst openttd?
22:44<TheStick>...also, I'm getting a worrying error:
22:44<TheStick>[Config error: can't access /usr/ports/*]
22:44<TheStick>Where * is one of "core", "opt", "contrib"
22:48<TheStick>...ugh. I gotta go do something. Be right back.
22:53-!-glx [glx@2a01:e35:2f59:c7c0:7457:4189:a2e8:d373] has quit [Quit: bye]
23:08<TheStick>They don't have a liblzo2 port / package.
23:36-!-supermop [] has joined #openttd
23:47<TheStick>Ok, so I tried skipping liblzo2 entirely, since I can't seem to find it...
23:47<TheStick>...and I'm trying to run the Makefile...
23:48<TheStick>...and I'm smacked with Syntax erros.
23:50<TheStick>Is everyone here simply idling...?
23:57-!-Markavian` [] has joined #openttd
23:58<supermop>most of the people are in europe, so they are asleep
23:58<TheStick>I'm trying to compile OpenTTD, dedicated-mode, on a Linux Box.
23:59<TheStick>...unfortunately, I'm getting lovely syntax errors.
---Logclosed Sun Feb 12 00:00:39 2012