Bill of Loading/Way Bill/Car Card System

The topic is really interesting: it would be a really interesting advance over the current system. Unfortunately, I'm utterly illiterate in scripting, so I can only watch and hope that someone with the proper skills can turn this great idea into a set of rules for Trainz...
 
IMHO this is an excellent idea.

The TRS2004 built-in scenario "07 - Highland Valley Coal" is a very enjoyable consist planning puzzle, in some ways similar to this concept.

I don't foresee any problems in creating a TRS2004 GameScript scenario in which you have to build up a consist in the order of your choosing and then transport specific wagons to specific locations. Some of the Razorback Railway activities come pretty close to this but off the top of my head I can't remember one that does it precisely. It might well also be possible to create such an activity in Trainz Pro Routes' Scenario Creation System (SCS2004 or SCS2006).

Some of the other aspects you list might require more than a bit of head scratching though, especially saving the game state so it can be picked up later. Unfortunately Auran broke the scenario save function in the transition from UTC to TRS2004.

I can't comment regarding Driver Sessions as I can't really get my head round them.

John
 
Last edited:
I love this idea. When I had a model railroad, waybilling was one of the activities that I enjoyed most. When I bought Trainz, I had hoped that it had a good waybilling system, but I'd have to say that was one of my dissapointments with the game.
I know so little about scripting that it could be put on the head of a pin, so I can't be much help other than offer some encouragement to the scripting elite of you out there. I really admire the skill of anyone that can script and hope that this idea moves forward.
Mike
 
IMHO this is an excellent idea.

The TRS2004 built-in scenario "07 - Highland Valley Coal" is a very enjoyable consist planning puzzle, in some ways similar to this concept.

I don't foresee any problems in creating a TRS2004 GameScript scenario in which you have to build up a consist in the order of your choosing and then transport specific wagons to specific locations. Some of the Razorback Railway activities come pretty close to this but off the top of my head I can't remember one that does it precisely. It might well also be possible to create such an activity in Trainz Pro Routes' Scenario Creation System (SCS2004 or SCS2006).

Some of the other aspects you list might require more than a bit of head scratching though, especially saving the game state so it can be picked up later. Unfortunately Auran broke the scenario save function in the transition from UTC to TRS2004.

I can't comment regarding Driver Sessions as I can't really get my head round them.

John

John,

Thanks for your input. There are several assets out there that have the beginnings of this system. One of them is the Destination Database by LLJ. His system lists only one destination per car and destinations can not be assigned in Surveyor. Furthermore, when it reaches it's detination, you have to stop and do some head scratching to figure out where it should go next. Another asset that has inspired this concept is the LARS Interchange LT by LLJ.

In regard to the SCS2006, I have spent considerable time pouring over the SCS2006 manual and have created several sessions with it. I do not think it alone will do what I am proposing.

Several assets need to be created to make this system work. The first would be the database. The second would be the ability to assign the data to a specific car. The third would be to make an asset that can automatically assign data to a car.

This system would be much more than a GameScripted scenario. It would permit the perpetual operation of a railroad, eliminating the need for specific GameScripted scenarios. This system would not be for the casual user. It would however, satisfy the desire of those hard core operations modelers that desire to operate a railroad in a more prototype manner.

Fro those interested in learning more about prototype operations, I recommend the OPSIG website Model Railroad Operations SIG. :)
 
I love this idea. When I had a model railroad, waybilling was one of the activities that I enjoyed most. When I bought Trainz, I had hoped that it had a good waybilling system, but I'd have to say that was one of my dissapointments with the game.
I know so little about scripting that it could be put on the head of a pin, so I can't be much help other than offer some encouragement to the scripting elite of you out there. I really admire the skill of anyone that can script and hope that this idea moves forward.
Mike

Mike,

Thanks for your encouragement. I do appreciate all the content you have created, some of it specically for my railroad. Can you recommend anyone that is a code writer that might be interested in this project?
David
 
As an old time programmer I'm limited to thinking in GameScript activity terms. The Driver Session concept bewilders me totally. I'm sure it's a totally valid approach, but sadly not one I can offer any help with. I'm sorry I can't assist more but I wish the project every success. I'm sure it would give a lot of people a great deal of pleasure.

