2talltyler / improved_town_industries Goto Github PK
View Code? Open in Web Editor NEWAn industry replacement set for OpenTTD.
License: GNU General Public License v3.0
An industry replacement set for OpenTTD.
License: GNU General Public License v3.0
Applicable industries:
If anyone wants to mock up tile layouts with the decorative objects of each industry tile included in ITI, I'd appreciate screenshots of your ideas.
For future compatibility.
Is there any difference between the two regarding wood besides the additional step with lumber in this version?
It seems that before this version there wasn't any difference at all (except the introduction date I suppose), so choosing one over another would come down to preference. In this version, as I understand it the additional step in the factory chain makes it generate much more profit. Does paper mill compensate the lost potential profit when choosing it over factory somehow?
It could be a nice idea regardless. Since paper mill gets introduced almost a century later, it could have a minor advantage the same way transporting waste to recycling center is more efficient than transporting it to farm directly, in this version.
Look at an older version of FIRS for an example of how these strings work.
Most industries have construction checks preventing them from building near forests. This is no longer necessary. Cut it!
Everybody loves pretty code.
Simply prohibiting non-clustered industries can produce maps with only a couple coal or iron mines, if the first mine is on an island or town density is low.
Suggested fix (once I get a development computer running again): when a proposed mine is not within a cluster, compare number of mines to number of forests (perhaps minus 10 or /2). If there are an unusually low number of coal mines, allow construction despite the failed cluster check. If things are normal, deny construction as usual.
Since you added passenger as a valid cargo to virtually all industries in your newGRF, there a bit confusion when viewing the industries chain as it show all industries in the windows making it hard to determine where the other cargoes supposed to go.
Since I always uses the minimap to determine where the industry is when looking for a certain chain, it is possible to hide only the passenger in the industry chain?
These are still using placeholder values, but should be made more interesting for "industry tycoon" gameplay, particularly when using "generate primary industries only".
It may be helpful to look at other games here, like Railroad Tycoon 3 and Railway Empire.
These are defined in header.nml to disable ITI and display an error message when an incompatible industry NewGRF is loaded.
Coal, Iron, and Uranium mines should be allowed (but not required) to build near cities. Real mines are often near towns where workers live, (more specifically, towns are built near mines where workers are employed).
Forests, Farms, and Oil Wells should still be built away from towns.
ITI currently does not define numerical IDs for industries. It defaults to an automatic selection by NML.
From NML specs:
Note, while the third argument (the numerical id) is optional, it should only be left out in simple short-lived NewGRF. The numerical id is relevant for OpenTTD savegame compatibilty. If you delete items or insert items in front, the automatically assigned ids of following items will change, and thus your NewGRF will be incompatible to earlier versions of itself. So, if your NewGRF is not a one-shot, but will evolve over multiple versions, you should assign ids manually, and keep them unchanged.
This change will not necessitate a new release, but should be added for stability in future releases. The next release should not be savegame-compatible, just to be safe.
OpenTTD: 1.10.2
NewGRF:
54540301|1899C0EE609AFD837091F9BF9E64CEE2|improved_town_layouts-1.1.2\improved_town_layouts.grf = 0 0 1 1 1
54540401|2B9CD4A272177B792F2E68BA43C254B9|improved_town_industries-1.0.0\improved_town_industries.grf = 0 1 1 0
The strings corresponding to the different industries and houses are translated correctly (in line with the base game).
The strings corresponding to the different industries and houses are not translated at all.
Including all growth stages
OpenTTD: 1.10.2
NewGRF:
54540301|1899C0EE609AFD837091F9BF9E64CEE2|improved_town_layouts-1.1.2\improved_town_layouts.grf = 0 0 1 1 1
54540401|2B9CD4A272177B792F2E68BA43C254B9|improved_town_industries-1.0.0\improved_town_industries.grf = 0 1 1 0
The subtitle of the error message is more descriptive of the error.
The subtitle of the error message is just "Farm".
Industry tiles have special_flags: bitmask(INDTILE_FLAG_ACCEPT_ALL);
but are missing accepted_cargos: [[PASS, 8]];
Secondary industries check for other secondary industries before building, to avoid the scenario where a map with only two cities of population 300 has two oil refineries but no factories, for example. Industry selection is handled just fine by vanilla OpenTTD code, so this will be cut.
I think I might have come across a bug.
I made a game script that pretty much fills a rectangle around any given industry with industries of the same type.
This is what happens when I run it with vanilla industries:
When I run it with improved town industries, some industries will be created at maximum possible distance within the rectangle, not filling it. Examples that I noticed are forest, farm and coal mine.
This seems to be intended behavior in improved town industries as (if I'm not mistaken) it aims to create clusters of raw industries (and changes game logic regarding processing industries too) over the course of the game. However...
Uranium mines, iron ore mines and oil wells spawn normally, meaning either improved town industries does not have any logic for their distancing or this feature has a bug and won't work with those three. Is this by design?
Delaying the Nuclear Power Plant's conversion of Nuclear Fuel to Nuclear Waste would encourage use of separate waste trains from the fuel supply chain, an important gameplay objective.
OpenTTD: 1.10.2
NewGRF:
54540301|1899C0EE609AFD837091F9BF9E64CEE2|improved_town_layouts-1.1.2\improved_town_layouts.grf = 0 0 1 1 1
54540401|2B9CD4A272177B792F2E68BA43C254B9|improved_town_industries-1.0.0\improved_town_industries.grf = 0 1 1 0
For better readability and maintainability. Conflicting_ind_types appears to keep industries 20 tiles apart, but will make exceptions if no further placement exists.
Use this for primary-secondary industry distance requirements (often missing - check all industries) and to keep industries out of farm fields.
May need to un-disable the original industry rather than defining it myself.
Construction is blocked correctly when Generate Primary Industries Only is active, but the special flag to not force instance at map generation is not set. This flag, when set properly, suppresses this error message.
OpenTTD: 1.10.2
NewGRF:
54540301|1899C0EE609AFD837091F9BF9E64CEE2|improved_town_layouts-1.1.2\improved_town_layouts.grf = 0 0 1 1 1
54540401|2B9CD4A272177B792F2E68BA43C254B9|improved_town_industries-1.0.0\improved_town_industries.grf = 2 1 1 1
Turning on "Generate Primary Industries Only" should only turn off the automatic generation of secondary industries. It should not affect the ability to manually fund these industries.
Turning on "Generate Primary Industries Only" not only turns off automatic generation of secondary industries, but also makes you unable to fund these industries yourself.
...edited version by Gadg8eer
grfid: "MLS\01";
NewGRF version: b53a0de
Did you forget about the following industry sets being incompatible?
The comment reads:
Check if an even number of iron mines already exist on the map (0 is even) by dividing by 2 and checking for a remainder. If even, build without needing cluster. If odd, continue to next switch for clustering
The comment reads:
Check if an even number ofironl mines already exist on the map (0 is even) by dividing by 2 and checking for a remainder. If even, build without needing cluster. If odd, continue to next switch for clustering
Some house sets define food using its base game cargo ID, not the modern cargolabel FOOD.
Changing this back to its original label would allow more house sets to accept the food cargo.
Will require removing coal piles from tile layouts.
...where possible given sprite differences between different base graphics sets.
It's not strong enough to be noticeable, but it does create failure points and code to maintain.
Some players think base graphics set refers to base trains. Remove mention of this compatibility and replace with a note about needing NewGRF vehicles to transport new cargos.
This could really use a comprehensive rework rather than tacking on things randomly.
We need a reason for ships and helicopters.
When a conflicting industry set is loaded, throw a fatal error to disable ITI and inform the player.
Conflicting industries:
Base game houses apparently use cargo IDs and not cargo labels for cargo acceptance. This breaks Goods and Food acceptance.
...regardless of whether Waste is enabled.
Dev version only, as Waste to Farms hasn't made release yet.
Primary industries do not spawn in cities.
When "Proportion of towns that will become cities" is set to 1 in 1, no primary industries will be available.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.