News:

The Forum Rules and Guidelines
Our forum has Rules and Guidelines. Please, be kind and read them ;).

[6.6] Game balance

Started by davidh, September 16, 2009, 07:37:00 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

davidh

Hi

I'm just about to switch to 6.8 and I think probably start a new game. I'vee played 6.6 from 1830 to 1841 using the Windows package and Pak128.Britain-Ex included in that. I've some concerns that the game isn't balanced right yet. I'm comparing this experience with laying sthat standard 102 game with Pak64 and Pak128. These are my concerns:


  • As I mentioned in another thread infrastructure charges a very high for a relatively low turnover. I'm almost suspicious that I'm picking up the tab for some public service infrastructure. Of course I've no proof of that. However it makes it impossible to make a profit with a few horse drawn carts and ancient Puffing Billys.
  • Passengers just won't travel to neighbouring towns unless they're right on their door step. My map is 768x512, which isn't huge; but is large enough to have quite a distance between most towns. I understand the new rules governing passenger travel; but if they won't travel then you've next to no economy. In olden times I think people did travel no matter the distance or discomfort, often for days on foot. So I think this travel restriction needs to be lifted a bit in the Victorian era.
  • I've been playing the game through from 1830 to 1841 (no fast forwarding this time) and i was surprised to see, in the summer of 1840, that my industries started to close. Now I know there's a global recession and all that; but I didn't think it extended to Simutrans :) IMHO this is way too early to start closing industries. Even in the standard game it would be very difficult to get a viable economy going in the first 10 years of a game. In this game I'm 160,000 overdrawn so there's no chance of new industry chains appearing to replace those that are closing.

Right, I'm off to try 6.8 now. Keep up the good work,

David

PS I checked in my new game and I'm not paying public service infrastructure costs. However these costs do seem excessive given the small amount of revenue available at the start of the game. For example in this new game my infrastructure costs are currently 140/month to earn only 15/month revenue.

jamespetts

David,

thank you very much for your feedback. I am aware that there seem to be balancing issues, and am keen to look into it. Could you possibly upload your saved game so that I can have a clearer understanding of how your issues work in practice? Thank you again.
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.

davidh

Hi James

I''ve uploaded 2 save games:

http://simutrans-germany.com/files/upload/1841.sve This is the 6.6 game I mentioned above. Most citied were created too far apart for passengers to travel. Also I went massively over drawn in teh first 10 years due to high infrastructure costs. I was making so little revenue that I tried to create a few rail based industry links in the hope that would help; but it had the effect of pushing up infrastructure costs massively. Then industries started to close and I abandoned the game.

http://simutrans-germany.com/files/upload/1834.sve This is my new 6.8 game. There's more cities slightly closer together and I've a few more intercity lines. I've also been a bit more restrained and haven't built any rail links. However infrastructure costs still far outweigh revenue generation. For example to create a new industry link I need a cargo bay at each end - that's 2 * $18 / month = $36 in infrastructure costs. Revenue generated per month is only going to be a few $ per convoy. This seems partly to be because

1. Revenue generated is pretty low - this is consistent with the economy model IMHO
2. Horse drawn transport moves at a snails pace, it often takes 2 game months for a horse drawn cart to make the round trip so that's one delivery only every 2 months. This too I feel is consistent with the game model

However these two combined make for very low revenue.

Well I'm going back to my 6.8 game now. If I have any more thoughts on this I'll let you know.

Regards

David

jamespetts

#3
David,

thank you for your reply and your saved game. You initially posted this in the wrong topic, so I moved it to the correct topic. There seem to be two separate issues: (1) the revenue; and (2) the closure of the industries.

1. Revenue

My initial suspicion as to the issues with the revenue is that the base revenue for hauling each type of load is set too low in comparison to the infrastructure costs in Pak128.Britain (both the Standard and Experimental versions, although it may be less noticeable in the Standard versions because of the different balance; but I have noticed at least one comment to suggest that revenue is too low in Pak128.Britain-Standad). Certainly, the revenues earned by road transport are extremely low, and do not appear to be comparable or proportionate to the various operating expenses, even in circumstances where the various revenue modifiers that are different in Simutrans-Experimental to Simutrans-Standard (speed, comfort) are unlikely to have a significant impact due to the shortness of the journey.

To test this theory, however, and eliminate Simutrans-Experimental revenue modifiers as being the cause of the problem, it would be helpful if somebody could try starting a game in a much later era (say 1970; perhaps with a higher starting capital) to see whether the margin of revenue above running costs is still substantially negative even in favourable conditions then.

2. Factory closures

Closing factories is a specific feature of Simutrans-Experimental - they do not close because of a fluctuating economy (there is no fluctuating economy in Simutrans), but rather because they become obsolete. Pak128.Britain has a wide range of different types of factory of the same type for different eras, and the 1840s is one of the transition points.

What should happen is that older factories close, and newer type factories spring up to replace them. However, I have realised that I made an error when I first instituted this feature, in that the existing system for generating new factories is based on the assumption that older factories will not close down, with the consequence that, when factories close, new factories only very rarely replace them, greatly reducing the number of factories in the game.

