scottb613, on 23 January 2021 - 05:17 AM, said:
I don't want to return to the MSTS days where a lot of cutting and pasting was done in ENG files, and the end result was that we sometimes had very inconsistent physics performances in MSTS. Part of the challenge is that detailed information is not always easily obtainable.
So the balance that I have worked to is to make parameters "visible" where it is likely that good detailed information broadly exists, and /or the parameters will have a significant impact on the performance of the locomotive. So in short I am open to making more parameters visible, but don't give me a list now, and expect it to happen. Instead they will be added, as appropriate, when different areas are investigated and possibly coded.
darwins, on 23 January 2021 - 03:33 AM, said:
The steam locomotive is a "heat engine", ie it burns coal to generate heat energy which is then converted to mechanical energy by using the resulting steam. So the heat in the boiler is the the key determining factor, boiler pressure is an indication of the amount of heat in the boiler, and in the steam era, it was the easiest performance measure. So the key parameters to watch during any detailed firing testing are in the Heat line, in particular the In and Out figures.
In effect the AI fireman watches the In/Out heat values and attempts to "balance" these values so that the boiler heat is maintained at a neutral point, and hence boiler pressure is also maintained. Typically a real fireman "learns the route", and gets to know how to fire the locomotive to the route conditions ahead. So for example, if he knows that he is approaching a gradient, he will start to bank the fire up so that he can maintain boiler pressure for the grade.The approaching gradient length and steepness will determine how much and how soon he needs to build up his fire. Thus the challenge for the AI fireman is that he would firstly need to identify any approaching Issues, and then the potential impact, so that he can determine how to respond. Naturally we are talking about hundreds of different possible outcomes, and responses.
In manual mode, the player provides this ability to identify these approaching issues, and then from learned experience can determine an appropriate response to how the fire should be set up. This eliminates a whole lot of code complexity in OR.
As he is incapable of looking ahead, the AI fireman just tries to ensure that the player has sufficient steam to operate the locomotive. Given that the AI fireman does not "think" in the same way as a real fireman, I don't think that some of the manual firing components are readily translatable into the AI fireman mode. I think that it is wiser to consider the two as completely separate logic streams.
The hybrid approach of providing some override controls for the AI fireman was an attempt to provide a means of allowing a "look ahead" approach for the AI fireman.
It may however be possible to add some features to the AI fireman to give him a more "realistic" appearance. For example, somebody suggested turning off the AI stoker when stationary, etc, so perhaps these types of things might be an easy possibility. Though at the end of day he will always try to maintain the heat levels in the boiler.
So moving forward, I would suggest that perhaps some of these types of features could be considered. If we start making changes, I would like to see a single set of test stock (ideally from the CTN site), and test scenario used to ensure that we are all seeing the same results, and outcomes. The final results can then be tried on other units as required. I would also like to see a separate thread set up that focuses purely on the feature that we are looking at rather then being used for general discussions, and information sharing.
As a bit of background, it might be good to run the run Tutorial activity #2 of the Zig Zag Railway. This type of scenario would be the most challenging for the AI fireman to cope with, as there are frequent stops, and starting on gradients. This type of scenario could be considered as a test scenario. Longs runs are not as challenging for the AI fireman.