TTD and OpenTTD industry chains are usually completely independent on cities development and passenger transport (if not counting oil rigs).
Cities/towns depend on industry, but there is no feedback.
The only exception is, as far as I know, the YETI extension.
My proposal is to use passengers to create stockpile of "crew" to achieve higher level of primary industry productivity.
There are two crew levels - minimal crew level (10 for extensive industry type and 100 for intensive one) and maximal crew level (100 and 500 respectively).
If crew level is above minimal, crew stockpile is consumed faster and therefore next crew level is much harder to achieve.
Production increase/decrease depend on crew level and industry type.
Extensive type industry (forest, lumber mill, gold mine) have low crew level and limited productivity increase,
whereas intensive type industry (coal and ore mine, plantations) need huge passengers flow but give larger productivity.
Thanks to that, instead of desolated industry chains, you must also develop cities to keep passenger flow high enough - especially challenging if city growth limiting game script is active.
Additionally production level moderated by passenger delivery fits nice into early game stage - usually there is problem with transporting huge amounts of cargo using horse carriages - but if you have no efficient means to transport passengers, productivity level remain small.
Relying on opengfx+industries viewtopic.php?f=67&t=54187
code, I created "Manpower industry" newgrf with above ideas implemented. I used planetmaker code because it have some important features already implemented, is clearly written and therefore I found it as an good example to learn how industry NML works.
I have some questions/problems.
1. I have no idea, how to publish such addon without violating licence or making mess with version numbers/names.
By now I changed repo name in makefile.config, but what about version number?
I'm not familiar with all these version control systems.
2. Because primary industry require passengers, I think it is necessary (for cargodist) and expected (for player) to provide symmetric passenger flow (workers must return).
Because there are only two type of cargos produced, above idea fails in case of farms.
Three solutions can be considered:
a) leave farms untouched (assume that farm workers live on farm)
b) farm accept passengers but doesn't produce them
c) farm produce livestock constantly and repeatedly switches between burst of passengers or grain/maize.
I would like to implement c), but there are some issues discussed in NML thread.
Any advice is appreciated - it is my first industry newgrf modification, I still don't understand some NML and python nuances.
EDIT: version 0.1 uploaded to bananas http:\binaries.openttd.org/bananas/newgrf/Manpower_ogfxindustries-0.1.tar.gz
My experimental openTTD server: 22.214.171.124:3979 non-standard client, now testing: JGRPP http://tiny.pl/ggnch
Projects: Reproducible Map Generation patch
, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, preindustrial houses, wired, ECS industry extension.