Presentaci - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Presentaci

Description:

Title: Presentaci n de PowerPoint Author: Sebastian Enrique Last modified by: Sebastian Enrique Created Date: 8/11/2001 10:25:18 PM Document presentation format – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 19
Provided by: Sebastia105
Category:

less

Transcript and Presenter's Notes

Title: Presentaci


1
Using
Synthetic Vision
for Autonomous Non-Player Characters
in Computer Games
ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
2
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Synthetic Vision en Juegos
Objetivo
  • Lograr mayor nivel de realismo en los personajes
    manejados por la computadora (NPC o Non-Player
    Characters) utilizando técnicas de sensado del
    ambiente para que el módulo de inteligencia
    artificial (IA) que gobierna el comportamiento de
    cada agente, lo haga exclusivamente mediante el
    uso de esa información sensada.

Medio
  • Inicialmente un sistema de sensado visual que
    produzca con alguna representación semántica lo
    que el agente está viendo en cada momento. Ese
    sistema es lo que se propone en este trabajo.

Potencial
  • Generar personajes totalmente autónomos, que
    sensen el ambiente de un modo similar al que lo
    hace un humano, y lleven la experiencia de cada
    juego y jugador a niveles nunca antes logrados.

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
3
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Synthetic Vision vs Computer Vision
Computer Vision Técnica utilizada en robots
reales. Es difícilmente aplicable para crear
agentes autónomos complejos en aplicaciones en
tiempo real como los juegos de computadora. Lidia
con
  • Detección de distancias.
  • Reconocimiento de formas.
  • Ruido.

Synthetic Vision Técnica utilizada para agentes
en mundos virtuales. Es una representación en 2D
de lo que el agente ve en un instante dado en su
mundo 3D. Permite tratar fácilmente problemas de
  • Percepción de profundidad.
  • Reconocimiento de objetos.
  • Detección de movimiento.

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
4
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Synthetic Vision Propuesto
Propuesta
De la escena renderizada desde el punto de vista
del agente, se generan dos viewports. Uno
conteniendo información estática, el Static
Viewport, y el otro conteniendo información
dinámica, el Dynamic Viewport. La información
está dada por falso coloreo en cada píxel,
brindando una semántica al color representado, en
el modelo RGB.
Viewport Estático
  • Utiliza falso coloreo para identificación de
    objetos.
  • Provee adicionalmente información de profundidad.

Viewport Dinámico
  • Utiliza falso coloreo para representación de
    movimiento instantáneo.