BTW, don't dismiss GameScript. It has access to all the Trainz API functions and people cleverer than me can do some pretty amazing things with it.

PS Larry ("Jenolan") my boss at the Razorback might possibly be interested in this.

John
 
Last edited:
As an old time programmer I'm limited to thinking in GameScript activity terms. The Driver Session concept bewilders me totally. I'm sure it's a totally valid approach, but sadly not one I can offer any help with. I'm sorry I can't assist more but I wish the project every success. I'm sure it would give a lot of people a great deal of pleasure.

BTW, don't dismiss GameScript. It has access to all the Trainz API functions and people cleverer than me can do some pretty amazing things with it.

PS Larry ("Jenolan") my boss at the Razorback might possibly be interested in this.

John

John,

I guess my ignorance just reared it's ugly head. I am now confused by what you mean by Gamescript. Can you please explain it to a novice? In your first post you mentioned "I don't foresee any problems in creating a TRS2004 GameScript scenario . . . " How is this different than creating a Driver Scenario?

That asked, I am certain that this cannot be accomplished in a Driver Scenario.

Thanks for your help.
 
Last edited:
* Wishes the old forum had not died *

* Remembers when this system was not seen as a great idea *

Good luck with the quest DAP .

.
 
I guess my ignorance just reared it's ugly head.
Far from it. In any case there are very few people who know all there is to know about Trainz.
I am now confused by what you mean by Gamescript. Can you please explain it to a novice? In your first post you mentioned "I don't foresee any problems in creating a TRS2004 GameScript scenario . . . " How is this different than creating a Driver Scenario?
To create a TRS2004 GameScript scenario, you load the layout in Surveyor, add any additional trackside features required for the specific scenario (trackmarks, etc), and Export Scene Data. This creates a TSO file with the details of the trackside objects, and a GS file with a template to start writing the scenario's coding. You can't view or edit the TSO file with any normal program. The GS file can be edited with Notepad or any other text editor program. The GameScript language is similar to "C" with some object-oriented stuff and all the numerous additional objects and functions required for Trainz. The GameScript API document lists all these.

I don't use the term Driver Scenario as that's ambiguous. I say Scenario, or Driver Session.

The user can create a Driver Session in Surveyor by using its graphical interface to add rules and commands. In very skilled hands this can create an activity that approaches the quality of a scenario.

Larry's devised a method of converting a TRS2004 scenario into a TRS2006 Driver Session that plays almost exactly as a scenario would in TRS2004. This required a great deal of time and IMHO a genius level of programming ability. How it works I haven't the foggiest.

Larry's also created a large number of additional GameScript functions (sorry, not available to the public) which the Razorback activity creators use in order to make an activity which runs in the Razorback Railway style. This style is very open ended. The activities range from giving the driver detailed instructions at every stage to setting them a challenge and letting them devise a solution. The various activities have mixtures of main line driving, branch line work, lots of interacting with industries, shunting, and shunting puzzles.

TPR's SCS allows the user to create a scenario in a rather simpler way than by GameScript coding. It too is IMHO a work of genius. There are separate versions of SCS for TRS2004 and TRS2006.

I'm not knocking the Driver Session approach at all. Because Auran broke scenario and TSO file creation from TRS2006 onwards, it's probably the best way now. I just wish I could gain some understanding if it. Back to the Driver Session documentation today for me I think!

Hope this helps and doesn't confuse too much. If an expert spots any mistakes please please correct me. Sorry for the long post.

John
 
Hi all,

I have been experimenting with using model railroad operating ideas in Trainz for a while now. So I will share my thoughts on the subject.

I have been using the name space inside a piece of rolling stock's property window to add routing information. This is done in surveyor by using the ? to click on the car and editing the name at the top of the panel that opens. I use a system similar to the colored coded tack system. Let's say that I have a box car and I want it to go to Town A and Industry A for loading then it should be taken to Town B and delivered to Industry C. I would change the name to be:

Town A/Ind. A -->Town B/Ind. C

When the car is empty it is picked up and returned to the home yard and the cycle begins again. The routing information survives driver session save so continuous play is possible.

One problem is the limit of the space available for the routing information. I don't think Auran ever envisioned this use. If the space was larger then more cycles could be done and more detailed information could be used.

