Project: Economy and Balancing

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: Project: Economy and Balancing

Post by fonso »

Now, what do you do when you have something really important to do? Correct - have loads of cool ideas on how to do something completely unrelated. This is my approach to the balancing problem. Well, actually I'm proposing a whole new fantasy economy here. Note, however that all those things can be implemented independently and some might be building blocks for other balancing efforts, too. When they all are implemented we can have an OpenTTD that works completely without money. That is, there will still be an internal cost measure but it will appear as work force or material requirements to the player. Well, that might not be everyone's dream, but it seems funny to me. I'm aware that some of these things need to be supported by specialized GRFs. These are the special industries, stations with capacities and off-road vehicles. Everything else should be compatible with existing GRFs. I sorted the propositions by perceived difficulty to implement.


station capacities:
each station can store only a limited amount of cargo and passengers, depending on its number of tiles. After reaching that amount any means of dumping cargo there is prevented. Optionally also:
- introduce more expensive station tiles that can store more cargo
- introduce specialized station tiles that can store more of a certain cargo but no other.

electric vehicles and power:
Electric vehicles only run, if you have recently provided any power plants with enough fuel.
- Each power plant produces a hypothetical number of power units from each unit of fuel and adds it to a global power pool
- Each electric vehicle uses up a number of power units from the pool (linearly related to maintenance cost) per tile.
- If there is no power left in the pool, electric vehicles slow to a crawl.
- there may be a base amount of power generated every few ticks by hypothetical solar panels or wind turbines.
- the power pool is constantly fading. Every n ticks x% of the power pool dissolves into thin air. After all, storing power is severely limited and long range transmission is lossy.

off-road vehicles:
There are off-road vehicles with limited capacity and speed. They can go everywhere you can theoretically build things plus rails and roads.
- perhaps they should not be able to go over tiles with too many trees (might be configurable)
- Route finding will be similar to ships
- this is needed for the reputation enhancement (see below) and also for growing very small towns that don't have the work force (see below) to build longer roads in feasible time.

industry clusters:
Industries within a certain distance from each other don't need a dedicated transportation service deliver goods to each other. Like that you can build an industry cluster in the scenario editor that will provide you with readily buildable vehicles and fuel (see special industry as depots).

reputation:
- towns are more forgiving concerning construction work. If you bulldoze buildings and thus reduce the work force you're cutting your own flesh anyway.
- The willingness of an industry to give you goods however, is also determined by your rating in the town it belongs to.
- The stupid tree thing is completely removed. With the limited work force it will be impossible to do a huge remodeling of the landscape anyway.
- no bribes and other town actions that cost money, of course
- no additional limiting of station construction. If you can find the work force you can build a station. The most basic bus station costs exactly one man-day and one guy is always there. When station capacities are available and you already have specialized GRFs a special low capacity bus station can be designed for that, otherwise the normal terminal station might do. So, like that you always have a chance to enhance your town reputation by normal means and don't need trees.
- a wider range of configurability concernig town friendliness. Some people may want towns to respond more quickly to your transportation services.

work force:
Instead (or additional to) of money, for construction a certain amount of workers is needed. Workers are found in towns. Each tile on the map belongs to exactly one town. About half of the population can theoretically be mobilized. However:
- industries permanently bind a certain amount of workers each
- People may be unwilling to work for you, depending on your reputation in the town
- After working people need to recover. One worker can do roughly 100$ worth of construction per day. That determines a maximum work force that can be used, and thus the maximum amount of construction that can be done in the proximity of a town per month.

recruiting (add-on to work force and passenger and freight distribution):
You can recruit people from other towns to do work in a certain area. This is done in a recruiting GUI. You determine the station of origin, the destination town and the number of workers you want to use there per month.
- By using the passenger and freight distribution (see below) it can be automatically determined if you're meeting your goal of transporting the recruited workers (which are actually passengers) to their destination.
- The respective work force is then subtracted from the origin town and added to the destination town.
- Of course your ability to recruit in a town is also determined by your reputation there.

