# Progressive Railway Set: Scope and Vision #

MinchinWeb, February 13, 2013

This document is to outline the scope and vision of this project.

## Background ##
When I play, I enjoy building up the network organically, upgrading to better
(i.e. usually faster) trains, and fixing the bottleneck that result. The
network I build tends to be completely integrated. I don't enjoy shutting
down my network and rebuilding all my trains from scratch, as is required by
vanilla train/rail set. Other trainsets offer many beautiful trains, but I
don't want to spend forever sifting through all the locomotives to pick the
'best' one. Some sets explicitly don't have a 'best one' making it that much
harder to pick an engine.

## Goals ##
1. Provide a long stream of useful engines, introduced regularly (every 10
    years?).
2. Make upgrading between networks easy.
3. Prepick the engines, so it's fairly obvious at game time which is the best
    engine.
4. Allow engines to generally run on the same network.
	
## Niches ##
In addition to the general locomotives, I see two niches that I would like to
fill with this set.
1. Short haul feeder service. Currently I use trucks for short, small hauls.
    I would like to have a stream of locomotives that could be used for this
	purpose, hauling up to 3 car loads. They should be competitive with trucks
	to run. Top speed can be limited as they only will work short runs. Power
	can also be limited to keep train lengths to a maximum useful lenght of
	2-3 tiles.
2. Dayliners. Small rail engines that can carry a few passengers, and maybe a
    couple of passenger cars. The goal is to be able to supply passenger rail
	service to the little towns all over the map. These need to be able to run
	on the general network and so should keep up with the 'normal' trains in
	terms of speed.
3. Metros. Similiar to Daylines, and may be one and the same. The idea is to
    move high number of passengers in large urban areas. Should handle curves
	very well. Need to be fast loading. Goal is to carry 250-300 passengers
	on a 2-3 tile train...
	
## Railcars ##
 * boxcar red Boxcars
 * Alberta grain cars
 * intermodal, double stack
 * double layer passenger cars
 
Can the above be modified with a CC steak to show they're yours?

Bonus:
 * snowplough
 * (red) caboose
 
## Compressed Set
To start with, I'm going to have a compressed set. This will only supply
engines over 100 years. This will be a selection of the full set.

## Passenger vs Frieght
I know many people like to seperate passengers from freight, but I don't want
to deal with different top speeds on one network and I don't really want to
have to build two networks, so I proposed that double headers come in two
versions: one that carries passengers (or mail or gold or everything but
liquids??) or one that carries nothing, but has more HP (i.e. it has an
extra engine rather than a cargo compartment).

## Formulas
Cost = CostFactor * 1171.8
Cost = -13530 + 294.5 * Speed -0.1524 * Speed ^ 2 - 3.544 * Power * {1 = Diesel, 0 = otherwise}
RunningCost = -1366 + 94.66 * Lifespan + 12.42 * Speed - 0.01212 * Speed ^ 2
Power = -900 + 26 * Weight + 20 * Speed - Speed * LifeSpan * {1 = Diesel, 0 = otherwise} - 28 * Weight * {1 = Steam, 0 = otherwise}
Air Drag Coefficient = 8 / Speed [in km/h]

Power to Weight:
   Steam: 5 to 10
   Diesel: 15 to 30
   Electric: 40 to 85
   Monotrail: 50 to 95 [60 to 120]
   Maglev: 83 to 115  [90 to 180]

Double base cost factor for electric, monorail and maglev trains

Speed in km/h
Power in hp (imperial)
Cost, Running Cost in USD
Weight in tons

Colour Conversions (through Greyscale to CC) -> http://web.forret.com/tools/color.asp

## Road Vehicles
This set (at least for now) won't provide road vehicles, but it would be nice
to eventaully have a complementary set that the road vehicles sizing exactly
matches the railcars in this set.

## Locations
Project -> http://dev.openttdcoop.org/projects/progressivetrains
Repo ->
Nightlies -> http://bundles.openttdcoop.org

Existing Engine stats -> http://vcs.openttd.org/svn/browser/trunk/src/table/engines.h#L400

Possible extra wagon sprits -> https://dev.openttdcoop.org/issues/2851