Also, the routing information does not survive a trip through a portal so staging yards are need.

This system works and is quite fun but I agree it should be more a part of the game. Here are my thoughts on the current topic.

Don't overlook what is available in the game now. We have the basis of a system with the current products system. Think about it. What is a waybill but a product with a destination listed on it. You have the ability in surveyor to add products to rolling stock so what is needed is to assign a destination to the product for delivery. At any point in Driver you can right click and see this information. Let's call this new type of product: Product 2.0. Industries could be modified to load and unload these new products within the current system. Perhaps the coal mine could produce three types of coal products: one for the Power Station, one for the Loco Service Station and one for the loading bins down at the docks. I'm not sure if it would be possible to assign destinations at the time of loading or if the products would have to be pre-assigned for a certain destination. Maybe it would be possible to have a list of destinations on the route stored in an object like the TPR Destination Database and have the list available in a drop down gadget on the Product 2.0 property screen. This is where a clever programmer is needed.

The current waybill system should be changed to a request for empty cars system based on production rather than consumption. When an industry has enough product to ship than a request for an empty car would be generated and a suitable car would be found and routed to that industry for loading. It would be loaded with a Product 2.0 that lists the destination for the load.

Except for the in game waybill system changes which would require changes to the game code. Most of these ideas could be done by content creators.

William
 
John,

Thanks for your explaination of the various terminology. And such an explaination can never be too long. You have cleared up several things for me and I am sure for many others as well.

Based on your input, I think what I am looking for are a set of assets that function stand alone independant of a specific Session or Scenario. My concept is not creating specific sessions or scenarios, but a tool which will give the operator data so that he may, in real time, operate the railroad in a prototype manner without and pre-scripted set of moves or manuvers.

So what is the proper term for the progamming necessary to create an advanced version of the Destination Database? This would be the direction in which I think this project will come to fruition.
 
The plain answer is I don't know, this is well beyond stuff I'm familiar with. Without doubt Larry's your man on things this advanced, or the person at TPR who wrote SCS. But in the meantime I'll try to do some research and some thinking. Your idea intrigues me and I'd like to see it take off in some form.

John
 
Hi all,

I have been experimenting with using model railroad operating ideas in Trainz for a while now. So I will share my thoughts on the subject.

I have been using the name space inside a piece of rolling stock's property window to add routing information. This is done in surveyor by using the ? to click on the car and editing the name at the top of the panel that opens. I use a system similar to the colored coded tack system. Let's say that I have a box car and I want it to go to Town A and Industry A for loading then it should be taken to Town B and delivered to Industry C. I would change the name to be:

Town A/Ind. A -->Town B/Ind. C

When the car is empty it is picked up and returned to the home yard and the cycle begins again. The routing information survives driver session save so continuous play is possible.

One problem is the limit of the space available for the routing information. I don't think Auran ever envisioned this use. If the space was larger then more cycles could be done and more detailed information could be used.

Also, the routing information does not survive a trip through a portal so staging yards are need.

This system works and is quite fun but I agree it should be more a part of the game. Here are my thoughts on the current topic.

Don't overlook what is available in the game now. We have the basis of a system with the current products system. Think about it. What is a waybill but a product with a destination listed on it. You have the ability in surveyor to add products to rolling stock so what is needed is to assign a destination to the product for delivery. At any point in Driver you can right click and see this information. Let's call this new type of product: Product 2.0. Industries could be modified to load and unload these new products within the current system. Perhaps the coal mine could produce three types of coal products: one for the Power Station, one for the Loco Service Station and one for the loading bins down at the docks. I'm not sure if it would be possible to assign destinations at the time of loading or if the products would have to be pre-assigned for a certain destination. Maybe it would be possible to have a list of destinations on the route stored in an object like the TPR Destination Database and have the list available in a drop down gadget on the Product 2.0 property screen. This is where a clever programmer is needed.

The current waybill system should be changed to a request for empty cars system based on production rather than consumption. When an industry has enough product to ship than a request for an empty car would be generated and a suitable car would be found and routed to that industry for loading. It would be loaded with a Product 2.0 that lists the destination for the load.

Except for the in game waybill system changes which would require changes to the game code. Most of these ideas could be done by content creators.

William


William,

