The International Simutrans Forum

 

Author Topic: Idea: attractions require construction time and goods before becoming usable.  (Read 2917 times)

0 Members and 1 Guest are viewing this topic.

Offline ӔO

  • Devotees (Inactive)
  • *
  • Posts: 2345
  • Hopefully helpful
  • Languages: en, jp
I couldn't find a similar thread, so I made this one.
Although this comes from another game, I thought it might be nice to have in simutrans as well.

Succinctly put, the attraction will require a construction period and goods before it becomes usable. This is instead of cities suddenly sprouting attractions that are immediately usable after they hit X population. To me, it is a bit weird when suddenly, the next day, there is a 50F building or cathedral next to your house, when there was nothing there yesterday.

I realize, that in simutrans, there is the problem of this being two different buildings that will replace itself, which must be quite hard to code, so instead of an extension request, I put it here.

any thoughts?

Offline wlindley us

  • Devotee
  • *
  • Posts: 979
    • Hacking for fun and profit since 1977
  • Languages: EN, DE
This is a most intriguing idea.

Building: Cathedral Under Construction
Passenger Level: 50  (workers)
Requires: 3000 units of Stone (InputGoods[0])

Coding suggestion:
  • The temporary attraction will work like a Factory
  • Add a new parameter to a factory: The number of months during which all the InputGoods must be delivered
  • If such a factory reaches the age of expiry without the Goods being delivered, it will be deleted
  • Use the factory upgrade logic from Experimental to upgrade the temporary attraction (factory) to the permanent Attraction.
The same function could also apply to a small Workshop:


Building: WeaversCottage
PassengerLevel: 1
Requires: 100 units of Wool
RequiredMonths: 96
Upgrade: SmallWoolenMill

If a sheep farm spawned several of these, and you managed to serve a few of them, they would be upgraded to mills.  The ones that did not reach capacity within eight years (12x8) would close... if you did not serve any of them, the sheep farm would close as well.

Extending this to OutputGoods, the same could go for collieries becoming large coal mines.


Offline An_dz

  • Web Admin
  • Administrator
  • *
  • Posts: 2908
  • D'oh
    • by An_dz
  • Languages: pt, en, it, (de)
The construction image might take more time to change it to its definite object, for any kind of building. Just like SimCity.

Offline ӔO

  • Devotees (Inactive)
  • *
  • Posts: 2345
  • Hopefully helpful
  • Languages: en, jp
@wlindley
"If such a factory reaches the age of expiry without the Goods being delivered, it will be deleted"

I was thinking more along the lines of no time limit... some structures, like St. Vitus Cathedral took 600 years to build

Offline sdog

  • Devotee
  • *
  • Posts: 2039
the rate at wich materials were delivered would not have been very high.

Offline isidoro

  • Devotee
  • *
  • Posts: 1130
No time limit would be nice...  And perhaps some passengers, i.e., the workers...

Offline Fabio

  • Devotee
  • Administrator
  • *
  • Posts: 2898
  • The Pak128 Guy
    • Visit me on Facebook
  • Languages: EN, IT, RO, FR
Longer building time might be ok, although it would be illogical why cathedral and public garden yes but factory or res or com tower no. but then construction time could be set individually in dat file of the single object. during construction, the building would only generate a % of pax from/to (eg 25%), possibly set in dats as well.

Delivering goods temporary (i.e. Until completion) to a construction site is against ST standard rule of factories not closing. This sounds like stuff for Exp, if James might be interested.

A time limit would be a bad thing altogether, as it would kill the older attraction recently built at map creation time.

Offline Milko

  • Devotee
  • *
  • Posts: 829
I believe that if we introduce this new feature would be better if there is a setting that allows you enable / disable it, personally I would prefer not to use it in my games.

Giuseppe