Backdriven trains and drop wagons feature

Got an idea for OpenTTD? Post it here!

Moderator: OpenTTD Developers

Post Reply

Do you want «drop wagons» feature?

Sure!
32
78%
Not now.
7
17%
I don't care.
2
5%
 
Total votes: 41

Quark
Transport Coordinator
Transport Coordinator
Posts: 325
Joined: 20 Sep 2006 11:36
Location: Russia, Moscow

Backdriven trains and drop wagons feature

Post by Quark »

Please, sorry me if my engilsh isn't perfect (·¸·)

How about to modify all wagons to locos (like powered wagons), which will get some % stats from main engines and share train orders list. So we will be finally able to make train drive back when it encounter red signal :)

Combined with option to completely disable train reverse it will add new ways of playing game :)

The first unit (loco) in train can get their stats dynamically based on how many engines train have and in which direction they come.

Also it will be wonderful if loco will have ability to drop and pickup wagons. It can be implemented as «go to depot and wait when station will have dropped wagons with required cargo available» order.
After station will have that wagons loco will go from depot backdriven and pickup wagons on station, then it will move forward (in opposite direction) as usual train.
Collisions with wagons on station will be replaced to join operation and signals shouldn't turn red if dropped wagons is behind them.

Also depots should have names, so we can clearly say like «go to southern depot».

P.S. i don't check if it's already suggested, so if it is, please don't blame me and link to original topic :)

Example orders list:
1. Go to Smallville Southern Depot.
2. Wait when platform on Smallville Station with [equal/at least/not more] [X] wagons of [CARGO] will be available (and not reserved by another train).
3. Goto Smallville Station, pickup wagons and wait for Full load of any cargo.

Another example:
1. Go to Smallville Station and full unload.
2. Drop [All/X] [CARGO] wagons on station.
3. Go to Smallville Southern Depot.


Screenshots:
  • Dropping wagons at station
    Image
  • Driving backwards and picking wagons
    Image
  • Picked up, now we a one train :)
    Image
  • Departing
    Image
Last edited by Quark on 03 Jan 2007 08:03, edited 1 time in total.
Image
l_Blue_l
Transport Coordinator
Transport Coordinator
Posts: 285
Joined: 29 Mar 2006 22:42
Contact:

Post by l_Blue_l »

i don't know how "modify all wagons to locos (like powered wagons), which will get some % stats from main engines" will make it any easier to reverse a train.

And to the idea of drop and pickup wagons that would be extremely difficult to code adding very little to the game itself.

I do believe there should be some mixed wagon types which are able to accept multiple types of goods like iron ore and coal or Goods and Steel.
Quark
Transport Coordinator
Transport Coordinator
Posts: 325
Joined: 20 Sep 2006 11:36
Location: Russia, Moscow

Post by Quark »

When you reverse order of train and reverse it direction you get engine at end and train lost all it orders and ability to move, so if all wagons will be engines and share orders list then it will be possible to use wagon as engine — train will operate as usual, but look as engine push train back.
Image
l_Blue_l
Transport Coordinator
Transport Coordinator
Posts: 285
Joined: 29 Mar 2006 22:42
Contact:

Post by l_Blue_l »

I now understand what you are trying to say. Doing it by your idea i think the best way would be once the train needs to reverse you set the last wagon as the front engine and set the engines as wagons.
Quark
Transport Coordinator
Transport Coordinator
Posts: 325
Joined: 20 Sep 2006 11:36
Location: Russia, Moscow

Post by Quark »

yes, something like that
Image
Quark
Transport Coordinator
Transport Coordinator
Posts: 325
Joined: 20 Sep 2006 11:36
Location: Russia, Moscow

Post by Quark »

screenshots added to first post
SM9T8
Traffic Manager
Traffic Manager
Posts: 169
Joined: 23 Oct 2006 21:25
Location: Either the Shire or Brizzle.

Post by SM9T8 »

You'd give engines a proper list of duties!

I like this idea, it would reveloutionanise the way we play the game but the amount of work involved to implement all of this would be too much for an idea which won't be that popular - it will mean lots of people who were happy with the present system would have to change the way they play, or would just grumble about people's time being wasted on something that they don't use.
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Post by MagicBuzz »

i tried to work on a similar patch. not as much realistic, but i tried to force the train to not swap wagons when going backward.

both functions are similar, as it needs the ability to change wagons order.

good luck, i didn't succeed.
Quark
Transport Coordinator
Transport Coordinator
Posts: 325
Joined: 20 Sep 2006 11:36
Location: Russia, Moscow

Post by Quark »

I think amount of work is far less that is required for proper AI or was invested in YAPF.

This feature can be implemented as pacth, so people that was happy with the present system can just turn option off. Or better it can reside in Difficulty level menu as third option to «Train reversing». So you always will be allow to drop wagons, but just don't require it for network operation.
Image
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Post by MagicBuzz »

i'm not sure it's so easy.

in fact, the big deal with this feature is that trainset management is completely exploded in many files, unlike PF.

the first step for this work is to change the whole trainset system, then modularize it, before thinking about changing it.

i agree the work is far less then the YAPF or other AI features, but it remains a big deal and isn't easy to distribute as a patch, because impact on source isn't limited to some function calls.

that's why i gave up with my patch.
but i have also to say i don't have any experience with C language.
Last edited by MagicBuzz on 03 Jan 2007 15:56, edited 1 time in total.
gigajum
Route Supervisor
Route Supervisor
Posts: 511
Joined: 08 Mar 2006 08:33
Location: Germany

Post by gigajum »

If you reverse a train from pull to push you need a control car in front of a passager train. Freight trains always have the loco in front of the train.