The challenge now is to re-design the way in which new industry is generated to take account of the overall level of industry specified at the beginning of the game when determining whether to add new factories. However, this is not as straightforward as it first appears: it is not simply a case of determining that there were X factories in the start year, therefore there must always be at least X factories thereafter (and more as the population grows), because part of the point of the factory closure system was to allow consolidation: fewer, larger industries replacing more numerous smaller ones. So, the chance setting in each industry must be taken into account when determining the ratio of new factories replacing older ones. The pakset authors must also be able to use the chance factors of industries of different eras to simulate an increase or decline in the industrial population generally over time.

How to accomplish this in practice is not easy, especially as the industries must come in a chain. I have been considering carefully how to accomplish this (including taking the sum of all industry chances on map generation as against the population level at that point and weighting that - somehow - against the chance factors of contemporary industries when determining whether to generate new industries), but it is not at all easy, and I should very much welcome any suggestions as to how this might be implemented in the code, to work with the existing system for industry generation (which is based on population growth).

One final issue may be that the industries are closing down too quickly - how many industries started disappearing in 1840? It might be that I need to adjust the expiry time for obsolete industries or the weighting factors so that obsolete industries do not close down as quickly after they have become obsolete.

Thank you again for your feedback and testing on this - it is very much appreciated.

Edit: I realise that there is one part of the original post that I have not addressed, which I do now.

3. Passenger numbers

Although it is correct that people in times past did travel long distances in very difficult conditions, because the time taken to travel was far longer than it is now, far fewer people travelled for so long. That is accurately reflected  in the system of journey time tolerances: far fewer people travel in the eras in which travel takes longer. However, if, taking that into account, the overall number of passenger trips is still too low, then it might simply be that the passenger level in simuconf.tab needs to be increased in Pak128.Britain.

The default value for Simutrans-Standard is 16. In earlier versions of Simutrans-Experimental, I reduced this to 8-10 because the alternative destinations feature combined with the stronger preference for local destinations was supposed to increase the effective number of passengers in the early stages of the game when fewer towns were connected, and moderate what would otherwise be an exponential (and usually eventually unmanageable) increase in passenger numbers as more towns were connected.

The journey time tolerance feature has further changed the balance somewhat, however, reducing the overall number of passengers who travel. Pak128.Britain-Ex is designed to work with very large towns (because it is scaled differently to Simutrans-Standard), so the passenger factor is set to 8. However, it may be that that figure needs adjusting upwards if the overall number of passenger journeys is, even taking into account the larger sized towns and the alternative destinations feature, too low.
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.

davidh

Hi James

Thanks for your lengthy reply. I can't say I understand all of it; but here's my take:

1. Yes I agree with your analysis, revenues are too low compared with the infrastructure costs. This is further exasperated by long journey times for slow transport so overall revenue earned is very low. You could alleviate this by increasing revenue, or perhaps it's the bonus system that needs to be adjusted in the early years of a game?

Just an aside on the bonus system. In the standard game it was pretty easy to know if you were getting a bonus or not. If your convoy max speed was faster than the bonus cut off for that particular transport type then you should be getting a bonus according to the goods being transported. If it was slower then you'd be deducted a penalty. The bonus calculations in experimental are so complex that I find it impossible to know whether I'm getting a bonus for a delivery, a deduction or what the situation is. It's possible that my revenues are low because I'm being penalized for slow transportation (those donkeys are just so slow!). Something that I think would be really useful is an indicator on each convoy's details as to how much bonus they'd earned or lost.

2. I must admit I got a bit lost in the complexities here. However some general thoughts on design:

a. I would base the numbers of factories present in the game at any time on the overall earning capacity of the factories, not on the total number of factories. So as population increases over time you can use

earning capacity * population

to regulate the numbers of factory chains. Later in the game higher earning factory chains would come into production so, for a given population size, you'd have fewer chains of higher earning factories.

b. In my game sheep and cattle farms started to disappear at a rapid rate between 1840 and 1841; but nothing was being produced to replace them. If you were working to a base earning potential then you could close some factories until you reached that base (maybe you do this already). Perhaps it would be better to start closing factories that weren't producing, thus restricting potential growth, rather than closing at random which impacts factories that are in production. In terms of reality a factory that's producing is far more likely to stand the test of time and continue to produce, even when newer industry types come along, than a factory that's standing idle.

3. Pak128Britain.Ex may be designed to work with very large towns; but you don't get very large towns at the start of a game (OK, they may be a bit bigger than at the start of a standard game). I do see the preference for local journeys coming in to play in the game. People seem far more likely to travel within a town than to travel between towns. Now this may just be my lack of understanding coming into play here; but from the standard game I recall that inter-town journeys would earn a lot more revenue than intra-town journeys. So I was hoping to bump up my inter-town journeys as a way to get the revenues up. Perhaps this is an incorrect strategy for the experimental game.

