Abril 12, 2011, 04:19:42 AM Ultima modificación: Abril 12, 2011, 05:49:14 AM por charliegore
 :GM8: uso GM8pro :)

buenos dias :)

tengo un problema el cual no puedo sacarme de la cabeza, ni puedo resolver ya que no dispongo del conocimiento en gml para realizarlo y por eso les traigo esta duda que espero que puedan ayudarme asi aprendo mas sobre este maravilloso mundillo :)

el problema que tengo es que estoy creando una especie de vida artificial, q en realidad es una instancia que quiero que se mueva autonomamente osea por si sola y que cuando tenga hambre coma lo que nesecite,etc.
es solo para experimentar y porque me facina esto de la inteligencia artificial pero soy muy nuevo en esto y no puedo hacer nada mas que lo basico -.-"

bueno ahora que los introduje a lo que estoy intentando realizar para que se puedan ubicar y espero que les sea util para poder responder mas facilmente la pregunta.

ahora viene la parte que no puedo realizar:

ya pude hacer que cuando hambrev sea true este pierda 5 de vida por step.
(tiene 100 de vida y 100 de hambre) el hambre se pierde 1 por step y cuando
llega a <50 se activa hambrev.

cuando tiene hambre el "bichito" va hacia la comida y al chocarla se alimenta y le sube el hambre.

cuando su vida es <30 busca reproducirse con otro de su misma clase(esto esta a medias ya que tengo bastantes bugs con cuantos se crean o que los 2 tengan que estar con reproduccionv en true para poder reproducirse.

BUENO y lo que quisiera hacer es:

por ejemplo tengo 4 scripts diferentes que:
1_es que si tienen hambre y chocan con X se alimentan.(si no tienen este script a los X los pasan de largo)

2_se les agrega una mascara de otro sprite(por ejemplo se le agrega una colita al bichito xD ) y aumenta su velocidad.

3_no nesecita de otro ser de su misma especie para reproducirse.

4_que al comer la comida 4 veces este deje otro tipo de comida.

con estos 4 scripts como puedo hacer que bichitoA tenga uno y bichitoB tenga otro y bichitoC tenga otro, todos los bichitosA tienen el mismo script que su especie y que si bichitoA se come a un bichitoC este se cargue del script que posee bichitoC y tenga la habilidad que este script le dio. y que luego los
hijos de bichitoA(con el script de los C)tambien comparta los mismos scripts
que su padre... esto puede realizarse?

seria como una simulacion de evolucion.
y que los scripts simulen ser genes.

PD: si me pueden ayudar algo para como saber cual es el id de cada instancia para poder tener un seguimiento y como mostrar su id arriba del objeto en el juego ya andando seria genial n.n... si pueden ayudarme muchisimas gracias porque me sacan un peso de encima y si no no importa me las arreglare buscando algo parecido :)

PD: puede parecer que pido mucho pero la verdad es que lo que quiero saber es si se puede o no hacer eso, y si se puede si saben como mejor pero si no no importa porque no me mataria intentandolo sabiendo que no se puede, yo creo que se deberia poder.

#1 Abril 12, 2011, 11:08:35 PM Ultima modificación: Abril 12, 2011, 11:30:01 PM por ArcariaOnline
Mira para lo del ID simplemente asigna uno a cada objeto que se valla creando, por ejemplo cada bicho tendr? una variable llamada id_bicho la cual guardara el id generado por la variable global._id que debes crear al principio del juego. Mira esto funciona asi:

Cuando se crea un bicho el c?digo de creaci?n de instancia sera as?.
[gml]global._id+=1
i=instance_create(x,y,bicho_bebe) //aqu? se crea el bicho
i.id_bicho=global._id //aqu? le estamos asignando el id unico
///////////No necesario////////////////
//i.especie=variable //Ejemplos de otros parametros
//i.vida=variable
//i.hambre=variable
//i.descripcion="un bicho muy tragon XD".
///////////////////////////////////////[/gml]

Esto lo puede ejecutar ya sea un objeto controlador o simplemente el mismo bicho que se reproduce. Yo se que no es todo lo que pides pero por ah? puedes empezar. Despu?s con el mismo id ?nico puedes hacer una tabla o buscar entre los bichos. Para mostrar el id en pantalla simplemente dibuja la variable id_bicho.


muchas gracias me ayudo bastante esto, perdon por leerlo tan tarde jaja pero no eh estado en la pc por problemas de que se caia el internet cada tanto y molestaba jaja.
si encuentras una solucion a lo otro sera de mucha ayuda :)

Denada me da gusto que te halla servido. Lo otro es un poco mas complicado y la verdad tengo mis propios proyectos los cuales me tienen algo ocupado pero si tengo tiempo intentare ayudarte.