Abstract. El análisis del comportamiento en el contexto de los videojuegos se ha convertido en una práctica muy popular debido permite obtener información vital de los jugadores. En modelos de negocio como los videojuegos Free-to-Play (F2P) esta información es importante para
aumentar el interés de los jugadores/clientes en el videojuego, la cantidad de jugadores y las ganancias obtenidas. De igual forma, también permite realizar mejoras en el diseño. En este trabajo se realiza análisis
de comportamiento de trazas del videojuego TetrisAnalytics. En éstas se encuentran los movimientos tácticos del jugador durante la partida, a las que se aplican los métodos de clustering SimpleKMeans y
EM(Expectation-Maximization) vía Weka.
2. Introducción
● Análisis de comportamiento de jugadores de
Tetris a partir de sus movimientos tácticos.
○ 1 movimiento táctico.
○ 2 movimientos tácticos consecutivos.
● Generación de modelo de comportamiento a
partir de trazas de jugadores.
○ Diferenciar los jugadores a partir de las trazas
generadas en las partidas
● Trabajo futuro
○ Ajuste dinámico de la dificultad.
3. TetrisAnalytics
● Juego de Tetris sencillo.
● Al pasar del tiempo las
fichas caen más rápido
por el tablero.
● 7 piezas diferentes
● Movimientos: izquierda,
derecha, rotación y bajar.
● El juego finaliza cuando el
jugador pierde.
● Genera binario con
información de la partida
4. Políticas de Generación de Trazas
● PosYTipoFichaARFF: guarda la posición de
la ficha actual, la acción, el tipo de ficha actual
y siguiente.
● LastXLinesARFF: guarda la información de
la política anterior y las X filas superiores no
vacías del tablero.
● EstadoCompletoARFF: guarda todo el
estado del juego(posición de la pieza,
rotación, tipo, ficha siguiente y el estado
completo del tablero (casilla libre=0, casilla
ocupada=1).
5. Variables
● PosX, PosY: posición X e Y donde el
jugador ubica la pieza(enumerado).
● Rot: rotación de la ficha. Esta variable es
una enumeración con valores: r0, r1, r2, r3.
● NextPiece: pieza siguiente que saldrá a
continuación(valor entero entre 0 y 6).
● Celda_X_Y: estado de cada celda concreta
del tablero(celda vacía=0 o celda
ocupada=1).
● TipoFicha: tipo de ficha. Enumerado p0, p1,
p2, p3, p4, p5, p6.
6. Pre-procesamiento de Datos
● Agregar ID de jugador(clase)
● Para el caso de dos movimientos
consecutivos(mismo jugador)
○ Duplicar las variables
○ Copiar instancia actual sin clase más instancia
siguiente con clase
7. ● Inicialmente ignora la clase(id jugador) y
genera los clusters
● Número de clusters = número de jugadores
● Fase de pruebas
○ Asigna las clases a los clusters basándose en la
clase con mayor cantidad de instancias que se
encuentren en dicho cluster.
○ Calcula la tasa de error de la clasificación.
○ Genera la matriz de confusión.
Evaluación Clases a clusters de
Weka
8. Jugadores
● 3 jugadores reales
● 3 IAs
○ AlwaysRight: siempre ubica la pieza en el lado
derecho.
○ AlwaysLeft: siempre ubica la pieza en el lado
izquierdo.
○ HardCodedTacticalAI: evalúa el tablero de acuerdo
a su altura y el número de espacios para cada una
de las 4 rotaciones posibles de la pieza, y
selecciona la mejor ubicación.
10. Experimentos con Weka Explorer
● Evaluación de movimientos tácticos
individuales
○ PosYTipoFichaARFF, Last4LinesARFF,
EstadoCompletoARFF
● Evaluación de 2 movimientos tácticos
consecutivos del mismo jugador
○ PosYTipoFichaARFF, Last4LinesARFF,
EstadoCompletoARFF
11. Resultados
● Evaluación de Movimientos Tácticos
Individuales(error)
○ Last4LinesARFF: SimpleKMeans 44.15%, EM
48.46%.
● Evaluación de 2 Movimientos tácticos
consecutivos(error)
○ Last4LinesARFF: SimpleKMeans 40.78%, EM
47.08%.
13. Comparación de algoritmos con
Weka Experimenter
● Comparación de los algoritmos con T-Test
pareado
● SimpleKMeans(t=50.05)
● EM(t=46.48)
14. Conclusiones y Trabajo Futuro
● La evaluación de movimientos tácticos
individuales no describe el estilo de juego del
usuario.
● La unión de movimientos tácticos consecutivos
mejora la clasificación de los jugadores.
● Evaluar trazas con más de 2 movimientos
tácticos consecutivos.
● Realizar clasificación de nuevas partidas de
jugadores existentes.
● Realizar clasificación de nuevos jugadores.