Infrastructure sharing as part of the standard download of OpenTTD

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

Post Reply
JimTolman
Engineer
Engineer
Posts: 4
Joined: 06 Mar 2022 12:52

Infrastructure sharing as part of the standard download of OpenTTD

Post by JimTolman »

I play OpenTTD together with friends and our most requested feature is to be able share the railroad tracks (potentially on the basis of contract to be set up between companies). When will this feature come into the main download? :D
User avatar
jfs
Tycoon
Tycoon
Posts: 1743
Joined: 08 Jan 2003 23:09
Location: Denmark

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by jfs »

I don't remember anyone saying they want to put in the work to backport/re-implement it.
User avatar
JacobD88
Chief Executive
Chief Executive
Posts: 708
Joined: 16 Aug 2008 17:51
Location: Long Eaton, Nottinghamshire. UK
Contact:

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by JacobD88 »

IIRC, there has always been balance/abuse concerns too

Until solutions to these are found, and someone is willing to put the time in for a clean Pull Request, it's unlikely things like IS will appear in trunk and remain consigned to the patch packs with the "just don't play with people you can't trust" caveat

Cool ideas are one thing, getting them to work without wholly shifting the dynamics and balance of play are another thing entirely
User avatar
JGR
Tycoon
Tycoon
Posts: 2557
Joined: 08 Aug 2005 13:46
Location: Ipswich

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by JGR »

JacobD88 wrote: 09 Mar 2022 14:37 IIRC, there has always been balance/abuse concerns too

Until solutions to these are found, and someone is willing to put the time in for a clean Pull Request, it's unlikely things like IS will appear in trunk and remain consigned to the patch packs with the "just don't play with people you can't trust" caveat

Cool ideas are one thing, getting them to work without wholly shifting the dynamics and balance of play are another thing entirely
Infrastructure sharing as a concept makes no sense at all in environments where you cannot trust the other players.
It's not realistic to expect that that will be somehow resolved one day.
If you're running a public/free for all server like the reddit ones infrastructure sharing should not be enabled even if it were implemented in vanilla.
Ex TTDPatch Coder
Patch Pack, Github
JimTolman
Engineer
Engineer
Posts: 4
Joined: 06 Mar 2022 12:52

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by JimTolman »

I guess these concerns can be taken away if contracts between companies would exist. If I can create and dissolve a IS contract I think i'll be fine.
Eddi
Tycoon
Tycoon
Posts: 8254
Joined: 17 Jan 2007 00:14

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by Eddi »

"i think it'll be fine" is not usually a sign of a well-engineered feature.

a major unsolved problem of infrastructure sharing is transfer payments: if cargo takes partial trips over multiple companys, how will the payments be split between them? in the current (vanilla) implementation, all profits go to the company making the last mile. to my knowledge, nobody ever attempted to fix this.

two other concerns which may or may not have been considered in the current implementation:
  1. if trains got stuck (e.g. due to bad signalling), which player controls the "stop train" and "ignore signals" button? the train owner or the track owner, or both?
  2. if you want to end the sharing agreement, how do you get the other trains off of your network?
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by Wahazar »

ISP is working fine for JGRPP and is used in many multiplayer servers, without any huge problems.
Transfer issue indeed is not solved yet, but usually is ignored (both players get revenue in case of symmetrical cargodist, maybe except some border cases) and money income is usually ignored at the stage of the game when players capable to build and operate complex networks.
Start/stop is available for both parties. There is also option for ignore crashing of trains belonging to different players.
Usually ISP is used on password secured servers, but it may be used even for open servers (but restricted for trains only, railway lines can be easily secured because only head2head connection is possible).

Anyway, ISP make sense rather for servers with Day Length Patch (which also works perfectly on JGRPP servers), because such casual coop-game style is preferred for different game pace - weeks instead of hours.
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
User avatar
JacobD88
Chief Executive
Chief Executive
Posts: 708
Joined: 16 Aug 2008 17:51
Location: Long Eaton, Nottinghamshire. UK
Contact:

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by JacobD88 »

