The International Simutrans Forum

Development => Patches & Projects => Incorporated Patches and Solved Bug Reports => Topic started by: Spike on August 15, 2008, 03:22:30 PM

Title: String too long: "replicate backwards"
Post by: Spike on August 15, 2008, 03:22:30 PM
In the schedule window there is a string "return ticket" that was translated to "replicate backwards" in the en.tab

Yet "replicate backwards" is too long for the space. I'm looking for something shorter, that still keeps the meaning.
Title: Re: String too long: "replicate backwards"
Post by: Frank on August 15, 2008, 03:27:57 PM
return route ?
Title: Re: String too long: "replicate backwards"
Post by: Lmallet on August 15, 2008, 03:47:53 PM
How about simply "return"?
Title: Re: String too long: "replicate backwards"
Post by: prissi on August 15, 2008, 04:08:42 PM
Personally, I detest this button. It is not a very good idea to run a vehicle forward and backward in Simutrans. It will decrease efficiency, and the middle stops will always be getting more crowded very easily, while the close to end stops are less crowded.

But I was overvoted before in my attempts to get rid of this button ...

Title: Re: String too long: "replicate backwards"
Post by: Spike on August 15, 2008, 04:29:30 PM
I'd favour a less cluttered schedule window (aka "I don't need the button, feel free to recycle the space for something better.")

How do we handle text changes until the translator is online again?

Title: Re: String too long: "replicate backwards"
Post by: prissi on August 15, 2008, 07:35:26 PM
It seems, one still can change texts, but one cannot really download language paks nor upload new objects. Statistics will also not work.
Title: Re: String too long: "replicate backwards"
Post by: Colin on August 15, 2008, 11:02:18 PM
I'm in agreement with Hajo. Get rid of the button.
Title: Re: String too long: "replicate backwards"
Post by: Combuijs on August 15, 2008, 11:14:09 PM
And I use that button quite often. It's really useful.  :-* It's not really a disaster if it would disappear of course.

As for the name, perhaps "return journey"?
Title: Re: String too long: "replicate backwards"
Post by: isidoro on August 16, 2008, 04:16:13 AM
I would lie if I said that I don't use that button nearly always.  :-[  I didn't know it was that bad.  The alternative to a back-and-forth line I guess it is a circular line, but with these I usually have to build two, one clockwise and one counterclockwise.  Otherwise, the bigger stations "cast their shade" (i.e. the vehicles are always full after them) over the smaller ones.

And I always miss a feature in situations like having A-B-C-D-C-B-A and wanting to insert something between B and C and having to do it twice and, in the second place, backwards.

P.S.: I'm not a native English speaker.  I don't know a replacement for the sentence.  Sorry.
Title: Re: String too long: "replicate backwards"
Post by: V813 on August 16, 2008, 07:11:31 AM
That button is frequently used by me. They may not be useful in creating railway lines, but extremely useful in non-circular bus lines. Even in circular lines, it provides a quick way to create an anti-clockwise line from a clockwise line.

How about "copy backwards" for the replacement?
Title: Re: String too long: "replicate backwards"
Post by: wipi35 on August 16, 2008, 07:17:31 AM
Quote from: V813 on August 16, 2008, 07:11:31 AM
Even in circular lines, it provides a quick way to create an anti-clockwise line from a clockwise line.
That's exactly the way I frequently use this feature!

Quote from: V813 on August 16, 2008, 07:11:31 AM
How about "copy backwards" for the replacement?

Good idea!!!
Title: Re: String too long: "replicate backwards"
Post by: whoami on August 16, 2008, 08:50:48 AM
I use the button very often, especially for bus lines. It's the way most lines are set up in reality, and it's also useful in the game, because you often need symmetric connections.
Title: Re: String too long: "replicate backwards"
Post by: prissi on August 16, 2008, 11:24:30 AM
This button is useless for bus lines in terms on income and capacity. Let me give an example:

Situation:
Station--Bus at city hall--Bus--Bus--Bus at Stadium
Many people get in and out at the statium and the city hall.

Remember: First are the passengers to netxt stop in schedule loaded and so on.

