Started by Markohs, September 25, 2014, 10:22:07 PM
0 Members and 1 Guest are viewing this topic.
Quote from: Sarlock on September 26, 2014, 01:27:58 AMI agree that the text needs to be more descriptive (while still fitting within the confines of the window). Maybe "load long distance cargo first" and a tooltip that gives more detailed information?
Quote from: Combuijs on September 26, 2014, 08:19:40 AMHmm, difficult indeed.What about a radiobox at the right of of minimum load, with options:first stop loaded firstlast stop loaded first
QuoteLoading goods preference: [X] Short Distance [ ] Long Distance That whould make room for a third option (if it's implemented in the future) called "Proportional". Further explanation on the mouseover help text, and update the in-game documentation.
QuoteI think I will move this line just under the "serves line", and add a horizontal line, because "Minimum load" and "monthly wait time" affect just to one stop, no? Just because this setting affects to the whole schedule, not to just one stop.
Quote from: DrSuperGood on September 26, 2014, 01:33:20 PMThe result is that you will have convoys running more full for longer which means more profit.
Quote from: Markohs on September 26, 2014, 06:52:18 PMI think I can fix this somehow, I'll think about it, anyone has any idea?
Quote from: Markohs on September 26, 2014, 06:52:18 PMBad news, this has a catastrofic side effect I have to think how to avoid, situation is:A <> B <> COne line goes A>B , with short distance activatedAnother A>B>C>B Long distance prefered. It goes as intended, as we thought it whould go, when second train goes to A, it picks all travelers to C, and if it's free room available, to B. What's the problem? After departing C, when it reaches B in the "return" path, it might end picking passengers to C!!! in preference to passengers to A.
QuoteIt goes as intended, as we thought it whould go, when second train goes to A, it picks all travelers to C, and if it's free room available, to B. What's the problem? After departing C, when it reaches B in the "return" path, it might end picking passengers to C!!! in preference to passengers to A.
Quote from: DrSuperGood on September 27, 2014, 01:28:21 AMHow is this implemented currently? I know that there is protection for this where by it will only pick up passengers to the following stops before it returns back to the stop and heads off to different stops. This is why when doing the cargo bounce exploit you cannot use the source station as a bounce location. It will only pick up the goods at the very last stop at the station before it goes off to their destination.
Quote from: Markohs on September 26, 2014, 11:42:14 PMmmm... the algorithm has to me more complicated than I initially though. To avoid a n^2 cost (or something like that I can't figure it out now)
Quote from: Markohs on September 26, 2014, 11:42:14 PM Well, to make it short, and with an example, in our previous example:A>B>C>B When train goes to A, and starts loaging cargo, you know wich is the farthest station in the schedele? Our intuition tells us that it's C, right? No, it's B. It's the last entry. This is a problem.
Quote from: Markohs on September 26, 2014, 11:42:14 PM I start with B, the B that's 3 stops away, I *know* there is a shortest path at just distance 1, according my previous calculations, so I *IGNORE* this stop Then C, at 2 stops away, that's coherent with my notes that indicates that's effectivelly at distance 2, so I *LOAD* the convoi with passengers to C. *IF* the convoi still has available space, I check passengers for B, at distance 1, and my notes indicates this is the correct minimum distance, so I *LOAD* more passengers here.
Quote from: Ters on September 27, 2014, 08:48:17 AMAlthough you came up with some solution, I wouldn't really be worried over O(n^2) on lists of usually far less than 100 elements. (Unless each step is quite expensive, which I don't assume for just finding duplicate stops in memory.)
In file included from bauer/../gui/karte.h:8:0, from bauer/brueckenbauer.cc:25:bauer/../gui/../dataobj/fahrplan.h:28:36: warning: scoped enums only available with -std=c++11 or -std=gnu++11 [enabled by default]bauer/../gui/../dataobj/fahrplan.h: In constructor 'schedule_t::schedule_t()':bauer/../gui/../dataobj/fahrplan.h:33:69: error: 'schedule_loading_algorithm' is not a class or namespacegui/fahrplan_gui.cc: In member function 'virtual bool fahrplan_gui_t::action_triggered(gui_action_creator_t*, value_t)':gui/fahrplan_gui.cc:657:65: error: 'schedule_t::schedule_loading_algorithm' is not a class or namespacegui/fahrplan_gui.cc:666:27: error: 'schedule_t::schedule_loading_algorithm' is not a class or namespacesimhalt.cc: In member function 'void haltestelle_t::fetch_goods(slist_tpl<ware_t>&, const ware_besch_t*, uint32, const schedule_t*, const spieler_t*)':simhalt.cc:1873:19: error: 'schedule_t::schedule_loading_algorithm' is not a class or namespacesimhalt.cc:1876:19: error: 'schedule_t::schedule_loading_algorithm' is not a class or namespace
Quote from: TurfIt on September 27, 2014, 08:15:00 PM?? I don't follow how B is the farthest station. It's the last entry, but for the purposes of pax loading at A, C would be the farthest station for any definition of farthest I can think of... Indeed B is the closest station occurring next in the schedule. Duplicates need to be trimmed.
Quotescoped enums only available with -std=c++11 or -std=gnu++11 [enabled by default]
Quote from: DrSuperGood on September 28, 2014, 12:22:33 AM In all cases it will not happen just to add support to a minor feature like convoy pickup priority.
Quote from: Markohs on September 28, 2014, 12:42:22 PMBecause *any* compiler you have in *any* modern computer, supports STL and C++11, years, years ago.
Quote from: Ters on September 28, 2014, 03:13:38 PMI'm not so sure with regards to Windows anymore. The mingw community has splitt in two, with one half going stale while the other is a bit chaotic. Microsoft's compiler is free, but isn't as feature rich as GCC. It doesn't even support plain C, just C-ish C++. There also doesn't seem to be much support/documentation for the compiler. It seems you're just supposed to use Microsoft Visual Studio, and the features you get there without paying might change at a whim. In particular, the ability to target Windows XP might be in risk, which would hurt a larger part of the community than dropping Haiku.
Quote from: Markohs on September 28, 2014, 12:42:22 PM@Turfit: I didn't even think about copying the schedule and delete duplicates. Copying a schedule will trigger a lot of data structures creation/destroying anyway no? It might end being even more expensive. Another option is just allowcating myself a C++ array, and manipulating it, with numbers, I think that's what I will do.
Quote from: Markohs on September 28, 2014, 12:42:22 PM I sometimes wonder how many players use (maybe just prissi), that keeps us stuck to that old compiler. I just looked it and the 112.2 compiled for haiku has been downloaded 87 times. So I'd just etimate in a wild guess we have under 20 players that use haiku. I say, I whould drop support to that operating system.
Quote from: prissi on September 28, 2014, 11:04:42 PMThe long distance option will just add as a quick overcrowding switch. In a situation where A->B->C->B is the only line serving B, then B will be very quickly starved forever from people going A->C and back. (THis is almost the standard from bus lines serving the townhall or a factory and an exchange point).Such situations were the reason why the loading was switched from fifo to next for next stop. Making this a schedule option is rather like an exploit and micromanagement.
Quote from: Markohs on September 28, 2014, 12:42:22 PMYes, I know this is a minor feature, but don't forget it's a feature no one bothered to implement. We tend to look at the game as just our (the programmers) creation and think we should decide what's in/out of it. But don't forget the important thing about this piece of software we develop as programmers its that it's a game, so we have players to satisfy. And their wishes are very important too, if they are reasonable wishes. To our players all this techincal talk is just insignificant, and just want to use the game, and its features.
Quote from: Markohs on September 28, 2014, 10:03:01 PMI have msvc 2013 here and you can make xp binaries without a problem, still. Also, mingw has support for many aspects of C+11.
Quote from: prissi on September 28, 2014, 11:04:42 PMThe long distance option will just add as a quick overcrowding switch. In a situation where A->B->C->B is the only line serving B [...]
Quote from: TurfIt on September 29, 2014, 02:32:53 AMFrankly, I don't really see the point in this feature. The current loading routine requires the player to configure their lines in a certain way. If they don't do that, the results are sub-optimal. This feature simply changes what that optimal configuration is. The examples given in the other thread are simply indicative of the network not being set up 'correctly' for the existing routine. Certainly having this option change what's optimal is valid, but if a player is using it, are they really playing the same game? Where does one draw the line between players learning the game mechanics and playing within them, v.s. changing the game to suit how a player thinks it should work?
QuoteOne of the reason this is often seen, it's because big schedules (with many stops), *ARE NOT PROFITABLE UNLESS THEY ARE CIRCULAR*.