rollerderby / scoreboard

CRG Derby Scoreboard
Other
136 stars 55 forks source link

2023 JRDA Rule Changes #563

Closed jlsanman closed 1 year ago

jlsanman commented 1 year ago

JRDA is announcing new rule changes that affects the scoreboard.

The first is called "Sudden Scoring" and reads: For all sanctioned games in which the halftime point differential is 150 points or greater and the trailing team has scored 25 points or fewer, the second half will be played according to slightly modified Overtime Jam rules:

The second is "Injury Call-Offs": If a jam is halted by the officials for an injured player while:

Any modifications that can help with these will be appreciated.

frank-weinberg commented 1 year ago

When are these supposed to go into effect? Especially the second one looks like it will be tricky to implement and bring a notable risk of introducing nasty bugs - in the worst case bugs that affect all games. So I'd prefer not to hurry this. And I can't make any promises as to when I'll be able to do it properly.

jlsanman commented 1 year ago

I don't have the specific date, but it is effective as part of their 2023 season. So, almost immediately.

frank-weinberg commented 1 year ago

I'm sorry but this is just plain absurd. (Not from you, from the JRDA.)

I've now read through the thread on Facebook and seen that this also involves changes to the paperwork that are incompatible with the internal data structures. In the worst-case this requires completely restructuring the stats-gathering part of the code. And I realized that in principle there could be multiple injury call-offs and resumptions in the same jam, which makes supporting this even more complicated. My current estimate is that this will take upwards of a full work-week, possibly multiple weeks, and is not suitable for doing in small chunks. And I don't have any time off my paid job coming up. Nor am I able (or willing) to sacrifice several weekends in a row for this.

Also, I won't start this before I have the full specs of what is needed. Including paperwork changes and whatever else there may be. Because if I had to start over due to additional info emerging, I'd probably just rage-quit the ticket and that would be even worse.

So in summary, I'm afraid I have to tell you that unless JRDA decides to postpone putting these rules into effect, SBOing their games will probably be a pain in the backend for several months.

(Bonus fact: I had two weeks off work that ended last weekend. If I had known about this 3 weeks ago, I would probably have been able to get the feature at least to a point where finishing it over a weekend or two was realistic. Presumably JRDA knew that they would be introducing this for longer than 3 weeks.)

jlsanman commented 1 year ago

I understand your frustration and no need to apologize to me for it. That's why, as soon as I saw it, I started reaching out to people. I knew this was a big change and needed to be out there among the community. Yes, I agree that JRDA should have reached out to the right parties well ahead with regards to these decisions. For now, we will just find some workarounds until you and whoever helps has the opportunity to provide a version that can handle these changes. I have always appreciated the hard work you all have done. There is no need to scramble and produce something that will need further iterations to make the software work the way it needs to be done. I know it will done in due time. Thanks again for everything.

AdamSmasherDerby commented 1 year ago

