[GS] Balanced City Growth: Version 3 Updated
Posted: 24 Feb 2013 03:02
Balanced City Growth
A gamescript for OpenTTD
Balanced city growth is a game script which changes how cities grow in several ways outlined below. It is my goal with this script to challenge veteran players to diversify their networks across many different industries and move away from the mega-stations that process everything for the entire map. At the same time, I've implemented some features that I hope will make this journey a little less painful for newer players.
1. Cities now require cargo to be delivered each month. Which cargos are demanded depends heavily on if you're using the base industries, or if you're using an industry set such as ECS or FIRS. This script will work with any of those three, however you must set which one you're using in the settings first.
2. In addition to requiring cargo, cities can also stockpile cargo over an above the goal amount. The maximum amount is capped at ten times the required amount for that particular cargo. If nothing is supplied, the required amount will be deducted from the stockpile each month until the stockpile reaches zero.
3. Cargo does not need to be delivered directly to a town to count towards that town's requirements. Delivering cargo to any industry near a town will also count towards a town's requirements, and in fact this behavior is strongly encouraged. You can for example, deliver milk to a dairy outside of a town, and then deliver food from the dairy to the town. For that, you will get credit for both the food and the milk deliveries.
4. The first required cargo will always be passengers. Each month, the script will check to see if any passengers have been transported from a town, and will only procede with the rest of the calculations if this is true. This is intended to reduce the strain for larger maps where there would otherwise be lots of towns to calculate.
5. As a measure to improve performance on larger maps, the script will pause the game while processing the monthly calculations. The time this takes depends heavily on the number of towns with an active passenger network. Usually it will only be a fraction of a second, but on a 2048x2048 map with lots of towns and every single on of them connected to the network it could take several minutes. I recommend playing the game with build while paused allowed for all maps, as well as less towns if you're going to play on a large map.
6. The normal town GUI will not function anymore. Instead, a town's text box will be updated with the stockpile amount, the supplied amount(previous month), and the required amount for the next month. Below each town's name, you'll also see a sign indicating the number of days in between growths.
PERFORMANCE TIPS
* Enable build while paused at all times.
* On larger maps, select a lower setting for the number of towns.
* Balanced City Growth's main calculations take place on the first of each month, so it works well with the daylength patch.
---------------------------------------------------------------------------------------
Version 3 has been released on 3-3-2013 and can be downloaded from bananas.
Version 3 changes: http://www.tt-forums.net/viewtopic.php? ... 9#p1068759
TO-DO LIST:
* Implement a command queue to more efficiently use ticks. Primarily an issue for multiplayer maps where lots of cities are connected and the tick update is larger than 1-2.
* Implement a method to discourage players from using intra-city routes to meet the PAX requirements. I'd like to keep the PAX requirements fairly easy, but have them filled mostly from inter-city routes.
* le support de langue.
* Implement a save/load function. It is safe to save/load currently, however the script will take a few months to re-initialize after a load.
* Continue balancing cargo requirements.
A gamescript for OpenTTD
Balanced city growth is a game script which changes how cities grow in several ways outlined below. It is my goal with this script to challenge veteran players to diversify their networks across many different industries and move away from the mega-stations that process everything for the entire map. At the same time, I've implemented some features that I hope will make this journey a little less painful for newer players.
1. Cities now require cargo to be delivered each month. Which cargos are demanded depends heavily on if you're using the base industries, or if you're using an industry set such as ECS or FIRS. This script will work with any of those three, however you must set which one you're using in the settings first.
2. In addition to requiring cargo, cities can also stockpile cargo over an above the goal amount. The maximum amount is capped at ten times the required amount for that particular cargo. If nothing is supplied, the required amount will be deducted from the stockpile each month until the stockpile reaches zero.
3. Cargo does not need to be delivered directly to a town to count towards that town's requirements. Delivering cargo to any industry near a town will also count towards a town's requirements, and in fact this behavior is strongly encouraged. You can for example, deliver milk to a dairy outside of a town, and then deliver food from the dairy to the town. For that, you will get credit for both the food and the milk deliveries.
4. The first required cargo will always be passengers. Each month, the script will check to see if any passengers have been transported from a town, and will only procede with the rest of the calculations if this is true. This is intended to reduce the strain for larger maps where there would otherwise be lots of towns to calculate.
5. As a measure to improve performance on larger maps, the script will pause the game while processing the monthly calculations. The time this takes depends heavily on the number of towns with an active passenger network. Usually it will only be a fraction of a second, but on a 2048x2048 map with lots of towns and every single on of them connected to the network it could take several minutes. I recommend playing the game with build while paused allowed for all maps, as well as less towns if you're going to play on a large map.
6. The normal town GUI will not function anymore. Instead, a town's text box will be updated with the stockpile amount, the supplied amount(previous month), and the required amount for the next month. Below each town's name, you'll also see a sign indicating the number of days in between growths.
PERFORMANCE TIPS
* Enable build while paused at all times.
* On larger maps, select a lower setting for the number of towns.
* Balanced City Growth's main calculations take place on the first of each month, so it works well with the daylength patch.
---------------------------------------------------------------------------------------
Version 3 has been released on 3-3-2013 and can be downloaded from bananas.
Version 3 changes: http://www.tt-forums.net/viewtopic.php? ... 9#p1068759
TO-DO LIST:
* Implement a command queue to more efficiently use ticks. Primarily an issue for multiplayer maps where lots of cities are connected and the tick update is larger than 1-2.
* Implement a method to discourage players from using intra-city routes to meet the PAX requirements. I'd like to keep the PAX requirements fairly easy, but have them filled mostly from inter-city routes.
* le support de langue.
* Implement a save/load function. It is safe to save/load currently, however the script will take a few months to re-initialize after a load.
* Continue balancing cargo requirements.