I hope I've made myself clear on these points. It's awful easy to start rambling :)

David

jamespetts

David,

thank you for your thoughts. A few replies.

1. Revenue

Although the calculations themselves are complicated (as indeed they are to some extent in Simutrans-Standard), it is not difficult to work out how much a convoy will earn in certain conditions using Simutrans-Experimental. All that you have to do is check the average speed and comfort of the line or convoy (if the convoy has no line) using the graph, go to "list of all goods", input the speed and comfort levels, along with the distance and quantity, and you will get a chart of how much that each type of cargo will earn for the journey.

It is easier not to think of it so much in terms of bonuses or penalties, just a varying amount that your cargo will earn under various conditions. The speed bonus, incidentally, has already been adjusted for Pak128.Britain-Ex to be based on average, not maximum speeds.

2. Factories

What do you mean by "earning capacity" here? How is that measured? What is important is for pakset authors to be able to build in industrial decline by making later type factories have lower "chance" values (or the converse). Therefore, a formula that will always give a constant overall output (by any measure of "output") will not suffice.

I do not quite follow the logic behind closing non-producing (i.e., non-connected) factories, however: the idea is that the types of industry in the game fluctuate over time. A small, old-fashioned factory would lose out in competition to a large, modern factory whether it is connected to the player's transport network or not. The purpose of a gradually changing industrial landscape requiring the player to adapt would be lost if connected factories were closed last.

It is interesting that you note that a great many closed down quickly. I shall have to look into that.

3. Passenger numbers

To what do you set your initial town median size? 2,000 - 2,500 is recommended for Pak128.Britain-Ex on otherwise default settings. This issue does suggest that the passenger level ought perhaps be raised, however.

Thank you again for your feedback!
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.

davidh

Hi James

Thanks for your tips on viewing revenue generation. Will put those to use when I'm next playing.

Well I'm not entirely sure what I meant by "earning capacity". I think I have some notion that it's based on the maximum productivity of a factory or chain of factories. If you assume an imaginary revenue of $1 per until of something delivered then a factory with a maximum production of 11 units per month has an earning potential of 1 * 11 = $11. A factory chain of 5 factories, each with a maximum productivity of 11 units per month has an earning potential of $55.

I'm not really sure where I'm going with this, sorry. Maths has never been my strong point. However I have some idea that combining this with population size to give you an earning potential per head of population should allow you to vary and control industry sizes by population size and by productivity. Does that make any sort of sense at all?

I've just checked my initial population size and this was set to only 1600 when creating a new game. So I think my towns are too small and this has had a serious affect on my intra-town passenger levels. I'll start a new game with the larger town size and let you know how that goes.

Regards

David

jamespetts

David,

thank you for your continued feedback. I have been working on a design to try to ensure that closed factories are replaced properly. So far, I have come up with the following:

each industry has (currently) a "chance" factor. At the start of every game, a new variable, called "target industry density", would be generated. That would be calculated by adding together one divided by the chance factor of every industry present when the map is first generated (that is, take one divided by the chance factor of industry one, then add it to one divided by the chance factor of industry two, etc., rather than one divided by the sum of all chance factors). Whenever a new industry is created by reason of population growth (and no other reason), the target industry density would be incremented by one divided by the chance factor of that/those new industry/ies.

There would also be another variable representing the actual industry density. This would be calculated in the same way, but, unlike the target industry density variable, would be incremented whenever an industry is created (whether or not by reason of population growth), and decremented (in the same way) whenever an industry closes (for any reason).

Every game month, the program would check whether the target industry density exceeds the actual industry density. If it does, there would be a random chance (the greater the extent to which the target density exceeds the actual density, the greater the chance) of a new industry being created using the existing "increase industry density" function.

This method should ensure that the "chance" variables in the industry .dat files are used as a base value for all industry density calculations, meaning that pakset authors can manipulate the industry timeline with precision, simulating the rise and fall of certain types of industry over time.

Edit: One possible refinement would be to modify the "increase industry density" method so that, when it is called by the system described above (but not otherwise), it checks to make sure that the new industry that it is adding will not cause the actual industry density to increase above the target industry density, and, if it would, chooses another industry instead. That would be harder to code, however.
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.

davidh

Wow! That looks like a great formula for generating and closing industries. I'm presuming the chance factor is:

a. Some number between 0 and 1 - i.e. a probability that an industry will be generated and
b. Variable over time so that an industry has 0 probability of being created until such time in the timeline that allows for that industry type.

Please correct me if my understanding is wrong on this.

Either way I'm off to start a new game with a larger median city population to see how that works out.

Cheers

David

jamespetts

David,

the "chance" values are actually an integer rather than a floating point number (and for suppliers are called "distributionweight" in the .dat files). They do not vary with time, but are set in the .dat files of each industry, and give the relative chance of each different type of industry being generated. Using the system that I have described above and am now working to implement, the "chance" or "distributionweight" parameter can also be used to manipulate (indirectly) the overall number of industries.
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.