Resumen del Proyecto
El proyecto
será un juego que será contra la maquina IA, que funcionara con inteligencia
artificial, será el juego por turnos, será de dos jugadores uno contra otro (uno
comandado por la IA), el objetivo principal será destruir la base del
contrario, la IA se adaptara a la forma de juego. Constara de un tablero el cual sera similar al de un juego de ajedrez, pero que estará constituido por montañas, campo abierto y algunos edificios en el que el usuario y IA moverán sus unidades para llegar a la base enemiga.
Las unidades (soldados) serán asignadas al iniciar cada partida, se podrá escoger la civilización que guste para el usuario y también para la maquina IA. También se podrán adquirir nuevas unidades a conforme vayan pasando los turnos y obteniendo puntos por cada turno.
La modificación que se le hiso es que solo sera de dos niveles que seria el normal y el difícil, también que sus escenarios serán clasificados como grandes, mediano y pequeño y se moverán por bloques con su respectivo limite de cada unidad por turno.
Colisiones
Demostracion.
se muestra como se jugara el juego, basado en el juego para android Uniwars.
Avance con respecto a la planeación
Con respecto
al avance presentaremos un calendario de trabajo realizado en Microsoft Project
2012 para representar cada una de las actividades en las que se avanzo y las
que faltan por avanzar.
Este
software lo seguiremos manejando nos ayuda a tener un poco mas de organización,
aunque si nos atrasamos en unos días ya que había inconveniente externos al
proyecto, por lo cual el avance en la codificación no se realizo.
¿Qué se ha hecho?
Para el
proyecto se a realizado la mayoría de las actividades ya presentadas en el
calendario anterior, de las cuales se consideran mas importantes la de elección
del lenguaje que se usara, en este caso será JAVA, que se escogió mas que todo
por que es el lenguaje que mas se domina por el equipo. Otro punto importante
en el cual se hiso avance fue el uso de video tutoriales sobre este lenguaje,
ya que aun sabiendo sobre el, nos faltan abarcar algunos puntos los cuales
usaremos para el proyecto, como puede: ser el manejo de multiagentes, información
de sistemas inteligentes y uso de librerías que faciliten el proceso.
¿Qué falta?
Bueno
tuvimos varios inconvenientes en cuanto al tiempo, ya que no pudimos avanzar
con la codificación, por lo cual faltaría comenzar con la parte del
funcionamiento del proyecto teniendo ya definidas las clases y variables a
usar, para después pasar a realizar la interfaz que ya será lo mas sencillo. Falta
también buscar mas información mucha mas sobre sistemas inteligentes.
¿Qué problemas se han presentado y cómo los has resuelto / piensas
resolverlos?
Los problemas
entre los más importantes fue el tiempo para dedicarle a la codificación,
necesitamos organizarnos un poco más ya que por problemas externos al proyecto
se ha estado atrasando la codificación. Otro era la búsqueda de tutoriales de
sistemas inteligentes y/o uso de multiagentes, pero pues no paramos hasta
encontrar buena información y algunas ayudas externas sobre como se podrían utilizar
en nuestro proyecto.
Lista
actualizada de recursos y herramientas
El esta entrega presentamos una lista actualizada de recursos y
herramientas de lo que hemos investigado conforme a nuestro proyecto, como
nuestro proyecto es un juego tipo ‘’Age of Empires’’ pero más sencillo,
siguiendo la idea de este juego y analizando los aspectos clave o importantes,
nos dimos cuenta que vamos a tener que utilizar o nos ayudaría
considerablemente lo que son los ‘’Agentes’’ y ‘’Multiagentes’’ a parte de que
ya nos habían advertido que seguramente tendríamos que enfocarnos a estudiar
ese tema porque lo utilizaríamos.
Para entrar más a fondo en este tema seguimos una introducción la cual
nos ayudó a definir varias cosas.
Como bien ya sabemos un agente autónomo es un sistema que habita en un
entorno dinámico en el que percibe y actúa alcanzando una serie de objetivos
para la cual fue diseñado, nosotros proponemos un entorno virtual el cual
constará con una serie de características referente al tipo de juego que con la
ayuda del usuario, será un sistema adaptativo y tendrá que percibir algunas
características que van a variar obteniendo resultados más dinámicos y diferentes.
Algunas de las características de los agentes inteligentes con las que
tenemos que trabajar más son:
- - Control del entorno
- - Punto de vista incompleto
También podríamos definir que el tipo de entorno de nuestro proyecto es:
Estático/Dinámico
El
lenguaje pensado a usarse es Java
-
Compiladores NetBeans, Eclipse en Windows o Emacs en Ubuntu.
-
Tutoriales sobre el uso de Multiagentes.
-
Información sobre Sistemas Inteligentes
-
Librerías de Java.
También investigamos
algunas librerías y herramientas que pensamos que nos ayudarán como:
http://www.oocities.org/es/mineria.datos/sistemas_herramientas_mineria_datos.pdf
Queremos implementar auto aprendizaje de algunas características o
detalles para que sea más dinámico el juego, pero aún nos queda investigar bien
este punto.
Hay tutoriales que nos están ayudando mucho como estos:
Hemos estado investigando diferente tipo ideas, aún tenemos que
orientarnos en algunos aspectos ya que pensamos que podríamos batallar con
algunas cosas.
Bosquejo de solución
se presentan algunas clases que se piensan usar, así como sus posibles funciones (las mas importantes) y la breve explicación de cada clase.
Clase
|
Funciones
|
Descripción general
|
Menú principal
|
*Ingresa nombre
*Selección de tamaño del mapa
*Selección de nivel de juego
|
En esta clase se encuentra la primera
parte del juego en donde se solicitara un nombre al jugador , selecciona que
tamaño de mapa deseara jugar, como el nivel del juego generando la partida
con estas características
|
Menú de jugador (base)
|
*genera Oro
*crear soldado #1
*crear soldado #2
*crear soldado #3
*crear soldado #4
*crear soldado #5
*crear soldado #6
*crear soldado #7
*soldado perfil
|
En esta clase es el desarrollo la
primera parte del juego cuando seleccionara la base el usuario podrá creando
algún tipo de soldado basándose en la cantidad de recurso que tenga (oro)
donde se mostrara cuando preseleccione el soldado las características de este
como su movilidad y bonos de ataque como defensa por tipo de área en el
campo. La generación de oro será otorgada relación a la cantidad de bases
bajo el poder del jugador antes de iniciar sus movimientos.
|
Menú de Soldado
|
*valida tipo de soldado
*menú de soldado #1
*menú de soldado #2
*menú de soldado #3
*menú de soldado #4
*menú de soldado #5
*menú de soldado #6
*menú de soldado #7
*ataque
*movimiento
*rango visible
|
En esta clase es el desarrollo de la
segunda parte del juego donde el usuario selecciona al soldado y podrá elegir
entre atacar a un enemigo dentro del rango de ataque, moverse para atacar,
defenderse o simplemente ampliar su panorama del mapa y ver tropas enemigas
|
AI
|
*Análisis de campo
*movimiento
|
En esta clase esta desarrollada el
área de IA de la computadora (enemigo) donde se analizara el mapa visible
para la computadora y realizara su movimientos con la finalidad de exterminar
con los soldados del usuario y conquistar la base del usuario
|
Interface
|
*Crear Mapa
*Colocar soldados
*Colocación de bases
*creación de menús
|
En esta clase se desarrollara toda la
interface grafica del juego como es la colocación del mapa, bases y los
soldados dentro del mapa, como también los menús dependiendo si el usuario
seleccionó a un soldado o la base, desarrollándose en esta toda la parte
visual del juego
|
Se presenta diagrama de alguna de la clase IA: