[OpenGFX] Change outside appearance of industries depending on production, delivery

Got an idea for OpenTTD? Post it here!

Moderator: OpenTTD Developers

Post Reply
User avatar
Wuzzy
Engineer
Engineer
Posts: 66
Joined: 18 Aug 2019 18:04

[OpenGFX] Change outside appearance of industries depending on production, delivery

Post by Wuzzy »

(Note: This post is a suggestion to the default game using NewGFX. It does NOT suggest the development of NewGRFs.)

This is a suggestion only about graphics, not gameplay.

Currently, most industries look identical no matter how much is delivered or produced. But many industries have visible "wares" next to the building at all times.

For example, in temperate sawmill, you always see wooden logs and planks outside, no matter how much wood is actually delivered.

I suggest to extend the graphics of industries to change their appearence depending on ...
1) How much (and what) is delivered
2) How much is produced

In concrete terms, here is a list of "outside stuff" that is supposed to change in amount depending on how much is delivered.
  • Temperate sawmill: Add wooden logs
  • Paper mill: Add wooden logs
  • Oil refinery: Turn off the "flames" if no oil is delivered
  • Power plant: Turn off the steam and "electro" effect if nothing was delivered, otherwise use the current default animation
  • Printery: Paper rolls
There should be always at least 1 "outside" stuff as long a minimum amount was delivered. More "outside stuff" an appear as the amount of delivered goods goes up.
For example: For the temperate sawmill, if nothing is delivered, there are 0 piles of logs outside. If a bit is delivered, there is 1 pile of logs. If there is a high delivery, progressively add more "piles of logs", up to a given maximum.

Also, a good is considered to be "delivered" to an industry if at least 1 unit of it was delivered within the last 1 or 2 months (not sure).

And here's a list of outside stuff for the amount of production. It works similar to the amout of delivery. The following shall change depending on the output:
  • Coal mine: Amount and size of "coal piles" (but always at least 1 pile of coal)
  • Temperate sawmill: Add wooden planks (representing goods)
  • Paper mill: Add paper rolls
  • Factory: Add random objects on the concrete floor
  • Food factory: Put variuous wooden boxes outside. Also let smoke come out of the chimneys if anything is produced
  • Steel mill: Turn off the "flame" if nothing was delivered
  • Paper mill: Add paper rolls
  • Bubble generator: Increase the amount and speed at which bubbles spawn as production goes up
  • Cola fountains: If there's a low production rate (<100%), reduce the "level" of the cola in the cola bottles. Otherwise, use the default image
  • Sugar mine: Size of the big sugar pile on the tlue pile increases with production rate
  • Fizzy drinks factory: Remove the liquid coming out from the faucet and keep the glass empty if production is 0. Otherwise, use the default animation
  • Caramel mine: Size of the caramel pile (maybe 3 sizes: small, medium and big)
  • Candy factory: Idk. Maybe turn on the light in the window if producing anything?
For example, if the paper mill produces nothing, no paper rolls, if it produces a little, a few paper rolls, with their number increasing the higher the production rate.


For backwards-compability, the new special graphics for the industries for e.g. "lack of output" or "higher output" should only be used if the base graphics pack actually supports it. I suggest to add default support for OpenGFX. But if the player uses a 3rd party graphics pack like the original TTD graphics, OpenTTD needs to fall back to the default graphics for that industry.

Overall, I think this graphics change will give a nice touch to the game because it makes industries feel a bit more "alive" rather than static.
User avatar
Andrew350
Chairman
Chairman
Posts: 768
Joined: 19 Dec 2011 07:54
Location: Washington State, USA
Contact:

Re: [OpenGFX] Change outside appearance of industries depending on production, delivery

Post by Andrew350 »

Wuzzy wrote: 27 Jan 2021 19:01 (Note: This post is a suggestion to the default game using NewGFX. It does NOT suggest the development of NewGRFs.)
The problem with this statement is that this suggestion is exactly the kind of thing NewGRFs are for, and as such won't be implemented in the "core" game.
User avatar
jfs
Tycoon
Tycoon
Posts: 1750
Joined: 08 Jan 2003 23:09
Location: Denmark

Re: [OpenGFX] Change outside appearance of industries depending on production, delivery

Post by jfs »

Yes that kind of changes won't happen.

The base graphics set is not allowed to use any kind of callbacks or anything else fancy NewGRF features, only deliver static graphics. Implementing your suggestions will require using either NewGRF callbacks to select graphics for an industry tile, or will require brand new, special-case code in the core game. That brand new special-case code goes against the project goals, so it would be an instant reject, even if you went and completely implemented it, even if it was a perfect high quality implementation.
User avatar
planetmaker
OpenTTD Developer
OpenTTD Developer
Posts: 9432
Joined: 07 Nov 2007 22:44
Location: Sol d

Re: [OpenGFX] Change outside appearance of industries depending on production, delivery

Post by planetmaker »

That's what we invented OpenGFX+ NewGRF series for. There is OpenGFX+ Industries. Granted... it does not change graphics depending on production state. But that's more a matter of availability of graphics.

Despite what jfs and Andrew350 say, I still wonder about an approach of a standard selection of NewGRFs which are installed and pre-selected on a new game install, which just do that: enhance the game slightly to actually make use of all these nice things possible, without changing the core gameplay - basically what we tried to achieve with the OpenGFX+ sets.
* climate- and ground-dependent graphics
* tracksets with ground-awareness
* trams
* ...
Post Reply

Return to “OpenTTD Suggestions”

Who is online

Users browsing this forum: No registered users and 6 guests