special industry as depots:
Instead of having specialized depots for various vehicles, any station in the proximity of a vehicle producing industry acts as a depot where you can build and maintain vehicles. Optionally there may be an industry (coal mine for steam trains for example) where you can only do maintenance.
- Construction may (configurably) not cost money anymore but uses up the cargo stocked at the industry, linearly related to its construction cost. For example building a train engine will use up X steel at a trainworks industry. The industry will only use up its stock for that special purpose and not produce anything on its own.
- When scrapping a vehicle some raw material is added to the industry's or station's stock, depending on the remaining value of the vehicle.
- Maintenance only uses up fuel. A steam engine needs coal, a diesel engine diesel, for example. The amount of fuel is linearly related to the running cost specified for the vehicle and maybe the vehicle type. Planes need huge amounts of fuel. Electric vehicles don't need anything but have to be serviced regardless.
- Breakdowns and automatic maintenance are removed. Instead, you need to explicitly send all vehicles to maintenance in regular intervals, otherwise they'll run out of fuel and slow to a crawl (by being dragged along with a hypothetical emergency engine) or, in the case of airplanes, simply crash (airplanes are overpowered anyway ...).
- Vehicle industries come in different sizes of different capacities. The smallest ones are just one tile and very cheap (for industries). They can be extended by placing other instances directly near them.
- the freight distribution (see below) might come in handy when delivering fuel to maintenance industries.
- Someone needs to figure out how to make vehicles graciously appear and disappear in stations when building/scrapping.
- some bootstrapping process is needed so that you can start building vehicles in the first place. Maybe equip vehicle industries with some initial stock. Or use the industry cluster feature. And perhaps introduce very small vehicles that don't have a maintenance cost.



