So, this is the (n+1)th attempt to provide passenger and cargo with destinations and then getting them there using the existing transport links as efficiently as possible. This means it includes what others call "load balancing"
. I have moved the main description of cargodist into the wiki, see http://wiki.openttd.org/Passenger_and_c ... stribution
. Here you'll only get some status information on the progress for the different mile stones. Basically cargodist does what I envisioned when I started it and now I'm only tweaking some things to integrate it more nicely with the rest of the game. You can get the code from my github repository at http://github.com/ulfhermann/openttd
. The relevant branch is "cd". Have a look at https://github.com/ulfhermann/openttd/commits/cd
to see the individual milestones which have been reached. If you don't want to use git you can get a diff between trunk and cd at this URL: https://github.com/ulfhermann/openttd/c ... ...cd.diff
. You can always find the current trunk revision the patch is meant to be applied to by looking at the topmost commit at https://github.com/ulfhermann/openttd/commits/master
. You can also download a source package from https://github.com/ulfhermann/openttd/archive/cd.zip
and directly compile that without patching. It is equivalent to the openttd source package, but has cargodist included.
To check out the release branch, do:
Code: Select all
git clone git://github.com/ulfhermann/openttd.git
git checkout origin/cd
The openttd compile farm creates binaries for various platforms from the "cd" branch every night and stores them at http://bundles.openttdcoop.org/cargodist/
. Downloading a bundle from there is probably the fastest way to get started with cargodist. If you experience a crash please go ahead and post a report, including crash.log, crash.sav, crash.png and crash.dmp (if available) in this thread. The same goes for any non-crashing unexpected behavior or anything you think might be a bug. I'll examine and fix the problem as soon as possible. If you like to discuss how to play with cargodist and what strategies to apply and so on, please do that in this thread: http://www.tt-forums.net/viewtopic.php?f=29&t=58091
My plan for further development is (in no particular order):
- Support more order modifications like "unload all" and "transfer" in the routing algorithm rather than just routing like they don't exist.
- Make the time a thread gets for calculating the linkgraph dependent on the relevant settings and the size of the linkgraph to be calculated. Right now the time reserved for the link graph calculation is based on a worst case scenario and thus very long. This is the direct cause of the long delay between changes in the game and reactions in the routing scheme.
- Convince people to publicly play network games and show to the devs that Cargodist really is stable and ready for trunk inclusion (or fix any bugs showing up in that process).
The guy on the picture is not me, it's Alonso.