My understanding (I am NOT speaking officially here, I've just had a few conversations) is that JRDA will be publishing its own version of the statsbook and manual in the next few days that will document changes on that side. That should be on their website, but if not, I'll nudge their Games person to get in touch.

The JRDA World Cup is in France in July, I don't know if that seems like a reasonable goal to shoot for.

akeyes commented 1 year ago

Their playoffs start on the first weekend of June.

akeyes commented 1 year ago

I realized that in principle there could be multiple injury call-offs and resumptions in the same jam, which makes supporting this even more complicated.

Only once per jam is allowed

image

AdamSmasherDerby commented 1 year ago

OK, looks like Appendices 1 and 2 of this document describe the new rules fully, including the paperwork implementation. Weirdly, this PDF is all graphics and no text, so I can't just cut and paste here.

https://cdn1.sportngin.com/attachments/document/0148/0200/20230101-The_Rules_of_Flat_Track_Roller_Derby_JRDA_Edition.pdf

akeyes commented 1 year ago

Weirdly, this PDF is all graphics and no text, so I can't just cut and paste here.

Reload the document. It was fixed and replaced this afternoon.

frank-weinberg commented 1 year ago

Thank you @AdamSmasherDerby.

I have in the meantime had an idea how it should be possible to add this to the data model without the need for a major restructuring. If the idea works, which I am pretty confident (but not certain) about, this should at least keep the required work below 50 hours, whereas before I was worried it could turn out to be more than 100.

(I'm still not making any promises for playoffs or world cup - I simply have no idea how much productive time I will be able to commit to this.)

frank-weinberg commented 1 year ago

After more analysis, I realized that even with my idea, there are a lot of special cases that all would need a separate field in the data. So, while it would not require restructuring what's there, it would still get really messy. But I also realized that all of these special cases would be handled naturally, if the continuation was a new jam instead of part of the old one. Thus I just sent the following message to the JRDA rules chair:

I'm writing as the maintainer of the CRG Derby Scoreboard Software. In that role I have been made aware of your 2023 rules, support for which requires significant changes to the software.

After a thorough analysis of how support for these rules could be implemented, I have come to the conclusion that it would be substantially easier to support the "Injury Call-offs" rule, if the continuation of the aborted jam was considered a new jam with special rules instead of part of the aborted jam. (The reason for this is that with the continuation a lot of things that previously could happen only once or at one specific point of a jam can now happen twice or at two different points of the jam that are recorded differently and the internal data structures are not prepared to handle this.) Making this change would not affect game play at all and (aside from the different jam numbers) only require one simple change to the paperwork procedures: Both Lineup Trackers would be using the new line. (Arguably, this is an improvement as it reestablishes the synchronicity in terms of when a new line is used or not used between LT and SK, which I have found to be very helpful for new NSOs learning the second of these roles.) In addition, the entry in the "Jam" column could be changed from INJ to the new number plus a marker, as the sequence 13 - 14I - 15 is presumably less error prone than 13 - INJ - 15, but this is completely optional.

Making this change would also address what I assume is an oversight in the new rules: If in an affected jam, one team passes the start before the injury call-off and the other team passes the star after the call-off, the statsbook manual would mandate to use the same row for both teams and the JRDA addendum does not override this. But using a new row for the second SP feels much more natural than using an earlier row to record things that happened later. Adopting the suggested change would implicitly change this.

Is it possible that this adjustment can be made?

I also have some other unrelated questions/remarks about these rules:

  • Given that the lead Jammer can call off the jam at any point, wouldn't it make sense for them to be able to decline the continuation? The immediate call-offs we'd get otherwise just feel weird.

  • Related: If a Jammer call-off and an injury call-off happen at the same time (I have seen this happen in practice), we do always give precedence to the Jammer call-off?

  • And: What happens if a jam is called off due to multiple simultaneous injuries? If they are all for one team there's an obvious answer. But which gets precedence if it's skaters from both teams?

  • If a jam is added as per the last paragraph of Section 1.1 and the prior jam was one with injury call-off and continuation, is a full jam added or just the continuation part?

  • [a note related to the unreleased 2023 WFTDA rules changes]

I will post an update when I get an answer. In the meantime I'll at least start with implementing Sudden Scoring support.

frank-weinberg commented 1 year ago

Update 1: I got an answer - JRDA is willing to make the changes I requested.

Update 2: A first version of Sudden Scoring is implemented but not yet tested.

Update 3: Treating the continuation as a new Jam appears to be a magic bullet that just solves all the problems - despite trying I so far have not identified any edge case that would need special treatment. I update my prediction for when this will be released to "between next weekend and March, unless something really serious happens".

jlsanman commented 1 year ago

Thank you so much for all the hard work you have put into handling this situation so far. I know so many will appreciate these changes.

erevrav commented 1 year ago

Frank, you're amazing. Thank you for all work you do (and the patience you have) for the tangled web we weave. Our sport would be less magical without you.

keleighshepherd commented 1 year ago

Speedy, thank you - given that I am the one running games data at the JRDA World Cup, I am very grateful for your work trying to make these changes functional

frank-weinberg commented 1 year ago

Quick update: The code is essentially working since two weeks ago. The email thread to coordinate the paperwork notation by now involves 5 people on the JRDA side and appears to be coming towards a conclusion. I hope to be able to release this before the next weekend.

jlsanman commented 1 year ago

Thank you for the update. This is great news.

keleighshepherd commented 1 year ago

Wonderful thank you Frank <3

On Sat, 4 Feb 2023, 00:23 jlsanman, @.***> wrote:

Thank you for the update. This is great news.

— Reply to this email directly, view it on GitHub https://github.com/rollerderby/scoreboard/issues/563#issuecomment-1416553713, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYTG7O5KTAZAWEE47LWH4R3WVWOORANCNFSM6AAAAAATZVF72M . You are receiving this because you commented.Message ID: @.***>