Creare una AI per creare degli animali
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Creare una AI per creare degli animali
Salve avrei un progetto e vi rientrano gli animali,però mi servirebbe che questi animali non se ne andassero in giro a caso e basta ma che si comportino come tale,vorrei sapere come posso creare una buona inteligenza usando i codici o le icone.
ecco cosa mi servirebbe:
---Non so se questo si può fare in game maker ma vorrei poter creare una sorta di TIPO generale,nel senso ci devono essere due TIPI di animali gli erbivori e i carnivori solamente che per semplificare le cose mi chiedevo cè un modo per creare una CATEGORIA di oggetti e metterci dentro gli oggetti che vi appartengono?
a questo punto potrei creare degli eventi del tipo se variabile fame arriva a 0 (questo lo so fare) e se obj_lupo è carnivoro (quindi rientra nella categoria fatta prima) allora obj_lupo si deve muovere verso obj_pecora, se obj_lupo entra in collisione con obj_pecora questa muore e scompare e la variabile fame ritorna alta (questa cosa anche la so fare)
il probelma è quindi se è possibile cerare uan categoria da associare ad un oggetto e poi metterci delle condizioni.
---lo avevo chiesto anche in un altro topic ma dato che non mi è ancora chiaro lo richiedo qui
il mondo è fatto a blocchi 2d come terraria e gli animali si spostano a destra e a sinistra ma se incontrano una collina come fanno a saltare in modo realistico sul blocco piu in alto e poi continuare a camminare? o se poi tornano indietro a cadere in modo realistico dal blocco?
Queste sono le basi del platform ma di cui io non sò molto
per ora questo,
grazie mille
ecco cosa mi servirebbe:
---Non so se questo si può fare in game maker ma vorrei poter creare una sorta di TIPO generale,nel senso ci devono essere due TIPI di animali gli erbivori e i carnivori solamente che per semplificare le cose mi chiedevo cè un modo per creare una CATEGORIA di oggetti e metterci dentro gli oggetti che vi appartengono?
a questo punto potrei creare degli eventi del tipo se variabile fame arriva a 0 (questo lo so fare) e se obj_lupo è carnivoro (quindi rientra nella categoria fatta prima) allora obj_lupo si deve muovere verso obj_pecora, se obj_lupo entra in collisione con obj_pecora questa muore e scompare e la variabile fame ritorna alta (questa cosa anche la so fare)
il probelma è quindi se è possibile cerare uan categoria da associare ad un oggetto e poi metterci delle condizioni.
---lo avevo chiesto anche in un altro topic ma dato che non mi è ancora chiaro lo richiedo qui
il mondo è fatto a blocchi 2d come terraria e gli animali si spostano a destra e a sinistra ma se incontrano una collina come fanno a saltare in modo realistico sul blocco piu in alto e poi continuare a camminare? o se poi tornano indietro a cadere in modo realistico dal blocco?
Queste sono le basi del platform ma di cui io non sò molto
per ora questo,
grazie mille
- pacmino
- GMI Guru
- Messaggi: 2569
- Iscritto il: 03/06/2009, 16:38
- Specialità: Scazzato cronico
- Uso: GM:Studio 2
- Località: Seconda stella a destra questo è il cammino e poi dritto, fino al mattino...
- Contatta:
Re: Creare una AI per creare degli animali
non devi creare nessuna categoria
onj_lupo e obj_pecora sono oggetti
tu nel codice dell'oggetto onj_lupo metterai se fame=0 muoviti verso l'istanza di obj_pecora più vicina
nell'oggetto obj_pecorra metterai in collisione con obj_lupo l'azione che fa distruggere la pecora
lo so che tu vorresti il codice esatto ma se non provi tu a mettere il codice magari anche sbagliato non impari
ovviamente essendo l'ambiente a blocchi è tutto più difficile perchè devi prevedere il salto, dovresti mostrare una immagine di come è il terreno
onj_lupo e obj_pecora sono oggetti
tu nel codice dell'oggetto onj_lupo metterai se fame=0 muoviti verso l'istanza di obj_pecora più vicina
nell'oggetto obj_pecorra metterai in collisione con obj_lupo l'azione che fa distruggere la pecora
lo so che tu vorresti il codice esatto ma se non provi tu a mettere il codice magari anche sbagliato non impari
ovviamente essendo l'ambiente a blocchi è tutto più difficile perchè devi prevedere il salto, dovresti mostrare una immagine di come è il terreno
Ultima modifica di pacmino il 19/09/2013, 16:46, modificato 2 volte in totale.
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Creare una AI per creare degli animali
Cavolo che idiota in effetti è vero!
non sò perche ma mi era venuta questa idea complicata in testa grazie è piu semplice di quel che sembrava!
EDIT:
Ha ecco però per che mi serviva mi sono ricordato,nella mappa ci sono piu di questi due animali e io vorrei che il lupo andasse da una animale "erbivoro" casuale per questo volevo sapere se si potesse creare una categoria,oppure cè un'altro modo per fargli scegliere una tipo di oggetto a caso fra diversi tipi di oggetti?
non sò perche ma mi era venuta questa idea complicata in testa grazie è piu semplice di quel che sembrava!
EDIT:
Ha ecco però per che mi serviva mi sono ricordato,nella mappa ci sono piu di questi due animali e io vorrei che il lupo andasse da una animale "erbivoro" casuale per questo volevo sapere se si potesse creare una categoria,oppure cè un'altro modo per fargli scegliere una tipo di oggetto a caso fra diversi tipi di oggetti?
- pacmino
- GMI Guru
- Messaggi: 2569
- Iscritto il: 03/06/2009, 16:38
- Specialità: Scazzato cronico
- Uso: GM:Studio 2
- Località: Seconda stella a destra questo è il cammino e poi dritto, fino al mattino...
- Contatta:
Re: Creare una AI per creare degli animali
ma di solito il lupo approfitta del cibo più vicino e facile da acchiappare
se ci sono più animali erbivori puoi creare tre ad esempio tipi di erbivori in ognuno di essi metti che sono parenti (parent) di un generico obj_erbivoro e fai dirigere il lupo verso il più vicino obj_erbivoro che potrà essere una capra una pecora un cervo eccetera
se ci sono più animali erbivori puoi creare tre ad esempio tipi di erbivori in ognuno di essi metti che sono parenti (parent) di un generico obj_erbivoro e fai dirigere il lupo verso il più vicino obj_erbivoro che potrà essere una capra una pecora un cervo eccetera
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Creare una AI per creare degli animali
pacmino ha scritto:ma di solito il lupo approfitta del cibo più vicino e facile da acchiappare
se ci sono più animali erbivori puoi creare tre ad esempio tipi di erbivori in ognuno di essi metti che sono parenti (parent) di un generico obj_erbivoro e fai dirigere il lupo verso il più vicino obj_erbivoro che potrà essere una capra una pecora un cervo eccetera
Parent è un'icona o devo usarlo nel codice? se è un comando per il codice come lo strutturo metto tipo:
Codice: Seleziona tutto
parent=obj_pecora,obj_cervo,obj_maiale
- gameplay_extreme
- GMI VIP
- Messaggi: 3824
- Iscritto il: 13/11/2010, 16:23
- Uso: GM:Studio 2
- Contatta:
Re: Creare una AI per creare degli animali
oppure cè un'altro modo per fargli scegliere una tipo di oggetto a caso fra diversi tipi di oggetti?
Codice: Seleziona tutto
oggetto_a_caso = choose(obj, obj2, obj3, obj4 [...])
crei un oggetto erbivoro_obj (vuoto)volevo sapere se si potesse creare una categoria
quando crei gallina_obj poni erbivoro_obj come parent
quando crei cervo_obj poni erbivoro_obj come parent
quando crei mucca_obj poni erbivoro_obj come parent
ecc.
crei un oggetto carnivoro_obj (vuoto)
quando crei leone_obj poni carnivoro_obj come parent
quando crei lupo_obj poni carnivoro_obj come parent
quando crei cane_obj poni carnivoro_obj come parent
ecc.
per esempio se da un' istanza di lupo fai
Codice: Seleziona tutto
ii = instance_nearest(x,y, erbivoro)
se poi fai
Codice: Seleziona tutto
if point_distance(x,y,ii.x,ii.y) < 30
{with (ii) instance_destroy( )}
per quanto riguarda il salto ripeto: un salto è formato da una forza che porta verso l'alto e da una gravità che porta verso il basso.
non so se era questo che intendevi
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!
iscriviti qui gratuitamente a GMI !
Spoiler
- pacmino
- GMI Guru
- Messaggi: 2569
- Iscritto il: 03/06/2009, 16:38
- Specialità: Scazzato cronico
- Uso: GM:Studio 2
- Località: Seconda stella a destra questo è il cammino e poi dritto, fino al mattino...
- Contatta:
Re: Creare una AI per creare degli animali
per settare il parent c'è una apposita casella nell'editor di ogni singolo oggetto, non so quale versione usi di gm
crei un oggetto chiamato obj_erbivoro e lo lasci senza sprite, poi nei singoli oggetti obj_pecora obj_capra eccetera nel menu a tendina vicino a parent metti per ognuno obj_erbivoro
crei un oggetto chiamato obj_erbivoro e lo lasci senza sprite, poi nei singoli oggetti obj_pecora obj_capra eccetera nel menu a tendina vicino a parent metti per ognuno obj_erbivoro
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Creare una AI per creare degli animali
[quote=quando crei gallina_obj poni erbivoro_obj come parent
quando crei cervo_obj poni erbivoro_obj come parent
quando crei mucca_obj poni erbivoro_obj come parent
ecc.
crei un oggetto carnivoro_obj (vuoto)
quando crei leone_obj poni carnivoro_obj come parent
quando crei lupo_obj poni carnivoro_obj come parent
quando crei cane_obj poni carnivoro_obj come parent
ecc. [/quote]
Si ma come faccio a porre un parent?
Sono un disastro con questo salto non cè un codice pronto che faccia saltare gli oggetti di un blocco o roba cosi? oppure una guida al proposito?
quando crei cervo_obj poni erbivoro_obj come parent
quando crei mucca_obj poni erbivoro_obj come parent
ecc.
crei un oggetto carnivoro_obj (vuoto)
quando crei leone_obj poni carnivoro_obj come parent
quando crei lupo_obj poni carnivoro_obj come parent
quando crei cane_obj poni carnivoro_obj come parent
ecc. [/quote]
Si ma come faccio a porre un parent?
Sono un disastro con questo salto non cè un codice pronto che faccia saltare gli oggetti di un blocco o roba cosi? oppure una guida al proposito?
- gameplay_extreme
- GMI VIP
- Messaggi: 3824
- Iscritto il: 13/11/2010, 16:23
- Uso: GM:Studio 2
- Contatta:
Re: Creare una AI per creare degli animali
leggi la risposta di pacminoSi ma come faccio a porre un parent?
in quel codice che avevo postato nell'altro topic che hai aperto ("Condizione di creazione oggetto e variabili?" ) c'era il codice del movimento (destra - sinistra) e del salto (in 2D) solo che era "agganciato" alla tastiera...come ti dicevo bisognava modificare le condizioni (quelle che vengono dopo gli "if" insomma)Sono un disastro con questo salto non cè un codice pronto che faccia saltare gli oggetti di un blocco o roba cosi? oppure una guida al proposito?
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!
iscriviti qui gratuitamente a GMI !
Spoiler
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Creare una AI per creare degli animali
Forse mi ucciderai ma........come?
Ultima modifica di Simsure il 19/09/2013, 17:27, modificato 1 volta in totale.
- pacmino
- GMI Guru
- Messaggi: 2569
- Iscritto il: 03/06/2009, 16:38
- Specialità: Scazzato cronico
- Uso: GM:Studio 2
- Località: Seconda stella a destra questo è il cammino e poi dritto, fino al mattino...
- Contatta:
Re: Creare una AI per creare degli animali
non ci può essere un codice esatto per il salto perchè dipende da come sono posizionati i blocchi che rappresentano il terreno
ci può essere un codice generico per saltare ma che deve essere adattato alle condizioni reali della tua room
immagina una scala che ha scalini di diversa altezza
ci può essere un codice generico per saltare ma che deve essere adattato alle condizioni reali della tua room
immagina una scala che ha scalini di diversa altezza
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Creare una AI per creare degli animali
Questo è il codice che ti ha postato gameplay nell'altra discussione:Blacksoul ha scritto:Forse mi ucciderai ma.......come?
evento step
Codice: Seleziona tutto
if (keyboard_check(vk_right) && place_free(x+6,y))
{x=x+6}
if (keyboard_check(vk_left) && place_free(x-6,y))
{x=x-6}
if place_free(x,y+1)
{gravity = 0.5}
else
{gravity = 0}
if (!place_free(x,y+1) && keyboard_check(vk_space))
{vspeed = -10}
if vspeed > 10 vspeed = 10
Codice: Seleziona tutto
move_contact_solid(direction,-1)
vspeed = 0
Usa delle scelte random per rendere casuale tutti i movimenti possibili. Poi per non farlo muovere in continuazione puoi usare degli alarm!
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Creare una AI per creare degli animali
Vallo92 ha scritto:Questo è il codice che ti ha postato gameplay nell'altra discussione:Blacksoul ha scritto:Forse mi ucciderai ma......come?
evento stepevento collisione con wallCodice: Seleziona tutto
if (keyboard_check(vk_right) && place_free(x+6,y)) {x=x+6} if (keyboard_check(vk_left) && place_free(x-6,y)) {x=x-6} if place_free(x,y+1) {gravity = 0.5} else {gravity = 0} if (!place_free(x,y+1) && keyboard_check(vk_space)) {vspeed = -10} if vspeed > 10 vspeed = 10
Come ti ha detto già lui, ti basterà modificare le "if" di questo codice per ottenere un movimento (almeno basilare) di un png.Codice: Seleziona tutto
move_contact_solid(direction,-1) vspeed = 0
Usa delle scelte random per rendere casuale tutti i movimenti possibili. Poi per non farlo muovere in continuazione puoi usare degli alarm!
Lo so,Lo so MA IO NON SO NIENTE DI CODICE GML NON HO IDEA DI COME MODIFICARLO!!! T_T
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Creare una AI per creare degli animali
Quella che vuoi fare non è una cosa difficile... Puoi tranquillamente riuscirci con l'aiuto del manuale visto che il 50% del codice te lo ha già postato gameplay.Blacksoul ha scritto:Lo so,Lo so MA IO NON SO NIENTE DI CODICE GML NON HO IDEA DI COME MODIFICARLO!!! T_T
So che per chi è alle prime armi (del resto come lo sono io) non è facile scrivere o capire determinati codici...Ma se ci troviamo di fronte ad un problema, e non ci si sbatte più volte la testa, non impareremo mai a programmare. Sicuramente gli aiuti e suggerimenti non fanno male... Ma cercare prima di tutto a programmare con la propria testa e sudore è importante (te lo dice uno che fino a poco tempo fa chiedeva di tutto su questo forum, e invece adesso cerca di risolvere il più dei suoi problemi utilizzando il tasto cerca del manuale).
Edit:
Se non te la senti ancora di addentrarti nel GML, puoi benissimo programmare quello che stai richiedendo utilizzando semplicemente le icone di GM!
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Creare una AI per creare degli animali
Ho trovato questo codice il problema di questo tizio è quasi lo stesso solo che lui riusciva a farli saltare ma non a muovere nella direzione del blocco ora lo provo
EDIT
Ho inserito in codice solamente che ci sono delle variabili tipo "action" che questo tipo ha inserito nel suo gioco e che io non so come settare (non nel senso che non so creare le variabili ma non so come l'ha predisposta questo tipo nel suo gioco)
Codice: Seleziona tutto
if (action == "idle") {hspeed = 0;};
// Left:
else if (action == "left")
{
if (!collision_point(x-16,y+48,par_solid,1,0)
&& !collision_point(x-16,y+80,par_solid,1,0))
{
danger = true;
hspeed = 0;
action = choose("idle","right");
};
else
{
if (on_ground == true) && (!place_free(x-2,y) && place_free(x-2,y-32)) {vspeed -= 7;};
hspeed = -2;
danger = false;
};
// Right:
};
else if action = "right"
{
if (!instance_position(x+48,y+48,par_solid)
&& !instance_position(x+48,y+80,par_solid))
{
danger = true;
hspeed = 0;
action = choose("idle","left");
} ;
else
{
if (on_ground == true) && (!place_free(x+2,y) && place_free(x+2,y-32)) {vspeed -= 7;};
hspeed = 2;
danger = false;
};
};
Ho inserito in codice solamente che ci sono delle variabili tipo "action" che questo tipo ha inserito nel suo gioco e che io non so come settare (non nel senso che non so creare le variabili ma non so come l'ha predisposta questo tipo nel suo gioco)
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Creare una AI per creare degli animali
Però mi sta venendo in mente come farlo da me
Mi servirebeb solo sapere che comando per codice usare per dire
se sei girato verso destra e
se davanti a te cè obj_blocco
allora
salta
per il salta sono indeciso su come farlo ma le prime condizioni dovrebbero funzionare come le dico in codice? (anche se la direzione so gia come si fa,però non ho mai messo in codice due condizioni una dopo l'altra
Mi servirebeb solo sapere che comando per codice usare per dire
se sei girato verso destra e
se davanti a te cè obj_blocco
allora
salta
per il salta sono indeciso su come farlo ma le prime condizioni dovrebbero funzionare come le dico in codice? (anche se la direzione so gia come si fa,però non ho mai messo in codice due condizioni una dopo l'altra
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Creare una AI per creare degli animali
Non andare a prendere codici di altri utenti per poi copiarli ed incollarli... Puoi benissimo prenderlo come esempio per studiarlo e creare un codice tutto tuo.
Per quanto riguarda le tue domande gameplay ti aveva già postato dei codici in riguardo nel tuo altro topic: http://gmitalia.altervista.org/gmi_foru ... 39#p169539
Per quanto riguarda le tue domande gameplay ti aveva già postato dei codici in riguardo nel tuo altro topic: http://gmitalia.altervista.org/gmi_foru ... 39#p169539
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Creare una AI per creare degli animali
Blacksoul ha scritto:Però mi sta venendo in mente come farlo da me
Mi servirebeb solo sapere che comando per codice usare per dire
se sei girato verso destra e
se davanti a te cè obj_blocco
(anche se la direzione so gia come si fa,però non ho mai messo in codice due condizioni una dopo l'altra
Infatti mi riferivo a quella volta in cui gameplay me lo ha spiegato e sò come fare
se sei girato verso destra
ma non ho idea di come fare in codice se davanti a te cè un oggetto
- gameplay_extreme
- GMI VIP
- Messaggi: 3824
- Iscritto il: 13/11/2010, 16:23
- Uso: GM:Studio 2
- Contatta:
Re: Creare una AI per creare degli animali
@blacksol se guradi bene il codici te li avevo dati
se sei girato verso destra e
Codice: Seleziona tutto
if (direction == 0) //nel post linkato da vallo
se davanti a te cè obj_blocco
Codice: Seleziona tutto
if (place_free(x+4,y)) //questo era nel codice del movimento di base 2D
salta
Codice: Seleziona tutto
vspeed = -8 //questo era nel codice del movimento di base 2D
Ultima modifica di gameplay_extreme il 20/09/2013, 20:22, modificato 1 volta in totale.
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!
iscriviti qui gratuitamente a GMI !
Spoiler
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Creare una AI per creare degli animali
Bene ma mettendoli semplicemente uno sotto l'altro (ovviamente mi da errore) come vanno disposte le condizioni IF ?
Se cè mi lincate un tutorial generale alle IF del GML ?
EDIT:
in pratica come posso mettere due condizioni IF una sotto l'altra?
Se cè mi lincate un tutorial generale alle IF del GML ?
EDIT:
in pratica come posso mettere due condizioni IF una sotto l'altra?
Chi c’è in linea
Visitano il forum: Nessuno e 67 ospiti