ASAI 2002 31º JAIIO Santa Fe Argentina
Septiembre 2002
5
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Static Viewport
Color de la Estructura
  • Los polígonos de la estructura de la escena se
    dividen en tres clases
  • Piso Polígonos con la componente Z de la normal
    mayor o igual a 0.8. Utilizamos el color verde
    (0.0, 1.0, 0.0).
  • Techo Polígonos con la componente Z de la normal
    menor o igual a -0.8. Utilizamos el color rojo
    (1.0, 0.0, 0.0).
  • Pared El resto de los polígonos. Utilizamos el
    color azul (0.0, 0.0, 1.0).
  • (la coordenada Z apunta hacia el cielo)

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
6
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Static Viewport (cont.)
Color de Otros Objetos
  • A cada clase de objeto se le asigna un único
    color. Por ejemplo
  • Todo power-up de energía se representa con (1.0,
    1.0, 0.0).
  • Todo power-up de municiones se representa con
    (0.0, 1.0, 1.0).
  • Todo enemigo de infantería se representa con
    (0.2, 1.0, 0.6).
  • Toda persona inocente se representa con (0.7,
    0.7, 0.5).

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
7
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Static Viewport (cont.)
Profundidad
El uso de la tecnología actual de motores 3D y
hardware de aceleración 3D permiten obtener
gratis la información de profundidad tomada del
Z-Buffer. A cada coordenada (x, y) del Static
Viewport, corresponderá una coordenada (x, y) en
el Z-Buffer que contiene un número real entre 0 y
1, llamémoslo dx,y. Para calcular la distancia
perpendicular d a la que se encuentra lo que
representa dicho píxel del agente d ( f n )
. dx,y n f es la distancia al plano más lejano
del View Frustum. n es la distancia al plano más
cercano del View Frustum.
far
near
View Frustum
Viewpoint
ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
8
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Dynamic Viewport
Semántica del Color
  • Cada píxel con coordenadas (x, y) en el viewport
    dinámico representa la información de movimiento
    instantánea del objeto con coordenadas (x,y) en
    el viewport estático.
  • Sea V el vector velocidad del objeto en las
    coordenadas dichas, y D el vector de dirección de
    visión del agente, cada componente de color se
    obtiene como
  • Rojo Mapeo de la magnitud de V, V ? 0,
    Vmáx, en el intervalo 0, 1.
  • Verde Mapeo del coseno del ángulo entre V y D, ?
    -1, 1, al intervalo 0, 1.
  • Azul Mapeo directo del seno del ángulo entre V y
    D, ? 0, 1, al intervalo 0, 1.

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
9
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Dynamic Viewport (cont.)
Semántica del Color (cont.)
Si normalizamos los vectores VN V /
V y DN D / D El coseno puede obtenerse
como cos(V, D) VN . DN VN1 . DN1 VN2 .
DN2 VN3 . DN3 Y el seno sen(V, D) ?(1
cos2(V, D)) Por lo tanto, todo objeto inanimado
se verá con color (0.0, 0.5, 1.0), un tono
azulado por tener velocidad cero, se asume un
coseno también en cero, y produce un seno en uno.
ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
10
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Módulo de IA
Descripción
  • Desarrollamos un módulo de IA muy simple para
    demostrar cómo podría ser usada la visión
    sintética.
  • Consiste en dar comportamiento autónomo a un NPC
    dentro de un juego del género FPS (First Person
    Shooter).
  • El comportamiento está basado en reglas y es
    reactivo.

Sobre el FPS
  • El NPC, Bronto, cuenta con dos propiedades
    Energía y Municiones.
  • El modelo de un FPS se ha simplificado no es
    posible que Bronto dispare con armas o reciba
    impacto de armas enemigas.
  • Tanto la energía como las municiones disminuyen
    linealmente, cuando la energía de Bronto llega a
    0, muere.
  • Bronto puede incrementar los valores de energía y
    municiones recogiendo power-ups del piso.

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
11
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Módulo de IA (cont.)
Comportamiento Estático
  • Se definen una serie de estados en los cuales
    Bronto estará dependieno de los valores de sus
    propiedades energía y municiones.
  • Lo llamamos comportamiento estático porque se
    resuelve con el viewport estático y profundidad.
  • Las variables a tener en cuenta son
  • H Energía actual de Bronto.
  • Hini Energía inicial de Bronto.
  • Hut Umbral superior de energía.
  • Hlt Umbral inferior de energía.
  • Análogas para municiones (Wxx).

