Presentaci - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Presentaci

Description:

Departamento de Computaci n Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires An Investigation Into the Use of Synthetic Vision – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 27
Provided by: Sebast65
Category:

less

Transcript and Presenter's Notes

Title: Presentaci


1
Departamento de Computación Facultad de
Ciencias Exactas y Naturales Universidad de
Buenos Aires
An Investigation Into the Use of
Synthetic Vision
for NPCs/Agents
in Computer Games
Autor
Director
Watt, Alan
a.watt_at_dcs.sheffield.ac.uk
Co-Director
Tesis de Licenciatura Octubre 7, 2002
2
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
3
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
4
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Trabajo Previo
  • Olivier Renault utiliza en 1990 una visión
    sintética de 30x30 píxeles para animación,
    valiéndose del front buffer para rendering
    normal, del back buffer para identificación de
    objetos, y del z-buffer para distancias. Propone
    comportamientos de alto nivel para atravesar un
    corredor evitando obstáculos.
  • Terzopoulos propone en 1994 un sistema de visión
    estereoscópica para simular la visión de peces
    artificiales.
  • Hansrudi Noser utiliza en 1995 una visión
    sintética para navegación de un actor digital.
    Emplean una memoria por medio de voxels para
    evasión de obstáculos y representación de
    conocimiento.
  • Bruce Blumberg propone en 1997 una visión
    sintética basada en energía de movimiento para
    navegación en bajo nivel y evasión de obstáculos
    de un perro virtual.
  • James Kuffner en 1999 realiza una visión
    sintética con falso coloreo y memoria visual para
    resolver cuestiones de navegación.
  • Ninguno de los trabajos anteriores se enfoca en
    la realización de un sistema de visión sintética
    para el uso en los juegos de computadora.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
5
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
6
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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)

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
7
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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).

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
8
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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
Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
9
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
10
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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.
Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
11
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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,
    sin memoria, 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.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
12
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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).

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
13
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
14
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Módulo de IA (cont.)
Heurística Walk Around
  • Estrategia Camino libre central
  • Estrategia Camino libre más a la derecha de la
    mitad izquierda del viewport

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
15
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Módulo de IA (cont.)
Heurística Walk Around (cont.)
  • Estrategia Falla

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
16
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Módulo de IA (cont.)
Heurística Walk Around Giro
  • Si hubo falla, se intenta girar aleatoriamente a
    izquierda o derecha.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
17
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
18
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Módulo de IA (cont.)
Heurística Looking-For
?x, ?y ? ?0, cantidad de píxeles de tolerancia en
el viewport estático para los ejes x e y. ?d ? ?,
0 ? ?d ? 1, tolerancia en el depth buffer para la
profundidad. PUr, bounding box radio del power-up
en píxeles. ?x ?y PUr o.depth ?d PUr (
NP / FP ) Armar lista objectlist vacía Recorrer
el static viewport Si el píxel p es un power-up
de la clase buscada entonces Para cada objeto o
de la lista objectlist Si p.x ? o.x - ?x, o.x
?x y p.y ? o.y - ?y, o.y ?y y
p.depth ? o.depth - ?d, o.depth ?d
entonces Se trata de un píxel del objeto o,
dejar de comparar objetos y seguir con el
próximo píxel del viewport. Si p no pertenecía a
ningún objeto, agregar un objeto o a objectlist
con o'.x p.x o'.y p.y o'.depth p.depth
Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
19
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Problemas Conocidos
The Higher Floor Problem
  • Lo que no es piso propiamente dicho, pero se
    dibuja en el static viewport con el color del
    piso debido a la normal del polígono, Walk Around
    no sabe identificarlo y puede producirse que
    Bronto se quede estancado intentando atravesar
    obstáculos como si no existieran.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
20
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Problemas Conocidos (cont.)
The Perspective Problem
  • Como Walk Around utiliza un rectángulo para
    determinar puntos de destino en el static
    viewport, no se está teniendo en cuenta el efecto
    de la perspectiva, esto produce que Bronto esté
    corto de vista y elija destinos relativamente
    cercanos.
  • Como Bbbr es un valor estimado y está obtenido
    experimentalmente para no estar demasiado corto
    de vista, Bronto también podría intentar pasar
    por lugares donde no cabe.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
21
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Problemas Conocidos (cont.)
The Looking-For Problem
  • La heurística utilizada en Looking-For no toma en
    cuenta obstáculos ni el ancho de Bronto, causando
    que se quede estancado si algo interfiere en el
    camino entre su posición actual y el destino
    deseado.

Problema
Solución
Otros Casos con Problemas
Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
22
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
23
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Demostración
Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
24
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
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.

Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
25
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Trabajo a Futuro
Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
26
An Investigation Into the Use of Synthetic Vision
for NPCs/Agents in Computer Games Sebastian
Enrique
Preguntas
Autor
Director
Watt, Alan
a.watt_at_dcs.sheffield.ac.uk
Co-Director
Tesis de Licenciatura DC FCEyN - UBA Octubre 7,
2002
Write a Comment
User Comments (0)
About PowerShow.com