That should solve the problem with the leading waggon:
- The first waggon of a passager train can be a control car, which fetches informations about the loco at the back of the train and becomes itself a loco (at least for the game). (I don't know how the game works with multiple locos if there are waggons between them)
- Freight trains have always a Loco at first so they can't drive "backwards". Ok they can but only to shunt and not to drive long distances.

So there is never a "waggon" in front of a train, or am i wrong?

So the "ability to drop and pickup wagons" feature is only needed for fright trains and passanger waggons without a control car. And that leads me to the following problem:

Image

What should a train do in that situation? Wait for another loco to fetch the waggons?



Only for notice: The game decides between this subtype states of a train

Code: Select all

typedef enum TrainSubtypes {
	Train_Front             = 0, // Leading engine of a train
	Train_Articulated_Part  = 1, // Articulated part of an engine
	Train_Wagon             = 2, // Wagon
	Train_Engine            = 3, // Engine, that can be front engines, but might be placed behind another engine
	Train_Free_Wagon        = 4, // First in a wagon chain (in depot)
	Train_Multiheaded       = 5, // Engine is a multiheaded
} TrainSubtype;
(i'm not quite sure if there are not other things to consider to get a train engine)
Attachments
Grentfingford Transport, 18th May 1950.png
Grentfingford Transport, 18th May 1950.png (18.36 KiB) Viewed 6500 times
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Post by MagicBuzz »

I think the case with no "heading" wagon should be OK also.
Especially for steam engines, remote control wasn't existing.
So the train had to push bask at low speed until it reached a end line, then was able to move forward again.

I think trains should be able to push back at 10 or 20 km/h max.

Image

That's what I tried to work on last week. But train chain must be completely reworked for this. (currently, the engine must be the heading wagon, or it doesn't work at all)

PS : And sometimes, even with a heading wagon and low speed, the train gets stuck and meets a wall :D So I think reliability should be decreased during pushback.
Image
Here is a destroyed TGV engine after a wall collision (28 km/h).
Arround 4,000,000 € destroyed :/ (but no injuries)
This happened arround 2 month ago in France during a maneuver at Dijon station.
User avatar
Wolf01
Tycoon
Tycoon
Posts: 2016
Joined: 24 Apr 2004 10:43
Location: Venezia - Italia
Contact:

Post by Wolf01 »

l_Blue_l wrote:i don't know how "modify all wagons to locos (like powered wagons), which will get some % stats from main engines" will make it any easier to reverse a train.
engines are refittable? some yes, so use engines with the graphics of locos
only the stats of the first engine are shown in the train stats
when reversing a train, just re-sort all the stats (train=abcd, a<->d, b<->c), but don't reverse the graphics
gigajum
Route Supervisor
Route Supervisor
Posts: 511
Joined: 08 Mar 2006 08:33
Location: Germany

Post by gigajum »

Wolf01 wrote:
l_Blue_l wrote:i don't know how "modify all wagons to locos (like powered wagons), which will get some % stats from main engines" will make it any easier to reverse a train.
engines are refittable? some yes, so use engines with the graphics of locos
only the stats of the first engine are shown in the train stats
when reversing a train, just re-sort all the stats (train=abcd, a<->d, b<->c), but don't reverse the graphics
That would end in an chaos, imo, if you mix the graphics from a loco with data from a waggon and the other way. You should not touch the waggon itself, only the two pointers "first" and "next" should be enough. Nothing other is done in a depot, so that should work outside a depot, too.
Quark
Transport Coordinator
Transport Coordinator
Posts: 325
Joined: 20 Sep 2006 11:36
Location: Russia, Moscow

Post by Quark »

gigajum wrote:- Freight trains have always a Loco at first so they can't drive "backwards". Ok they can but only to shunt and not to drive long distances.

So there is never a "waggon" in front of a train, or am i wrong?
Yes, for the game there is no «wagons», but only «locos» instead, so we can split train as it is done in depot.

Backdriven trains isn't intended to drive long distances, it's for returning back from signal or from station to depot, then drive as usual. (Trains always able to reverse in depot.)
Image
Quark
Transport Coordinator
Transport Coordinator
Posts: 325
Joined: 20 Sep 2006 11:36
Location: Russia, Moscow

Post by Quark »

gigajum wrote:
Wolf01 wrote:
l_Blue_l wrote:i don't know how "modify all wagons to locos (like powered wagons), which will get some % stats from main engines" will make it any easier to reverse a train.
engines are refittable? some yes, so use engines with the graphics of locos
only the stats of the first engine are shown in the train stats
when reversing a train, just re-sort all the stats (train=abcd, a<->d, b<->c), but don't reverse the graphics
That would end in an chaos, imo, if you mix the graphics from a loco with data from a waggon and the other way. You should not touch the waggon itself, only the two pointers "first" and "next" should be enough. Nothing other is done in a depot, so that should work outside a depot, too.
Idea was to modify wagons, so they behave as locos and can pull train, what will look as train drive backwards. Wagons get some stat from engines, as backdrive speed and orders list for some new features. (Like another loco can check if next order for wagons is matching with him next order. And wagons can load cargo without loco.)
In other words splitted wagons get their vehicle pointer. (Dynamically creating new vehicle). When that vehicle get collision on station they joins with wagons instead of crash and red signal should allow train to pass if train on other side is wagons, which should be merged with that train.
Image
Bjarni
Tycoon
Tycoon
Posts: 2088
Joined: 08 Mar 2004 13:10

Post by Bjarni »

it's not like I haven't thought about this but the code isn't that friendly when it comes to adding advanced features like this so it will not happen overnight (if at all).
Post Reply

Return to “OpenTTD Suggestions”

Who is online

Users browsing this forum: No registered users and 27 guests