The International Simutrans Forum

 

Author Topic: Representation of Contracts in game  (Read 1886 times)

0 Members and 1 Guest are viewing this topic.

Offline Leartin

  • Devotee
  • *
  • Posts: 1043
  • PAK-DEV P192C
  • Languages: DE, EN
Representation of Contracts in game
« on: January 03, 2018, 05:55:34 AM »
On the forums, we all know what contracts are - connections between factories, such that goods can be transported. Whenever a new player asks why his connection doesn't transport anything, we always tell them to check the contracts. The oldest mention on this forum is from 2008, I can't access the archives for earlier use.

Except - contracts are not in the game. There are "consumers" and "suppliers" and there is a tool to "connect factories", but not even the helpfile refers to contracts. Perhaps this changed at some point, perhaps it never was in the game. Either way - since it's an elementary new-player question, it might be a good idea to introduce contracts to the game itself.

How? I think there should be a physical representation of the contract. Just a dialog window with the following text:

Code: [Select]
[Factory type]
►[Factory name] at [Coordinates]

agrees to provide
[Good name] ([Good category])

to
[Factory type]
►[Factory name] at [Coordinates]

This contract is [dormant/active*]


If you want to be fancy, it may have it's own window style such that it can be designed to look like an actual paper document, and falls back to normal window style if that's not provided.

This window could be called in one of three ways.

1.) A tiny "contract" icon to the right of each consumer/supplier in each factories dialog would lead to their specific contract.

2.) A new List of Contracts could show all contracts, which could be sorted by (and show as)
  • Supplier ([Supplier Name] [Supplier Coordinate] to [Consumer Name][Consumer Coordinate])
  • Consumer ([Consumer Name][Consumer Coordinate] from [Supplier Name] [Supplier Coordinate])
  • Goods From ([Good name] from [Supplier Name] [Supplier Coordinate])
  • Goods To ([Good name] to [Consumer Name][Consumer Coordinate])
No matter which sorting, each item on the list should be preluded by a box that's green or red, depending on whether the contract is active or dormant*.

3.) The "make contract" button (formerly "connect factory") would open a blank contract, that gets filled in as the player clicks on factories. The first click fills the supplier position, but that's just so the player sees something happen - if he clicks on a consumer first and then on the suppliert, the contract will still form. This is so the player get's confirmation on what he does, as currently you actually don't know if a contract is created or not.


Additionally, in the contract window the public player would see a button "terminate contract" which would sever that connection, something currently only possible by removing and replanting a factory.

*a contract is dormant if no route is to be found between the two factories, and active if there is a route and therefore actual goods exchange.
« Last Edit: January 03, 2018, 06:08:27 AM by Leartin »

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 5275
  • Languages: EN, NO
Re: Representation of Contracts in game
« Reply #1 on: January 03, 2018, 07:06:10 AM »
Or we could just use the terminology used in the game/documentation, "supplier" and "consumer", when helping players, which I find more easily understandable than "contract".

And "contracts" aren't really dormant. With JIT1 at least, there will be goods in the suppliers output storage produced for that "contract". (Technically, I don't think the game has decided on recipient yet, but the player doesn't know that in-game.) It just hasn't been picked up by any vehicle. Labeling them as dormant may cause players to wonder if they need to wait for something to turn the contract active. I think it would be better to label unconnected factories as having "no route". You had to explain it as meaning that.

Now I just used "connect" in a different meaning than the tool "connect factory". The latter is indeed a poor name. What does it mean to connect factories? I think the most obvious answer is to build a road, railway or canal between them. But I am not sure "make contract" is more understandable. As a player, using "make contract" on a factory means signing an, possibly exclusive, contract for me to ship cargo between them. Which could be an interesting game play element, although I think it requires a more complex economic model, but I digress.

I think a list of "contracts" would soon become insanely long and hard to work with. Some industries are linked to up to twenty others, possibly on either side. Simply starting at a consumer or supplier you find promising for whatever reason, via either the factory listing or otherwise, and going via the regular factory information windows seems far easier. A chain listing that showed complete chains including distance between factories and which could be sorted by total distance could be useful in my eyes, especially in a newly started game.

