Barrel Training and Moral Control Timing
Kisselphil opened this issue · 7 comments
Describe the Adjustment
- For the barrel training sequence and barrel moral control sequence, the cutoff for making a choice to push (or not push) the barrel should be the train passing the control tower, rather than the train reaching the track split.
Further Explanation/ Context:
After the arm unlocks for the barrel pushing training, the barrel gets "auto-kicked" if the user has not pushed the barrel by the time the train reaches the split in the tracks. It would be better if it got auto-kicked when the train reaches the control tower.
Similarly, on the barrel moral control, the arm relocks the barrel when the train reaches the split in the tracks. The arm should not relock until the train has reached the control tower.
My thinking is that for many users, they will wait until the train is closer to push the barrel, thinking they need to throw the barrel into the train's path. If the barrel is kicked or arm relocked too early, users who intended to push the barrels may not get the opportunity.
These changes should have been addressed on the last go mainly because at this point all of the additional work/effort would have gone towards generic solutions not IRB specific solutions. This is the right design decision just terrible timing... going to look into what it's going to take...
Going to see if I can remove the TrainCollisionCheck from the BarrelMgr and isolate it slightly further down the track... this is going to be really a time of flight check so I think if I just get the position right on the track we can take advantage of all the other items going on but there are some state checks that are directly tied to that intersection that I am pretty sure we are going to break.
Reducing truck jump off time from 6 - 4 seconds to restrict the distance gap.
Reducing train stop time from 5 seconds to 2 seconds so we can decrease the distance gap from the train after 'collision'
Tested normal cases and it works - as we get right between the 'last second' decision scenario we have some state machine errors - this can be worked through via testing and won't require a lot of added time should have it in by end of tonight.