Skip to main content

Niveles manuales mediante tablas de clasificación

En este tutorial, vamos a aprender a aplicar algunas propiedades del servicio de tablas de clasificación para crear un sistema de niveles para los jugadores. Para entender cómo crear un sistema de niveles manual basado en las propiedades del servicio, vamos a empezar con un ejemplo. Imagine que tenemos un juego de matar zombis, en el que los jugadores tienen un tiempo limitado para conseguir tantos puntos como sea posible. Se pueden emplear diferentes estrategias para ganar más puntos, y también hay puntos por no recibir ningún daño. En este ejemplo, los jugadores ganan puntos de experiencia en función de su rendimiento en cada partida. Queremos crear un sistema de niveles para identificar al mejor jugador con el rango de “Saviors”, mientras que el resto de los jugadores se distribuirá entre diferentes rangos como Bronce, Plata, Oro, Platino y Diamante.

Creación de una tabla de clasificación

El primer paso es crear una definición de tabla de clasificación que incluya los elementos principales para clasificar a los jugadores. Para nuestro juego de zombis, vamos a usar varias puntuaciones. En el ejemplo siguiente se muestra cómo crear la definición de la tabla de clasificación mediante el SDK de C#.
Aquí tenemos nuestra tabla de clasificación definida con tres puntuaciones diferentes. Para obtener más información sobre la creación de tablas de clasificación o cómo funciona el desempate, consulte la guía siguiente: Cómo hacer más con las tablas de clasificación.

Niveles manuales

Con la tabla de clasificación creada correctamente, ahora podemos proceder a definir cómo queremos crear nuestros niveles. En primer lugar, debemos definir cómo queremos dividir la población de jugadores. Normalmente, cuanto más alto es el rango, menos jugadores hay. Con ese concepto en mente, así es como vamos a definir nuestros niveles.
  • Bronce: 0 - 35 % de los jugadores.
  • Plata: 35 % - 60 % de los jugadores.
  • Oro: 60 % - 80 % de los jugadores.
  • Platino: 80 % - 90 % de los jugadores.
  • Diamante: 90 % - 99,5 % de los jugadores.
  • Saviors: el 0,05 % superior de los jugadores.
Dado que este proceso es un enfoque manual de un sistema de niveles, la distribución de los jugadores debe almacenarse de la manera que el desarrollador considere oportuna. Para recuperar los datos, vamos a usar el ejemplo siguiente:
Este ejemplo es una de las múltiples formas de recuperar datos de la tabla de clasificación. En la propiedad Result de la respuesta, vamos a encontrar una propiedad denominada EntryCount que nos indica cuántas filas tiene actualmente la tabla de clasificación. Este número es diferente de SizeLimit, que representa el número máximo de filas de la tabla de clasificación. Para determinar el nivel de un jugador, tomamos su posición dentro de la tabla de clasificación y la dividimos por la propiedad EntryCount para ver dónde encaja dentro de los niveles definidos. Ejemplos rápidos:
  • Jugador en la parte inferior: un jugador situado en la posición 8500 de 10 000 está dentro del 85 % de la población, por lo que entra en el nivel Bronce.
  • Jugador en la parte media: un jugador situado en la posición 3500 de 10 000 está dentro del 35 % superior de los jugadores, por lo que entra en el nivel Oro.
  • Jugador en la parte superior: un jugador situado en la posición 50 de 10 000 está dentro del 0,5 % superior de los jugadores, convirtiéndose en un “Savior”.

Conclusiones

En este tutorial, aprendimos a realizar las siguientes operaciones:
  • Crear una tabla de clasificación.
  • Aprender a consultar datos de una tabla de clasificación.
  • Aprender a crear una distribución manual de niveles basada en percentiles.
  • Aprender a asignar el resultado de la posición de un jugador a un nivel real.

Consulte también

Última modificación el 28 de agosto de 2026