Offline Leartin

  • Devotee
  • *
  • Posts: 1043
  • PAK-DEV P192C
  • Languages: DE, EN
Re: Representation of Contracts in game
« Reply #2 on: January 03, 2018, 02:45:29 PM »
Or we could just use the terminology used in the game/documentation, "supplier" and "consumer", when helping players, which I find more easily understandable than "contract".

I did not suggest to get rid of those terms, but they don't exactly help. Of course you need a coal supplier for a coal power plant, but why can't that other coal mine supply the coal? It's either because that's how the game works - true, but unimmersive - or because factories can choose who they want to buy from and form contracts with each other. There is a reason why that explaination is always used, because it makes sense - even to those coming from OTTD and expecting differently.
So it's not about replacing "supplier" and "consumer" with "contractor", but defining both supplier and consumer as contractor due to a contract.

Yes, if we only replace the words "connect factories" with "make contract", that wouldn't be understandable either, because the player would not know what a contract is. That's why I would like contracts to be a bit more prominent - if they are an actual game element, it's easier to understand. If you can see various contracts, all of which are between two factories, it should become appearent what a contract is, and the confusion of "I make a contract with the factory" shouldn't arise (especially since you can only make contracts as the public player). Additionally, you might use the "connect factory" tool as it is and have no idea what it does. In most cases, it does nothing, either because the player clicked on two factories that can't have a contract or because he clicked on two that already have a contract.
By opening a contract window as soon as the contract-tool is chosen, it should be pretty appearent what it does - it makes it so X agrees to provide Y to Z, as written in the contract.


And "contracts" aren't really dormant. With JIT1 at least, there will be goods in the suppliers output storage produced for that "contract". (Technically, I don't think the game has decided on recipient yet, but the player doesn't know that in-game.) It just hasn't been picked up by any vehicle. Labeling them as dormant may cause players to wonder if they need to wait for something to turn the contract active. I think it would be better to label unconnected factories as having "no route". You had to explain it as meaning that.
Perhaps "dormant" is the wrong word, but it would be subject to translation anyway. "No route" seems clearer, until you realize that you can get rid of "no route" by having a vehicle with "no route" 'connecting' the factories... on the other hand, pax say they have no route if there is no connection at all, so perhaps that is in need of clarification anyway?
Currently, in the list of contractors (suppliers and consumers) you get the goods-icon if they deliver. But this is not exactly the same as the existence of a route, I think it only shows up once a delivery happened and then will stay for a while. Maybe have three states for each contract?


I think a list of "contracts" would soon become insanely long and hard to work with. Some industries are linked to up to twenty others, possibly on either side. Simply starting at a consumer or supplier you find promising for whatever reason, via either the factory listing or otherwise, and going via the regular factory information windows seems far easier. A chain listing that showed complete chains including distance between factories and which could be sorted by total distance could be useful in my eyes, especially in a newly started game.
Perhaps it becomes long, but will it be longer than the vehicle lists?
Admittedly, the list of contracts by itself does not do much, but it could be a starting point for new extension. Eg. you could mark contracts you want to fulfill. Without any effect other than a little box in your player-color somewhere, it could help "claim" a contract in a friendly multiplayer game, and keep an overview over intentional routes in singleplayer, making it easier to spot accidental cross-connections (Filter for active contracts without your player color - all results you either forgot to mark or are unintentional). Similarly, since there already is an indication that a route exists, it could also show the value of that route (how many hops and stops), the manhatten distance between the contractors,... "simple" stuff that's just about displaying information, no actual changes in gameplay.

Offline wlindley

  • Devotee
  • *
  • Posts: 938
    • Hacking for fun and profit since 1977
  • Languages: EN, DE
Re: Representation of Contracts in game
« Reply #3 on: January 03, 2018, 03:42:04 PM »
One would expect farms, mines, and factories to occasionally re-negotiate contracts as well. For example, a factory which has not received, or has not shipped, any goods in a year would attempt to find better (new) suppliers or customers. A public-player button exposing such mechanism would also be convenient, especially when building worlds and supplier chains from scratch.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 5275
  • Languages: EN, NO
