Puntuación de Open Poker: cómo funciona realmente la clasificación
Lección 12 de 13: Competir y mejorar
Distingue la puntuación de la temporada del porcentaje de manos ganadas y los resultados de una sesión. Completa la lección 11, usa Python 3.11 o posterior e instala las dependencias del requirements.txt incluido en la descarga.
La puntuación predeterminada de una temporada de Open Poker es el total de fichas de la cuenta y de la mesa. El porcentaje de manos ganadas y el volumen por sí solos no pueden predecir el puesto: también importan el tamaño de los botes, las recompras y el campo. Para conocer toda la mecánica de las temporadas, incluidos los enfriamientos entre recompras, consulta Cómo funcionan las temporadas de Open Poker. Usa la gestión de pilas y el modelado de oponentes como experimentos que puedas medir.
¿Cuál es la fórmula de puntuación de la clasificación?
Tu puntuación de temporada es un único número:
score = chip_balance + chips_at_table
chip_balance son las fichas que están en tu cuenta. chips_at_table son las fichas que están actualmente en juego en una mesa. Esa es toda la fórmula. En la configuración predeterminada no hay penalización por recompras, multiplicador por número de manos ni ponderación por porcentaje de victorias. Solo fichas.
Todos los bots empiezan la temporada con 5.000 fichas. Si nunca juegas una mano, tu total de fichas es 5.000, aunque para poder aparecer en la clasificación sigue siendo necesario jugar. Como las recompras pueden añadir fichas, una puntuación superior a 5.000 no es necesariamente beneficio de póker. Lleva un registro separado de los flujos de fichas cuando evalúes la estrategia.
Incluimos chips_at_table para cerrar un exploit evidente. Sin ese valor, un bot podría sentarse en una mesa con 4.000 fichas, mostrar solo 1.000 en su cuenta y parecer que pierde cuando en realidad gana. La puntuación siempre refleja tu posición real. La fórmula completa y los ejemplos de API están en la documentación de puntuación.
¿Cómo afectan las recompras a tu puntuación?
Una recompra te da 1.500 fichas cuando tu bot se queda sin ellas. En la configuración predeterminada no hay penalización de puntuación: las fichas recibidas son reales y cuentan por completo en tu total. El coste está en el momento, no en la aritmética.
Los enfriamientos de recompra imponen un coste real sin tocar tu puntuación. Los bots del nivel gratuito esperan 5 minutos entre recompras. Los bots Pro esperan 2 minutos. Si tu bot se queda sin fichas cada hora, son 5 minutos por hora en los que no juega manos, no cobra ciegas y no sube en la clasificación. En una temporada de 14 días, quedarse sin fichas con frecuencia se acumula en horas de tiempo perdido en la mesa.
El otro inconveniente es que las recompras solo restauran 1.500 fichas, no tus 5.000 originales. Un bot que se arruina y recompra empieza de nuevo con el 30 % de su pila base. Para volver a 5.000 necesitas conseguir 3.500 fichas de beneficio, además de lo que ganarías de forma natural. La mayoría de los bots no lo consigue.
La documentación de recompras cubre los endpoints WebSocket y REST, además de los códigos de error de la ventana de enfriamiento.
¿Cómo se desarrollan los escenarios concretos?
Aquí es donde la matemática del volumen se vuelve interesante. Estos son cuatro bots hipotéticos después de una temporada de 14 días, todos en el nivel gratuito:
| Bot | Manos | Fichas (cuenta + mesa) | Recompras | Puntuación |
|---|---|---|---|---|
| AlphaFold | 4.200 | 8.200 | 0 | 8.200 |
| GrindBot | 6.100 | 7.500 | 5 | 7.500 |
| SteadyEddie | 380 | 5.400 | 0 | 5.400 |
| YoloPush | 9.800 | 2.100 | 12 | 2.100 |
AlphaFold gana. Juego sólido, sin quedarse sin fichas y 4.200 manos de ventaja acumulada.
GrindBot jugó más manos, pero pasó tiempo real atrapado en enfriamientos (5 pérdidas × 5 minutos = 25 minutos obligado a estar fuera). A pesar de las cinco recompras, todavía tiene más fichas que al empezar, porque cada recompra añadió 1.500 fichas a su cuenta. La fórmula de puntuación no penaliza esas recompras. El coste de oportunidad sí lo hizo, al limitar cuántas manos podía jugar GrindBot durante las horas punta.
SteadyEddie es el ejemplo aleccionador del extremo opuesto. Sólido, cuidadoso, nunca se quedó sin fichas, pero solo jugó 380 manos en dos semanas. La varianza domina una muestra tan pequeña. Su puntuación final de 5.400 apenas supera la base porque no hubo suficientes manos para que se manifestara la habilidad.
YoloPush es el peor caso: máximo de manos, máximo de pérdidas y terminó con 2.100 fichas. Doce recompras significan doce ventanas fuera de la mesa, además de una estrategia que pierde fichas más deprisa de lo que las recompras pueden rellenarlas. La fórmula de puntuación no está castigando las pérdidas. Lo que castiga es la estrategia perdedora.
¿Cuándo ayuda jugar más y cuándo perjudica?
El volumen ayuda si tu ventaja es positiva, aunque sea pequeña. El volumen perjudica si tu ventaja es negativa.
Un bot que gana una media de 0,5 fichas por mano consigue 500 fichas en 1.000 manos. El mismo bot consigue 5.000 fichas en 10.000 manos. Las ventajas se acumulan linealmente, pero la varianza se reduce con la raíz cuadrada del número de manos. Con 200 manos, una ventaja del 4 % en porcentaje de victorias está perfectamente dentro del ruido de la distribución normal de cartas. Con 2.000 manos, esa misma ventaja empieza a parecer real en la clasificación.
Un bot que pierde 0,5 fichas por mano tiene el problema contrario. Cada mano que juega reduce su puntuación. Para un bot perdedor, quedarse fuera conserva mejor la puntuación que jugar. El mínimo de 10 manos para la elegibilidad de la clasificación es lo bastante bajo para que casi cualquier bot conectado cumpla el requisito y, después de ese umbral, más manos aceleran tu subida o tu caída.
La mayoría de los bots principiantes se encuentran en el grupo de EV negativo y no se dan cuenta. Ven que su pila baja poco a poco, culpan a la varianza y siguen jugando. La solución es arreglar la estrategia, no jugar más manos.
¿Cuándo debes quedarte fuera y cuándo seguir jugando?
Quédate fuera cuando arreglar el bot sea la opción con mayor EV. Sigue jugando cuando tu bot sea rentable y el coste de oportunidad de desconectarlo sea real.
Una heurística práctica: si tu bot ha jugado más de 500 manos y tu total de fichas está por debajo de 4.000, probablemente está perdiendo. Retíralo, registra los historiales de las últimas 50 manos y observa de dónde salieron las pérdidas. ¿Pagabas apuestas del river sin nada? ¿Te retirabas demasiado preflop? ¿Apostabas de más con manos marginales en el turn? El historial de manos es el dato más barato que tendrás para depurar la estrategia.
Si tu bot está por encima de 6.000 fichas y la tendencia es ascendente, déjalo funcionando. El tiempo activo es una ventaja competitiva durante las horas punta, cuando hay más oponentes esperando. Un bot rentable que juega 18 horas al día superará al mismo bot jugando 6 horas al día, suponiendo que la composición de la mesa sea parecida.
Los bots más inteligentes de nuestra plataforma consultan time_remaining_seconds en GET /api/season/current y ajustan su comportamiento cerca del final de una temporada. Si ocupas el octavo puesto y quedan 6 horas, es momento de ser agresivo. Si ocupas el puesto 32 y quedan 6 horas, acepta el puesto, conserva las fichas y empieza a planificar la próxima temporada. La documentación del ciclo de vida de las temporadas muestra cada endpoint que expone datos del tiempo restante.
¿Cómo funciona el mínimo de 10 manos?
Para aparecer en la clasificación pública, tu bot debe completar al menos 10 manos en la temporada actual. Hasta superar ese umbral, tu puntuación se registra, pero no se muestra. Esto filtra los bots que se conectaron, se unieron y se desconectaron antes de hacer algo significativo.
El mínimo de 10 manos es deliberadamente bajo. Queremos que la clasificación muestre todos los bots que realmente juegan, incluso los que acaban de empezar. El mínimo existe para evitar entradas fantasma, no para bloquear la clasificación. Con la recompra automática activada y un bucle de eventos básico, un bot nuevo llegará a 10 manos durante los primeros minutos después de sentarse.
Una vez superado el umbral, tu puesto se actualiza después de cada mano. Es en directo, público y visible para todos en openpoker.ai/leaderboard. No hay una puntuación oculta ni una clasificación competitiva separada de otra casual. Un número, una clasificación.
¿Cuál es la estrategia de puntuación óptima?
Tres patrones separan a los mejores bots del resto, y ninguno depende de algoritmos exóticos.
Maximiza el tiempo activo durante las horas punta. La clasificación premia 14 días de juego constante, no una racha de 50 manos. Ejecuta el bot 24/7 con la recompra automática activada. Hemos visto bots líderes acumular más de 6.000 manos en una temporada. Los bots que solo funcionan cuando su desarrollador está despierto suelen acabar, como mucho, en mitad de la tabla.
Usa una entrada menor al principio y una mayor cuando ganes. La entrada predeterminada es de 2.000 fichas (el 40 % de tu pila). Empieza con 1.000 fichas por sesión mientras calibras el bot frente al grupo de jugadores actual. Si eres rentable durante los primeros cientos de manos, aumenta a 3.000 o 4.000 para acumular más deprisa. El campo buy_in de tu mensaje join_lobby controla este valor.
Deja de jugar si estás perdiendo. Esta es la más difícil. Un bot perdedor no se vuelve menos negativo por jugar más manos. Se vuelve más negativo. Si tu puntuación ha caído 1.000 fichas por debajo de la base y la tendencia es constante durante más de 200 manos, la estrategia necesita trabajo, no más tiempo en la mesa. Desconecta, depura y vuelve a desplegar.
Preguntas frecuentes
¿Cómo se calcula mi puntuación en la clasificación de Open Poker?
Tu puntuación equivale al total de fichas entre el saldo de tu cuenta y las mesas activas. La fórmula es score = chip_balance + chips_at_table. En la configuración predeterminada no hay penalización por recompras; las recompras se suman a tu total como cualquier otro depósito.
¿Puede mi puntuación ser negativa? No. La puntuación es una suma de saldos de fichas, que no puede bajar de cero. La puntuación mínima posible es 0, y solo se alcanza cuando se han perdido todas las fichas y tu bot no puede permitirse la entrada mínima para jugar otra mano.
¿Afecta a mi puntuación estar sentado en una mesa? Tu puntuación cuenta las fichas de todas partes: en tu cuenta y en la mesa. Mover fichas a una mesa no cambia tu puntuación. Esto evita que los bots oculten sus totales manteniéndolos en juego.
¿Cuánto dura el enfriamiento de una recompra? Los bots del nivel gratuito esperan 5 minutos entre recompras. Los bots Pro esperan 2 minutos. El enfriamiento tiene una duración fija independientemente de cuántas veces hayas recomprado durante la temporada. Consulta la documentación de recompras para conocer el comportamiento de la API.
¿Cuál es el número mínimo de manos para aparecer en la clasificación? 10 manos. Después, tu bot se clasifica por puntuación junto a todos los demás. No hay una bonificación por jugar más manos, aparte del beneficio indirecto de que una muestra mayor reduzca la varianza.
La puntuación de tu bot es pública, está disponible en directo y se actualiza después de cada mano. Comprueba tu posición en la clasificación de la temporada, o lee la documentación completa de puntuación para integrar la conciencia de la puntuación directamente en la lógica de decisión de tu bot.
Comprueba el resultado de la lección 12
- Qué cambia
- Calcula la puntuación a partir de los saldos exportados de la temporada.
- Salida esperada
- score_fixture: 5200
- Comprueba que funciona
- Verifica que 3200 + 2000 = 5200. Usa --season-stats con una exportación de /api/season/me y consulta el puesto real en la clasificación.
Descomprime el archivo de la lección, abre la carpeta en una terminal y ejecuta:
python -m pip install -r requirements.txt
python bot.py --lesson 12 --self-test
python bot.py --lesson 12 --hands 3 --report run.jsonLa prueba usa datos simulados sin conexión y muestra checkpoint: passed. Para jugar en línea necesitas OPEN_POKER_API_KEY en el entorno de ejecución y rivales disponibles. Consulta el README incluido para configurar el bot y conocer los límites de recuperación.
Todas las lecciones del curso
- 1. Crea un bot de póker en Python
- 2. Arquitectura básica de un bot de póker
- 3. Cómo depurar errores de WebSocket en tu bot
- 4. Por qué tu bot se queda sin tiempo
- 5. Matemáticas del póker para bots
- 6. Rangos por posición para bots de póker
- 7. Estrategia de apuestas para bots de póker
- 8. Tutorial de PokerKit
- 9. Calculadora de equity por Monte Carlo
- 10. Modelado de rivales
- 11. Arquitectura avanzada de un bot de póker
- 12. Cómo funciona la puntuación de la clasificación
- 13. Arquitectura profesional de un bot de póker