Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change: Use vehicle model age for station rating calculation #7730

Closed
wants to merge 1 commit into from

Conversation

nielsmh
Copy link
Contributor

@nielsmh nielsmh commented Sep 8, 2019

The age of the vehicle itself is prone to exploitation, since you can just keep replacing vehicles with a new of the same type. Basing the station rating on how recent the vehicle model is instead encourages the player to upgrade the vehicle park regularly.

The age of the vehicle itself is prone to exploitation, since you can just keep replacing vehicles
with a new of the same type. Basing the station rating on how recent the vehicle model is instead
encourages the player to upgrade the vehicle park regularly.
if (age < 1) rating += 13;
if (age < 10) rating += 10;
if (age < 5) rating += 10;
if (age < 2) rating += 13;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By the way these age values are entirely arbitrary, I just thought the numbers looked nice.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A comment should probably state as such

@ldpl
Copy link
Contributor

ldpl commented Sep 9, 2019

IMO that's a terrible idea as it assumes one very specific way of playing the game. Also there already is a vehicle speed bonus that also encourages the upgrade but in a better way.

@Eddi-z
Copy link
Contributor

Eddi-z commented Sep 9, 2019

I'm not following that argument...

we shouldn't rely on there being such an exploitable game mechanics, because if the only way to stay competitive is to use the exploit, that's an even more specific way to play the game...

Btw, there's no requirement that the upgrade should be faster. Even in the default game there are cases for this.

@andythenorth
Copy link
Contributor

Model intro date is a bIt limiting for newgrf design? Currently I have examples of model life ~50 years (trams) or even model life ~infinite (ships, only one model for entire game).

Ignore if I've misunderstood the patch :)

@ldpl
Copy link
Contributor

ldpl commented Sep 9, 2019

@Eddi-z At least with "exploit" you can do something. Here you rely on availability of replacement models every 2 years and I don't even know a single vehicle set that provides it. And once you get into the future bonus just becomes flat 0 with no way to do anything about it. It would make at least some sense if it used time since introduction of replacement model but good luck determining that.

IMO if rating is to be changed at all it should not rely on anything vehicle-relalted. Not only it would be much more logical but also good for the gameplay. Days since pickup, units of cargo, statue, advertisement. Crashes/bribes are meh but can stay I guess. Mb something else cargo-related can be added.

Btw, also keep in mind that rating calculation uses last vehicle entering the station and when there are several types of vehicles it becomes somewhat unstable as it depends on how vehicles schedule relates to a rating update tick. And, yeah, ofc you need to care about every vehicle even if it's a stupid transfer truck that just moves cargo for 3 meters.

@James103
Copy link
Contributor

James103 commented Sep 9, 2019