Eddi wrote: 11 Mar 2022 05:24 "i think it'll be fine" is not usually a sign of a well-engineered feature.
Agreed, it's a problem we encounter frequently at OpenApoc when trying to design solutions to cut, or partially neutered, mechanics in the game
Much of the time, we discover such things were reduced in scope, or cut entirely, simply because their implementation does not cover all the implications created by their design

Infrastructure Sharing in OpenTTD is no different as you have rightly given a couple of reasons for

I'm a great fan of it's JGRPP implementation, but it's not without issues and I stand by my OP to this thread that until someone wants to take the time to resolve those fundamental design problems, and submit a PR for review, we're not going to see a patch in trunk for a long time to come.

"Only play with people you trust" is not really a solution to a feature design problem especially as a portion of the playerbase just wants to play a game, not manage who they are playing against on top of that socially. And even if you do normally trust the other player, nothing is to stop them causing problems in an existing game - "don't play with them again" is not really an option if your existing game is ruined by a behaviour/conduct shift by your opponent. Many players may just not want to play OpenTTD again if the experience is toxic enough - that is not good for the community as a whole.

Any solution for the problems IS presents needs to at least be seen to accommodate measures against rogue users - otherwise it's not really a solution
User avatar
JGR
Tycoon
Tycoon
Posts: 2557
Joined: 08 Aug 2005 13:46
Location: Ipswich

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by JGR »

Eddi wrote: 11 Mar 2022 05:24 "i think it'll be fine" is not usually a sign of a well-engineered feature.

a major unsolved problem of infrastructure sharing is transfer payments: if cargo takes partial trips over multiple companys, how will the payments be split between them? in the current (vanilla) implementation, all profits go to the company making the last mile. to my knowledge, nobody ever attempted to fix this.

two other concerns which may or may not have been considered in the current implementation:
  1. if trains got stuck (e.g. due to bad signalling), which player controls the "stop train" and "ignore signals" button? the train owner or the track owner, or both?
  2. if you want to end the sharing agreement, how do you get the other trains off of your network?
The transfer payments issue is (partly) resolved in my branch.
The company and vehicle class (i.e. the correct income line in the finances window) of transfer payments made en-route is recorded. When the cargo reaches its final destination and actual money is generated it is distributed to the various companies and vehicle types according to the recorded transfer payments. This requires additional book-keeping but is perfectly tractable as only the company and vehicle class needs to be recorded, not the identity of individual vehicles, and in most cases the number of book-keeping entries for any individual cargo packet is small (typically 0 or 1).

Most of the money problems arise from poorly performing cargodist networks. In particular when cargo is lost due to truncation or otherwise never reaches its destination then other companies which have received virtual transfer payments will not get paid. To do otherwise creates obvious exploits (the original infrastructure sharing patches as posted in the forums have this issue).
This is most problematic when a poorly performing network is connected to a well performing one.

When a train is on another company's rail infrastructure, both the vehicle and railway owners have Ignore signal and start/stop permission.

In the current implementation, disabling infrastructure sharing is not allowed when a vehicle is present which would not be allowed to be there when infrastructure sharing is disabled. You must remove all such trains first.
JacobD88 wrote: 11 Mar 2022 14:05 "Only play with people you trust" is not really a solution to a feature design problem especially as a portion of the playerbase just wants to play a game, not manage who they are playing against on top of that socially. And even if you do normally trust the other player, nothing is to stop them causing problems in an existing game - "don't play with them again" is not really an option if your existing game is ruined by a behaviour/conduct shift by your opponent. Many players may just not want to play OpenTTD again if the experience is toxic enough - that is not good for the community as a whole.

Any solution for the problems IS presents needs to at least be seen to accommodate measures against rogue users - otherwise it's not really a solution
Fundamentally, at some point you must have actual human operators who can observe behaviour and correct it or issues bans as necessary.
There's no technical measures which can prevent people from being actively malicious or disruptive given the type of game this is, and social barriers are surprisingly effective at reducing many kinds of bad behaviour.
The reddit servers as the most prominent free for all servers were full of issues such as griefing, swastikas/tasteless constructions, unpleasant behaviour in chat, etc.
I and probably many other players would not touch those types of servers with a bargepole.
It's perfectly reasonable to design optional features which are intended to be used in moderated and sensible environments.
Ex TTDPatch Coder
Patch Pack, Github
JimTolman
Engineer
Engineer
Posts: 4
Joined: 06 Mar 2022 12:52

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by JimTolman »

