Cargo Distribution

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

User avatar
fonso
President
President
Posts: 948
Joined: 13 Oct 2007 08:28

Re: Cargo Distribution

Post by fonso »

Mackensen wrote:I've updated to the latest version and I'm getting an error at the end of the compile, when it goes to link the binary:

Code: Select all

[SRC] Linking openttd
linkgraph/mcf.o: In function `MultiCommodityFlow::CleanupPaths(unsigned int, std::vector<Path*, std::allocator<Path*> >&)':
mcf.cpp:(.text+0x659): undefined reference to `Path::UnFork()'
mcf.cpp:(.text+0x6a5): undefined reference to `Path::UnFork()'
collect2: ld returned 1 exit status
make[1]: *** [openttd] Error 1
System is Ubuntu with a 2.6.32-24-generic kernel.
Strange, it works here, with g++ 4.4.5. Did you do a "make clean" before compiling? If not, please try that. And can you give me the output of "g++ --version"?^
The guy on the picture is not me, it's Alonso.
User avatar
Mackensen
Engineer
Engineer
Posts: 56
Joined: 17 Jun 2003 10:51
Location: Michigan, USA
Contact:

Re: Cargo Distribution

Post by Mackensen »

fonso wrote:
Mackensen wrote:I've updated to the latest version and I'm getting an error at the end of the compile, when it goes to link the binary:

Code: Select all

[SRC] Linking openttd
linkgraph/mcf.o: In function `MultiCommodityFlow::CleanupPaths(unsigned int, std::vector<Path*, std::allocator<Path*> >&)':
mcf.cpp:(.text+0x659): undefined reference to `Path::UnFork()'
mcf.cpp:(.text+0x6a5): undefined reference to `Path::UnFork()'
collect2: ld returned 1 exit status
make[1]: *** [openttd] Error 1
System is Ubuntu with a 2.6.32-24-generic kernel.
Strange, it works here, with g++ 4.4.5. Did you do a "make clean" before compiling? If not, please try that. And can you give me the output of "g++ --version"?^
Yes I did, and I just did it again to make sure. Here's what I get from g++:

Code: Select all

g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3
User avatar
fonso
President
President
Posts: 948
Joined: 13 Oct 2007 08:28

Re: Cargo Distribution

Post by fonso »

Mackensen wrote:Yes I did, and I just did it again to make sure. Here's what I get from g++:

Code: Select all

g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Can you try with this patch? It removes the inlining of Path::UnFork(). Maybe I can't use inlined functions in a different file after all ...

edit: I've probably fixed it. g++ 4.4.5 does some strange magic here ...
Attachments
no_inline.diff
(463 Bytes) Downloaded 75 times
The guy on the picture is not me, it's Alonso.
User avatar
Mackensen
Engineer
Engineer
Posts: 56
Joined: 17 Jun 2003 10:51
Location: Michigan, USA
Contact:

Re: Cargo Distribution

Post by Mackensen »

fonso wrote:
Mackensen wrote:Yes I did, and I just did it again to make sure. Here's what I get from g++:

Code: Select all

g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Can you try with this patch? It removes the inlining of Path::UnFork(). Maybe I can't use inlined functions in a different file after all ...

edit: I've probably fixed it. g++ 4.4.5 does some strange magic here ...
That did the trick--thanks!
WWW
President
President
Posts: 920
Joined: 28 Jan 2005 20:37

Re: Cargo Distribution

Post by WWW »

For all you compile virgins: 32 bit build. Compiled on windows 7 with minGW.

Cargodist g52c89b9bM
User avatar
ostlandr
Chairman
Chairman
Posts: 882
Joined: 12 May 2007 01:09
Location: Northeastern USA

Re: Cargo Distribution

Post by ostlandr »

Thank you!!!!!!!!! :D
WWW wrote:For all you compile virgins: 32 bit build. Compiled on windows 7 with minGW.

Cargodist g52c89b9bM
Who is John Galt?
Horse
Transport Coordinator
Transport Coordinator
Posts: 325
Joined: 10 Sep 2004 20:25

Re: Cargo Distribution

Post by Horse »

Why can't the devs do some concessions for a major feature as Cargo distribution.

In 2004 there were still patches for passengers destinations.
We are six year later now and we havan't still anything.
There were several patches build from scratch.
All of them had some major problems and the projects died.

For now Fonso has made a great solotion too build a cargo distribution system.
I played several games with it and in my opinion this is the most balanced system i ever seen.
Even i heard nobody complain about lags.
And now the devs won't accept it for some small issues that is not perfect in their opinion.
WWW
President
President
Posts: 920
Joined: 28 Jan 2005 20:37

Re: Cargo Distribution

Post by WWW »

Horse wrote:Why can't the devs do some concessions for a major feature as Cargo distribution.

In 2004 there were still patches for passengers destinations.
We are six year later now and we havan't still anything.
There were several patches build from scratch.
All of them had some major problems and the projects died.

