//

Author Topic: AI (o meglio, diagramma di flusso) per giocatori NPC  (Read 421 times)

Massenzio

  • Utente registrato
  • Posts: 123
    • Esordiente
    • View Profile
AI (o meglio, diagramma di flusso) per giocatori NPC
« on: 04 August, 2018, 16.01 »

Ciao a tutti,
nel gioco che sto facendo, ci sono all'inizio tre fazioni NON guidabili dai giocatori con pedine che devono fare la loro giocata comunque.

Provo a spiegare meglio:
- la mappa è esagonale
- le pedine sono unità ed eroi e ognuna occupa sempre e solo un esagono

le 3 fazioni neutrali sono :
1- le città neutrali, che tendenzialmente sono passive, non fanno nulla tranne contrattaccare chi le ha attaccate e si trova vivo adiacente a loro.
Quindi la loro AI (o diagramma di comportamento) è facilmente scrivibile, ed in effetti questo è semplice semplice), hanno come eccezioni alcuni
comportamenti derivati da effetti di magie di una fazione giocante (che puo' spingere ad attaccare anche fuori dalle proprie mura con "sortite di due turni, cioè vengo a tirarti un giro di schianti e se vinco torno alla città") e come risultato di diserzioni/defezioni che trasformano unità di fazioni di altri giocatori in
unità neutrali, che al loro turno si muoveranno verso il primo insediamento neutrale per prendere posto in difesa.

2- una fazione di guerrieri fanatici, che praticamente si comporta come i fantasmini del pacman, punta il "cattivo" piu' vicino e ci si avvicina in massa (anche questa è semplice tutto sommato, nelle partite di prova che ho fatto pero' mi son trovato in situazioni dove per dirigersi verso il nemico piu' vicino ho dovuto "usare" mentalmente algoritmi di conta caselle piu' complessi della mera distanza...perchè a volte devi aggirare ostacoli... ora spiegare un A* è roba che va oltre il semplice "vai verso il piu' vicino" ma credo che il giocatore medio non abbia problemi a contare i caselli di distanza, volevo quindi "mettere" come condizioni proprio l'avvicinarsi al "piu' prossimo" in conteggio caselle.

3- la fazione piu' complessa è quella dei cattivi (neri):

-- le truppe si comportano sempre come i "fantasmini" del pacman, ma puntano tutti gli altri colori e gli insediamenti, ma poi ci sono gli eroi...

--ho un eroe minore che punta solo gli insediamenti (standone pero' a distanza, perchè ha un effetto che li colpisce da tot caselle), e questo tutto sommato è abbastanza semplice

--ho un'eroina minore che invece punta come obbiettivo insediamenti "neri" per installarcisi, cercando di scansare nemici, essendo piu' vulnerabile in corpo a corpo (e qua... la spiegazione per le blind read che ho avuto non è molto chiara al momento... :-(  )

--ho un altro paio di eroi minori che sono semplicemente truppa piu' "rimarchevole"... ergo semplici da muovere...

--ho la supercattiva che al momento tutte le volte che è entrata in campo aveva già il "guidatore" giocatore nero schierato (ebbene si, tutti questi algoritmi/diagrammi sono attivi fino ad un certo punto, poi uno dei giocatori,il traditore, prende le redini del nero e quindi...muove lui)

qualcuno di voi ha capito qualcosa? :D ma soprattutto, vi è mai capitato di dover fare diagrammi comportamentali per unità/fazioni/parti del cattivo, tipo
partite in "solo" mode per giochi o altro?

grazie per ogni dritta/critica !
tutto è utile!
Logged
Nel 337 a.C. il re Filippo II di Macedonia scese in guerra contro gli spartani e inviò loro questo messaggio: "Vi consiglio di arrendervi. Se penetrerò nella Laconia raderò al suolo Sparta".
La risposta di Sparta fu: "Se".

mrpako

  • Utente registrato
  • Posts: 1204
    • Autore edito
    • View Profile
Re: AI (o meglio, diagramma di flusso) per giocatori NPC
« Reply #1 on: 04 August, 2018, 17.40 »

Le unità si muovono in modo sensato, ma la domanda è : cosa porta come vantaggio ai giocatori tutto questo bookkeping ?
tutto il tempo perso a muovere miniature di altri, non può essere usato per cose più interessanti da far fare ai giocatori e non alla AI ?
Logged
==  Non Sono cattivo, è che ogni tanto la realtà oggettiva sa essere davvero crudele.  ==

==  La macchina del capo ha un buco nella gomma. Hai bisogno di 3 segnalini Mc-Gyver e un token Cewingum per ripararla. ==

Massenzio

  • Utente registrato
  • Posts: 123
    • Esordiente
    • View Profile
Re: AI (o meglio, diagramma di flusso) per giocatori NPC
« Reply #2 on: 04 August, 2018, 19.27 »

Le unità si muovono in modo sensato, ma la domanda è : cosa porta come vantaggio ai giocatori tutto questo bookkeping ?
tutto il tempo perso a muovere miniature di altri, non può essere usato per cose più interessanti da far fare ai giocatori e non alla AI ?
Cavolo, sono da poco in questo forum ma mi avete già dato dritte notevoli.
Non ci avevo proprio pensato, ma potrei fare in modo che le truppe nere siano mosse da qualche giocatore.
Devo rimodulare il guadagno di punti vittoria, potrei fare in modo che (magari...) l'ultimo in classifica nei punti vittoria muova i neri potendo fare punti vittoria (pv) per se stesso, almeno fino a quando il giocatore "nascosto" che si deve schierare con i neri non si rivela, da quel punto in poi ovviamente li guida lui , cosi' almeno rivelarsi troppo presto mette a rischio la sua capacità di sopravvivere in mappa (cosa che era già adesso...) , rivelarsi troppo tardi fa fare punti agli altri (cosa che invece non avevo pensato :D).

Grazie... vado a pensare come modificare le regole e il guadagno di PV in modo da rendere piu' divertente la fase del nero (che in effetti al momento era pur affascinante per me, forse pallosa per i giocatori non "schierati al nero").

Mi ci tuffo subito!

Grazie ancora per la dritta!!

Logged
Nel 337 a.C. il re Filippo II di Macedonia scese in guerra contro gli spartani e inviò loro questo messaggio: "Vi consiglio di arrendervi. Se penetrerò nella Laconia raderò al suolo Sparta".
La risposta di Sparta fu: "Se".

mrpako

  • Utente registrato
  • Posts: 1204
    • Autore edito
    • View Profile
Re: AI (o meglio, diagramma di flusso) per giocatori NPC
« Reply #3 on: 05 August, 2018, 23.32 »

Figurati. 
Consiglio numero 2 .  E se in pieno stile pacman, il nero non fosse confinato in alcuni punti chiave, e quindi non si muove fino a quando qualcuno non apre quella porta ?  ( o qualcosa del genere coerente con l'ambientazione )
Già in questo modo riduci un sacco di tempo morto per muovere roba lasciando che il "nemico di tutti" si attivi solo quando serve davvero.

solo in un secondo momento il giocatore che " prende i neri " diventa signore dei lich ed evoca altre creature in modo che abbiano un valore di forza sensato.  ( io la sto buttando lì eh, è solo per aiutarti a mettere in moto il pensiero ) .
Logged
==  Non Sono cattivo, è che ogni tanto la realtà oggettiva sa essere davvero crudele.  ==

==  La macchina del capo ha un buco nella gomma. Hai bisogno di 3 segnalini Mc-Gyver e un token Cewingum per ripararla. ==

Massenzio

  • Utente registrato
  • Posts: 123
    • Esordiente
    • View Profile
Re: AI (o meglio, diagramma di flusso) per giocatori NPC
« Reply #4 on: 06 August, 2018, 5.22 »

Figurati. 
Consiglio numero 2 .  E se in pieno stile pacman, il nero non fosse confinato in alcuni punti chiave, e quindi non si muove fino a quando qualcuno non apre quella porta ?  ( o qualcosa del genere coerente con l'ambientazione )
Già in questo modo riduci un sacco di tempo morto per muovere roba lasciando che il "nemico di tutti" si attivi solo quando serve davvero.

Ieri ho avuto un oretta libera e ho provato a buttar giu le modifiche riguardo a come muove il nero.
Il gioco prevede una" nascita" più o meno continua di truppe nere nella mappa, in base a carte e eventi e azioni di riflesso dei giocatori.

Ho pensato, che l'unico modo di far si che venga usato con "astuzia" è quella di dare "punti vittoria" via via a chi lo guida quel turno se ottiene dei successi (uccisione di trupoe di altre fazioni, conquista o distruzione di insediamenti etc)
Ho quindi provato a definire delle regole "base di movimento " a cui attenersi ma per il resto, ogni turno alla fase del nero si definisce chi lo guida (al momento lo guida il giocatore profeta con meno punti vittoria, che almeno può tentare di recuperare qualcosa e nella trama non ci sta neanche male la cosa...).
Di contraltare c'è la possibilità che il nero non attacchi mai il colore del guidatore di turno, ed infatti ho previsto che il penultimo in graduatoria sia una sorta di "vice nero" che può immediatamente dichiarare dove sono tali conflitti di interesse e guidare lui i "neri" specificati (una sorta di avvocato delle tenebre), quindi i due piu in basso in graduatoria possono cercare di far punti e recuperare.

Tutto questo vale fino a che il giocatore "corrotto" non si rivela, a quel punto la musica cambia.

Quote

solo in un secondo momento il giocatore che " prende i neri " diventa signore dei lich ed evoca altre creature in modo che abbiano un valore di forza sensato.  ( io la sto buttando lì eh, è solo per aiutarti a mettere in moto il pensiero ) .
Nella mappa ho bisogno della "sensazione" del ragnarok imminente, l'unica pedina nera confinata è la regina (con la sua scorta personale di truppe... ) e perché si liberi sono necessari alcuni "passaggi" in gioco, (ad es uno e che ci sono degli artefatti, che conferiscono bonus a chi li ha ma che rischoano di rompersi ad ogni turno che sono in mappa)

Sto riorganizzando comunque, appena ho del tempo (settimana questa no..troppo lavoro) provo a pubblicare qua altri stralci.
Siete stati veramente fonti di riflessione!
Grazie ancora
Logged
Nel 337 a.C. il re Filippo II di Macedonia scese in guerra contro gli spartani e inviò loro questo messaggio: "Vi consiglio di arrendervi. Se penetrerò nella Laconia raderò al suolo Sparta".
La risposta di Sparta fu: "Se".

Massenzio

  • Utente registrato
  • Posts: 123
    • Esordiente
    • View Profile
Re: AI (o meglio, diagramma di flusso) per giocatori NPC
« Reply #5 on: 10 August, 2018, 7.34 »

ok visto che sono già al lavoro e che pero' per una decina di minuti sono abbastanza fermo,
volevo ringraziare di nuovo mrpako perchè la modifica alla fase di "movimento del nero" ha reso più divertente e vendicativa questa fase.

Ho ripensato la cosa in questo modo:
- il giocatore con meno punti vittoria (in caso di parità conta chi muove per ultimo nel turno) al momento guida il nero per quel turno, viene definito nel gioco come "il comandante oscuro (o nero, devo decidere ancora)" quindi :
--- piazza le nuove miniature che eventualmente nascono (sempre secondo le regole delle carte che via via vengono pescate)
--- muove verso i bersagli
--- attacca, uccide, distrugge e conquista in nome del nero, e i punti vittoria relativi ai successi ottenuti li incamera lui (stimolato quindi a far bene)
--- fino al cambio di testimone risponde di perdite del nero gravi (eroi e pedine per es.) perdendo punti vittoria personali in caso di morti.

...si ma... c'e' un problema houston, ovvero "se io guido il nero, il nero non mi attacca mai ehehe"
ho affrontato anche questo problema, nel momento della definizione del "comandante oscuro" viene anche definito un vice che ho chiamato "l'avvocato oscuro (o questore nero :D eheh)" che è il penultimo in classifica di punti vittoria che interviene e prende il controllo totale (quindi, punti vittoria a lui e responsabilità a lui) di tutte le unità delle tenebre che sono più vicine a quelle del giocatore "comandante nero" di turno.
In questo caso si giustifica bene di "lore" con le "eventuali lotte interne all'interno della fazione delle tenebre", ah, nel caso di equidistanza tra unità del comandante e avvocato nero ha la priorità l'avvocato, perchè si suppone che ne abbia meno da guidare.

In questo modo do la possibilità a chi ha meno punti vittoria di cercare di recuperare e il turno del nero è molto piu' vivace.

(i punti vittoria sono "fluidi" nel senso che ogni perdita sul tabellone comporta una detrazione di punti e ogni conquista ne comporta l'acquisizione... in effetti si inizia il gioco già con dei punti vittoria perchè tutte le pedine ne danno)

es. conquisti una città ottieni punti vittoria (o meglio, levi punti vittoria a chi aveva la città e te li prendi te) anche se questa fluidità non è volutamente perfetta perchè per es. mi è già capitato, che conquistare una città col nero ti porta punti vittoria in cassa, se poi non guidi piu' il nero e la riconquisti con i tuoi eserciti prendi ancora punti vittoria e li levi a chi è il testimone del nero al momento :D


cosa ne pensate?
suggerimenti? critiche?

edit: ecco, ora lavorando mi è venuto in mente come risolvere il problema della doppia conquista di una città, faccio tre vessilli, uno per ogni città, chi la conquista prende il vessillo e in pratica si tiene quei punti vittoria. ergo non potrebbe piu' doppiare i punti.
 
« Last Edit: 10 August, 2018, 8.09 by Massenzio »
Logged
Nel 337 a.C. il re Filippo II di Macedonia scese in guerra contro gli spartani e inviò loro questo messaggio: "Vi consiglio di arrendervi. Se penetrerò nella Laconia raderò al suolo Sparta".
La risposta di Sparta fu: "Se".