Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Warboard3d

Iniciado por Warchief, 20 de Noviembre de 2005, 04:42:30 PM

« anterior - próximo »

Warchief

 Me parece que la idea del alpha es deliciosa, pero ¡a ver si da para tanto!. Poner 2 texturas se me antoja fácil, pero darle alpha a una,..., habré de investigar.

@Iluminación
En principio usaba hasta sombras (stencil) [al menos con los md2], y caía de 100fps a 10. Así que quité luces y todo a global. Tengo que rehacer las texturas (las hice a base de tampón de clonar en el photoshop :D); supongo que entonces meteré profunidad, sí. Eso estaba en mente.

Aunque de momento, las prioridades son:
+ A* (un par de días)
+ IA graciosa para cada unidad (sin detalles ;))
+ Iconos de interfaz
+ Fuente propia (o encontrar una que me satisfaga)


Ahora que tengo el TodoList iré apuntando lo que comentáis.


Gracias por las ideas.

Daemon

 Hola,

No estoy muy ducho en esto, pero normalmente los geneticos y las redes neuronales se suelen combinar para encontrar la estructura de la red que mejor aprende un problema (en menos ciclos de prueba).
¿Que parametros estas usando como genes en los cromosomas?

Por si te interesa en la ugr hay un articulo sobre geneticos que se usaban para que un bot del unreal aprendiese y dio muy buen resultado. Ahora mismo no tengo la referencia, pero en cuanto la encuentre la posteo por aqui

Vicente, ¿de que va a ir tu tesis?

Saludos
Imagina todo lo que puedes hacer. Despues hazlo.

Pogacha

 Será como el juego 2d ? por turnos y con energias y cantidad de movimientos o será interactivo?
No veo entonces la necesidad del A* ...
Saludos

Warchief

 
QUOTE (pogacha)
Será como el juego 2d ? por turnos y con energias y cantidad de movimientos o será interactivo?
No veo entonces la necesidad del A* ...
Saludos[/quote]

El concepto no cambia, aunque sí la jugabilidad, que pasa a ser aún mejor que el aclamado WWBMPv1.0 (aka Warboard2D).  :P

QUOTE (daemon)

No estoy muy ducho en esto, pero normalmente los geneticos y las redes neuronales se suelen combinar para encontrar la estructura de la red que mejor aprende un problema (en menos ciclos de prueba).
¿Que parametros estas usando como genes en los cromosomas?
[/quote]

De momento no he empezado esa parte, aunque la idea es poner a pelearse a los genéticos entre ellos hasta que salga uno capaz de enfrentarse a un humano (¡que subjetivo suena!). El aprendizaje posterior de este superindividuo será otra cuestión. Espero que aprenda a qué unidad debe atacar, con cuál, y según la situación y objetivo. Aún es pronto para revelar detalles.

Vicente

 Hola,

Para Daemon:
mi tesis va a ir de aplicación de computación biológica en inteligencia artificial de videojuegos. Como bien dices, normalmente hasta ahora los genéticos se utilizan sobre todo para optimizar los pesos de una red neuronal a la que se ha entrenado para resolver un problema (normalmente repitiendo lo que hace una persona que es la que enseña a la red). En el arena boot del quake 3 se utilizaron para optimizar máquinas de estado difusas (creo) también por ejemplo. En general su aplicación actual siempre es para mejorar los parámetros deotra técnica de IA (lo cual tiene mucha lógica porque es algo que hacen muy bien). Una de las aplicaciones típicas de un genético es optimizar los parámetros de otro genético ;).

Mi mayor interés es de momento en el intentar usar genéticos en entornos de tiempo real. Vamos, no entrenar antes y luego usarlos, si no poder evolucionar en tiempo real en el juego. Ya sé que un genético tiene un consumo de cpu muy grande y un tiempo de aprendizaje bastante largo, pero creo que con las máquinas que hay ahora, y sobre todo con el tema de usar hilos y tal, no sería tan descabellado poner un genético por detrás evolucionando parámetros de comportamiento de bichos (por ejemplo) según lo bien que se comportan en el juego (posiciones que alcanzan en un juego de carreras, tiempo que consiguen vivir hasta que el jugador los mata, etc etc). Esto permitiría crear oponentes que son muy dinámicos a los diferentes jugadores, crear diferentes niveles de dificultad sin tener que cambiar nada,... Por ejemplo si en un juego quiero que mi genético gane un 50% de las veces, y al principio el jugador pierde siempre (porque la versión de serie que le doy está bien entrenada), el genético jugará peor, o incluso intentará enseñar al jugador sus tácticas para que el jugador las aprenda y pueda contrarrestarlas. Una vez el jugador aprenda y mueva el porcentaje a su favor el genético buscará nuevas estrategias que le permitan ganar y obligará al jugador a aprender otra vez, etc etc

Respecto a usar solo un genético como piedra central de la IA: es algo que también quiero mirar, pero creo que tiene bastante curro, porque no soy capaz de encontrar un método que permita al genético "tener memoria".  Al principio pensé en un juego de estrategia como Warchief (porque me encantan), pero no fui capaz de pensar como hacer que el genético planeara cosas a tiempo futuro. Cabe reconocer que tampoco le di demasiadas vueltas :P

De todas formas tengo que pulir mucho la idea, y leer un montón de documentación, que aún estoy bastante verde. Pero me parece un campo de aplicación interesante la verdad. Un saludo!

