Intervento ufficiale di Mike Simpson sul Blog

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Pagine: 1, [2]
Zio Bob
00lunedì 12 ottobre 2009 15:24

non ti ho dato dell'idiota, è perfettamente normale non capirci. Se mi mettessero davanti un trattato di economia aziendale non ci capirei assolutamente nulla e se mi chiedessero di commentare quanto scritto al 99% direi una stronzata, e l'esperto di economia aziendale (o un comune mortale che capisca qualcosa di economia aziendale) mi sputerebbe a ragione in un occhio
La situazione sopra detta la si può riportare nel nostro caso. Hai letto un commento di uno che cerca di salvarsi la faccia utilizzando uno dei pochi argomenti che lo può aiutare a farlo, ovvero parlava di quanto fosse complessa l'IA di Empire rispetto a quella di shogun/med 1.
Ovviamente se non si sa come funziona l'IA in generale e nel nostro caso fare un qualsiasi commento sensato è molto difficile. Cerchiamo di fare un mega riassunto (che tecnicamente fa schifo ma penso sia facile da cpire :D) di come funziona generalmente un'IA in un gioco.
Diciamo che i tipi di IA sono "2", scriptate o "dinamiche".
Il primo tipo di IA agisce tramite script, ovvero in base allo script attivato dal giocatore l'IA si comporta in un certo modo. In pratica l'IA "non pensa" si limita ad esguire un certo numero di azioni in base al contesto.
Per farti un esempio pensa a COD che ha un'IA di questo tipo. Il giocatore ogni qual volta compia una determinata azione (esempio, entra in una certa stanza, arriva ad un certo punto) attiva uno scrpt che dice all'IA cosa fare (ad esempio, spostati dietro a quella roccia o batti in ritirata) e l'IA agisce. Da ciò deriva il fatto che ogni qual volta rigiochi una campagna a CoD ti sembra di vedere il replay della precedente, l'IA può solo fare quelle azioni li e li rifà sempre allo stesso modo.
Il secondo tipo di IA è quella della serie Total War, ovvero l'IA non agisce per schemi fissi ma prende decisioni in base alle varie circostanze, ovvero l'IA in questo caso "pensa a cosa fare". Questo significa che chi programma l'IA deve cercare di prevedere tutte le possibili azioni di un giocatore per far si che l'IA si comporti in maniera adeguata. Ahimè, ciò è impossibile perchè la mente umana è imprevedibile e il numero di idee che li possono venire in mente è infinito, al contrario della macchina il cui numero di "pensieri" è limitato al numero di varibabili inseriti dal programmatore.
Nella serie Total War in ogni battaglia sulla mappa stragica e su quella tattica, il numero di variabili K che scendono in campo sono molte e questo significa che possono esserci un numero N di possibili combinazioni che l'IA dovrebbe saper gestire. Queste variabili K nel corso della serie sono aumentate, passando dal sistema "a scacchiera" a quello "quadratino per quadratino" e infine a quello "pixel per pixel" per gli spostamenti nella mappa di campagna, al numero sempre maggiore di variabili date dalla differenzazione degli eserciti nella mappa tattica, facendo aumentare il numero di possibili combinazioni N a un numero altissimo. Per un'IA perfetta, il programmatore dovrebbe fare un'apposità IA per ognuna dei possibili casi (o combinazioni) che possono accadere nel gioco (esempio spostare quell'unità li invece che la, accerchiare a destra invece che a sinistra ecc) cosa che come detto prima è pressochè impossibile.
Con Empire si è raggiunta un livello di IA molto elevato (almeno sul piano teorico, poi la realizzazione non è stata perfetta) poichè l'IA pensa per "Priorità" ovvero se l'obbiettivo è vincere la battaglia cercando di salvare il generale l'IA si comporterà in modo da completare le sue "task" secondo l'ordine di priorità che lei ha stabilito. Ad esempio se l'ordine di priorità è questo:
1) vinci la battaglia
2) ammazza tanti nemici
3) salva generale
4) ecc.
L'IA cercare di muoversi in modo da vincere prima di tutto la battaglia, poi cercherà di fare molti morti e cercherà di salvare il suo generale (e poi tutte le altre cose che "ha penasato di fare"). Inoltre il sistema è dinamico, ovvero quello che prima aveva priorità 3 potrebbe passare improvvisamente a priorità 1 e così via. Questo cosa comporta? Che se da una parte l'IA di Empire è molto più intelligente rispetto a quella dei suoi predecessori, farla cadere in contraddizione e farli fare molte cavolate è molto più semplice. Se per esempio l'IA metteva come priorità 1 "tieni il centro della formazione unità" e come priorità 10 "proteggi il generale", se si attacca al centro l'IA risponderà bene e in maniera intelligente ai nostri attacchi. Purtroppo basta mandare una unità di cavalleria a minacciare il suo generale per far succedere il caos, ovvero il compito "proteggi il generale" passerà improvvisamente da priorità 10 a priorità 1, e l'IA cercherà di fare di tutto per salvare il suo generale magari facendo girare le sue unità al centro di spalle rendendole vulnerabili e facendo si che vincere la battaglia diventi molto semplice. E questo è il problema principale dell'IA di Empire ed è il motivo per quale essa a volta sembra un novello Napoleone altre volte un generale ubriaco.