For now Fonso has made a great solotion too build a cargo distribution system.
I played several games with it and in my opinion this is the most balanced system i ever seen.
Even i heard nobody complain about lags.
And now the devs won't accept it for some small issues that is not perfect in their opinion.
There are issues with the coding style. I think the best concession they could make would be to accept it as an official branch and give it a space on the compile roster, but I don't see that happening either.
Rubidium
OpenTTD Developer
OpenTTD Developer
Posts: 3815
Joined: 09 Feb 2006 19:15

Re: Cargo Distribution

Post by Rubidium »

WWW wrote:I think the best concession they could make would be to accept it as an official branch and give it a space on the compile roster, but I don't see that happening either.
That highly depends on what you mean with "official" branch. There's basically only one active official branch, which is the 1.0 release branch. The other development branches of the developers aren't official.

The compile farm isn't such a big problem either... it already has been compiled a few times on it. It's just never set up to compile it on a daily basis as that was never asked for. There are already plenty of projects that are being compiled either upon request or on a daily basis such as IS2 and the 32bpp-ez.
id10terror
Engineer
Engineer
Posts: 56
Joined: 03 Jul 2009 02:16

Re: Cargo Distribution

Post by id10terror »

At the risk of everyones wrath....... :shock: ..... i'm not sure if Fonso has yet requested trunk inclusion or daily compile, i'm sure she will when she deems appropriate, until then i'm not saying anything for or against any potential outcome. (mind you i cannot see myself saying anything against)

When Fonso asks not before.

And the Aperture Science Enrichment Center takes this opportunity to remind you to thank fonso for all her hard work, before we both say some things that you're going to regret.

Thanx heaps Fonso, in the face of the odds you have managed a masterpiece. You are the programmer I want to be. Truly epic Fonso. :bow:

Edit 1, Revised gender in post.
Last edited by id10terror on 21 Sep 2010 12:56, edited 2 times in total.
User avatar
planetmaker
OpenTTD Developer
OpenTTD Developer
Posts: 9432
Joined: 07 Nov 2007 22:44
Location: Sol d

Re: Cargo Distribution

Post by planetmaker »

id10terror wrote:At the risk of everyones wrath....... :shock: ..... i'm not sure if Fonso has yet requested trunk inclusion or daily compile, i'm sure he will when he deems appropriate, until then i'm not saying anything for or against any potential outcome. (mind you i cannot see myself saying anything against)
There's not reason to doubt that Rubidium speaks the truth when he's the one who needs be asking about those two things ;-)

Nevertheless, maybe a daily compile from that repo might be interesting.

But the question "why is this not in trunk" usually comes from people who ran it briefly on their own machine but not any thorough tests or long games. Last time we ran it on our servers there were still some issues which need fixing with the multiplayer part; doing more frequent tests might become easier with a daily compile :-)

Concerning trunk inclusion this needs splitting into several smaller patches. This work has been done at least in parts in the repository, but to my knowledge her last statement was that she's working on refining individual parts / patches before they'll be proposed for (separate) trunk inclusion.
User avatar
fonso
President
President
Posts: 948
Joined: 13 Oct 2007 08:28

Re: Cargo Distribution

Post by fonso »

So, to answer some questions:

1. I have asked for daily compiles once and was rejected, but that was a year ago. Maybe confidence in me has grown since. I might try again.
2. I have never asked for trunk inclusion as I know there are some issues. I have detailed those above. I have asked for review of some pieces of code with mixed results.
3. I would like to hold another public test game, but I'm short on time and I'm rather fixing things in the code atm. After all, a test game requires:
3.1 getting a new build on the compile farm done
3.2 getting approval from the openttdcoop people to use their server
3.3 preparing a map and a set of grfs
3.4 deciding on a playing style (coop?, normal competition?, number of companies?, any additional rules?)
3.5 advertising (in this thread, possibly writing a blog entry for openttdcoop)
3.6 setting up the debugging stuff so that desyncs can be caught and analyzed if they happen
3.7 babysitting the game to make sure everyone is happy

I was originally planning to do a new game this weekend, but currently it doesn't look like it. The tedious and annoying tasks in this list are 3.3, 3.4, 3.5 and 3.7. Especially 3.5 is nasty as we already had some test games where no one played and that is very demotivating. However, except for 3.7 those are the tasks that don't actually require my personal intervention. Everyone can do that. So, my proposal: If someone comes up with a map, a set of grfs and a set of rules and convinces me that they'll find a significant number of players to actually play the resulting game during some specified period, I'll do my best to get a build ready, set up the debugging environment and start the game at openttdcoop at that specified time.
I'll also occasionally drop by to fix any issues there might be. I can only do that on weekends or in the evening, though.
The guy on the picture is not me, it's Alonso.
User avatar
planetmaker
OpenTTD Developer
OpenTTD Developer
Posts: 9432
Joined: 07 Nov 2007 22:44
Location: Sol d

Re: Cargo Distribution

Post by planetmaker »

