Transport Tycoon Forums

The place to talk about Transport Tycoon
It is currently Thu Nov 23, 2017 7:37 am

All times are UTC




Post new topic  Reply to topic  [ 70 posts ]  Go to page 1 2 3 4 Next
Author Message
PostPosted: Tue Aug 19, 2014 10:02 pm 
Offline
President
President
User avatar

Joined: Sat Jan 18, 2014 6:10 pm
Posts: 935
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: 149.156.194.203: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.


Last edited by McZapkie on Thu Aug 21, 2014 9:30 pm, edited 2 times in total.

Top
   
PostPosted: Tue Aug 19, 2014 10:30 pm 
Offline
Tycoon
Tycoon
User avatar

Joined: Mon Sep 28, 2009 5:15 pm
Posts: 5874
Location: Eastern KY
McZapkie wrote:
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.

Test version of newgrf and modified planetmaker source code is attached.
I hope, that it is not unwelcome to modify somebody else source code, however let me know if I accidentally broken some legal or implicit rules.


OpenGFX+ Industries is published under GNU Public License. All you need to do is make your copy available under this license as well, distribute all of the license and info with your product, and make the source code available upon request to anybody who asks. It doesn't have to retain any compatibility, name, revision number etc. with the project you forked it from.

_________________
Do you like drones, quadcopters & flying toys? Check out Drone Strike Force!
Image

Base Music Sets: OpenMSX | Scott Joplin Anthology | Traditional Winter Holiday Music | Modern Motion Music
Other Projects: 2CC Trams | Modern Waypoints | Sprite Sandbox & NewGRF Releases | Ideabox | Town Names | Isle of Sodor Scenario | Random Sprite Repository
Misc Topics: My Screenshots | Forgotten NewGRFs | Unfinished Graphics Sets | Stats Shack | RoadTypes?


Top
   
PostPosted: Wed Aug 20, 2014 2:28 am 
Offline
President
President
User avatar

Joined: Tue Nov 23, 2010 9:25 pm
Posts: 941
Location: ::1
Post the product on bananas, and I'll be happy to test it out in a multiplayer environment.


Top
   
PostPosted: Wed Aug 20, 2014 5:29 am 
Offline
Tycoon
Tycoon
User avatar

Joined: Mon May 21, 2007 11:47 am
Posts: 6559
Location: The Netherlands
At least make sure to change the grfid, if you haven't done so already (I don't read it from the post). Choose something completely different, not just increase the last number.
Then version number in relation to OpenGFX+ Industries isn't relevant any more either.

I find the alternating production of passengers/cargo interesting. You should see if switching can be done fast enough for this to work properly.

_________________
FooBar's Tram Tracks | TransRapid Track Set | Metro Track Set | OpenGFX base graphics set | FIRS Industry Replacement Set
Dutch Tram Set | Dutch Trainset 2 | Dutch Road Furniture


Top
   
PostPosted: Wed Aug 20, 2014 6:00 am 
Offline
Tycoon
Tycoon

Joined: Wed Apr 27, 2005 7:09 am
Posts: 5108
McZapkie wrote:
TTD and OpenTTD industry chains are usually completely independent on cities development and passenger transport (if not counting oil rigs). [...]

I had already put together such extension ("workers") based on original industries back in 2007.

regards
Michael

_________________
Image


Top
   
PostPosted: Thu Aug 21, 2014 2:19 pm 
Offline
President
President
User avatar

Joined: Sat Jan 18, 2014 6:10 pm
Posts: 935
michael blunck wrote:
I had already put together such extension ("workers") based on original industries back in 2007.

Nice to see that such idea was supported. However probably I will stick with crew for primary production only due to openttd limitations
(moreover, organic and extractive industry usually need larger manual workload then processing one which is easier to automate).
BTW, you remind me about cargo_subtype_display switch - plain "cargo waiting to proceed: xx passengers" is not informal.

Quote:
Post the product on bananas, and I'll be happy to test it out in a multiplayer environment.l

I found a kind of bug/feature with passengers distribution.
If there are two "passenger hungry" industries within one station range, one industry suck all passengers and second one remain without any:
Attachment:
cargodistribution.png
cargodistribution.png [ 377.03 KiB | Viewed 17769 times ]


Top
   
PostPosted: Thu Aug 21, 2014 2:31 pm 
Offline
Tycoon
Tycoon
User avatar

Joined: Thu Mar 19, 2009 7:25 pm
Posts: 2544
Location: Kent
Im afraid that isnt a bug related to your grf but to the openttd in general. When delivering cargo to a station, it will always unload into the nearest industry that will accept that cargo.

_________________
Image


Top
   
