leaguevine / leaguevine-ultistats

MIT License
18 stars 4 forks source link

track game clock for AUDL? #59

Closed o2bnited closed 12 years ago

o2bnited commented 12 years ago

in the AUDL, games are delimited into timed quarters. it would be useful to track the time on the game clock at the start and end of a point to know how long points lasted. this is above and beyond knowing how much time passed in real life, as the game clock can stop when there are stoppages in play under 1 minute and can be reset with certain situations and infractions.

cboulay commented 12 years ago

Correct me if I'm wrong, but as of now there is no way to know the official game clock value. I think it's a pretty heavy burden to place on the user to have them tap each clock-stoppage button exactly at the same time that the time keeper does. Even if they made a great effort, there would still be some discrepancy and 'buzzer beaters' might occur after the unofficial time has expired on the user's device but before the time has expired according to the official game clock.

I don't think this issue can be resolved until we get a way to sync with the official game clock.

o2bnited commented 12 years ago

I mostly agree with you. The feature I was hoping to add was just something where the user can enter the time that each point starts and stops, rather than track the time of each event within the point.

Obviously integration with the game clock would be fantastic but that seems unlikely to happen any time soon.

Note that this feature is not overly important, it was just something that was requested so that the AUDL folks would know roughly how much time each person played.

cboulay commented 12 years ago

Knowing how much time each player has played is valuable. We could calculate it automatically from the time the disc is pulled until the time a point is scored or a period expires, then subtracting timeout time, injury sub time, and whichever infractions stop the clock. This would be trivial to do.

If we were to do something like this, we should avoid using these calculated times in any display related to how much time is left in a period. Fans might start blaming leaguevine if our display indicated a few minutes left for a 1 point comeback even though the game was officially over.

I think this kind of metric would be calculated server side, and ultistats would simply fetch the data when needed.

o2bnited commented 12 years ago

Do you think it is easier to take real time elapsed and subtract out timeout time, injury sub time, infraction stoppage time, and turnover stoppage time than it is to record the starting game clock value and ending game clock values for a given point?

cboulay commented 12 years ago

Would the ending game clock value of point x be different than the starting game clock value of point x+1?

The goal always is to decrease the number of button presses, especially between points when the user is frantically trying to handle all the substitutions. With that in mind, I could envision this feature happening like this:

Either the user presses a 'enter time' button on the substitution screen, or we detect that this is an AUDL game, then prompt the user to enter the time. We might be able to get the cursor into the first digit to trigger the onscreen numpad, then the user just has to press 4 digits, and pressing the 4th digit will dismiss the prompt and return to normal interaction.

4-5 button presses isn't terrible, but it's not great. If the clock runs between points, then this is 8-10 button presses, which is unacceptable. Even at 4-5 presses, if the user is not too familiar with the lineup then I think they will be more worried about getting the substitutions done correctly and more often than not we'll be seeing every point starting and ending at 00:00.

If your goal is to simply get the "minutes played", then the math described in my previous comment will suffice, and it will all be done automatically by the server requiring 0 extra button presses.

o2bnited commented 12 years ago

So the answer to my question is "yes, it is easier to do the math because recording those times takes too many button presses." which makes sense to me. So I think we're fine leaving it as it is until we can integrate with the game clock.

mliu7 commented 12 years ago

Thanks for talking through this issue, guys. I agree with your decision to rely on simply doing the math for the times rather than integrating with the game clock.

If we were to integrate with the game clock in the future, this change would first have to occur in the Leaguevine API. There would have to be a separate field where a user could specify either the time elapsed or the time remaining in the period or game. We hadn't planned to do this with Ultimate because for regular games the game clock is the same thing as the actual clock (i.e. 75 minutes elapsed in the game = 75 minutes elapsed in real time). So because this will only be useful for the AUDL, and because this would make real-time stat taking significantly more difficult for the user, I agree that we shouldn't support this feature right now.