In termini pratici l'IA di COD è molto più facile da sviluppare rispetto a quella di un Total War, poichè nel primo caso il livello di variabili (non alto) è determinato dal programmatore che scrive il codice in base ad azioni predefinite e può creare efficaciemente un'IA "intelligente". Quello che programma l'IA di un Total War deve programmare un'IA "generica" che risponda bene alle azioni del player nella gran parte dei casi, ma non in tutti e in quei casi si comporta da fare schifo.
Quindi quando si dice che l'IA di shogun era molto più semplice da programmare rispetto a quella di Empire, dove serve personale qualificato nel fare IA per i giochi, dice la verità. Poichè in shogun il numero di variabili era abbastanza basso da far si che con un codice che non era il top si poteva costruire comunque un buona IA.

Spero di non aver sprecato inutilmente un'ora della mia vita a scrivere, con questo linguaggio mooolto grezzo e mooolto poco tecnico, come funziona l'IA nei total war e che tu abbia ora maggiori elementi sui cui basarti per fare in futuro commenti più profondi e sopratutto con alla base, un accenno di conoscenze maggiori su come funziona un'IA in un videogioco.



vorrei avere siculo come professore di informatica [SM=g27811] cioè di tutte le cose che ho letto da un anno a questa parte è la più interessante
siculo-calabrese
00lunedì 12 ottobre 2009 19:05
Re:
Zio Bob, 12/10/2009 15.24:


vorrei avere siculo come professore di informatica [SM=g27811] cioè di tutte le cose che ho letto da un anno a questa parte è la più interessante



grazie mille per il complimento [SM=g27823] Di cose da imparare ce ne sarebbero un'infinità, peccato che per accedere a certe conoscienze prima devo finire l'ITIS :D
davie
00venerdì 16 ottobre 2009 08:16
Re: Re:
siculo-calabrese, 12/10/2009 19.05:



grazie mille per il complimento [SM=g27823] Di cose da imparare ce ne sarebbero un'infinità, peccato che per accedere a certe conoscienze prima devo finire l'ITIS :D




Quanto tempo hai impiegato nella traduzione?
è fatta bene [SM=x535726]
Sirius 21
00venerdì 16 ottobre 2009 21:09
Hey Siculo, bello quel post! Com'è che qui sei così loquace? [SM=x535725] [SM=x535713] [SM=x535687]
siculo-calabrese
00venerdì 16 ottobre 2009 21:11
Re: Re: Re:
davie, 16/10/2009 8.16:




Quanto tempo hai impiegato nella traduzione?
è fatta bene [SM=x535726]



'stardo [SM=g27828] [SM=g27828]


Hey Siculo, bello quel post! Com'è che qui sei così loquace?



Qui mi pagano di più [SM=x535685] [SM=x535685] [SM=g27828]
Sirius 21
00sabato 17 ottobre 2009 00:09
Re: Re: Re: Re:
siculo-calabrese, 16/10/2009 21.11:

Qui mi pagano di più [SM=x535685] [SM=x535685] [SM=g27828]


Venduto! [SM=x535719] [SM=x535708]

Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 13:26.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com