The International Simutrans Forum

 

Author Topic: Inconsistencies with ownership  (Read 3057 times)

0 Members and 1 Guest are viewing this topic.

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4607
  • Languages: EN, DE, AT
Inconsistencies with ownership
« on: March 11, 2009, 09:22:58 AM »
There are some inconsistencies with respect to ownerships of ways, tunnels, bridges:

Bridges can be built if the beginning of the bridge is on an own way. The end can be
[a] a way or elevated way of a different player
{b} on a vertical slope, the bridge is then connected to the tile behind, even if the owner is a different player
[c] the way at the end of the bridge changes owners (at least the info window tells this)

Tunnel can be built
[d] regardless who is the owner of the ways on the tunnel ends
[e] these ways do not change owner (according to info window)
[f] however only the builder (owner of the real underground tiles) can delete the tunnel

Roads and Canals are similar in some sense, as cars and ships can use foreign ways.
[g] However, it is not possible build canals adjacent to canals of different players, but this is possible for roads.

Some of the items above can be used to created unwanted connections to different networks. Once such a connection exists, an evil player or AI can spoil the network of the competitor using this loophole:
[h] create an connection to the foreign network, set a train with way points on the foreign network. If the competitor accidentially builds a station on such a way point then train is scheduled for a foreign station.

My suggestion is to change the tunnel and bridge code such that a bridge or tunnel can be built if it begins and ends only on empty tiles or own or public-owned ways. Public owned ways change owner. If the bridge ends on a vertical cliff then the end tile on the cliff must also be checked (either empty or own or public owned).

Furthermore, I suggest to allow building channels like roads.

What do you think?

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 9586
  • Languages: De,EN,JP
Re: Inconsistencies with ownership
« Reply #1 on: March 11, 2009, 11:09:36 AM »
I think bridges tunnels and plain ways should behave the same. At least it was my intention:

The public player can always connect to any.

You can always connect to yourself, unowned (orange), and of course empty. Maybe one should also allow always to connect to public player (grey)?

Roads (and channels) can connect to any player, but you can only update/delete unowned roads and your own roads.

Some of those are not enforced correctly. Maybe we need a check_connection_ownership-routine ... to handle everything consistently.

Offline isidoro

  • Devotee
  • *
  • Posts: 1130
Re: Inconsistencies with ownership
« Reply #2 on: March 11, 2009, 01:57:45 PM »
I would add some:
  • Public player cannot connect to other player's railways
  • Public player cannot delete or take ownership of other's roads, though it can convert them in city streets
  • When electrifying tracks, only the first and last tile ownership is checked.  That way, you can take ownership of another player's track.  He will not be able to delete it afterwards.

Should public player be like a superuser?  Now, sometimes it is, sometimes not.

Offline Fabio

  • Devotee
  • Administrator
  • *
  • Posts: 2898
  • The Pak128 Guy
    • Visit me on Facebook
  • Languages: EN, IT, RO, FR
Re: Inconsistencies with ownership
« Reply #3 on: March 11, 2009, 02:12:22 PM »
IMHO

you should always connect to yours, unowned (changing the ownership to yours) and public (not changing the ownership). Roads and canals could connect to everything (not changing the ownership).

public should connect to everything (changing the ownership)

every player can remove their own and unowned

public should remove everything

every player can upgrade their own, unowned (changing the ownership) and public (NOT changing the ownership)

public can upgrade everything changing the ownership to public

Should public player be like a superuser?  Now, sometimes it is, sometimes not.
my approach is a bit different. public should definitely be a superplayer, mostly to connect different players.

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 9586
  • Languages: De,EN,JP
Re: Inconsistencies with ownership
« Reply #4 on: March 11, 2009, 03:10:15 PM »
Public should be superuser, at least this was/is the intended behaviour. Passwords are planned anyway, for multiplayer.

And upgrading public roads without taking onership is a very cheap way to built high speed roads without caring about maintenance. To me it is a little unfair for the public, since there are no taxes for doing so ...

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4607
  • Languages: EN, DE, AT
Re: Inconsistencies with ownership
« Reply #5 on: March 11, 2009, 03:37:01 PM »
Public should be superuser, at least this was/is the intended behaviour. Passwords are planned anyway, for multiplayer.

An intervention of the public player can be used to screw up a competitor or an AI but ofcourse also to help them if the AI player built something artificial stupid. I come to this topic from the AI point of view.

Offline Fabio

  • Devotee
  • Administrator
  • *
  • Posts: 2898
  • The Pak128 Guy
    • Visit me on Facebook
  • Languages: EN, IT, RO, FR
Re: Inconsistencies with ownership
« Reply #6 on: March 11, 2009, 10:18:02 PM »
And upgrading public roads without taking onership is a very cheap way to built high speed roads without caring about maintenance. To me it is a little unfair for the public, since there are no taxes for doing so ...
on the other hand you "give" money to the public player to upgrade it (you pay the upgrade): it's a kind of "project financing", :)

An intervention of the public player can be used to screw up a competitor or an AI but ofcourse also to help them if the AI player built something artificial stupid. I come to this topic from the AI point of view.
i agree. i don't think we should worry too much about cheating in this game, since 1) you can disable AI, why on earth should i play against AI and then cheating on it??? 2) there is the ultimate cheat: freeplay, ;)

I see the public player as
1) a facilitator: it can sponsor expensive projects otherwise uneconomical (building part of the infrastructure)
2) a mediator: it helps connecting networks on competing players, resulting in a positive sum game
3) a fixer: it can fix problem in other players' networks (specially AI)
4) a designer: it can change/improve the environment with new rivers/forests/cities/chains/etc...

bottom line, i think the public player should start with an amount of money ten times the default for normal players.
and an income system for the public player (taxes or else) could be thought, at least in experimental branch.