Hola @rio
Gracias por la sugerencia — y buena observación de que no necesitas soporte completo de McMahon para cubrir el 80 % de los casos de uso. Los puntos iniciales ajustables son esencialmente el primitivo faltante, y a partir de ahí McMahon, compensación por entrada tardía y algunos otros escenarios surgen naturalmente.
Creo que es factible. El principal detalle técnico es que los motores de emparejamiento (bbpPairings, py4swiss) no aceptan puntos “libres” en el TRF — cada punto debe estar vinculado a un resultado de ronda. Así que bajo el capó modelaríamos la bonificación como byes virtuales insertados antes de la ronda 1 (por ejemplo 1.0 bonus = una ronda completa de bye, 0.5 = medio bye). El usuario solo ve “puntos iniciales = X”; las maniobras del TRF ocurren tras bastidores.
Antes de planificar esto, unas cuantas preguntas para ti (y cualquier otro que siga el hilo):
- Uso principal — ¿es McMahon (bonificaciones por banda de rating, establecidas antes de la ronda 1), o se trata más bien de equidad por entrada tardía (dar a un jugador que entra en la ronda 3 algunos puntos para comenzar)? Ambos son factibles, pero la UX es diferente y priorizaría el que sea más importante para ti.
- Granularidad — ¿serían suficientes bonificaciones enteras (1, 2, 3 puntos) para una primera versión, o necesitas medio-puntos (1.5, 2.5)? Los enteros son notablemente más simples de implementar.
- Desempates — en tus torneos, ¿deberían contar las rondas de bonificación virtuales para Buchholz y otros desempates similares, o ignorarse? La convención estándar de McMahon es ignorarlas (solo los oponentes reales cuentan), pero quiero confirmar antes de codificar.
- Ejemplos reales — ¿podrías compartir 1–2 torneos concretos donde esto hubiera sido útil? Incluso una descripción aproximada (número de jugadores, rondas, cómo habrías asignado las bonificaciones) basta. Los usaría como casos de prueba para asegurarme de que la implementación realmente resuelve el problema y no algo que yo imaginé.
Una vez tenga respuestas podré darte una línea de tiempo más concreta. Gracias de nuevo por la solicitud tan bien pensada.