Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Email: {pdjkleber,gcaurin}@sc.usp.br
thales.bueno@usp.br
Resumen: este artículo explora el ajuste de la dificultad del juego para aplicaciones serias de juegos en
robótica de rehabilitación. En esto contexto, se propone un sistema de ajuste de dificultad que toma el
rendimiento del usuario como entrada y genera dos respuestas diferentes:
I. INTRODUCCION
La investigación que involucra la rehabilitación robótica, como otras actividades de rehabilitación, impone
enormes desafíos a la atención médica profesionales, especialmente con respecto a la motivación del
paciente para realizar los ejercicios prescritos. Es importante mencionar que
Schlumberger-Private
Actualmente hay muchas iniciativas que involucran la aplicación de juegos comerciales para
rehabilitación. Sin descuidar los beneficios sociales y humanos de estas iniciativas, la clínica la efectividad
de estas actividades es difícil de distinguir los resultados obtenidos por tratamientos convencionales [1].
Los juegos comerciales ofrecen una experiencia muy rica y placentera, pero al mismo tiempo están
diseñados con dificultad niveles que van mucho más allá de las capacidades típicas de los usuarios con
discapacidades.
Además, postulamos que hay una necesidad para el desarrollo de juegos específicamente diseñados para
la rehabilitación, proporcionando a al menos las siguientes características:
Las interfaces actuales, utilizadas por robots de rehabilitación tanto científicos como comerciales,
cumplen con estas ideas.
Sin embargo, estas interfaces todavía son muy limitadas cuando uno considera la experiencia que ofrecen
al usuario. En este contexto, como una excepción positiva, el trabajo desarrollado por [2], [3] muestra
alguna preocupación en la presentación de una interfaz agradable para el usuario.
También es posible observar la implementación actual falta de ofrecer desafíos progresivos a los usuarios.
Esto es un requisito importante para el desarrollo del juego, especialmente si consideramos los largos
períodos de rehabilitación (semanas) que son comúnmente prescrito a los usuarios. Actualmente, los
usuarios tienen la misma interfaz desde el principio hasta el final del tratamiento.
Los trabajos previos desarrollados por [2] - [4] sugieren que la adaptación procedimientos proporcionan
desafíos para el usuario, tratando de transformar rehabilitación en un proceso más atractivo.
A. Dispositivo Robótico
Schlumberger-Private
Para servir como una interfaz entre el paciente y el juego, se desarrolló un dispositivo robótico con un
grado de libertad. El sistema ilustrado en [3] es backdrivebly (baja mecánica impedancia) y provisto de
control de impedancia [6]. Estas características no se encuentran en robots industriales y garantizar
interacción de contacto segura con el usuario. Este sistema robótico muestra un comportamiento
diferente para encontrarse con el terapeuta y las demandas del usuario. El robot puede detectar si el
usuario no puede generar movimientos y proporcionar asistencia. Por el contrario, puede resistir el
movimiento del usuario que promueve de esta manera ganancias en la fuerza muscular. También puede
mostrar un completamente neutral comportamiento emulando un joystick convencional.
Nuestro dispositivo robot de rehabilitación fue diseñado para ejercicios con un solo grado de libertad a la
vez: flexión / extensión; o aducción / abducción; o pronación / supinación. El ángulo de la muñeca del
usuario se comparte con el juego a través del protocolo TCP / IP. Más la descripción detallada del prototipo
del robot se puede encontrar en [3], [7], [8].
B. Juegos Serios
Se crearon dos juegos para fines de rehabilitación. Estos juegos se usan en combinación con un solo grado
de libertad del dispositivo robot y dónde se desarrolló utilizando el motor de juego Unity1. En ambos
juegos, el nivel de dificultad está codificado en la distancia inicial al objetivo (tuercas en "The Catcher"
(Fig. 1) o espacio entre las algas marinas en "Happy Fish" (Fig. 2)), la velocidad y el tamaño del objetivo
(este último no se discutirá en este artículo). Si el objetivo está muy lejos y el jugador no puede
proporcionar suficiente velocidad en su muñeca para alcanzar el objetivo, él o ella no ganará puntos.
El mismo concepto es válido si el objetivo es alcanzable, pero el objetivo se mueve demasiado rápido. En
principio, es posible generalizar la mayoría de los juegos para un solo grado de libertad de los dispositivos
robóticos que usarán tres variables (o algunas cinemáticas equivalentes) para el ajuste de dificultad.
1
Unity (http://unity3d.com) es un motor de juegos multiplataforma con un Entorno de desarrollo integrado (IDE).
La tecnología proporciona un motor que rinde con utilidades de desarrollo integradas y flujos de trabajo que
proporcionan la capacidad de crear interactivos tridimensionales (3D) y bidimensionales (2D) contenido para
visualización, entrenamiento y simulaciones médicas.
Schlumberger-Private
Figure 2. Captura de pantalla de los juegos "Happy Fish" en estudio y desarrollo para movimiento vertical
Por razones de claridad, son necesarias algunas definiciones adicionales en el contexto de este
documento. Un juego (robots de rehabilitación) la sesión presentará al jugador a un número fijo de
objetivos. Cuando el juego comienza, aparece un solo objetivo en la pantalla con una distancia d del
jugador y una velocidad s. Estos parámetros definen el nivel de dificultad actual. Cuando se alcanza un
objetivo o destruido, se genera un nuevo objetivo. Si el jugador tiene éxito para alcanzar un objetivo, este
evento único se llama "golpe". Si, por cualquier razón, el jugador no alcanza el objetivo este solo evento
se llama "perdido". Este intervalo de tiempo entre dos objetivos es llamado una "ronda de juegos". Cada
ronda de juego tiene un independiente nivel de dificultad. En este trabajo, un Algoritmo 1 simula un solo
jugador que usa el juego.
Schlumberger-Private
III. AJUSTE DE DIFICULTAD EN LOS JUEGOS
El equilibrio del juego puede definirse como el proceso de garantizar un buen nivel de desafío del juego
Los desafíos están destinados para evitar extremos como frustrar jugador donde el juego la dificultad es
demasiado alta o aburrirlo cuando el juego solo ofrece desafíos simples [9], [10]. La Fig. 3 muestra el
concepto de flujo de acuerdo con [9].
Figure 3. Estado mental en términos de nivel de desafío y nivel de habilidad, según el canal de flujo [9]
El método del equilibrio estático es un enfoque bien establecido, donde niveles de dificultad predefinidos
(es decir, fácil, medio y difícil) son presentado al usuario y él (o ella) elige una opción. Para cada nivel de
dificultad, las técnicas asociadas con este enfoque definen los parámetros del juego que imponen desafíos
específicos. Generalmente los desafíos se agrupan por fases o etapas con el aumento dificultad, para
establecer una correspondencia con la evolución de la habilidad del jugador. Los jugadores acceden a
nuevos niveles de dificultad como sus habilidades mejoran [11] considera tres problemas en los niveles
selección. (i) los jugadores tienen un número limitado de niveles de dificultad opciones (generalmente
tres o cuatro niveles). (ii) los jugadores no pueden establecer el nivel de dificultad apropiado para sus
habilidades. (iii) en general la configuración de dificultad afecta solo los atributos de los caracteres
controlados por la computadora, pero no sus tácticas. Sugieren un enfoque dinámico para superar estos
inconvenientes.
Las técnicas de inteligencia artificial (AI) también se pueden usar durante el juego para contribuir al
equilibrio dinámico. Estas las técnicas deben evaluar periódicamente el nivel de dificultad percibido por
el jugador y hacer los ajustes necesarios en el juego, asegurando un nivel de desafío apropiado [12]. El
uso de (AI) permite incluso la adición de factor de imprevisibilidad, alternando situaciones más fáciles y
más difíciles, que aumenta interés del jugador en el juego.
Schlumberger-Private
IV. DDA CON ALGORITMO EVOLUCIONARIO
Esta sección presenta el algoritmo evolutivo propuesto, i) explicar los cromosomas y definir los límites
para cada parámetro; ii) explicando cómo la función de aptitud se calcula y iii) presentar la selección
adoptada y operadores de mutación.
A. Representación
Para definir un cromosoma para el Algoritmo Evolutivo, Deben introducirse dos parámetros importantes
que caracterizan una ronda de juego en “The Cather”, pero eso también puede ser extendido para
cualquier otro juego similar. El primer parámetro es la distancia al objetivo d, que es un valor real en
[0.01w 0.5w], donde w es el ancho de la pantalla del juego en píxeles, mientras que el segundo parámetro
es la velocidad del objetivo s, que es un valor real en [0.1h 0.5h], donde h es la altura de la pantalla del
juego en píxeles. De acuerdo con los límites definidos, el objetivo puede estar cerca al personaje del
jugador (a 0.01w) o puede estar a media pantalla de distancia. El tiempo para alcanzar el objetivo se define
entre dos y diez segundos. Por lo tanto, d y s son los dos valores que componen el cromosoma EA Una
población de tamaño n está representada por una matriz bidimensional como se ilustra en la Fig. 4, donde
cada la línea representa un solo cromosoma.
Figure 4. Una población que contiene n cromosomas, cada uno representado por una línea que contiene dos parámetros: d y s
B. Evaluación de aptitud
Para evaluar la aptitud de un cromosoma, corriente s y d los valores se usan para comenzar una ronda de
juego. Cuando la ronda termina, la condición física se calcula usando la ecuación 1.
𝐴𝑝𝑡𝑖𝑡𝑢𝑑𝑖 = 𝐾𝑑 ∗ 𝐺𝑑 + 𝐾𝑠 ∗ 𝐺𝑠 − 𝐾𝑒 ∗ 𝜀 + 𝐾𝑐 ∗ 𝛿 (1)
Donde, Kd, Ks, Ke y Kc son coeficientes que establecen el impacto que cada uno de los términos Gd, Gs, 𝜀
y 𝛿 tendrá en la aptitud valor. Los términos Gd y Gs reflejan la distancia y velocidad del juego, y se calculan
como se muestra en las ecuaciones 2 y 3.
Schlumberger-Private
𝑑−𝑑𝑚𝑖𝑛
𝑔𝑑 = 𝑑 (2)
𝑚𝑎𝑥 −𝑑𝑚𝑖𝑛
𝑠−𝑠𝑚𝑖𝑛
𝑔𝑠 = (3)
𝑠𝑚𝑎𝑥 −𝑠𝑚𝑖𝑛
Donde d es la distancia inicial del objetivo al jugador y s representa la velocidad objetivo, ambas definidas
por los valores del cromosoma que se está evaluando Los valores dmax y dmin son las distancias máxima
y mínima permitida por el juego, variando respectivamente, entre 50% y 1% del ancho de la pantalla del
juego, como se define en la Sección IV-A. Del mismo modo, smax y smin son las velocidades permitidas
mínima y máxima, respectivamente 10% y 50% de la altura del juego por segundo. Los primeros dos
términos en la ecuación 1 supone valores entre 0 y 1 que corresponden a el juego ronda las dificultades.
Mientras que Gd representa cuán lejos y Gs qué tan rápido es el objetivo, de acuerdo con las limitaciones
del juego. El tercer término en la Ecuación 1 𝜀, representa qué tan lejos de la posición horizontal objetivo
que el jugador tenía cuando la ronda terminado. La ecuación 4 muestra cómo se calcula 𝜀, teniendo en
cuenta el objetivo y la posición horizontal del jugador, xtarget y xplayer, respectivamente, cuando el
objetivo toca el suelo. En otras palabras, este término disminuye el valor de la aptitud en proporción a
qué tan lejos el personaje jugador se encuentra del objetivo cuando la ronda termina. Los valores mínimo
y máximo para ambos xtarget y xplayer, son 0 (lado izquierdo de la pantalla) y 1 (lado derecho de pantalla).
El último término, 𝛿, representa cómo el jugador usó el tiempo dado para alcanzar el objetivo, y se calcula
como se muestra en Ecuación 5.
𝑡𝑝𝑙𝑎𝑦𝑒𝑟
, 𝑡 < 𝑡𝑡𝑎𝑟𝑔𝑒𝑡
𝛿 = { 𝑡𝑡𝑎𝑟𝑔𝑒𝑡 𝑝𝑙𝑎𝑦𝑒𝑟 (5)
0, 𝑑𝑒 𝑜𝑡𝑟𝑎 𝑚𝑎𝑛𝑒𝑟𝑎
Los términos tplayer y ttarget en la ecuación 5 representan, respectivamente, el tiempo utilizado por el
jugador para alcanzar el objetivo en la posición horizontal y el tiempo que le toma al objetivo tocar el
suelo. Una ronda se considera buena si el jugador hace un buen uso del tiempo disponible Para ilustrar
este concepto, una ronda de juego donde el jugador puede alcanzar la posición horizontal objetivo en 1
segundo, mientras que si toma 5 segundos para que el objetivo llegue al jugador puede considerar
demasiado fácil el terreno, por lo tanto, 𝛿 es dado un pequeño valor. Un escenario más desafiante sería
uno donde el jugador tarda 4,5 segundos para alcanzar el objetivo mientras el objetivo golpea el suelo en
5 segundos, lo cual dar como resultado un mayor valor para d, colaborando positivamente con la aptitud
cromosómica dada.
Schlumberger-Private
Resumiendo, los primeros dos términos en la Ecuación 1 aumentan el valor de la aptitud a medida que
aumenta la dificultad circular (valores más altos) de s y d, el tercer término intenta aumentar el valor de
la aptitud por una medida de qué tan desafiante era la ronda y el último termino disminuye la aptitud
para rondas de juego que también son frustrante para el usuario.
C. Selección y mutacion
Para crear cada cromosoma de la próxima población, se utiliza un enfoque elitista [13], donde el
cromosoma con mayor la aptitud es seleccionada. Se crea una nueva población reemplazando cada
individuo de la población anterior por una copia del individuo seleccionado y aplicando una mutación
limitada operador [14] en todos los cromosomas, excepto uno. Una copia del mejor cromosoma se
mantiene. El operador de mutación aplicado agrega una variable aleatoria uniforme en [0.05, 0.05] para
d y s dentro de los límites de cada parámetro. Después de la introducción de estos valores, cada parámetro
se ajusta para que no excede los límites definidos. La Fig. 5 ilustra este proceso.
Schlumberger-Private
Figure 6. Aplicando operadores de selección y mutación
El ciclo representado por los pasos 2 y 3 en la figura 6 se repite hasta que el juego termine la adaptación,
es un continuo proceso, donde el desafío del juego debería mejorar como función de la capacidad del
jugador. Sin embargo, para nuestras pruebas, pasos dos y tres se repiten hasta un cierto número de
generaciones se alcanza, como se explica en la Sección V.
V. EXPERIMENTOS Y RESULTADOS
El objetivo del primer experimento fue verificar la habilidad del EA propuesto para ajustar el nivel de
dificultad del juego para que coincida con la habilidad de un jugador. Para este propósito, ejecutamos una
simulación de mil juegos de partidos para tres simulados jugadores, cada uno con un nivel de habilidad
constante (es decir, los jugadores las habilidades no mejoran de un juego a otro), como se explica en la
Sección IV-E. El EA se usa para ajustar la distancia y velocidad del objetivo en el tiempo de juego. En este
experimento, coeficientes, que se introdujeron en la sección IV-B, se establecen en el mismo valor Kd =
Ks = Ke = Kc = 1. El comportamiento del valor de la aptitud a lo largo de las generaciones aumenta a medida
que aumenta la distancia al objetivo o su velocidad) para el cromosoma con mayor aptitud en cada
generación (200 generaciones por mil partidos y un EA con un tamaño de la población 5).
Schlumberger-Private
VI. CONCLUSIÓN Y TRABAJO FUTURO
Este documento muestra un ejemplo de un algoritmo evolutivo (EA) implementación como una forma de
ajustar el nivel de dificultad en tiempo de juego, aplicado a un sistema de rehabilitación robótica. Los
juegos de rehabilitación Catcher y Happy Fish se usaron como ejemplos de implementación. Para acelerar
el desarrollo de un sistema de ajuste de dificultad, se crearon perfiles de usuario virtuales y la función
objetivo (aptitud) para equilibrar la dificultad podría estar expuesto a pruebas exhaustivas, verificando el
algoritmo eficiencia.
Es posible observar en los resultados de la simulación que El EA propuesto es capaz de ajustar el nivel de
dificultad del juego de acuerdo con la habilidad del jugador simulado. También se muestra la importancia
de ajustar los coeficientes de la propuesta ecuación de la aptitud física, y un enfoque correspondiente,
basado en [9], fue propuesto que implementa este ajuste.
El trabajo futuro incluye: i) el desarrollo de un sistema automático método para ajustar los coeficientes
de aptitud física; ii) la implementación de pruebas adicionales con jugadores simulados con dinámica nivel
de habilidad dentro de una sesión de juego. Esto también puede mejorar la calidad de la representación
del jugador simulado, lo que permite también el nivel de habilidades de cambio debido al ejercicio que se
está jugando; y también la simulación de jugadores con impedimentos iii) Realizar pruebas clínicas con
sujetos con accidente cerebrovascular y evaluar el impacto de nuestra propuesta en sesiones de
rehabilitación.
Schlumberger-Private
REFERENCIAS
[2] G. A. P. Caurin, A. A. G. Siqueira, K. O. Andrade, R. C. Joaquim, and H. I. Krebs, “Adaptive strategy for
multi-user robotic rehabilitation games,” Proceedings of the Annual International Conference of the IEEE
Engineering in Medicine and Biology Society, EMBS, no. 1, pp. 1395– 1398, 2011.
[4] H. I. Krebs, J. J. Palazzolo, L. Dipietro, M. Ferraro, J. Krol, K. Rannekleiv, B. T. Volpe, and N. Hogan,
“Rehabilitation robotics: Performancebased progressive robot-assisted therapy,” Autonomous Robots,
vol. 15, no. 1, pp. 7–20, 2003.
[7] K. O. Andrade, G. G. Ito, R. C. Joaquim, B. Jardim, A. a. Siqueira, G. a. Caurin, and M. Becker, “A robotic
system for rehabilitation of distal radius fracture using games,” 2010 Brazilian Symposium on Games and
Digital Entertainment, pp. 25–32, 2010.
[9] M. Csikszentmihalyi, Flow - The Psychology of Optimal Experience, first edit ed. Harper Perennial, 1990,
vol. 1. [Online]. Available: http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-
20{\&}path=ASIN/0060920432
[10] R. Koster, A Theory of Fun for Game Design. Paraglyph Press, 2013.[11] P. Spronck, M. Ponsen, I.
Sprinkhuizen-Kuyper, and E. Postma, “Adaptive game ai with dynamic scripting,” Machine Learning, vol.
63, no. 3, pp. 217–248, 2006.
Schlumberger-Private