I salute your creativity in finding a partial solution to this problem. We need clever minds like yours to help formulate the next step.

I don't think that any solution that requires changes to the game code such as changing the exisisting "Way Bill" system are feasible. I have never cared for this system anyway. It works backward from the real world. Railroads don't get messages from their customers that say - "Bring me more coal, and I'm not telling you where to get it from". In the real world, which Trainz is supposed to simulate, the shipper, not the receiving customer initiates the process and gives specific delivery instructions.

You say that "a way bill is nothing but a product with a destination". I disagree. A waybill specifies a vehicle with a destination that just happens to be carrying a certain product. The contents of the vehicle are only secondary to the delivery process, such as: Is it a hazardous material? Where should I put it in the train makeup? The most important information the way bill carries is where does the vehicle get loaded and where does it get unloaded.

Using just those two bits of data will keep this project as simple as possible yet give us a tool that will greatly enhance the simulation of prototype operations.

As I envision that the current "Way Bill" system would not be used. I am working on a railroad that has 138 industries with a total of 206 places to spot a car. Creating a Protolars or other interactive interface for each is a very daunting task. I find the system overly complex and difficult to fully understand. Production rate per hour? Who cares. Just tell me how many empty cars of what type are needed on a daily basis - much less information and much more relavant to the railroads operations. Now if I were a manufacturing engineer(which I was in past years) I would be interested in such trivial data as production rate per hour, but to run a railroad, this I do not need to know.

I would keep the animated industries. It is fun to watch the coal dust billow when a car is loaded, but there would be no drive thru loading or unloading.

A year ago we had a thread discussing this topic. mjolnir mentioned several things that I think bear repeating here.

"1) Routes upon which it is to be implemented must have at least one modeled interchange with the outside world, and it must be decided where in the outside world the connection is made. Note that in this case, by "outside world" I mean only someplace not modeled on the route; it may or may not be a real or virtual point on the existing rail network. Just as most real railroads have multiple points at which they interchange traffic, a large route may have multiple connections, and even if there is only one physical connection, this may represent multiple interchange points.

2) More consideration is going to need to be given to the industries on the route. For each industry, one will need to plan where its suppliers are located, how much of the raw material is purchased from the supplier in any given time frame, by what route the raw materials it requires are shipped from the supplier to the industry, and the typical transit time from the origin. Similarly, one will need to determine where the industry's customers are, how much they purchase, and by what route the product is shipped, and the transit time to the destination.

3) One will need to prepare a detailed industry list, listing each industry, the number of cars per day of inbound material from each supplier, the number of cars per day of outbound product to each customer"

And keep in mind that in the real world, very few railroads served both shipper and reciever. That makes interchange portals an important component.
 
This is a really good idea. I'm not a scripting guru or programmer either so I'll sit on the sidelines and make some suggestions instead . ;)

I could see a system developed using some kind of tariff code or product code that could be assigned to each of the product-categories currently used by the LARS system in Trainz. This would help assign a particular product to an industry. As I was reading the link, I thought about this and hopefully it could help if a code like this were used.

You see I handle BOL and Commercial Invoices on a daily basis as a logistics coordinator and customer adminsitrator. My system generates the BOL automatically as well as Commercial Invoices for export orders outside the US.

What we use on our system is the Harmonized Tarriff Codes developed by the US Government for exports. These codes are actually used worldwide for shipping goods and are used to classify the goods according to particular categories for tariff rates for customs duties. For domestic shipments, we use the freight classification system based on weight and square-footage. This is sytem I think would be more difficult to implement than the HTC system because different commodities would be classified according to their handling and not so much their product class so therefore I think the HTC system is more appropriate for what we need.

Anyway, the various commodities are assigned to particular categories and sub-categories based on the various variations and sub-types. Typical of the US Government and other internatinal governments, they make this as confusing and complicated as possibile as if there have been multiple self-interested parties taking a shot at this and influencing the outcome. Once you get past the BS and start looking at the details, it's not as bad as it seems. We only use a handful of the thousands of codes listed in the book at my workplace. I'll attach a link to the PDF file on the US Census Bureau website. Why this comes out of the US Census Bureau is beyond me, but you know that's the government for you.

The codes work like this.

Main category.sub group.further subgroup: Here are a couple of them that we use:

