27
UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA EN INFORMÁTICA NÚCLEO CIUDAD BOLÍVAR AUTOR: BR.CARLOS M. PADILLA H. C.I: 19.872.073 TUTOR ACADÉMICO: ING. JUAN MARTÍNEZ CIUDAD BOLÍVAR, DICIEMBRE 2012 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.

UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

  • Upload
    phoebe

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO”VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

ESCUELA DE INGENIERÍA EN INFORMÁTICANÚCLEO CIUDAD BOLÍVAR

AUTOR: BR.CARLOS M. PADILLA H.

C.I: 19.872.073

TUTOR ACADÉMICO:ING. JUAN MARTÍNEZ

CIUDAD BOLÍVAR, DICIEMBRE 2012

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.

Page 2: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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.

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

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.

EL PROBLEMA

Page 3: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

OBJETIVOSGENERAL

DESARROLLAR UN SCRIPT DE INTELIGENCIA ARTIFICIAL HOSTIL EN BASE A JAVASCRIPT PARA

EL MOTOR GRAFICO DE DESARROLLO DE VIDEOJUEGOS UNITY 3D.

ESPECIFICOS

Evaluar de la plataforma Unity 3D.

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.

Page 4: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

JUSTIFICACION Y ALCANCELa 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.

Page 5: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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/system-requirements)

Page 6: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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”.

Page 7: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

BASES TEORICAS

VIDEOJUEGOS

BREVE RESEÑA HISTORICA GENERO

INTELIGENCIA ARTIFICIAL UNITY 3D

MOTOR DE VIDEOJUEGOS

Page 8: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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

Page 9: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

DEFINICION DE TERMINOS BASICOS

JAVASCRIPTMODELADO

PIXEL SHADER Y VERTEX SHADER

Page 10: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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)

Page 11: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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.

Page 12: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

MARCO METODOLOGICOTECNICAS 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

Page 13: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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.

Page 14: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

PRESENTACION Y ANALISIS DE LOS RESULTADOS

¿Como evaluaría el desem-peño del actual script de IA en

Unity 3d? BuenoMalo

Fuente: Carlos Padilla, Encuesta Realizada a usuarios del Foro Unity3D Utilizando la herramienta en línea http://kloz.wufoo.com/forms/encuesta-sobre-ia-en-

unity-3d/ (2012)

¿Cree usted que deberia mejorarse el Script ac-

tual?SiNo

Page 15: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

PRESENTACION Y ANALISIS DE LOS RESULTADOS

Fuente: Carlos Padilla, Encuesta Realizada a usuarios del Foro Unity3D Utilizando la herramienta en línea http://kloz.wufoo.com/forms/encuesta-sobre-ia-en-

unity-3d/ (2012)

¿Como evaluaria el desem-peño del nuevo Script presen-

tado? BuenoMalo

¿Utilizaria el nuevo Script de IA en su proyecto personal de de-

sarrollo?SiNo

Page 16: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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.

Page 17: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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.

Page 18: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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.

Page 19: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

OBJETIVOS DE LA PROPUESTA

GENERALMejorar el comportamiento del script de Inteligencia Artificial enemiga que trae por defecto la plataforma de desarrollo de videojuegos Unity 3D.

ESPECIFICOS

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.

Page 20: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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.

Page 21: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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 3DFuente: Padilla Carlos (2012)

Page 22: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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)

Page 23: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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)

Page 24: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

ESTUDIO DE FACTIBILIDADESTABLECER LA FACTIBILIDAD TECNICA Y OPERATIVA

Factibilidad Técnica.Procesador: Intel(R) Pentium(R) Dual CPU T3200 @ 2.00GHzMemoria RAM: 3,00 GBSistema Operativo: Windows 7 Ultimate de 32 bitsTarjeta Grafica: Mobile Intel(R) 4 Series Express Chipset Family de 64 MB de memoria grafica.

Page 25: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

ESTUDIO DE FACTIBILIDADESTABLECER 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.

Page 26: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

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.

(metros) en

tiempo real

Tiempo de intervalo entre

disparos.

(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.

Page 27: UNIVERSIDAD “GRAN MARISCAL DE AYACUCHO” VICE-RECTORADO ACADEMICO FACULTAD DE INGENIERÍA

PRUEBA Y EJECUCION PLENA DEL SCRIPT EN UN PROYECTO DE UNITY 3D.

Ejecución.

Procesador: Intel(R) Pentium(R) Dual CPU T3200 @ 2.00GHzMemoria RAM: 3,00 GBSistema Operativo: Windows 7 Ultimate de 32 bitsTarjeta Grafica: Mobile Intel(R) 4 Series Express Chipset Family de 64 MB de memoria grafica.