passenger and freight distribution:
(This is actually a bit off-topic and a refinement of my idea in the passenger destinations thread, but I post it here because it would make delivering the fuel to maintenance industries so much cooler: You just have to load a large train with fuel and send it to all your depot stations in a row.)
A new passenger and freight distribution system takes care of sending everything you don't manually specify to sensible destinations. When the cargo has been delivered the route it has come is recorded and made accessible for a period of time. Like this, after a short convergence period, you can easily spot where everything is going without the need for an expensive precalculation of destinations.
- Towns not only have a limitation for providing passengers, but also one for accepting them. The numbers are equal.
- Each industry is limited in its production capacity and such has a limited capacity for accepting cargo (this is already the case in fact, but the limits are ridiculously high in some cases)
- Each station gets a simple rank metric R_s for each cargo it is involved with. The rank is the number of units of that cargo A_s the station itself can accept per month plus the capacity C_v of all vehicles picking up that cargo at the station, that have visited the station in the last month.
- Each vehicle gets a rank metric R_v for each cargo it can carry which is the sum of the ranks of all stations where it can drop cargo (ie doesn't have a special order to not do so).
- When a cargo packet gets the opportunity to board a train it flips a coin with a probability C_v / R_s of landing vehicle up. If the coin lands vehicle up, the cargo packet boards the vehicle, otherwise it stays at the station.
- When a cargo packet gets the opportunity to leave a vehicle it flips a coin with a probability R_s / R_v of landing station up. If the coin lands station up, the cargo packet leaves the vehicle, otherwise it stays in the vehicle. Note that like this a cargo packet can leave at a station where it is not accepted, if other vehicles can pick it up there.
- At the end of each time period (month? day? maybe configurable) the station consumes the amount of cargo it accepts from its stock. The cargo is then shown in the station window as "delivered" for a time.
- Before entering a vehicle or leaving a vehicle at a station where it is not accepted a cargo packet checks if there is a way from that instance to a station where it is accepted. It does so by depth-first search in the graph spanned by stations as nodes and vehicles' routes as edges. In reasonable networks this search should be finished after very few steps. If no suitable station is found it stays where it is and adds the probability it would have thrown a dice with to the probability for the next such decision. I expect that this happens rarely enough to be insignificant to the overall cargo routing. If not, it needs some further consideration.
- If a cargo packet gets stuck at a station and stays there for some time (because the only route to an accepting station has been removed manually) it is shown as "undeliverable" in the station window for some more time before being deleted.
- Cargo packets are split when entering a vehicle of smaller size or when being larger than a configurable minimum and at the same time comprising more than a configurable percentage of a station's or vehicle's stock. More splitting of cargo packets leads to finer granulation of deliveries, but also to more calculation being done.
- Configurable constraints may be placed on the behaviour of cargo to make things more realistic:
1. A cargo packet must not stay at the same station twice (this will be pretty much standard, I guess)
2. A cargo packet must not enter a vehicle of the same shared order group twice
3. A cargo packet must not visit a station twice regardless of actually leaving the vehicle there (might be hard to determine)
4. If a cargo packet has boarded a vehicle which is slower than the previous one it must never board a faster one than the current one again.
5. If a cargo packet has boarded a vehicle with a smaller capacity than the previous one it must never board one with a higher capacity than the current one again.
These constraints are applied in the depth-search and before boarding/leaving a vehicle.
Now, I got a pretty neat idea on how to prove that this method actually leads to:
a, all cargo being eventually delivered
b, a nice random distribution of cargo among all reachable accepting stations. The farther away and the smaller the stations and trains servicing them the less cargo gets there in expectance.
However, that thing needs some more work.
Also note that all data needing to be saved can easily be identified here. Actually it's only the routes the cargo packets have chosen, some flags and perhaps the ranks as cached values.
The guy on the picture is not me, it's Alonso.
DanielZKlein
Engineer
Engineer
Posts: 15
Joined: 07 Apr 2008 06:34

Re: Project: Economy and Balancing

Post by DanielZKlein »

I wonder if this project is still alive, because it does sound very awesome.
User avatar
Octopuss
Traffic Manager
Traffic Manager
Posts: 135
Joined: 08 Mar 2004 20:20
Location: Czech republic

Re: Project: Economy and Balancing

Post by Octopuss »

What can I say...
bump!
DanielZKlein
Engineer
Engineer
Posts: 15
Joined: 07 Apr 2008 06:34

Re: Project: Economy and Balancing

Post by DanielZKlein »

Does look quite dead, then. Pity.
User avatar
PouncingAnt
Transport Coordinator
Transport Coordinator
Posts: 357
Joined: 09 Nov 2004 22:33

Re: Project: Economy and Balancing

Post by PouncingAnt »

It ain't dead till the dev's say so. However...

I think people should not bump this thread. It is a huge splat of ideas, that will probably be useful when the devs start planning this. None of the ideas mentioned here have hinted on actual progress being made, but rather have been suggestions, thus bumping here is about as useful as bumping a 20 month old topic..

When economy and balancing gets worked on, or abandoned, the devs will probably let us know. (right?). Until then, give it thought, and add suggestions. I'd be less inclined to bother the perpetually busy devs about this. I think a lot of stuff is on the waiting list to go in, well above this.

That is my opinion, anyway.
NB: the below challenges are still open for submission, so feel free to perform necromancy on them!
Try the PouncingAnt National Monopoly Challenge
Or even better, the PouncingAnt National Monopoly Challenge 2
Or better still, the PouncingAnt National Monopoly Challenge 3
Or, the PouncingAnt National Monopoly Challenge 4

Or try my scenario instead!

-(A lazy) OpenTTD Japanese Translator-
-(A lazy) PNGcodec user-
"You get what you pay for, so pay attention!"

Patches:
Company Station Stats
User avatar
Zephyris
Tycoon
Tycoon
Posts: 2897
Joined: 16 May 2007 16:59

Re: Project: Economy and Balancing

Post by Zephyris »

All discussion is of course still useful, especially full summarys of economy ideas!
User avatar
RSpeed tycoonfreak
Transport Coordinator
Transport Coordinator
Posts: 349
Joined: 02 Feb 2006 13:17
Location: Azewijn The netherlands
Contact:

Re: Project: Economy and Balancing

Post by RSpeed tycoonfreak »

I havent read all 11 pages but if something needs to be drawed such as a high speed track or so, than I'm willing to do that.
Visit The Fake Airport Website
Image
Hobbys: being 18 years old, soccer, go karting, and transport tycoon.
MGSteve
Traffic Manager
Traffic Manager
Posts: 133
Joined: 11 Aug 2002 15:07
Location: Walsall, England

Re: Project: Economy and Balancing

Post by MGSteve »

Just an idea about airports, it may have been mentioned, but I haven't got time to read all the thread!

Something needs to be done with aircraft to make them less of a gold mine.

Perhaps enable airport owners to allow other companies to use the airport but at a %age cut of the takings for the competitor's flights.

In towns with multiple airports, it would enable competition between the airport owners and other companies who haven't got airports and can't build them at the town any more.

I apprecaite its more of a change than an economy tweak...

Aircraft do need to be made more expensive, perhaps make them cost millions, but for start up companies, allow them to rent planes off the 'bank' instead of buying them outright. Ideally you'd be able to rent planes of various ages (i.e. an old 737 for a lot less than a new one). You'd then have to take into account the age of the plane when determining demand for a particular flight. - And take into account the compeition on that route too.

i.e. an airline with an old 737 shouldn't carry as much or make as much as a airline with a new A320 on the same route.

hmm, interesting how a small idea snowballs into a massive one!
Frank327
Engineer
Engineer
Posts: 41
Joined: 20 Nov 2007 21:08

Re: Project: Economy and Balancing

Post by Frank327 »

This project is exactly what openttd needs. Right now, there's easy exploits to making easy money, and a big part of the gameplay just isn't used because it isn't profitable. I'll add some of my own ideas.

1. Road subsidy.
If you're making the the roads for a bus route, you're not the only one profiting from the road you're making. It would be cool to get a subsidy for connecting two towns together with roads, based on the distance from the roads of one town to the other. It wouldn't nearly be enough to completely fund the roads, but something like 40% of the costs would be great. It would make road transport more of a niche role within openttd. As it stands now, railroads are usually the best choice, unless it's within a town.

2. Pay for the goods, not the distance.
It's not logical that delivering the same wood to a sawmill 1km from you will get you one tenth of the money you'd get for the same wood in a sawmill 10km away. For passengers and mail this should apply, but it doesn't work for goods like coal and wood. Maybe it's best to cut the earnings in two parts. The goods worth, and the distance cost. This way, delivering goods to a station close to you would be a little more profitable than delivering to a far away station. This can also be done by charging more for maintenance though.

3. Track maintenance.
As it stands now, the bigger companies can just put down as much railway track as they want, because they know that even if the track is used minimally, it'll make a profit in the end. Players would be more encouraged to make good use of tracks if they had to pay money for every single track tile, signal, bridge, tunnel and station out there. It may also make the map less crowded. I think someone mentioned this already though. I think airports and railway track should have high maintenance, roads should have minimal maintenance (or none at all, because the towns might do some of it), and docks should have minimal maintenance too.

I don't know if people are actually working on this project, but if people are, you're doing a good job.
User avatar
fonso
President
President
Posts: 948
Joined: 13 Oct 2007 08:28

Re: Project: Economy and Balancing

Post by fonso »

Well, I still have my proposition in mind, see above. I implemented a small patch for station capacities, but stopped it because it interferes with cargodest and people argued there are better solutions to the problem at hand. Then I started to work on the electrical trains and power thing but got distracted and fixed the diagonal levelling and clearing patch as well as the problem with inconsistent speed for fast trains instead.

In general I think it'd take me years to complete this at the current pace. I'll seriously start working on it when I find more time. Until then I may do some bits and pieces, but don't rely on it.
The guy on the picture is not me, it's Alonso.
Frank327
Engineer
Engineer
Posts: 41
Joined: 20 Nov 2007 21:08

Re: Project: Economy and Balancing

Post by Frank327 »

fonso wrote:Well, I still have my proposition in mind, see above. I implemented a small patch for station capacities, but stopped it because it interferes with cargodest and people argued there are better solutions to the problem at hand. Then I started to work on the electrical trains and power thing but got distracted and fixed the diagonal levelling and clearing patch as well as the problem with inconsistent speed for fast trains instead.

In general I think it'd take me years to complete this at the current pace. I'll seriously start working on it when I find more time. Until then I may do some bits and pieces, but don't rely on it.
I'd help you if I had more time, and as soon as I finished my programming for dummies :p. Maybe it's best to develop this in phases. As soon as there's a nightly patch with the most important parts of this project, there might be more people who want to help developing. For example you could wait with offroad vehicles and station cargo limits until the first part is finished. Also, an alternative to offroad vehicles is maybe dirt roads like in locomotion. They'd be seriously cheap, but the speed of vehicles would be lowered.
User avatar
belugas
OpenTTD Developer
OpenTTD Developer
Posts: 1507
Joined: 05 Apr 2005 01:48
Location: Deep down the deepest blue
Contact:

Re: Project: Economy and Balancing

Post by belugas »

Frank327 wrote:2. Pay for the goods, not the distance.
It's not logical that delivering the same wood to a sawmill 1km from you will get you one tenth of the money you'd get for the same wood in a sawmill 10km away. For passengers and mail this should apply, but it doesn't work for goods like coal and wood. Maybe it's best to cut the earnings in two parts. The goods worth, and the distance cost. This way, delivering goods to a station close to you would be a little more profitable than delivering to a far away station. This can also be done by charging more for maintenance though.
How many times should it be said before everyone understands that you are not been paid FOR the goods, but to TRANSPORT them???

With that in mind, I really do hope you are now understanding how wrong your suggestion is, right?
If you are not ready to work a bit for your ideas, it means they don't count much for you.
OpenTTD and Realism? Well... Here are a few thoughs on the matter.
He he he he
------------------------------------------------------------
Music from the Bloody Time Zones
Marcoooooo
Engineer
Engineer
Posts: 8
Joined: 15 Oct 2008 11:16

Re: Project: Economy and Balancing

Post by Marcoooooo »

belugas wrote:How many times should it be said before everyone understands that you are not been paid FOR the goods, but to TRANSPORT them???

With that in mind, I really do hope you are now understanding how wrong your suggestion is, right?
Otherwise factories should only be willing to pay a certain amount of cash for transportation, which doen't depends on the transported distance, but on the shortest distance the cargo has to travel to reach an accepting industry. You will still be allowed to transport the cargo over the whole map, but you will only be paid for the shortest route. This way you will be forced to make an efficient transportation network.

Secondly it would be cool to be able to compete with other companies by offering lower transportation costs. This way the huge profits can be damped as you have to lower your prices to stay in the market when to companies transport on the same route.
Frank327
Engineer
Engineer
Posts: 41
Joined: 20 Nov 2007 21:08

Re: Project: Economy and Balancing

Post by Frank327 »

belugas wrote:
Frank327 wrote:2. Pay for the goods, not the distance.
It's not logical that delivering the same wood to a sawmill 1km from you will get you one tenth of the money you'd get for the same wood in a sawmill 10km away. For passengers and mail this should apply, but it doesn't work for goods like coal and wood. Maybe it's best to cut the earnings in two parts. The goods worth, and the distance cost. This way, delivering goods to a station close to you would be a little more profitable than delivering to a far away station. This can also be done by charging more for maintenance though.
How many times should it be said before everyone understands that you are not been paid FOR the goods, but to TRANSPORT them???

With that in mind, I really do hope you are now understanding how wrong your suggestion is, right?
Yeah, ok, I put it wrong, but for me it seems weird that a powerplant gives you a million for some coal you got from a thousand kilometres away, while they could get it from a closer by powerplant. For the coalmines close by, the money you get should be directly related to the distance, but somehow getting it from the coal mine furthest away in the map shouldn't earn you ten times the train's worth. The most effective money making strategy online I've seen up until now was building a single track all across the map from coal to plant. You'd just make a long train, and send it to the coal station, and once it got there, you sell the train. It gives insane amounts of money, but I think somehow it's just not possible.

Maybe put a cap on how much industries give for their goods? Just for making long distance transport very profitable, but insanely long distance transport not a good idea?
User avatar
belugas
OpenTTD Developer
OpenTTD Developer
Posts: 1507
Joined: 05 Apr 2005 01:48
Location: Deep down the deepest blue
Contact:

Re: Project: Economy and Balancing

Post by belugas »

Frank327 wrote:but for me it seems weird that a powerplant gives you a million for some coal you got from a thousand kilometres away, while they could get it from a closer by powerplant.
You still do not understand, don't you? It's the trip that you are paid for. Not the goods that you are transporting.
Frank327 wrote:For the coalmines close by, the money you get should be directly related to the distance,
It's already the case, plus the time. The longest the distance, the shortest the time, the more it pays. As simple as that.
I do understand that hauling goods from one corner of the map to the other may seems silly AS COMPARED TO THE REAL WORLD, but it's one of the realities of the game. One may argue that it may sound illogical, that we are choosing ourselves the point of origin of the (for example) coal to bring to (continue example) the powerstation. But there is no other way for the game to happen. You (the players) decide what and where to transport. Getting involved with stuff like contracts for transporting this to that given by the system (that will reflect more the so-called reality) would complicate the game beyond fun. Do not orget we do have subsidies who act as transport request...
Frank327 wrote:Maybe put a cap on how much industries give for their goods? Just for making long distance transport very profitable, but insanely long distance transport not a good idea?
You might take a deeper look at the mechanism already in place, you wold be surprised to see what's in there ;)
If you are not ready to work a bit for your ideas, it means they don't count much for you.
OpenTTD and Realism? Well... Here are a few thoughs on the matter.
He he he he
------------------------------------------------------------
Music from the Bloody Time Zones
Moriarty
Tycoon
Tycoon
Posts: 1395
Joined: 12 Jun 2004 00:37
Location: United Kingdom of Great Britain and Northern Ireland
Contact:

Re: Project: Economy and Balancing

Post by Moriarty »

This "project" is just under two years old. Is any progress being made or is it just talking?

Would it be possible to knock up another branch of OTTD called "economy test" and let players test things on it? Include patch options for everything and anything that can be set and people will find what works. Or at least what doesn't work. Just an idea.
User avatar
belugas
OpenTTD Developer
OpenTTD Developer
Posts: 1507
Joined: 05 Apr 2005 01:48
Location: Deep down the deepest blue
Contact:

Re: Project: Economy and Balancing

Post by belugas »

Don't need a branch for that. Users can do that on their own.
It won't be the first time and it will not be the last one either.
If you are not ready to work a bit for your ideas, it means they don't count much for you.
OpenTTD and Realism? Well... Here are a few thoughs on the matter.
He he he he
------------------------------------------------------------
Music from the Bloody Time Zones
yoyo1505
Engineer
Engineer
Posts: 32
Joined: 11 Aug 2007 16:21

Re: Project: Economy and Balancing

Post by yoyo1505 »

Agreed, this is not necessary as such.

But if anyone who understands the OpenTTD code fancies it, it would still be quite useful to create some sort of program that brings all the economical variables (including things like daylength) into a few menus that are easy to understand and use.

It would be a bit like various editing programs that I remember, such as the one for Civilisation 3, or the third party editors for Grand Prix 3.

With something like this the project could possibly follow in the footsteps of NoAI, which created a new easier way of writing and sharing AI's. Lots of people are now on board for that project.

Just putting the idea out there if anyone thinks it is worth their time.
ervin2
Engineer
Engineer
Posts: 52
Joined: 28 Jun 2006 17:49
Skype: Ervink2

Re: Project: Economy and Balancing

Post by ervin2 »

Airplanes definitely need their running costs highly increased. In real life the airline industry was in real trouble when the gas prices rose in 2006-07. It certainly is not a way to make easy millions like it is in TTD. They also should also be much more expensive to build, currently they are about as expensive as the train engines, which doesn't make sense.

Train stations should also be more expensive, a lot more. It's odd that a set of metal rails costs close to as much as a platform with a house. The size of the platform should also determine how much cargo can be held in it, maybe 100 per tile?
Moriarty
Tycoon
Tycoon
Posts: 1395
Joined: 12 Jun 2004 00:37
Location: United Kingdom of Great Britain and Northern Ireland
Contact:

Re: Project: Economy and Balancing

Post by Moriarty »

All interesting ideas ervin, unfortunately there's no real way to test them for actualy playability now without recompiling the code. Hence my suggestion (and yoyo1505 too), that someone create a build where these things are all easily accessable to the player.
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: Bing [Bot] and 6 guests