Vicente

Daemon

 Vaya, pues entonces ya sois dos a los que puede interesarles el articulo de los geneticos en el unreal. Voy a intentar ponerme en contacto con el chaval que lo hizo y que me diga la revista donde lo publicaron. La desgracia es que yo estoy ahora en Madrid y el en Granada, pero bueno, le escribo un mail o si no este puente a ver si puedo pasarme por alli y verlo.

Sobre lo de planificar a futuro con un genetico, ahora voy a hablar casi por hablar pues ya hace siglos que vi esto de los geneticos y no los recuerdo muy bien. Lo hare en forma de pregunta, ¿sería posible usar programación evolutiva para el tema de la planificación? Digamos que cada cromosoma podria representar un plan y los genes acciones del mismo, aunque aqui como en todo  lo chungo es la funcion de evaluacion del mismo. En programación evolutiva creo recordar se tomaban ciertas reglillas heuristicas para decidir que que un individuo era mejor que el resto, como por ejemplo (aparte que fuese una solucion valida para el problema) que su plan fuese corto y no tuviese operadores repetidos (genes redundantes o contradictorios).

No se, he hablado por hablar.  :P, en cualquier caso a ver si puedo conseguir esa referencia.
Un saludo.
Imagina todo lo que puedes hacer. Despues hazlo.

Warchief

 Sí, un cromosoma puede definir un plan (según la codificación, por subtareas, etc.), aunque me parece un poco enrevesado. Una representación en árbol estaría bien, porque permitiría cruces entre subárboles. La función de evaluación podría ser tan simple como lo cerca o lejos que se quedan del resultado esperado en el entrenamiento del mejor árbol.

Creo que la codificación sería lo más complicado (para no tener un cromosoma kilométrico). Para planificación usaría mejor Aprendizaje Automático (sistema basado en casos, ...).

Uhm... ¿no?   :rolleyes:

zupervaca

 pregunta de novato en ia, cuando hagas el sistema de ia, ¿le indicaras unas reglas basicas de como jugar o valor de las piezas de juego, etc?

pd: sabeis de una pagina web donde indiquen teoria y ejemplos si es posible en español ya que guiri tengo varias que aun no me he puesto a leer

Warchief

Cita de: "zupervaca"pregunta de novato en ia, cuando hagas el sistema de ia, ¿le indicaras unas reglas basicas de como jugar o valor de las piezas de juego, etc?

pd: sabeis de una pagina web donde indiquen teoria y ejemplos si es posible en español ya que guiri tengo varias que aun no me he puesto a leer
Conocerá lo mismo que el jugador (parámetros de los tipos de unidad: ataque, defensa, movimiento, etc., y reglas de juego).

En español ia, ni idea.

Vicente

 Hola,

pues si que me interesa el artículo de genéticos :) (toda la documentación es bienvenida). Como bien dices el genético puede representar un plan con acciones y demás. Existe una forma de evitar acciones contradictorias: si tu especificas que un genético con acciones contradictorias en vez de tener menos fitness no sea un individuo viable, puedes usar gramáticas de christiansen para realizar la generación de individuos y asegurarte que siempre sean individuos correctos. Acabo de empezar a ver esto en el doctorado, y tiene muy buena pinta, a ver cuando me lo amplían más (es como mezclar un compilador con el genético creo más o menos).

De IA en español como dice Warchief cero patatero :( Por cierto War, este link lo mismo te ayuda ;) Un saludo!

Vicente

Daemon

 Ok, ya le he enviado un mail a este hombre, en cuanto me diga algo, lo sabreis.

Vaya, por lo visto os interesan mucho los geneticos, jeje ;) Tendria que desempolvar algunos apuntes para poder seguiros y decir algo util con respecto a la aplicacion de esa tecnica, de momento lo de las gramaticas de Christiansen ni me suena.

Lo de usar un razonador basado en casos (RBC) para la planificacion si es algo mas factible, aunque tiene un poco de tela. Yo en una beca de investigacion estuve viendo la posibilidad de usar un planificador jerarquico mezclado con un RBC y ya existen cosas de este estilo aplicadas a operaciones de rescate y evacuacion de damnificados por desastres naturales y/o guerras.

El producto se denomina HICAP y se puede ver una descripcion del mismo aqui

Eso si en ingles americano... (lo siento zupervaca :()

[Editado]
HICAP es un proyecto realizado para el ejecito de EEUU por una Universidad Americana, o sea que no os sorprendera la tematica de la aplicacion.
[/Editado]


Imagina todo lo que puedes hacer. Despues hazlo.

Warchief

 Gracias por la info, la voy apuntando. La verdad es que todavía no estoy con ello (creo que empezaré por Febrero); ya entonces os pediré más. ;)

Daemon

 Hola,

hoy he recibido contestacion, sin embargo el documento que me ha adjuntado no estaba O_O, o sea que se lo tendre que volver a pedir. De todas formas tengo la referencia, el trabajo se publico en el congreso de Algoritmos Evolutivos Bioinspirados de Merida en el año 2002 (AEB'02) con el nombre "Evolución nativa de personajes de juegos de ordenador". Si alguien tiene acceso a esa publicacion pues podra encontrarlo, sino tendreis que esperar a que me lo mande de nuevo... ;)

Un saludo.
Imagina todo lo que puedes hacer. Despues hazlo.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.