Line 1: Station->Stadium->Bus->Bus->city hall
People will be loaded for Station and city hall. Since the same number of passengers travel to and from the stadium, the load of the bus will remain same (more or less). The same is true for all other stops.

Line 2: Station->city hall->bus->bus->Stadium->bus->bus->city hall
This line takes at least 12s longer per roundtrip (due to more stops) => less capacity
First stop is city hall. Bus gets to city hall, and continues nearly empty (less income) until it goes to the stadium. It fills and gradually travels back (but the average number of poeple will be less => less capacity).

To conclude: The "return ticket" will reduce capacity and increase running costs, especially with bus lines.

Creation of a second line with the same busses runnig the stops in inverse direction is much much better.
Title: Re: String too long: "replicate backwards"
Post by: wipi35 on August 16, 2008, 01:22:50 PM
Quote from: prissi on August 16, 2008, 11:24:30 AM
Creation of a second line with the same busses runnig the stops in inverse direction is much much better.

Agreed! And using this button for making a new, reversed schedule is very easy.
Title: Re: String too long: "replicate backwards"
Post by: prissi on August 16, 2008, 07:36:42 PM
But then, just reversing schedule function would make more sense, wouldn't it?
Title: Re: String too long: "replicate backwards"
Post by: wipi35 on August 16, 2008, 08:46:29 PM
OK, no objections.
Title: Re: String too long: "replicate backwards"
Post by: IgorEliezer on August 16, 2008, 11:02:20 PM
I'm back ;D

Firstly: I use and love "Replicate backward"
Secondly: I support "Copy backward"
Title: Re: String too long: "replicate backwards"
Post by: Colin on August 17, 2008, 12:29:48 AM
Quote from: prissi on August 16, 2008, 07:36:42 PM
But then, just reversing schedule function would make more sense, wouldn't it?

This is the ideal way to go.

OK you can use 'replicate backwards' to create a reverse transit, but it's slow and messy. Being able to just reverse the 'line' would be much better. When looking at a rail system with say 25 stations, its quite a feat sometimes to traverse the whole system re-entering the stations in reverse.
Of course someone is going to think, "Ah yes, but if you just use reverse, a train going West will try to access a station already occupied by a train going East. OK lets nip that thought in the bud right away. That's what 'Choose Signals' are for.
Title: Re: String too long: "replicate backwards"
Post by: isidoro on August 17, 2008, 02:41:09 AM
I must confess that I don't get quite the idea of Prissi's example or if that is a particular case or general, but surely it is my limitation.

My point now is simpler.  Let's suppose that the "replicate backwards" feature leads to bad design almost always.  Should it be deleted?  Or should it be left there so that a novice player can experiment, check that it leads to bad design and learn from his errors?

