The International Simutrans Forum

Development => Extension Requests => Topic started by: Leartin on October 25, 2017, 09:55:22 AM

Title: Rent space to shops in Player Extension Buildings
Post by: Leartin on October 25, 2017, 09:55:22 AM
At every Airport, Railway Station or even larger bus stops, you'd find something to eat and drink right away, something to buy provisions, something to buy printworks,...
Since they are usually right in the station area (and not just "next door"), I'd assume the store owners have to pay rent to the owner of the station building - why, that would be the player. However, not every space the player would provide would actually be rented. It mostly depends on whether the demand to various goods is saturated or not - which directly leads into "the more people frequent a station, the more stores, even of the same kind, can be there" - on a large Airport, you'll easily find several McDs (but not your girlfriend if you tell her to wait at McD across Sixt - there might be two of each :/ )

Okay but - wouldn't that just be a distraction from the actual game, a minigame just for some extra cash?
I don't think so, because it would actually interact with the rest of the game. You see, those buildings are not supposed to gain you a lot of money, you are just trying to host shops in them to try and pay for the building itself, which gives you the capacity of the station. But you need a certain throughput for those buildings to works.
Capacity and Throughput are related through waiting time. The longer pax have to wait for the next vehicle to use, the more capacity you need in relation to throughput. Since you get free capacity with throughput, you want to keep the waiting time low - just like in reality. This means you might want to use smaller vehicles, and more of them, rather than a few large vehicles. While in a current game, you could use a large vehicle for every route and just go less often, this would be a disadvantage in this case. Not only because your throughput - capacity - ratio would be bad, but also because your throughput would not be stable either, so shops might abandon you. On the other hand, since the station "pays for itself", it might be cheaper to use it as a hub even if it is a detour, since you might not gain money from it, but the hub get's more throughput for more and larger shops...
So it's pretty much an incentive to create more regular connections without anything like timetables or some kind of punishment like pax walking away, but with positive encouragement.


Technical Details:
Three parameter need to be added to Extension buildings:
"shop_category" would reference which type of shop it is. I'd say a number is enough, but it could as well be done like goods. Categories would be something like "Groceries", "Print Media", "Restaurant", and if someone really want's to go all the way, "Hotel", "Souvenirs", "Clothes", ... still, I guess 8 would be more than enough slots, since personally I'd probably use no more than 4.
"throughput" would reference which amount of throughput this shop needs each month.
"rent" would be the money you gain per month as long as the shop is active. Note that maintenance is still active, so you actually would only gain rent minus maintenance.

Each month for each station, it looks up all the shops of a category and adds the throughput together. Then that number is compared to the actual monthly throughput of the station. If the throughput of the station is high enough - hurray! If not, remove the smallest shop of the category and add a marker to it. All those who did not get a marker will remove a marker and pay rent, the ones who got a marker will not. When a shop gets the third marker, it will be abandoned and no longer count as a shop, until the player (who gets a notification) manually unabandons that shop. Or, more likely, get's rid of it since there is not enough throughput at the station. Same procedure for each category.


I think this is simple and abstract enough to fit in the basic Simutrans game, and shouldn't cause any issue if it's not used, while at the same time add a new and interesting gameplay element.