View Single Post
Old 07-25-2019, 10:03 AM   #234
Fishbreath
Minors (Double A)
 
Fishbreath's Avatar
 
Join Date: Oct 2015
Posts: 145
I've fixed chipschap's bug, but haven't released yet, because I'm thinking about how to fix the 2/3-scheduled interdivision issue. (It's not a bug, because it's working as designed, but it is a weakness in the design.)


The trouble is in how the scheduler treats large pools of opponents. If there are N divisions of equal size and N is even, it splits them into two columns, each containing all teams from half the divisions in the subleague, and then simply slides one column relative to another to determine which team plays which in a given scheduler cycle. It may be possible to think of it as a rotating N-gon rather than a sliding pair of columns, or a symmetrical arrangement of nodes in a graph with rotating connections, but I'll need to sketch that out on paper to see how to model it (read: if I can model it).


As I sketch, I think it's possible, but I'll have to add another layer of abstraction to the scheduler—the ability to have rotating opponent pools over the course of a season, or, put another way, to schedule divisions to play one another round-robin, with the teams in those divisions playing one another round-robin in the course of one scheduler cycle. It'll probably only work for symmetric league structures, though.
Fishbreath is offline   Reply With Quote