Estados
  • WA (Walk Around).
  • LH (Looking-For Health).
  • LW (Looking-For Weapon).
  • LHW (Looking-For Health and Weapon).
  • LQW (Looking Quickly for Weapon).
  • LQH (Looking Quickly for Health).

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
12
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Módulo de IA (cont.)
Walk Around
  • Bronto está en este estado cuando no tiene ningún
    objetivo en concreto. Se dedica sólo a caminar
    evitando obstáculos.
  • A través de una heurística, se elige un punto de
    destino que corresponda a piso en el static
    viewport.
  • A través de una desproyección, se obtiene el
    punto de destino en coordenadas del mundo.
  • Luego, se traza una curva de Bezier entre Bronto
    y el punto de destino, que será el camino que
    Bronto recorrerá.
  • Si no es posible encontrar un punto de destino,
    Bronto intenta girar aleatoriamente a izquierda o
    derecha.
  • Si se detecta que Bronto está estancado, rota
    180º.
  • Este procedimiento se repite cada vez que Bronto
    ya recorrió un porcentaje determinado de la
    última curva trazada.

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
13
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Módulo de IA (cont.)
Looking-For
  • Bronto está en este estado cuando está necesitado
    de algún o ambos power-ups. En LW, LH, y LHW
    Bronto camina, mientras que en LQW y LQH corre.
  • A través de una heurística, se recorre el static
    viewport obteniendo todos los objetos que
    correspondan al power-up buscado.
  • Luego, se selecciona el power-up más cercano a
    Bronto, y se busca la coordenada en el viewport
    que corresponda a piso, esté a la misma
    profunidad que el power-up, y se encuentre debajo
    del mismo.
  • Esa coordenada es la que se establece como la de
    destino para luego desproyectar y trazar la curva
    de Bezier.
  • Si no había ningún power-up del buscado o la
    heurística falló al intentar encontrar una
    coordenada en el viewport que corresponda a piso
    con las características mencionadas, se ejecuta
    el comportamiento Walk Around.
  • Como en Walk Around, este proceso de selección de
    destino se repite cada vez que Bronto recorrió un
    porcentaje determinado de la última curva de
    bezier trazada.

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
14
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Módulo de IA (cont.)
Comportamiento Dinámico
  • Para demostrar un posible uso del viewport
    dinámico, agregamos
  • comportamientos reactivos ante la presencia o
    ausencia de enemigos.
  • Específicamente utilizamos la componente verde
    para saber si el
  • objeto viene (cos(V,D)lt0) o se aleja
    (cos(V,D)?0) de Bronto.
  • Los estados definidos son
  • Dont Worry ? No Hay Enemigo ? (Hay Enemigo ? ( H
    lt Hut ? W lt Wut ) ? cos(V,D) ? 0)
  • Cuando no hay enemigos o todos los que se ven se
    alejan de Bronto y alguna propiedad está por
    debajo del umbral superior se debe continuar con
    el comportamiento estático.
  • Avoid ? Hay Enemigo ? ( H lt Hut ? W lt Wut ) ?
    cos(V,D) lt 0
  • Cuando se ve al menos un enemigo que se acerca a
    Bronto y alguna propiedad está por debajo del
    umbral superior debe evitarse.
  • Intercept ? Hay Enemigo ? H ? Hut ? W ? Wut
  • Cuando se ve al menos un enemigo y ambas
    propiedad están por encima del umbral superior
    debe interceptarse.

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
15
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Demo
ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
16
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Conclusiones
  • El sistema de visión sintética propuesto brinda
    la suficiente información como para poder ser
    usado en módulos de IA para crear NPCs más
    reales, sensando el ambiente en lugar de acceder
    directamente a la información del juego.
  • El sistema de visión es perfecto en el sentido
    que las condiciones de luz no están consideradas
    en el falso coloreo un objeto en una zona poco
    iluminada, que sería difícil de ver, es percibido
    perfectamente igual que si estuviera plenamente
    iluminado.
  • La información brindada por el viewport dinámico
    también es perfecta. Podría agregarse ruido para
    hacerlo más humano.
  • Se ha implementado un simple agente sin memoria
    con resultados satisfactorios, el desafío ahora
    es agregar memoria y aprendizaje, y posiblemente
    otros sentidos como el auditivo.

ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
17
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Demo PadCenter
PadCenter fue construido por Andreas Ente,
ENTE.endres_at_t-online.de, http//padworld.exp-netwo
rk.de/
ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
18
Using Synthetic Vision for Autonomous Non-Player
Characters in Computer Games Enrique, Sebastian
Watt, Alan Maddock, Steve Policarpo, Fabio
Demo Quake III
Quake III Arena, id Software, http//www.quake.com
/
ASAI 2002 31º JAIIO Santa Fe
Argentina Septiembre 2002
Write a Comment
User Comments (0)
About PowerShow.com