I think that the bonus for vehicle age should be changed such that if the vehicle is not past end-of-life (i.e. it's ScriptVehicle.GetAgeLeft(vehicle_id) is positive), then 17 points is added to the station rating even if the vehicle is more than 2 years old.

Alternatively, if a vehicle is actively (waiting to) load a particular cargo (has room to load cargo and says "Loading / Unloading"), then add 17 points to the station rating of the cargoes that the vehicle is waiting for.

@nielsmh
Copy link
Contributor Author

nielsmh commented Sep 9, 2019

I suspect the original reason for the rating bonus for new vehicles is simply to help kickstart new routes, and to counterbalance cargo starting to arrive on the station right after building it, instead of only when you begin servicing it (as changed by TTDPatch selectgoods). A rating bonus that only lasts two years is really not useful at all, except for possibly exploiting via constantly replacing the vehicles with brand new ones. Most players never benefit from the current bonus.

The change I'm proposing here is not exploitable for constant ratings gains, encourages players to keep using the latest vehicles available, and is still explainable by customers thinking "ooh shiny!" about the latest technology. With the example of ships that are introduced early and then never improve, well they are just not exciting, they're old news, of course they get no bonus.

@ldpl
Copy link
Contributor

ldpl commented Sep 9, 2019

@nielsmh Replacing vehicles is a huge pita, nobody actually does it just for station rating. I only know a single situation where players take advantage of that age bonus. On CityMania 3h CB server top players sometimes delay their upgrade to the best loco for a few years so they can get that extra cargo on their last year of the game. So it's a nice change if you want to specifically break a trick that probably wasn't used for years anyway.

Other than that it just removes a bonus for a new stations slowing down overall pace of the game and making preloading(buying a vehicle just to start acceptance and sell it) even more useful which is a much more exploity thing btw.

@ldpl
Copy link
Contributor

ldpl commented Sep 9, 2019

Basically it's just an arbitrary change that is good for some ways of playing the game and bad for others. But at least current rating was there for ages and everyone got used to it. Messing things up by replacing it with something just as bad for no apparent reason doesn't look like a good idea to me :p

@j-pet
Copy link
Contributor

j-pet commented Sep 10, 2019

How to maintain station rating after the last introduced engine (Lev4 'Chimaera') in 2037?

@Eddi-z
Copy link
Contributor

Eddi-z commented Sep 10, 2019

Like mentioned before, you were never meant to maintain this vehicle age bonus, this change would just remove the possible exploit, that no sane person should be using anyway. the topic was just sparked by someone requesting functionality to make the exploit more accessible, which is clearly the wrong direction.

The Lev 4 is the fastest engines in the game, and that alone provides plenty of maintainable rating bonus.

How to handle stations with a mixture of vehicles visiting is a separate issue.

@nielsmh
Copy link
Contributor Author

nielsmh commented Oct 22, 2019

Random alternative idea: Base the rating bonus on how the vehicle ranks among all available vehicles (of the same transport type) in a statistic: For "freight" cargo (those affected by the cargo multiplier) the HP statistic is used, for other cargo the speed statistic is used.
However I think this can break down with some NewGRF trains that have "zero" HP trains or similar, where the power comes from the total train configuration.

So e.g. when purchasing a 'Floss 47' running 100 mph it's the fastest train, it gets the maximum bonus for passengers, mail, and valuables. It stays maximum bonus when 'SH 30' is introduced which also runs 100 mph, but after 'SH 40' and 'SH 125' are introduced it drops to the third place in rating bonus. And after 'T.I.M.' and 'Asia Star' are introduced it no longer gets any bonus.

@Eddi-z
Copy link
Contributor

Eddi-z commented Oct 23, 2019

there is already a speed rating calculation, changing that should probably not be mixed in here (unless you're completely redesigning the way ratings work)

@RoqueDeicide
Copy link

How about vehicle reliability? Allow the industries and towns to decide if they want to use a station that's visited by poorly maintained vehicles (if breakdowns are turned off, then all vehicle reliability should be regarded as equal to 100%).

@James103
Copy link
Contributor

Would it be possible to add a game setting ("Apply the new vehicle station rating bonus ____") to control when the new vehicle bonus is applied? Some possible modes could be:

  • Always (even for old vehicles)
  • Never (even for new vehicles)
  • Only if the vehicle is 2 years old or less
  • Only if the vehicle model is 2 years old or less
  • Only if the vehicle haven't reached its max age
  • Only if the vehicle model is still available for purchase

@nielsmh
Copy link
Contributor Author

nielsmh commented Dec 23, 2019

Closing this as I doubt it will ever be implemented as-is. More likely would be to either implement what @James103 suggests, or to define a NewGRF callback for vehicles to report their "awesomeness" for station rating.

@nielsmh nielsmh closed this Dec 23, 2019
@andythenorth
Copy link
Contributor

Closing this as I doubt it will ever be implemented as-is. More likely would be to either implement what @James103 suggests, or to define a NewGRF callback for vehicles to report their "awesomeness" for station rating.

I am somewhat in favour of this, it's another mechanic to differentiate vehicles, e.g. wagons that protect cargo, luxury pax coaches etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants