As an amatuer programmer, I've decided to create a simple cargo loading delay program for use in model railroading. The program is nothing fancy. All it does is provide load/unloading delay timers so that you can simulate the time taken to load each car with cargo. Here's a screenshot:
http://i88.photobucket.com/albums/k193/bigsol81/CargoLoaderBeta.jpg
Basically, you click the "Load This Cargo" button when your train is stopped at a station that supplies this type of cargo. This will then cause the bar below the buttons to slowly fill up, the speed of which varies from one cargo type to the next. Once it fills, the "Current Carloads" for that cargo type increases by 1.
Once you arrive at a station that can accept that cargo, you click the "Unload this Cargo" button, the bar fills up to indicate the unloading process, and once full the number of carloads decreases by 1. Clicking the unload cargo button when the current carloads is 0, obviously, will result in an error message.
The "Track Operating Costs" box is an experimental feature. Every ten seconds, it increases the total operating cost of your railroad. Eventually, I plan to have that operating cost increase depending on the number of locomotives you currently use, as well as other factors. Currently, the cost of operating the railroad increases by 800 to 1500 units every ten seconds. I use ambiguous 'units' of currency, but the final program will allow the user to select whatever symbol for currency that they desire. In addition to maintaining the railroad, each time a carload of cargo is unloaded, the "revenue" box increases. This amount is determined by the cargo, and the price varies from one type of cargo to the next. For example, a carload of mail generates less revenue than a carload of passengers.
Speaking of carloads, I've currently only got the five types you see, and this is how I've broken them down:
Mail - Obviously, this is envelopes, letters, and other small, light packages. Mail, due to its relative low density per square foot of cargo space, is lightweight. Mail loads faster than any other type of cargo, but also provides the lowest amount of revenue. It only takes 10 seconds of real time to load one car full of mail.
Passengers - Again, this is obvious: People. Passengers provide a very large variance in revenue depending on the type, their ticket reservations, etc. Passengers actually take longer to load than Light Freight due to the added time it takes to load on luggage, have baggage checks, make sure everyone is seated and comfortable, and other 'people' concerns. It takes 18 seconds to load one car of passengers.
Light Freight - Now, for the purposes of keeping things simple for this program, "Light Freight" refers to any perishable goods. This includes not only foodstuffs such as grain, beef, and poultry, but also livestock. Essentially, anything that can't be left sitting on a sidetrack or in a yard for very long. Light freight takes 15 seconds to load one car.
Medium Freight - This refers to any freight which is still somewhat important in terms of delivery time, but not something that will die or go bad while sitting on a side track. This generally includes manufactured goods such as computers and other electronics, furniture, home appliances, automobiles, and other larger cargo items such as those things ordered for shipping delivery Medium freight is often bulky and heavy, thus it takes 20 seconds per car of medium freight.
Bulk Freight - By this definition, "bulk freight" covers anything that is, in essence, 'not a big rush' and can be left on side tracks or in train yards for several days or more without a big hit to profits. Usually, this covers industrial goods such as coal and petroleum, as well as construction materials like lumber or steel. Bulk freight, due to its sheer weight and mass, takes 30 seconds per carload, but often provides the largest revenue per carload.
Those are the basics of the program. Now, my primary reason for posting here, aside from announcing the program itself, is that I'd like some ideas on the cargo system. Mine, as I said, is very generalized. However, I've come up with a more complex system using the following cargo types:
Mail & Passengers - Obvious
Grain - Includes cereals, as well as barley, hops, and other brewing materials. Also includes Salt, Sugar, and other bulk foodstuffs.
Produce - Both fruits and vegetables.
Meat - It's all frozen during shipping anyway, so it's grouped into one type.
Livestock - Both small and large.
Bulk Freight - Groups industrial metals (steel, iron, copper) and fuels (coal, petroleum) into a single category.
Textiles - Wool, felt, yarn, cloth, etc.
Automobiles - Also includes other vehicle shipments.
I can't come up with anything else specific, but this should be more than sufficient I should think. Also, I wanted to note that my program is designed to be a utility, and by no means a 'game' of any sort, so anyone hoping for something like that would be disappointed. Think of it as a very specialized calculator.
Opinions? Suggestions? Criticism?
http://i88.photobucket.com/albums/k193/bigsol81/CargoLoaderBeta.jpg
Basically, you click the "Load This Cargo" button when your train is stopped at a station that supplies this type of cargo. This will then cause the bar below the buttons to slowly fill up, the speed of which varies from one cargo type to the next. Once it fills, the "Current Carloads" for that cargo type increases by 1.
Once you arrive at a station that can accept that cargo, you click the "Unload this Cargo" button, the bar fills up to indicate the unloading process, and once full the number of carloads decreases by 1. Clicking the unload cargo button when the current carloads is 0, obviously, will result in an error message.
The "Track Operating Costs" box is an experimental feature. Every ten seconds, it increases the total operating cost of your railroad. Eventually, I plan to have that operating cost increase depending on the number of locomotives you currently use, as well as other factors. Currently, the cost of operating the railroad increases by 800 to 1500 units every ten seconds. I use ambiguous 'units' of currency, but the final program will allow the user to select whatever symbol for currency that they desire. In addition to maintaining the railroad, each time a carload of cargo is unloaded, the "revenue" box increases. This amount is determined by the cargo, and the price varies from one type of cargo to the next. For example, a carload of mail generates less revenue than a carload of passengers.
Speaking of carloads, I've currently only got the five types you see, and this is how I've broken them down:
Mail - Obviously, this is envelopes, letters, and other small, light packages. Mail, due to its relative low density per square foot of cargo space, is lightweight. Mail loads faster than any other type of cargo, but also provides the lowest amount of revenue. It only takes 10 seconds of real time to load one car full of mail.
Passengers - Again, this is obvious: People. Passengers provide a very large variance in revenue depending on the type, their ticket reservations, etc. Passengers actually take longer to load than Light Freight due to the added time it takes to load on luggage, have baggage checks, make sure everyone is seated and comfortable, and other 'people' concerns. It takes 18 seconds to load one car of passengers.
Light Freight - Now, for the purposes of keeping things simple for this program, "Light Freight" refers to any perishable goods. This includes not only foodstuffs such as grain, beef, and poultry, but also livestock. Essentially, anything that can't be left sitting on a sidetrack or in a yard for very long. Light freight takes 15 seconds to load one car.
Medium Freight - This refers to any freight which is still somewhat important in terms of delivery time, but not something that will die or go bad while sitting on a side track. This generally includes manufactured goods such as computers and other electronics, furniture, home appliances, automobiles, and other larger cargo items such as those things ordered for shipping delivery Medium freight is often bulky and heavy, thus it takes 20 seconds per car of medium freight.
Bulk Freight - By this definition, "bulk freight" covers anything that is, in essence, 'not a big rush' and can be left on side tracks or in train yards for several days or more without a big hit to profits. Usually, this covers industrial goods such as coal and petroleum, as well as construction materials like lumber or steel. Bulk freight, due to its sheer weight and mass, takes 30 seconds per carload, but often provides the largest revenue per carload.
Those are the basics of the program. Now, my primary reason for posting here, aside from announcing the program itself, is that I'd like some ideas on the cargo system. Mine, as I said, is very generalized. However, I've come up with a more complex system using the following cargo types:
Mail & Passengers - Obvious
Grain - Includes cereals, as well as barley, hops, and other brewing materials. Also includes Salt, Sugar, and other bulk foodstuffs.
Produce - Both fruits and vegetables.
Meat - It's all frozen during shipping anyway, so it's grouped into one type.
Livestock - Both small and large.
Bulk Freight - Groups industrial metals (steel, iron, copper) and fuels (coal, petroleum) into a single category.
Textiles - Wool, felt, yarn, cloth, etc.
Automobiles - Also includes other vehicle shipments.
I can't come up with anything else specific, but this should be more than sufficient I should think. Also, I wanted to note that my program is designed to be a utility, and by no means a 'game' of any sort, so anyone hoping for something like that would be disappointed. Think of it as a very specialized calculator.
Opinions? Suggestions? Criticism?