Download Diapositiva 1 - WordPress.com

Document related concepts
Transcript
UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO”
VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA EN INFORMÁTICA
NÚCLEO CIUDAD BOLÍVAR
DESARROLLO DE UN SCRIPT DE INTELIGENCIA ARTIFICIAL HOSTIL EN BASE A
JAVASCRIPT PARA EL MOTOR GRAFICO DE DESARROLLO DE VIDEOJUEGOS
UNITY 3D.
CIUDAD BOLIVAR – ESTADO BOLIVAR.
TUTOR ACADÉMICO:
ING. JUAN MARTÍNEZ
AUTOR:
BR.CARLOS M. PADILLA H.
C.I: 19.872.073
CIUDAD BOLÍVAR, DICIEMBRE 2012
EL PROBLEMA
La plataforma de desarrollo de Videojuegos Unity 3d
tiene una amplia gama de características que permite a
desarrolladores novatos de todo el mundo la capacidad
de crear sus propios juegos de forma rápida y sencilla.
La solución que se
busca a este
problema es la de
desarrollar un nuevo
script en base a las
sugerencias que
requiere la
comunidad y que
sea esta quien lo
mejores en
versiones futuras
Lo cual le acarrea problema principalmente a los
usuarios con menos experiencia en programación
que desean desarrollar un videojuego al ver las
limitaciones que posee dicho script
Sin embargo, al
igual que muchas
otras herramientas
para el desarrollo
posee un problema
particular el cual
reside en los
scripts de
Inteligencia
Artificial que trae
por defecto.
OBJETIVOS
GENERAL
DESARROLLAR UN SCRIPT DE INTELIGENCIA
ARTIFICIAL HOSTIL EN BASE A JAVASCRIPT PARA
EL MOTOR GRAFICO DE DESARROLLO DE
VIDEOJUEGOS UNITY 3D.
Evaluar de la plataforma Unity 3D.
ESPECIFICOS
Modelar del Mapeado para un nivel simple.
Explorar opciones sobre las texturas a
utilizar.
Desarrollar script de inteligencia Artificial
basado en lenguaje Javascript.
Evaluar el desempeño del script.
Exportar el proyecto para transformarlo en
ejecutable.
JUSTIFICACION Y ALCANCE
La motivación para este trabajo no es otra si no la realización
de un script de inteligencia artificial que dé una respuesta
hostil al usuario para un ejemplo de videojuego en el motor
grafico Unity 3D, mejorando muchas de las características
que trae la versión por defecto de dicho script.
LO QUE NOS LLEVA
A
EL ALCANCE
Lograr el desarrollo de un script de inteligencia artificial que
genere una respuesta agresiva al usuario por parte del “bot” o
robot utilizado para la prueba.
LIMITACIONES
Windows: XP SP2 o posterior, Mac OS X: Intel CPU &
"Leopard" 10.5 o posterior. A tener en cuenta que Unity no
ha sido probado en versiones de servidor de Windows y OS
X. Tarjeta gráfica con DirectX 9 con capacidad para
(Shader Model 2.0). Cualquier tarjeta hecha desde el año
2004 debería funcionar. (http://unity3d.com/unity/systemrequirements)
ANTECEDENTES DE LA INVESTIGACION
Luzardo y Hernandez (2009) “Inteligencia Artificial en
Ambientes Virtuales: Humanos Virtuales Autónomos
(HVA) como Agentes Virtuales Inteligentes (3DIVA)”
Salao Bravo (2009) “Estudio de las Técnicas de
Inteligencia Artificial mediante el apoyo de un Software
Educativo”.
Uribe (2011) “Aprendizaje automático de maniobras
autónomas de combate aéreo aplicadas a videojuegos”.
BASES TEORICAS
BREVE RESEÑA
HISTORICA
GENERO
VIDEOJUEGOS
INTELIGENCIA
ARTIFICIAL
UNITY 3D
MOTOR DE
VIDEOJUEGOS
BASES LEGALES
PUBLICADO EN GACETA OFICIAL Nº 39.320
DEL 3 DE DICIEMBRE DE 2009 LEY PARA LA
PROHIBICIÓN DE VIDEOJUEGOS BÉLICOS Y
JUGUETES BÉLICOS
DEFINICION DE TERMINOS
BASICOS
PIXEL SHADER Y
VERTEX SHADER
MARCO METODOLOGICO
TIPO Y DISEÑO DE LA INVESTIGACION
Se denomina Proyecto Factible la elaboración de una propuesta viable,
destinada atender necesidades específicas a partir de un diagnóstico. El
Manual de Tesis de Grado y Especialización y Maestría y Tesis
Doctorales de la Universidad Pedagógica Libertador, (2003)
MARCO METODOLOGICO
POBLACION Y MUESTRA
La población para la
realización de esta
investigación será
tomada en base al
Foro de la comunidad
de desarrolladores de
videojuegos de Unity
3D
Para la investigación
se tomara como
muestra alrededor de
40 usuarios
participando en un
tema abierto en dicho
foro.
MARCO METODOLOGICO
TECNICAS E INSTRUMENTOS DE
RECOLECCION DE DATOS
Encuesta escrita de selección simple,
la técnica utilizada será mediante una
encuesta de selección simple utilizando
la página web: http://wufoo.com/ para
la creación de la encuesta y el manejo
de los resultados.
TÉCNICAS DE ANÁLISIS DE DATOS
PROCEDIMIENTO PARA EL
LOGRO DE LOS OBJETIVOS
PROCEDIMIENTO PARA EL LOGRO DE LOS OBJETIVOS






Evaluar la plataforma de Desarrollo de Videojuegos Unity
3D para saber si es la mejor adaptable, por su curvatura de
aprendizaje, para la realización del proyecto.
Modelar un mapa simple para la realización de pruebas.
Realizar una búsqueda de texturas para el modelado del
mapa, así como también el personaje a controlar y los
robots enemigos.
Desarrollar el script de Inteligencia Artificial para un
comportamiento Hostil, mediante la implementación del
editor de código incorporado en Unity 3D “MonoDevelop”
trabajando en base a una programación JavaScript.
Realizar pruebas de rendimiento del script exportándolo a
otros proyectos para ver como se desenvuelve e identificar
posibles errores.
Exportar el proyecto inicial con el script nuevo para
transformarlo en un ejecutable para que se pueda realizar
las pruebas finales de rendimiento.
PRESENTACION Y ANALISIS DE
LOS RESULTADOS
¿Como evaluaría el
desempeño del actual script
de IA en Unity 3d?
¿Cree usted que deberia
mejorarse el Script
actual?
Si
Bueno
No
Malo
Fuente: Carlos Padilla, Encuesta Realizada a usuarios
del Foro Unity3D Utilizando la herramienta en línea
http://kloz.wufoo.com/forms/encuesta-sobre-ia-enunity-3d/ (2012)
PRESENTACION Y ANALISIS DE
LOS RESULTADOS
¿Utilizaria el nuevo Script de IA
en su proyecto personal de
desarrollo?
¿Como evaluaria el
desempeño del nuevo Script
presentado?
Bueno
Si
Malo
No
Fuente: Carlos Padilla, Encuesta Realizada a usuarios
del Foro Unity3D Utilizando la herramienta en línea
http://kloz.wufoo.com/forms/encuesta-sobre-ia-enunity-3d/ (2012)
CONCLUSIONES




Lo que se logro con esta investigación fue, mejorar un script de
IA básico para un FPS Shooter de ejemplo que trae la plataforma
de desarrollo de videojuegos Unity 3D.
Para lograr esto se tuvo que contar con el apoyo de la comunidad
presentándoles un modelo de cómo sería la IA terminada.
Luego de verificar sus respuestas se procedió a ensamblar la IA
para mostrar un resultado final y al mismo tiempo una encuesta
para que los usuarios en este caso, desarrolladores novatos o
independientes en la comunidad Unity, respondieran si las
mejoras que se le habían realizado a la IA cumplían con lo que
se buscaba obtener.
Como se puede apreciar en las estadísticas el resultado general
es un éxito en cuanto a desarrollo y al ser código abierto da paso
a que la comunidad siga mejorando dicho script.
RECOMENDACIONES




Mejorar el Rango de Visión de los enemigos, para que así no
pierdan de vista tan rápido al objetivo.
Implementar una orden alterna de combate cuerpo a cuerpo, para
que el enemigo no utilice munición que acabaría con él en
combate cercano.
Implementar un sistema de búsqueda mas pulido, para que al
tratar de salir del campo de visión del enemigo este localice al
objetivo.
Realizar un modulo de cobertura o en su defecto movimientos
extra para los enemigos ya que al momento de atacar estos sin
más van de frente contra el objetivo, dejándoles en una posición
descubierta.
LA PROPUESTA
Lo que se intenta con este proyecto es mejorar el script de IA
que trae por defecto la plataforma Unity 3D sirviendo como
base las quejas de usuarios novatos en la plataforma en
cuanto a programación
Tomando en cuenta las siguientes quejas, se pretende
lograr algo que contenta las siguientes ventajas:
Que la IA enemiga sea más desafiante para el
usuario.
Que no sea fácil de eludir.
Que se le amplié su rango de acción y visión.
OBJETIVOS DE LA PROPUESTA
GENERAL
ESPECIFICOS
Mejorar el comportamiento del script de Inteligencia
Artificial enemiga que trae por defecto la plataforma
de desarrollo de videojuegos Unity 3D.
Evaluar el Script de Inteligencia Artificial
por defecto de Unity 3D.
Importar el nuevo script de Inteligencia
Artificial en un proyecto de Unity 3D
Determinar la factibilidad del nuevo
script de Inteligencia Artificial en
comparación con el script por defecto.
Probar mediante la ejecución el
comportamiento del nuevo script en
comparación con el anterior, en el
mismo proyecto y en simultáneo.
Evaluar el Script de Inteligencia
Artificial por defecto de Unity 3D.
Velocidad de Reacción y Movimiento contra
el jugador.
Tamaño del campo de visión de la Inteligencia
Artificial.
Rango del campo de acción.
Reacción al combate cercano.
Comportamiento de la Inteligencia Artificial al salir
y entrar en el campo de visión de la misma.
IMPORTACION DE LA NUEVA INTELIGENCIA
ARTIFICIAL DESARROLLADA EN EL
PROYECTO.
CREACION
Figura N°1. Creación del Script en el Navegador de proyecto de Unity 3D
Fuente: Padilla Carlos (2012)
IMPORTACION DE LA NUEVA INTELIGENCIA
ARTIFICIAL DESARROLLADA EN EL
PROYECTO.
INTRODUCCION
Figura N°2. Interfaz de programación MonoDevelop de Unity 3D con el script de
Inteligencia Artificial. Fuente: Padilla Carlos (2012)
IMPORTACION DE LA NUEVA INTELIGENCIA
ARTIFICIAL DESARROLLADA EN EL
PROYECTO.
IMPORTAR
Figura N°3. Inserción del Script de Inteligencia Artificial en un enemigo.
Fuente: Padilla Carlos (2012)
ESTUDIO DE FACTIBILIDAD
ESTABLECER LA FACTIBILIDAD
TECNICA Y OPERATIVA
Factibilidad Técnica.
Procesador: Intel(R) Pentium(R) Dual
CPU T3200 @ 2.00GHz
Memoria RAM: 3,00 GB
Sistema Operativo: Windows 7
Ultimate de 32 bits
Tarjeta Grafica: Mobile Intel(R) 4
Series Express Chipset Family de 64 MB
de memoria grafica.
ESTUDIO DE FACTIBILIDAD
ESTABLECER LA FACTIBILIDAD
TECNICA Y OPERATIVA
Factibilidad Operativa.
Este script será utilizado
por los miembros de la
comunidad que necesiten
de una Inteligencia
Artificial en el caso de un
Shooter
Ya que cumple con las
exigencias mínimas que se
buscan al momento de
querer una reacción
acertada por parte de los
robots o “bots” enemigos.
PRUEBA Y EJECUCION PLENA DEL
SCRIPT EN UN PROYECTO DE
UNITY 3D.
Prueba de
comportamiento.
SCRIPT
Velocidad de
Reacción.
(segundos)
Rango de Acción.
Tiempo de intervalo entre
(metros)
disparos.
en
tiempo real
(segundos)
Tamaño del Campo
visual. (metros)
DEFECTO
5s
15m
0.35s
5m
NUEVO
3s
16m
0.25s
10m
Cuadro N°1: Comparación de Script reveladas por las pruebas de
comportamiento.
PRUEBA Y EJECUCION PLENA DEL
SCRIPT EN UN PROYECTO DE
UNITY 3D.
Ejecución.
Procesador: Intel(R) Pentium(R) Dual CPU
T3200 @ 2.00GHz
Memoria RAM: 3,00 GB
Sistema Operativo: Windows 7 Ultimate de 32
bits
Tarjeta Grafica: Mobile Intel(R) 4 Series
Express Chipset Family de 64 MB de memoria
grafica.