Germanunkol / trAInsported

Löve2D Game
http://germanunkol.de/trainsported/
Other
161 stars 40 forks source link

Suggestion: upgradeTrain() #86

Open hajo4 opened 10 years ago

hajo4 commented 10 years ago

upgradeTrain(train) would buy another seat in a train, at a cost of, say 15 credits. This also needs a setting maxUpgrade, as well as an entry "seats" for the train.

dropPassenger(train) would unload all passengers with matching destination.

Dropping passengers at a place other than their destination would only be allowed for all of them at once (e.g. at an exchange-point as in Smalltown3).

Such a train upgraded to 2 seats would be a bit cheaper, but also less flexible than 2 trains with 1 seat each, i.e. it cannot be used to quickly collect VIPs at different places.

Cost vs. utility: 25 1_train1 = 1 passengers 40 --- 1_train2 = 2p 50 2_train1 = 2p 55 --- 1_train3 = 3p 65 1_train1 + 1_train2 = 3p 70 --- 1_train4 =4p 75 3_train1 =3p 80 --- 2_train2 = 4p 85 --- 1_train5 =5p 95 --- 1_train2 + 1_train3 = 5p 100 4_train1 = 4p 100 1_train6 =6p 105 --- 2_train2 + 1_train1 = 5p ... Also, fewer trains means less blocking.

This would give the players another thing to optimize.

Germanunkol commented 10 years ago

Yes, this has been suggested before, and I really like the idea. I also like the upgrading idea - so far it was only suggested to use trains which can always carry two passengers.

I would probably modify dropPassenger like so: calling it in the original way, all passengers would be dropped. If the user gives a second argument "1" or "2", then only that passenger would be dropped.

hajo4 commented 10 years ago

BTW, when I made the SmallTown3-AI, I noticed that the exact mechanic for dropping passengers, and picking up some other passengers in the same tile was not documented. My trains would often drop their passenger, at the exchange-point, but then didn't pick up one of the waiting passengers.