PostPosted: Thu Aug 21, 2014 2:37 pm 
Offline
OpenTTD Developer
OpenTTD Developer
User avatar

Joined: Wed Nov 07, 2007 10:44 pm
Posts: 9024
Location: Sol d
Leanden wrote:
Im afraid that isnt a bug related to your grf but to the openttd in general. When delivering cargo to a station, it will always unload into the nearest industry that will accept that cargo.

Indeed, that's the way the game works. If you need to distribute cargo to several industries, build a transfer station and ship it to small stations adjacent to the industry individually.

_________________
Image
OpenTTD: manual | online content | translations | Wanted contributions and patches
#openttdcoop: blog | wiki | public server | DevZone | NewGRF web translator
DevZone - home of the free NewGRFs: OpenSFX | OpenMSX | OpenGFX | Swedish Rails | OpenGFX+ Trains|RV|Industries|Airports|Landscape | NML


Top
   
PostPosted: Thu Aug 21, 2014 10:28 pm 
Offline
President
President
User avatar

Joined: Sat Jan 18, 2014 6:10 pm
Posts: 935
planetmaker wrote:
If you need to distribute cargo to several industries, build a transfer station and ship it to small stations adjacent to the industry individually.

Ups, I didn't aware about this feature, now I understand why sometimes cargodist fail to send Engineering Supplies properly - seems that they were eaten by other industry nearby junction station.
To make users aware about this, I decreased passengers acceptance per industry tile, to force players to build stations close to the industry.
The best solution would be switching passenger acceptance off if passengers stockpile is much above maximal level, however personally I find such feature not welcome due to annoying messages (and AFAIK cargodist also doesn't "like" such switching).

Currently stockpile is just "eaten" very fast if above maximal level, to prevent overflow.

Additionally, non-renevable extractive industries have production level locked at mininal level if no primary cargo was transported,
to prevent waste of their resources if accidentally passengers are delivered to mine:
Attachment:
manpower-example1.png [457.95 KiB]
Downloaded 10 times

In above example, only oil is transported, non-renevable oil wells and renevable forestry have normal production levels, coal mine have still lowest production even if crew is delivered, intentionally or not.
On above picture, tramway line was connected to nearby city, but such feed was not sufficient and local railway line to another city was necessary to build.
I see some niches for typical urban transport, because you need to transport huge amount of passengers without post.

Manpower ogfx-industries is already on bananas on-line content.
Because I want to use it on my custom map, there is switch preventing random creation/closure of industry,
similar to manual industries grf.
If you are playing random map, probably you would like to switch it back to restore standard ogfx-industries behaviour.

_________________
My experimental openTTD server: 149.156.194.203: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.


Top
   
PostPosted: Sat Aug 23, 2014 10:09 pm 
Offline
President
President
User avatar

Joined: Sat Jan 18, 2014 6:10 pm
Posts: 935
Version 0. was uploaded to bannas.
Some bugs related to life time was fixed.
By now, farms have manpower feature enabled only if grain is produced (grain/livestock can be chosen regardless of climate).
I also added coal cargo to steel mill, because original coal chain appear to be somewhat dumb.
Steel mill produce steel if both ore and coal are stockpiled (productivity rate depend on stockpile size).
If only one material is supplied, it would accepted but wasted if stockpile is big (i don't like "stop accepting" feature).

_________________
My experimental openTTD server: 149.156.194.203: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.


Top
   
PostPosted: Sat Aug 23, 2014 10:21 pm 
Offline
President
President
User avatar

Joined: Tue Nov 23, 2010 9:25 pm
Posts: 941
Location: ::1
So, I had a quick go at the first version posted - I didn't have a much chance at version 0.2.

I don't know if any of this is fixed by version 0.3, but here's stuff I've noticed:

  • Once, I had a diamond mine close on me after I started supplying service to it.
  • Water source doesn't require workers
  • I had somewhat smallish town (population under 1000) provide passengers to a fruit plantation. Eventually, that plantation was overflowing with workers - about 20000 in the stockpile.
  • Oil well eats up the passengers much, much faster than any other industries I've tried so far.
  • Forest, at least this one I serviced, started producing same amount of wood and passengers, and the amount doesn't go much higher than 250 tonnes/pax per month
  • Once a steady flow of passengers are provided to these industries, the production fluctuates far more than the default industries. The fruit plantation, for example, have had anywhere between 250 to 1000 tonnes produced per month.


Attachments:
Sontston Transport, 1996-06-30.sav [564.55 KiB]
Downloaded 145 times
Top
   
PostPosted: Sun Aug 24, 2014 10:28 am 
Offline
President
President
User avatar

Joined: Sat Jan 18, 2014 6:10 pm
Posts: 935
Sylf, thank you for intensive tests of manpower grf.
Seems that you had tested early alpha version, stockpile overflow was fixed before I posted 0.1 on bananas.
Production changes depend now on "closure/change switch" - if this switch is on, industries have original life type,
if off - blackhole type without expiration (not counting mines resources).
There are four types of mines: extensive or intensive and high and small resources.
Diamond mine is an intensive type with small resources so it last not so long if exploited intensively.
I want to reflect, that in tropical industry everything is going fast - but maybe it is a bad feature.
By the way, I want to implement switch to control mines resource decay.
Real water source usually does not need huge crew, and I want to keep similar number of manpower industries for each climate.

_________________
My experimental openTTD server: 149.156.194.203: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.


Top
   
PostPosted: Wed Aug 27, 2014 1:39 pm 
Offline
President
President
User avatar

Joined: Sat Jan 18, 2014 6:10 pm
Posts: 935
If I understand ChopLumberMillTrees function correctly, amount of wood produced by the lumber mill
is completely irrelevant on production level, only on chopped trees?


Top
   
PostPosted: Thu Aug 28, 2014 11:53 am 
Offline
Transport Coordinator
Transport Coordinator
User avatar

Joined: Thu Jul 19, 2012 6:04 pm
Posts: 326
Location: The Elizabeth Arkham Asylum for the Criminally Insane
Is this normal? Running openttd+industries + this, no other newgrf are activw


Attachments:
Unnamed,%201st%20Jan%201990.png [304.61 KiB]
Downloaded 5 times

_________________
Me
My Screenshots
Top
   
PostPosted: Thu Aug 28, 2014 12:02 pm 
Offline
OpenTTD Developer
OpenTTD Developer
User avatar

Joined: Wed Nov 07, 2007 10:44 pm
Posts: 9024
Location: Sol d
te_lanus wrote:
Is this normal? Running openttd+industries + this, no other newgrf are activw

You should only use one industry NewGRF at a time, you use two.

_________________
Image
OpenTTD: manual | online content | translations | Wanted contributions and patches
#openttdcoop: blog | wiki | public server | DevZone | NewGRF web translator
DevZone - home of the free NewGRFs: OpenSFX | OpenMSX | OpenGFX | Swedish Rails | OpenGFX+ Trains|RV|Industries|Airports|Landscape | NML


Top
   
PostPosted: Sun Aug 31, 2014 9:41 pm 
Offline
President
President
User avatar

Joined: Sat Jan 18, 2014 6:10 pm
Posts: 935
New 0.4 version was uploaded to bananas online content.
The main change is appearance of lumber mills.
Because thanks to the ogfx-industries you can switch lumber mill as wood producer regardless on climate,
I found these lumber mills very useful to decrease uncontrolled growth of trees.
Trees growth is an issue especially for multipllayer, because of huge map size (trees act as white noise which is hard to compress).

With manpower industries you can allow random creation of lumber mills - they will cut trees n 40x40 square and will shut down if no nearby trees are available. I recommend to use "one industry per town" settings.
Additionally, if you want to use certain mill, you can establish passenger service to keep crew present on site
- it would prevent your lumber mill against shut down even if all nearby trees were cut down.
Unlike other industries, lumber mill crew doesn't increase its production - it depend only on cut trees.
Lumber mill crew is only to protect it if you forgot to plant trees (or you was offline in MP).

Other changes: separate switches to control creation/closure of main industries and town industries,
mine resources decay switch and passenger/mail reduced payment switch.
Passengers and mail are "easy job" to collect, additionally they act as manpower industry booster - therefore payment should be decreased slightly (-30%) for better balance.
There is "reduced passenger payment" newgrf already, but I found 50% reduction too harsh.

Result of manpowered multiplayer:
Attachment:
McTest4, 16th Aug 2043.png [203.35 KiB]
Downloaded 4 times

_________________
My experimental openTTD server: 149.156.194.203: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.


Top
   
PostPosted: Mon Sep 01, 2014 4:28 pm 
Offline
President
President
User avatar

Joined: Tue Nov 23, 2010 9:25 pm
Posts: 941
Location: ::1
One small note - steel mill doesn't produce anything if a map is created with iron ore chain enabled by coal chain disabled. The GRF should either override the coal chain setting if iron ore chain is enabled, or let the steel mill produce steel without coal if coal chain is disabled. I prefer the latter.

Edit: when livestock is enabled for farms, farms are broken.
1. They act just like when they handle crew. The productivity start at low. But because they can't handle crew, productivity stays low permanently
2. Production last month reads something like "24 items of livestock (crew)"

The behavior of the forest still feel erratic to me. In the beginning of the game, they "consume" the passengers faster than mines.

Other things to note:
1. In the readme for v4, there were marks like v1 and v2 still present.
2. It would really benefit if you explain extensive vs intensive industry behavior in the readme. Then list exactly which industries are categorized which.
3. Better yet, it's best if you display intensive/extensive industry type in the industry dialog box.


Top
   
PostPosted: Tue Sep 02, 2014 1:07 pm 
Offline
President
President
User avatar

Joined: Sat Jan 18, 2014 6:10 pm
Posts: 935
Thanks for kindly planetmaker help, manpower NML source is already available online https://dev.openttdcoop.org/projects/ma ... industries

Sylf wrote:
One small note - steel mill doesn't produce anything if a map is created with iron ore chain enabled by coal chain disabled...

Thank you for pointing all flaws. Of course, in absence of coal chain, steel mills should act like default ones.
I will fix also livestock farm to default function.

Quote:
The behavior of the forest still feel erratic to me. In the beginning of the game, they "consume" the passengers faster than mines.
Passenger "consume" rate depend on waiting passenger (crew) waiting number compared to crew level.
Default minimal crew level for extensive industry is 10, maximal 50,
in case of intensive industry these numbers are 100 and 1000 respectively.
Therefore, if you deliver 80 passengers, they will be removed faster from forest (because this number exceed maximal crew level)
than from mine (below minimal crew level).
Additionally, to prevent excessive stockpile overloading or stockpile overflow, passengers are removed if stockpile is 3 times larger than maximal level.
If you are "spamming" forest with huge number of passengers, surplus will be instantly removed to be close to maximal crew level.
Instead sparse long trains, use frequent service using short train or/and buses/trams.

EDIT: v.0.5 was uploaded, above discussed bugs fixed, polish translation added.
New feature is optional flattening of payment curve - in my opinion very useful for large but sparse maps:
Attachment:
File comment: flattened vs original
paymentcurves.png
paymentcurves.png [ 18.87 KiB | Viewed 16701 times ]

Original payment curve was designed for maps 256x256 and less.

I have question regarding industry tile animation.
Based on ogfx-industry source, I modified oil wells animation and now it freeze if there is no crew present - it is convenient to check industry state without clicking on industry window.
But I have no idea how to proceed with coal, gold or copper mines - is there any comprehensive list of default industry tiles and corresponding sprites?


Top
   
PostPosted: Sat Sep 27, 2014 9:12 am 
Offline
OpenTTD Developer
OpenTTD Developer
User avatar

Joined: Wed Nov 07, 2007 10:44 pm
Posts: 9024
Location: Sol d
McZapkie wrote:
But I have no idea how to proceed with coal, gold or copper mines - is there any comprehensive list of default industry tiles and corresponding sprites?

There's no list with sprites. The only list which exists (except maybe in the sources of OpenGFX) is http://newgrf-specs.tt-wiki.net/wiki/In ... faultProps and to a lesser degree http://newgrf-specs.tt-wiki.net/wiki/NM ... stry_tiles

_________________
Image
OpenTTD: manual | online content | translations | Wanted contributions and patches
#openttdcoop: blog | wiki | public server | DevZone | NewGRF web translator
DevZone - home of the free NewGRFs: OpenSFX | OpenMSX | OpenGFX | Swedish Rails | OpenGFX+ Trains|RV|Industries|Airports|Landscape | NML


Top
   
PostPosted: Sat Sep 27, 2014 8:43 pm 
Offline
President
President
User avatar

Joined: Sat Jan 18, 2014 6:10 pm
Posts: 935
planetmaker wrote:
The only list which exists (except maybe in the sources of OpenGFX) is http://newgrf-specs.tt-wiki.net/wiki/In ... faultProps and to a lesser degree http://newgrf-specs.tt-wiki.net/wiki/NM ... stry_tiles

thank you, this second plus opengfx *industries.pnlm are very helpful.

Meanwhile, I created new industry, forest logging camp which can be used instead of forest - it cut trees like lumber mill,
but appears randomly like forests. I found it useful for tree growth control in massive multiplayer maps.
There is only one small issue - logging camp is "planted" instead constructed - it sound somewhat silly.
How to force TTD_STR_NEWS_INDUSTRY_CONSTRUCTION instead of TTD_STR_NEWS_INDUSTRY_PLANTED?

_________________
My experimental openTTD server: 149.156.194.203: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.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 70 posts ]  Go to page 1 2 3 4 Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000-2017 phpBB Limited

Copyright © Owen Rudge/The Transport Tycoon Forums 2001-2017.
Hosted by Zernebok Hosting.