Pues estoy intentando hacer una IA para que un muñeco me dispare a otro, pero como jamás he echo un juego ni he visto tutoriales de esto estoy perdidísimo.
Como debo empezar? Hay algún tutorial? Deberia empezar por la vida de los personajes?
Gracias por adelantado.
We're off now to seek all our fortunes to the land... of... our dreams
entra al tutotoral de lo que
entra al tutotoral de lo que quieras hacer
http://psp.scenebeta.com/tutorial/fragmentos-de-codigo-lua-snippets
yo te recomendaria que
yo te recomendaria que empezases con lo basico y luego te vas metiendo mas profundamente xD
esque me parece que intentar hacer una IA con los personajes antes que tengas puesta la vida etc... me parece empezar la casa por el tejado jeje.
Saludos y suerte!
llevo 8 meses programando lo
llevo 8 meses programando lo básico y ya toca pasar a lo complicado
Weno.. ahi va..
Primero... especifica... kieres hacer una IA.. ok.. ahora especifica, scrolling hozintal, vertical, mapa tipo rpg... cada tipo de juego tiene su propio tipo de IA...
Sea cual sea el caso, tu tienes un personaje, y lo mueves de una manera, no? La IA sería poner otro personaje, y que la máquina lo moviera como tú lo harías. Es decir, mirar si hay malotes cerca, dispararles, si no, pos moverse aleatoriamente, lo suyo es hacer estados, y revisar su estado cada X ciclos, excepto para una cierta distancia, que pasaría directamente a modo agresivo ( si estas cerca no sería lógico que se pusiera a andar en dirección contraria.. ).
Por lo tanto sin mas datos de como se mueve tu personaje, ni qué tipo de juego es sólo te puedo aconsejar de modo genérico, por lo tanto eso, comprueba distancia, comprueba estado, y ponlo en ese estado durante X ciclos, (mirando siempre la distancia aunque esté en cualquier estado...)
Ejemplos de estados (básicos):
Quieto, mirando derecha.
Quieto, mirando izkierda.
Andando hacia derecha.
Andando hacia izkierda.
Atakando a izkierda.
Atakando a derecha.
Durante tu programa, cada enemigo por separado comprobará su distancia frente al player, si ésta es lo suficientemente grande, no hay atake, entonces elige aleatoriamente uno de los estados excepto los de atacar, y se tira X tiempo así.
Durante ese tiempo, mira si sigue lejos y continua estando así.
Cuando acabe ese tiempo vuelta a empezar, elegir aleatoriamente mirando al personaje.
En el momento en que tu personaje está cerca de X distancia, el malo pasa a modo agresivo, si estás a la derecha o a la izkierda. Si bien esto es básico, pq podrías meter más estados y comprobaciones, (ejemplo: personaje a la izkierda, cerca, pero en una plataforma superior, saltar) (ejemplo2: personaje ahora esta a la izkierda, pero en el mismo nivel, atakar izkierda)
Eso sería un ejemplo de IA.
Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es
tipo RPG
tipo RPG
RPG
Bueno, sabien que es tipo RPG, digamos k es movimiento por una pantalla, te recomiendo que empiezes haciendo una habitación o lo que sea, y luego ya tu personaje, y que éste pueda moverse por la pantalla y detectar colisiones con objetos y demás. Una vez hecho esto, ya sabrás como detectar cuando hay pared y cuando no, pues ya lo hiciste con el player, y podrás aplicarlo a los otros personajillos que hayan por la pantalla. Es decir, cuando pulsas arriba, el programa hace una serie de cosas y si puedes subir, subirá, si no, no. Pues los controlados por la máquina igual, pongamos que en este caso el estado aleatorio es "mover arriba", pues realizará los mismos cálculos que hacias con tu personaje, pero usando las coordenadas del personaje no controlable (NPC), y por lo tanto sabrá si hay o no pared, y se moverá o no en cuestión a eso. Y luego ya dije, es crear "estados" y aplicar el mismo control de tu personaje a los npc's, y con esos estados aleatorios tus npc's cobrarán "vida". Las funciones dependiendo de cada estado, y la elección de los estados es lo que dotará a tu juego de mayor / menor "realismo" con lo que una IA puede ser desde muy básica (detección de colisiones y poco mas), hasta muy compleja (teniendo en cuenta más propiedades del ambiente, para realizar una decisión o otra).
Es un mundo complejo, pero una vez aprendido a realizarlo, es bonito ver como tus npc's hacen lo que tu les programaste que hicieran. :)
Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es
Perdona pero...
¿Con eso que dices "tipo RPG" pretendes que alguien te ponga aqui como sería la inteligencia artificial de tu juego? Lo llevas claro, no hay ningún codigo tipo "Set.IA(RPG)", no esperes milagros de Lua, una cosa es que sea fácil para hacer cosas fáciles, y otra bien distinta es que sea fácil para cosas más complicadas (cosa que no lo es). Eso lo programas tu solito desde cero, usando contandores, estados (también tipo "interruptores"), funciones propias etc... Si dices llevar ocho meses programando cosas sencillas (y yo con sencillas entiendo testeadores de botones, instaladores, juegos sencillos, shells...) te será difícil pasar de ahi para hacer lo que sería un RPG simple (entiendase personaje propio, mapas y objetos con los que interactuar, un sistema de batallas con I.A. incorporada etc...)
Hacer que la consola piense por sí sola no es sencillo, y lo mejor que puedes hacer es seguir paso a paso los consejos que te da Deviante e ir experimentando poco a poco.
-----[[7 años en Scenebeta, con la misma ilusión que la del primer día]]----
Solo respondi a deviante, nu
Solo respondi a deviante, nu he pedido la inteligencia de mi juego, si no, un tutorial.