Title: Re: String too long: "replicate backwards"
Post by: Bernd Gabriel on August 21, 2008, 06:58:49 PM
How about a button "create new reverse line", which creates the line with the same name + " (2)" or opens it schedule window?
Often I'm missing the ability to create a new line from an existing one.
I always have to pick a convoy of that line and when I want to edit the new line, I accidently edit the convoys schedule :(.

Ok, in case of opening the schedule window for the new line, 2 buttons "clone" and "reverse" would be the most universal way and will fit into the "replicate backwards" area.
Title: Re: String too long: "replicate backwards"
Post by: IgorEliezer on August 23, 2008, 04:20:02 PM
I could suggest:

- "copy reversed" button copies and paste a schedule in reverted way, like "replicate backwards" works. Obviously, "copy reversed" is just a new name for "replicate backwards", but shorter.

- "reverse line" button reverses an existing line.
Title: Re: String too long: "replicate backwards"
Post by: Combuijs on August 26, 2008, 09:00:53 AM
QuoteThis button is useless for bus lines in terms on income and capacity.

QuoteI must confess that I don't get quite the idea of Prissi's example or if that is a particular case or general, but surely it is my limitation.

Say we have 3 stops, A, B and C. Let's assume they are in one straight line, say distance A to B is d and B to C is also d (thus A to C is 2d). Let's also assume that n people are travelling from each stop to each other stop (so n from A to B, n from A to C, n from B to A, n from B to C, n from C to A and n from C to B).

The "replicate backwards" schedule is A - B - C - B - A:

Expected income is: distance travelled * number of people:

A-B: n*d
A-C: 2*n*d
B-A: n*d
B-C: n*d
C-A: 2*n*d
C-B: n*d

In total: 8*n*d

Maximum capacity needed is 2*n (for example from B to C only the A-C and B-C travellers)


The "Prissi/circle" schedule is A - B - C - A:

Expected income is: distance travelled * number of people:

A-B: n*d
A-C: 2*n*d
B-A: 3*n*d (B-C is d, C-A is 2*d)
B-C: n*d
C-A: 2*n*d
C-B: 3*n*d

In total: 12*n*d

Maximum capacity needed is 3*n (for example from B to C only the A-C, B-C and B-A travellers).


In short: the "replicate backwards" schedule earns 67% of the "circle/Prissi" schedule, but needs only 67% of its capacity.

Financially, the "circle/Prissi" schedule is better, but if you're not looking for income (freeplay!) and if you're having capacity problems the "replicate backwards" schedule is a good option.

(Anyone still there?  ;D).

Title: Re: String too long: "replicate backwards"
Post by: prissi on August 26, 2008, 10:17:41 AM
Well, you left out time in your calculation. THis must be added too:

A-B-C-B-A four stops, travel time one day between. c is served every four days. Maximum number of travelers from A & C=1/4*n, B=1/2*n => n/4 per day

A-B-C-A three stops, travel time same, all stops served every three days. Maximum number of travelers from A, B & C: 1/3*n => n/3 per day

To ensure all travelers are taken with you, you would need more capacity with four stops schedule ...
Title: Re: String too long: "replicate backwards"
Post by: Combuijs on August 26, 2008, 10:46:55 AM
QuoteA-B-C-A three stops, travel time same, all stops served every three days.

No, I assume that A, B and C are in a straight line. So route from C to A takes 2 days. Only difference (as you mentioned earlier) is the extra stop at B. This would influence the calculations if A, B and C are very near.

You are right if A, B and C form a kind of triangle. But then the distance from A to C is not 2d, which leads to another income calculation.


If travellers from and to B are very small compared to A and C then both models lead to the same income and capacity (apart from the extra stopping time). But then there is of course hardly a reason to build a stop in B...

If on the other hand B has a lot of travellers coming and going and A and C relatively small, then the "circle/Prissi" schedule is twice as good as the "replicate backwards" schedule while needing the same capacity.

Title: Re: String too long: "replicate backwards"
Post by: isidoro on August 27, 2008, 06:32:39 AM
Now I get the idea.  Let's suppose a straight line A-B-C as in the example.  Let's consider that "replicate backwards" (RB) and Circular-Prissi (CP) take the same time (we are neglecting time needed to stop at B). In that time, this matrix shows the number of passengers that are going from one station to another:


ABC
A.nn
Bn.n
Cnn.
Then, if we consider both possibilities:

Some remarks:

Paying by distance traveled and not by distance between origin and destination seems unrealistic to me.  It makes sense to make an "S" shaped road between two stations since we are going to be paid for distance traveled.

An also is unrealistic that if I connect Paris-Berlin-Moscow by train, I force passengers from Berlin to Paris to travel to Moscow and back and, besides, I get paid more    :D

In real life lines are often of the RB type and, if we pay attention to Darwin, there have to be a reason for that.  :D
Title: Re: String too long: "replicate backwards"
Post by: whoami on August 27, 2008, 06:54:14 AM
Quote from: isidoro on August 27, 2008, 06:32:39 AM
Paying by distance traveled and not by distance between origin and destination seems unrealistic to me.  It makes sense to make an "S" shaped road between two stations since we are going to be paid for distance traveled.
It's actually not the distance travelled that you get paid for, but it's the sum of the distances between stops that are passed during the journey (a small difference). This kind of calculation is preferable in a game, because the vehicle's costs are calculated by distance travelled, and the close connection between the two allows the player to plan connections most easily.

The traditional fare calculation for busses and trains is based on distance travelled, but that has changed in many cases: local transport companies often calculate fares based on zones, and train companies may charge the most for the fastest connection, which may use the shortest route.

It would, however, make sense to reduce passenger generation if the routes are too time-consuming or awkward. Currently, only the number of vehicle changes is limited.
Title: Re: String too long: "replicate backwards"
Post by: prissi on August 27, 2008, 07:14:33 PM
Actually, the direct is almost never the ceapest route in real life. Going via Paris to Tokyo from Berlin cost 2/3 compared to going over Helsinki. However, 1h1/2 before touchdown in Paris I can directly look onto Berlin, since we are passing directly over it.

In real life line are almost never A-B-C-B-A, but there are two line A-B-C and C-B-A, to minimize the waiting time.

And the S shape road will not work, since only your cost are propotional to the distance travelled. The revenue is on the manhattan distance (i.e. a line).

And finally, you cannot neglect the time to stop at B. Braking, waiting 2s and reacceleration can easily take as long as the whole return leg.
Title: Re: String too long: "replicate backwards"
Post by: Combuijs on August 27, 2008, 09:44:21 PM
QuoteIn real life line are almost never A-B-C-B-A, but there are two line A-B-C and C-B-A, to minimize the waiting time.

Sorry to contradict you Prissi, but with a few exceptions all Dutch trainlines have the A-B-C-B-A connection, as have all the buslines in my town. And as far as I know German railways (Bundesbahn) does the same. There is no train connection A-B-C and then going back directly to A again (apart from some rare circular lines). Same for London Underground.

Don't get me wrong here. I'm happy with the Simutrans system and I don't want to have it changed. And I agree with your remark that the A-B-C has the best profits in Simutrans.

If someone wants to simulate real life in Simutrans one would have to pay the passengers for the distance between the start and end of the total journey. And one would like to see more passengers travelling locally than travelling long distances. But I know there are very valid (performance and memory) reasons for not doing so and I can accept that wholeheartedly.
Title: Re: String too long: "replicate backwards"
Post by: isidoro on August 28, 2008, 04:50:13 AM
Quote from: prissi on August 27, 2008, 07:14:33 PM
Actually, the direct is almost never the ceapest route in real life.
[...]
In real life line are almost never A-B-C-B-A, but there are two line A-B-C and C-B-A, to minimize the waiting time.
[...]
And finally, you cannot neglect the time to stop at B. Braking, waiting 2s and reacceleration can easily take as long as the whole return leg.

I think all depends on the kind of transportation.  There are a lot of examples of direct cheapest routes.  And air tickets prices are a mystery to me and perhaps not the best example...  ;D  Take the underground or bus lines of most cities.  Nearly all lines are bidirectional except one or two circular.  Braking time can or cannot be important depending on the length of the line.

But I agree with Combujis that to be realistic is not the main issue on a game.  Once the rules are clear in the game, you can play with that rules.

I guess now that in Simutrans things go like this:

This is easier to program and earns memory since once a person rides a vehicle the origin station information can be dropped and only keep the destination station information.

Therefore, if I have understood it well, if you want to quickly make a lot of money, there is a trick: build an "S" shaped road an place a station on every turn (far apart so that the station maintenance cost is not an issue), right?
Title: Re: String too long: "replicate backwards"
Post by: Colin on August 28, 2008, 11:19:18 AM
This seems a very strange and rather pointless arguement. In normal life only, what in the UK were know as 'Loop Lines', (short journeys to suburban stations) did a train travel A-B-C-D-C-B-A. All main lines have trains going in both directions. Train 1. A-B-C-D. and Train 2. D-C-B-A. When Train 1 reaches D it then becomes Train 2 and vica versa.

Better still build all main rail systems in one big loop, have multiple trains running in both directions. Using this method once your rail system is finished, you'll be a multi millionaire in about 3 months.

IMHO Changing the Replicate Backwards to Reverse Backwards, (or Reverse Line) makes much more sense.