Eddi wrote: 11 Mar 2022 05:24 "i think it'll be fine" is not usually a sign of a well-engineered feature.
I want to play with friends in a Co-op scenario and I have to build crazy bridges and tunnels because the tracks of different companies can not allowed to even be on the same tile.
To make OpenTTD truly Co-op IS has to be implemented. We want to make realistic scenarios and in the real world different companies can use the same tracks.

Here on Steam https://store.steampowered.com/app/1536610/OpenTTD/ OpenTTD is portrayed as a game that can be played Co-op, but you are only discussion PvP servers in this thread. I don't think think that is just.
User avatar
PikkaBird
Graphics Moderator
Graphics Moderator
Posts: 5601
Joined: 13 Sep 2004 13:21
Location: The Moon

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by PikkaBird »

JimTolman wrote: 02 Apr 2022 10:02 To make OpenTTD truly Co-op
If you want to play "truly" co-op, just play as the same company.
JimTolman
Engineer
Engineer
Posts: 4
Joined: 06 Mar 2022 12:52

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by JimTolman »

PikkaBird wrote: 02 Apr 2022 15:00
JimTolman wrote: 02 Apr 2022 10:02 To make OpenTTD truly Co-op
If you want to play "truly" co-op, just play as the same company.
Nah, unrealistic
User avatar
Geo Ghost
Moderator
Moderator
Posts: 6550
Joined: 25 Oct 2004 10:06
Location: Hertfordshire
Contact:

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by Geo Ghost »

JimTolman wrote: 06 Apr 2022 18:18
PikkaBird wrote: 02 Apr 2022 15:00
If you want to play "truly" co-op, just play as the same company.
Nah, unrealistic
I mean, if you're going for true realism, TTD isn't exactly the stand-out I'd choose :mrgreen:
You'll never have a truly realistic game no matter what you do. It is what you make of it really.
Auge
Director
Director
Posts: 632
Joined: 23 Oct 2006 02:07
Location: Berlin

Re: Infrastructure sharing as part of the standard download of OpenTTD

Post by Auge »

Hello
JimTolman wrote: 02 Apr 2022 10:02
Eddi wrote: 11 Mar 2022 05:24 "i think it'll be fine" is not usually a sign of a well-engineered feature.
I want to play with friends in a Co-op scenario and I have to build crazy bridges and tunnels because the tracks of different companies can not allowed to even be on the same tile.
To make OpenTTD truly Co-op IS has to be implemented. We want to make realistic scenarios and in the real world different companies can use the same tracks.
If you want to play with Infrastructure Sharing (IS), play JGRPP instead of vanilla OpenTTD. JGRPP includes the IS-patch as stated by JRG a few postings before. Like with OpenTTD all your players have to use the same version of JGRPP. And to be nitpicking: even IS does not allow rail tracks of different companies on the same tile. If a company A wants to connect to a network of another company B, company B has to provide a connection to a neighbouring tile [1].

The example implementation (JGR patched several issues of the original IS-patch in his patch pack [2]) does not eliminate the shortcomings and pitfalls of the current implementation of IS that prevents the inclusion in vanilla OpenTTD.
JimTolman wrote: 02 Apr 2022 10:02 on Steam https://store.steampowered.com/app/1536610/OpenTTD/ OpenTTD is portrayed as a game that can be played Co-op, but you are only discussion PvP servers in this thread. I don't think think that is just.
Is the cooperative work of different players in the same company not also cooperative? There are different definitions for "cooperative". This isn't yours, but it's valid.

Tschö, Auge

[1]: that was the situation when I was playing IS the last time
[2]: to many "patch(es)" :-)
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: No registered users and 8 guests