Re: Representation of Contracts in game
« Reply #4 on: January 03, 2018, 04:22:58 PM »
One would expect farms, mines, and factories to occasionally re-negotiate contracts as well. For example, a factory which has not received, or has not shipped, any goods in a year would attempt to find better (new) suppliers or customers. A public-player button exposing such mechanism would also be convenient, especially when building worlds and supplier chains from scratch.

I think this may be part of the reason why I don't like using the word "contract". It seems to imply a much more complex economic model than is the case. A more complex economic model like this might be fun, but requires a lot of work, and some players would not like it at all.

Offline Leartin

  • Devotee
  • *
  • Posts: 1043
  • PAK-DEV P192C
  • Languages: DE, EN
Re: Representation of Contracts in game
« Reply #5 on: January 04, 2018, 10:33:28 AM »
I think this may be part of the reason why I don't like using the word "contract". It seems to imply a much more complex economic model than is the case. A more complex economic model like this might be fun, but requires a lot of work, and some players would not like it at all.
Ah, I see. I can agree that having those contracts around might make players ask what you can do with them, and wish that they were more complex. I'm not sure if that is a bad thing, though.

And thinking about it: "One might expect farms, mines and factories to occasionally re-negotiate contracts." Is just a more specific case of "One might expect things to change over time." - Players who expect change over time will already be way more disappointed that factories never disappear, such that technology not even in use now will still exist in a few hundred years according to the game. I often thought of doing charcoal piles, just because I think they would look good, but I don't want them to be around in 2018.
Interestingly, those two are more connected than you first might think - if you want factories to disappear, you would need all their contractors to re-negotiate contracts with other factories, since otherwise an end consumer might not get their product anymore. The way I see it, even if contracts would exist in the game, people would still rather have factories to change, not contracts. And those who want could do it much more easily, since the public player could cancel contracty, making it much less of a hassle to re-negotiate contracts as public player instead of letting the computer do it.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 5275
  • Languages: EN, NO
Re: Representation of Contracts in game
« Reply #6 on: January 04, 2018, 05:12:16 PM »
Another thing that came to mind is that I got the impression that in Japan, it is usual for consumers to not only buy from suppliers, but for consumers and suppliers to actually own each other. So it is not so much a contract between them that makes them exclusive customers, as they are the same company (sort of). Keiretsu seems to be the word. Maybe the Japanese community likes to see it this way rather than the contract-mindset more common here.

Offline Leartin

  • Devotee
  • *
  • Posts: 1043
  • PAK-DEV P192C
  • Languages: DE, EN
Re: Representation of Contracts in game
« Reply #7 on: January 04, 2018, 06:02:42 PM »
It's not that uncommon in Europe either. In Austria, our railways consist of a company that owns the rails, a company that transports goods and a company that transports pax, which owns subcompanies eg. for bus transport, all of which are combined in one large holding. Still, since they are legally different companies, they require contracts with each other. Pretty sure the same is true for the Keiretsu, as even though they own each other, they are legally different entities. So that aspect might be interesting to explore in some way or another, but wouldn't change anything about how contracts work.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 5275
  • Languages: EN, NO
Re: Representation of Contracts in game
« Reply #8 on: January 05, 2018, 07:02:36 AM »
Pretty sure the same is true for the Keiretsu, as even though they own each other, they are legally different entities.

I am not so sure either way. Contracts might be seen as pointless, as them trading with someone else could be seen as unthinkable. Someone with more familiarity with the concept will have to explain. Or how they see the relationship between factories in Simutrans at all.

Offline DrSuperGood

  • Dev Team
  • Devotee
  • *
  • Posts: 2457
  • Languages: EN
Re: Representation of Contracts in game
« Reply #9 on: January 05, 2018, 07:27:41 AM »
At some stage I really want to see a better economics manager which would manage "contract negotiations". In order to keep product costs down it might cancel contracts with far away suppliers to prevent players from using them. Like wise if all nearby suppliers are fully utilized, an under supplied factory or consumer might look to making new contracts further away to help meet demand.

This would require some sort of AI to manage.