News:

Want to praise Simutrans?
Your feedback is important for us ;D.

Concerned about goods prices (123Ko .jpg screenshot)

Started by Iluvalar, April 23, 2010, 08:37:20 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Iluvalar

Hello all,
I'm new to simutrans. It's a pretty good game. I like all the choices we can made in the game, micromanagement and all that stuff.

But now that I understood the core principles of the game, I'm concerned, no consterned, about how the game really calculate prices for the good we deliver. Here is a screenshot :

So, one of my truck go straight from the coal mine to the power station. The shortest distance possible and deliver and manage to deliver 1,100t of coal each month. It make 473 credits for that.

On the other and, my other truck is a f*** retarded. He take is load of coal and take a ride with it, up and down and again and again the WRONG road just delivering 32t of coal a month, but still he make credits (3,600)  like hell ! Why ? because he is always full (opposingly to the "wise" truck who is half of the time empty) and he go staight from the wrong point A to the wrong point B. So from the point of vue of the price calculator, the ride is optimal.

I know what you'll say to me : « Juste don't do that. Play normaly and have fun ». Yeah, I understand, but for a hardgamer like me it's hard to do. I'll probably manage to get some more money now that I know this and build route that still seem to make sens. But until this is somehow fixed, there will be no multiplayer game possible since there is now clear rules to make about how far we can use this exploit.

This is my proposition to calculate prices between two point :
1) Calulate the distance between the center of the "emiter" and the true "receptor" of the goods.
2) Subtract from that the mean radius of the factory and the mean coverage radius of a stop. (this will give bonuses to player who manage to get more from the reach of their stop, not that much but enought to push the player to put the stop the closest to one another instead of behind each factory like now ;D). (say X)
3) You keep track of a second variable for each package : the distance from emiter since last stop (say Y)
4) You calculate the price of the whole trip based on X. ( X*K ) K being the value of the good.
5) and you give the right value for the portion of the trip done. Wich would be (X*K)/((Y1-Y2)/X) or (K)/((Y1-Y2)

That way, everybody will always get a fair price for their trip (sometime negative if they go in the wrong direction) even if they stop at a public stop.

Combuijs

Your concern is correct. Simutrans is highly configurable. One of its options is

pay_for_total_distance

which is default set to 0. If you set it to 2 the payment is only relative to the distance to the trips destination.

These options can be found at the start of a new game (settings) or in a text file called simuconf.tab.

This file can be found in several places, in order of priority:

1) In the Simutrans user directory (Windows: MyDocuments\Simutrans)
2) In the Simutrans pak directory (for instance ProgramFiles\Simutrans\pak\config)
3) In the Simutrans config directory (for instantce ProgramFiles\Simutrans\config)

You will find that with this option it is very difficult a challenge to make a healthy profit.
Bob Marley: No woman, no cry

Programmer: No user, no bugs



VS

I'm not an expert on prices, but ironically enough, I remember doing some analysis of the algorithm (to understand it). Perhaps you'll find it -it's on this forum, somewhere...

My projects... Tools for messing with Simutrans graphics. Graphic archive - templates and some other stuff for painters. Development logs for most recent information on what is going on. And of course pak128!

jamespetts

Simutrans-Experimental has a different system for dealing with this issue. Goods/passengers will take the shortest route (in terms of time) that they can. They will pay for their route distance (as in reality), but that payment is capped to a configurable multiple (by default: 2x) of the straight line distance between the origin and destination.

The "pay for total distance" in Standard will also break multiplayer games, as, if more than one transport company transports goods/passengers along a single route, and one company happens to take them further away, in straight line terms, from their origin for its part of the route (entirely reasonable in many circumstances, especially in difficult terrain or complex urban passenger networks), then that transport company will lose money by transporting those passengers or goods, which is bizarre and absurd; meanwhile, other transport companies will make excessive profits at the expense of the one that loses money.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Iluvalar

Ok. So I am on the 102.2.2 version and as hard as I try the option "pay_for_total_distance =2" don't seem to stay on. It just reset to 0 when I start the game, so it's not working for some reason. Beside "pay_for_total_distance =1" works fine. So I guess I will play with that for now. It's much better for me.

Thank you.