3215.90.5000
Printing ink, writing or drawing ink and other inks, whether or not concentrated or solid.

This is used for the inksheets that are sold with our digital proofing equipment. These are plastic sheets (mylar I think) that are coated with ink.


and

4810.21.0000
Light weight coated paper Other: In strips or rolls of a width exceeding 15cm or in rectangular (inclduing square) sheets with one side exceeding 36 cm and the other side exceend 15 cm in the unfolded state.

Now we don't have to be this obtuse and overdone. Instead we could use the main categories like 4810 paper and 3215 for ink, etc. as a way to assign these products to a Bill of Lading and then to the Waybill system.

The advantages of using a number such as this come into play when developing a database. They HTC-number could be the database index key that serves the basepoint where the information about the products is referenced in the look-up table.

Here's the link to the US Census Bureau online tariff-code book:

http://www.census.gov/foreign-trade/schedules/b/index.html

John
 
Last edited:
John,

Thanks for your interest. Your suggestion is intruiging, but I'd like to keep this system as simple as possible. I maintain that as a railroad operator, the only time you need to know the contents of a railcar is if it contains hazardous material. Otherwise you only need to know where to deliver it.

As I see it, there are some data items that are essential, and some data items that are "nice to have".

Essential data: Car Reporting Marks(Car Road and Number) - this is already on the car, so it does not need to be in the data base
Car Type(AAR code),
Receiver(industry name),
Receiver Location(city where receiver is located),
Spot(where to spot the car when delivered)

Information that is nice to have is: From(city,state) Shipper(industry name), contents. These items help with the illusion of operating a railroad in the real world.

Behind the scene, all the data concerning the industries and their capacities have to exist, but they do not have to be constantly calculated in real time as is done with the current system. They can be defined once in Surveyor.
 
John,

Thanks for your interest. Your suggestion is intruiging, but I'd like to keep this system as simple as possible. I maintain that as a railroad operator, the only time you need to know the contents of a railcar is if it contains hazardous material. Otherwise you only need to know where to deliver it.

As I see it, there are some data items that are essential, and some data items that are "nice to have".

Essential data: Car Reporting Marks(Car Road and Number) - this is already on the car, so it does not need to be in the data base
Car Type(AAR code),
Receiver(industry name),
Receiver Location(city where receiver is located),
Spot(where to spot the car when delivered)

Information that is nice to have is: From(city,state) Shipper(industry name), contents. These items help with the illusion of operating a railroad in the real world.

Behind the scene, all the data concerning the industries and their capacities have to exist, but they do not have to be constantly calculated in real time as is done with the current system. They can be defined once in Surveyor.

I agree this should be a simple system. Your part of the system is the "top-side" i.e. the part that we would see and interact with every day. The HTC coding system is good for the commodities that can be carried in each car. If each type is assigned code-value or category then we can pick and chose the correct car for the commodity. Granted it's obvious most of the time, but things like bagged flour can fit in a boxcar along with boxes of other stuff. Assigning the code to the boxcar for bagged flour, for example allows that car to handle to product too. The other advantage too is replacing the KUIDs for each item in the config file. A simple HTC number would suffice because anything that belongs to that category would be allowed. This would cut down on the chance of errors being introduced because there are fewe numbers and entries.

The HTC codes can also be the index keys for item types /numbers that get listed on the waybil or BOL. Instead of using someone else's part numbers for a commondity. If necessary the system could use a two part code. The top category with a sub-part. 3215.90 ... Ink, printing instead of just ink.

Assigning this to various weights and measurements isn't necessary because we're not interested in that at this level. That's a totally different aspect of tthe Waybill system that we haven't even discussed yet. Again I'm not a programmer so I can throw out ideas that are really complicated if not immpossible to carry out and not even know that. ;)

Anyway let's keep this thread going for ideas. It almost got lost in the usual fray of confusion that exists here on the this forum.

John
 
Last edited:
New and Improves Specifications

I have posted a new and improved set of specifications for this project at http://forum.gaurc.us/index.php?topic=208.0 (I had to put it there because this forum will not take a 12 page document.)

Document includes an example of how it works.

Your comments are appreciated and volunteers to help write the code are most welcome.
 
Back
Top