fonso wrote: 3.2 getting approval from the openttdcoop people to use their server
Consider that happily granted.

Other than that I can only agree with you on the map issue: please people come forward with a nice multiplayer[1] map with some challenge. Maybe doodle for a nice date ;-)

[1] this means that it definitely should not exceed 1k x 1k tiles, better in the order of 512 x 512 tiles and only NewGRF which are found on Bananas.
User avatar
fonso
President
President
Posts: 948
Joined: 13 Oct 2007 08:28

Re: Cargo Distribution

Post by fonso »

Cargodist is now built every day at 6:00 AM CET by the compile farm. You can always find the latest binaries for various platforms at http://bundles.openttdcoop.org/cargodist/LATEST/

Thanks to the devs for letting me use the compile farm and to the openttdcoop people for letting me use their webspace. Have fun.
The guy on the picture is not me, it's Alonso.
Arie-
Director
Director
Posts: 593
Joined: 20 Jan 2009 16:07

Re: Cargo Distribution

Post by Arie- »

Hey! I would like to participate in the next CD game. However I'm sparse on time as well, so maybe it's useful to plan a game ahead, like two weeks, so everyone can make sure they're available at least some period during that day.
User avatar
Zephyris
Tycoon
Tycoon
Posts: 2897
Joined: 16 May 2007 16:59

Re: Cargo Distribution

Post by Zephyris »

Awesome stuff :) I shall be glad to give it a go!
WWW
President
President
Posts: 920
Joined: 28 Jan 2005 20:37

Re: Cargo Distribution

Post by WWW »

Oh, on the subject of multiplayer, I have been hosting a cargodist server of my own since I posted that last binary, and I havn't seen any desyncs locally or when external players joined.

My server is up at http://www.openttd.org/en/server/35594

It can be connected directly to at foxkit.no-ip.org:3980
Image
Mondane
Engineer
Engineer
Posts: 14
Joined: 09 Jul 2007 13:23

Re: Cargo Distribution

Post by Mondane »

Arie- wrote:Hey! I would like to participate in the next CD game. However I'm sparse on time as well, so maybe it's useful to plan a game ahead, like two weeks, so everyone can make sure they're available at least some period during that day.
Maybe this site can help planning the date:

http://www.datumprikker.nl/dp/scripts/d ... anguage=EN

One user should sign up and create a new event planner where he or she chooses the option 'Open registration'.

That option gives you this (quote):

"With an open registration you recieve a unique web address which you can spread (ie. mailing or forum). Anybody who is interested can use this link to subscribe as a participant."

Good luck!
User avatar
Zephyris
Tycoon
Tycoon
Posts: 2897
Joined: 16 May 2007 16:59

Re: Cargo Distribution

Post by Zephyris »

So... I have done my first single player tests and here are my thoughts. Please bear with me, this is the first time I have tried this patch :)
[*] Passenger routing and quantity seem sensible, the target destinations come up as I would expect and its not too easy to make money.
[*] Non-stop only orders really doesn't make sense to me... Is there really no way to get around this? You could, for example, only use stations in the orders list for generating the deterministic passengers and other stations the vehicle happens to stop at could add non-deterministic passengers...
[*] The user interface (on the minimap) seems far too confusing, there is just too much information being shown. Before this patch is suitable for "general consumption" I think you seriously need to think about what information needs to be shown. I would say you need:
-- Link graphs for different cargos. Only one cargo should be shown at once to simplify the view.
-- Capacity of each link (C)
-- Usage of each link (U)
-- Spare capacity of each link (either C-U or C/U)
I would strongly suggest getting rid of the bar charts and numbers and replacing them with colour coding for the link. If you are happy to only display one cargo at once then at any time you would only be showing link capacity OR link usage OR spare capacity. These values could easily be mapped to a green to red scale... This may well also solve the requirement for the minimap zoom. In general I do find the minimap zoom useful though...

Other little bugs and comments:
[*] Calculation mouse position on the minimap for mouse-over information breaks if the title bar is not the default size (try this grf to see this bug http://www.tt-forums.net/viewtopic.php?f=26&t=50095 ). It looks like you are calculating the mouse position/link position from the top right corner of the window not the small map view itself.
[*] The buttons to select the cargo need to look more like buttons - try lifting the ones from the cargo income graph. Similarly the other graph display options don't really look like buttons.
id10terror
Engineer
Engineer
Posts: 56
Joined: 03 Jul 2009 02:16

Re: Cargo Distribution

Post by id10terror »

If someone wanted to run a server local or internet, are there any suggestions as to what options should be used in order to enable easy debugging?

WWW: can u pls update to new fish grf, i deleted my old ver trying to fix a seperate issue and cannot easily locate 0.6.1(its not on ingame content system or forum thread)

On a side note, doing some 'benchmarking' between ais, admiral ai, aiai, aroai,nocab & trAIns. What i find most interesting is aroai's method for using busses between cities in cargodist style.
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: Semrush [Bot] and 10 guests