View Full Version : Intelligenza Artificiale AI(Inglese) - IA(italiano)
Alex_87_xelA
04-12-2008, 22:02
Come mai nei giochi attuali i programmatori non si dedicano maggiormente all'intelligenza artificiale dei nemici con cui ci imbattiamo durante il gioco ?
Al giorno d'oggi ormai si punta tutto sull'aspetto visivo ... e anche i giochi puntano su questo ... allora penso e mi chiedo : è vero che l'aspetto fisico non è tutto:D ? (per i giochi si riferisce alla grafica ovviamente) !!!
e mi rispondo dicendo si ovviamente.
un gioco molto bello graficamente, che ti fa vedere personaggi ultra realistici, ma poi prendi una pistola e vedi che quella "persona" piu di nascondersi ti viene addoso --- non vi fa pensare ?
a me molto - eppure la tecnologia attuale permetterebbe un'ottima intelligenza artificiale.
si potrebbe sfruttare un'intero core (è solo un'esempio) solo per la gestione dell'intelligenza, un'altro per la fisica, un'altro per fare vari calcoli, un'altro per ... e così via.
non capisco tutto questo accanimento sulla grafica.
è vero che ogni anno (se non prima) escono nuove schede video ... e le video house e software house si mettono daccordo, collaborano e vanno avanti a braccetto, ma non puo essere l'unico motivo questo !!!
Alex_87_xelA
05-12-2008, 12:51
voi che ne pensate ?
dipende dai giochi. Prova a giocare a FEAR, ha ancora un intelligenza artificiale ottima. Il nemico cerca di aggirarti, salta, si nasconde.
Spesso si preferisce avere un ottima grafica, forse perchè è più facile.
Necroticism
05-12-2008, 13:32
Programmare una buona IA è molto difficile e dispendioso. Molto meglio far muovere i nemici con pattern predefiniti, tanto per il momento non sembra che i giocatori si lamentino più di tanto della deficienza artificiale.
Anch' io punterei tanto sull' IA.
F.E.A.R. imho è il gioco con la migliore IA di sempre, ma quell' IA ha una spiegazione.
I tanto criticati ambienti chiusi ed uffici di F.E.A.R. hanno permesso ai programmatori di "inserire nella memoria dei nemici" la capacità di muoversi in microambienti come se quegli spazi li conoscessero come le loro tasche, senza pattern o script specifici.
Questo voleva dire piena libertà dei nemici di muoversi in una certa zona... rispetto alle mosse del giocatore.
Se arrivavi da destra... loro cercavano di affiancarti a sinistra, se scoprivi un lato... cercavano di colpirti proprio li.
In effetti gli scontri più belli si svolgevano in luoghi che non avevano una sola possibilità di movimento, si poteva accerchiare o essere accerchiati, c' era verticalità negli scontri, i nemici saltavano giù dai piani alti, ribaltavano armadi e tavoli...
Insomma, il level sesign era funzionale all' IA... e l' IA era funzionale al level design.
Questo lo si poteva fare appunto perchè i luoghi erano sempre abbordabili, mai troppo estesi: un concetto del genere sarebbe inapplicabile a quel livello per giochi dal respiro più ampio come Crysis o Far cry 2.
E' anche vero che nemici troppo cecchini e forti rendono il gioco frustrante, perchè se da un lato la sfida è gradita, dall' altro il nemico voglio anche seccarlo ad un certo punto.
Un' IA inesistente e uno spawning scriptato alla Call of duty li trovo mortificanti al giorno d' oggi, anche se in giochi come quelli... funzionano ancora discretamente.
Attendo con curiosità F.E.A.R. 2 per vedere come si evolverà il concetto di IA.
Alex_87_xelA
06-12-2008, 16:29
Anch' io punterei tanto sull' IA.
F.E.A.R. imho è il gioco con la migliore IA di sempre, ma quell' IA ha una spiegazione.
I tanto criticati ambienti chiusi ed uffici di F.E.A.R. hanno permesso ai programmatori di "inserire nella memoria dei nemici" la capacità di muoversi in microambienti come se quegli spazi li conoscessero come le loro tasche, senza pattern o script specifici.
Questo voleva dire piena libertà dei nemici di muoversi in una certa zona... rispetto alle mosse del giocatore.
Se arrivavi da destra... loro cercavano di affiancarti a sinistra, se scoprivi un lato... cercavano di colpirti proprio li.
In effetti gli scontri più belli si svolgevano in luoghi che non avevano una sola possibilità di movimento, si poteva accerchiare o essere accerchiati, c' era verticalità negli scontri, i nemici saltavano giù dai piani alti, ribaltavano armadi e tavoli...
Insomma, il level sesign era funzionale all' IA... e l' IA era funzionale al level design.
Questo lo si poteva fare appunto perchè i luoghi erano sempre abbordabili, mai troppo estesi: un concetto del genere sarebbe inapplicabile a quel livello per giochi dal respiro più ampio come Crysis o Far cry 2.
E' anche vero che nemici troppo cecchini e forti rendono il gioco frustrante, perchè se da un lato la sfida è gradita, dall' altro il nemico voglio anche seccarlo ad un certo punto.
Un' IA inesistente e uno spawning scriptato alla Call of duty li trovo mortificanti al giorno d' oggi, anche se in giochi come quelli... funzionano ancora discretamente.
Attendo con curiosità F.E.A.R. 2 per vedere come si evolverà il concetto di IA.
anche per me FEAR ha la miglior intelligenza artificiale mai fatta per i giochi ... in ambienti chiusi ... ma quell'intelligenza non puo ancora migliorare ?
secondo me si ... e anche di molto.
poi come hai detto tu ... quell'intelligenza è adatta negli ambienti chisi ... quindi si potrebbero impegnare per gli spazzi aperti se proprio non hanno niente da fare :D
graficamente già sono arrivati ad un piu che buon livello ... quindi potrebbero portarsi un po' avanti (che sono molto indietro) con l'intelligenza e la fisica anche perchè come già detto i mezzi per farlo ci sono.
akfhalfhadsòkadjasdasd
06-12-2008, 17:13
Detto in modo informale l'onerosità di una AI dipende da quante azioni possono fare i giocatori (umani e bot). Se il mondo del gioco è semplice, meno sarà onerosa computazionalmente. Escludendo la AI scriptata... in genere quelle più onerose sono quelle che sviluppano un albero di gioco costruito in questo modo: se io faccio questa mossa gli altri che possono fare? per ogni propria azione si considerano tutte le contromosse avvesarie e per ogni contromossa avversaria io che faccio? etc etc etc... fare tutto questo in realtime è ora come ora intrattabile. Per ogni mossa viene calcolato un valore e anche la funzione che calcola il valore può essere complessa e le cose si complicano ulteriormente.
Oblivion è un mondo abbastanza complesso.. ma il sistema radiant fa acqua, evochi uno scheletro, attacchi una guardia da dietro lo scheletro con l'arco, la guardia attacca lo scheletro, i passanti attaccano la guardia e il fuoco si sparge. I video si trovano sul tubo ;)
Questo per dire che ogni bot del gioco deve avere una buona cognizione di quel che accade... e questo si tramuta in una miriade di processi paralleli che devono mantenere consistenti le informazioni su cui poi un bot prende decisioni. In parole povere è un casino..
Alex_87_xelA
06-12-2008, 17:36
In parole povere è un casino..
:D
sarà anche un casino ... ma le software house pagano i programmatori per fare ca##ate o per programmare cose serie ?
posso metterci la mano sul fuoco che se mi chiamerebbero a me per fare queste cose uscirebbe una cosa MOSTRUOSA :D (in bene :D "OVVIAMENTE")
visto che poi lavorano in cooperativa ... non capisco ... 100 per la grafica ...2 per IA ?
bah... :confused: :muro:
baffynietto
06-12-2008, 17:39
mh concordo che su fear c'è un intelligenza davvero esaltante.. però sono anche del parere che ci si aspetta sempre un pò troppo.
Per citare un esempio ho letto interventi di chi si lamenta sull AI di left 4 dead, che si pretende!? i personaggi son zombie XD
comunque, in primo luogo penso sia normale, ti faccio una domanda, te guardi un gioco e a primo impatto cosa noti? la grafica l ambientazione... oppure l IA?
Alex_87_xelA
06-12-2008, 17:48
mh concordo che su fear c'è un intelligenza davvero esaltante.. però sono anche del parere che ci si aspetta sempre un pò troppo.
Per citare un esempio ho letto interventi di chi si lamenta sull AI di left 4 dead, che si pretende!? i personaggi son zombie XD
comunque, in primo luogo penso sia normale, ti faccio una domanda, te guardi un gioco e a primo impatto cosa noti? la grafica l ambientazione... oppure l IA?
beh è una domanda la cui risposta tu già la sai !!!
ovviamente la prima cosa che salta all'occhi è la grafica... però poi giocandoci la grafica non basta ... oddio potrebbe bastare per gli altri ... ma per me no.
io vorrei nemici intelligenti capaci di nascondersi se mi vedono a bordo di un carrarmato (è un esempio) ... e non venirmi addosso rischiando di essere investiti (anche se prima che li investo li cannono :D ).
akfhalfhadsòkadjasdasd
06-12-2008, 17:50
si fa presto a dire gioco.. video gioco,,, ma se si va a vedere quanta matematica, intelligenza e forme d'arte ci stanno dietro, io cerco di apprezzare tutto. Ambientazione, grafica (texture, modelli, animazioni), storia... game design.
@Alex
Come ho detto... in realtà si sa benissimo COME si potrebbe fare. Ma poi chi li sente i ragazzi piagnucolosi che si lagnano dei fps sotto i 25?
Il mercato vuole 60 fps, vuole roba da vedere e nemici che non siano più intelligenti di loro altrimenti i joypad o i mouse finiscono sui muri
Alex_87_xelA
06-12-2008, 17:59
si fa presto a dire gioco.. video gioco,,, ma se si va a vedere quanta matematica, intelligenza e forme d'arte ci stanno dietro, io cerco di apprezzare tutto. Ambientazione, grafica (texture, modelli, animazioni), storia... game design.
@Alex
Come ho detto... in realtà si sa benissimo COME si potrebbe fare. Ma poi chi li sente i ragazzi piagnucolosi che si lagnano dei fps sotto i 25?
Il mercato vuole 60 fps, vuole roba da vedere e nemici che non siano più intelligenti di loro altrimenti i joypad o i mouse finiscono sui muri
è vero che ci vuole arte nel creare "SOPRATTUTTO" questi ultimi videogiochi usciti dove poi le spese per realizzarli sono a dir poco FOLLI !!!
poi non sto dicendo di fare una SUPER intelligenza da far andare i giochi a 3-fps ... sto solo dicendo che piu di puntare TUTTO e ripeto TUTTO sulla grafica ... perdere un po di tempo in piu per l'intelligenza.
perchè a me mi piacciono le simulazioni ... non la ROBA arcade ... che per me è tutto tranne che divertente.
es per i giochi di sparatutto : se ti sparo alla gamba ... tu quella gamba non la muovi piu come prima ... ma zoppicherai ... invece no ... medikit e sei piu forte di prima.
ma che simulazione è ?
vogliono simulare i giochi di guerra e poi non simulano i ferimenti .... è inutile allora dire che è una simulazione ... è solo una delle tante cazz##e che si vedono in giro.
Alex_87_xelA
06-12-2008, 18:15
ho trovato qualche articolo abbastanza interessante :
http://www.prometheo.it/articoli/iagiochi.html
http://www.multiplayer.it/articolo.php?id=23989
F.E.A.R.multiplayer.it
Restando in tema di FPS, l’altra punta di diamante è rappresentata dal fantastico titolo di Monolith, passato alla storia non solo per la sua grafica e per la trama degna di un film (che stanno girando, tra l’altro), ma anche per offrire un livello di sfida decisamente superiore, staccando di diverse spanne qualsiasi altro sparatutto concorrente.
La struttura, pur rifacendosi a quella dei marker proposta da Far Cry, doveva tuttavia fortemente adattarsi ad un level design completamente diverso: le mappe di F.E.A.R. erano strutturate come una continua sequenza di stanza-corridoio-stanza (sullo stile di DooM, per intenderci), dove si svolgevano gli scontri tra giocatore e avversari controllati dalla CPU.
“F.E.A.R. utilizza la migliore struttura d'IA mai vista, unendo sapientemente script precalcolati con routine decisamente complesse” Di conseguenza Monolith dovette modificare la struttura a marker per conferire ai bot non solo la percezione dell’ambiente, ma anche la facoltà di valutare se attivare (a piacere, o se preferite, casualmente) degli script preconfezionati: in termini più semplici, i vostri avversari, entrando in una stanza, potevano decidere di costruirsi un riparo rovesciando una scrivania, oppure dirigersi verso una posizione di fuoco migliore; l’aspetto interessante è che non si trattavano di azioni scriptate precaricate, quindi non eseguite sempre e comunque, ma che potevano essere attivate o meno.
Pertanto anche lo stesso scontro, se ripetuto più volte, non era mai identico al precedente, proprio perché vi erano delle nuove azioni attivate e delle altre invece che venivano ignorate; i bot, inoltre, perdevano definitivamente la loro precedente condizione di onniscienza, permettendovi di elaborare nuove e interessanti strategie: se, dopo un rapido scontro, il giocatore si spostava furtivamente, i nemici si dirigevano verso l’ultima posizione conosciuta, magari offrendovi la possibilità di colpirli senza correre troppi rischi.
Abbiamo ripreso una vecchia intervista, che potete scaricare a questo indirizzo direttamente dalla nostra Area Files, dove gli sviluppatori parlano del loro sistema d'Intelligenza Artificiale; come potete notare dagli intermezzi in-game (e dalle parole di Rob Loftus), F.E.A.R. non si affida unicamente ad un sistema scriptato: notate come i bot si adattano all'ambiente di gioco cooperando attivamente tra loro e sfruttando ogni sorta di riparo possibile, come un barile o un divano.
Gli script di coordinamento sono collegati a delle animazioni appropiate I programmatori, decisi proprio a staccare il loro prodotto dalla massa, hanno inoltre istruito i bot per coordinarsi tra loro: per raggiungere questo risultato, ogni bot venne contrassegnato da un nome o una sigla (nulla di complesso, si denomina un'entità) ed istruito particolarmente, con la classica struttura condizionale: mentre BOT-A si muove di posizione, raggiungendo un nuovo waypoint, BOT-B ingaggia il giocatore, simulando così un fuoco di copertura: si trattava quindi di script, sostanzialmente, ma che integrati all’interno di routine particolarmente elaborate riuscirono a far vincere a F.E.A.R. numerosi premi e continui elogi dalla critica e dal pubblico: non per niente è stato tra i migliori titoli del 2005.
Alex_87_xelA
06-12-2008, 18:19
QUESTO significa fare BUONA intelligenza artificiale.
akfhalfhadsòkadjasdasd
06-12-2008, 19:11
Nessuno dice che non si può fare... solo che è una cosa computazionalmente complessa!
Ti ricordo che l'AI non è un argomento nato coi videogame di 10 anni fa... in ambito accademico studiano questi argomenti da 50 anni!!!
Imho per fare una buona AI si potrebbe pensare di usare un rule engine oppure linguaggi prolog-like. FEAR è una buona AI ... ma guarda che magari in 50 anni, con più potenti architetture di calcolo, volendo potrai scontrarti con bot che hanno l'inventiva di Mc Gyver :D -mezzi nel gioco permettendo-
Reloaded911
06-12-2008, 22:19
FEAR è un gioco fatto di corridoi con un'ottima AI, ma vorrei vederla applicata su giochi con molta più varietà, a quel punto diventa più difficile.
Riguardo Oblivion dicevano che avevano abbbassato il livello di AI perché era esagerato, ma sono voci di corridoio...
Alex_87_xelA
06-12-2008, 22:36
FEAR è un gioco fatto di corridoi con un'ottima AI, ma vorrei vederla applicata su giochi con molta più varietà, a quel punto diventa più difficile.
Riguardo Oblivion dicevano che avevano abbbassato il livello di AI perché era esagerato, ma sono voci di corridoio...
ovviamente l'IA di FEAR è fatta apposta per il level designe che è stato pensato per esso ... quindi se (come dici tu) metteresti piu varietà (penso voglia dire uscire all'aperto e per aperto intendi grandi preterie !!! GIUSTO ?) ovviamente non si sa che comportamento si potrebbe avere ... ma questo è un caso che non hanno pensato perchè non hanno fatto il gioco in quel modo ... invece giochi come Far Cry 2 ... pensati appunto per grandi estensioni di terra ... l'i si che potevano pensarci a fare un'intelligenza artificiale per l'aperto ... ma guarda caso non l'hanno fatto ... e se l'hanno fatto hanno fatto una ca##ata.
ed è proprio questo quello che intendo ... perchè hanno avuto tutto il tempo per fare questa grande grafica e non hanno avuto il tempo di fare una (almeno) piu avanzata IA ?
chi puo rispondere se non chi ha fatto il gioco ? bah !!! :confused:
Alex_87_xelA
06-12-2008, 22:44
Nessuno dice che non si può fare... solo che è una cosa computazionalmente complessa!
Ti ricordo che l'AI non è un argomento nato coi videogame di 10 anni fa... in ambito accademico studiano questi argomenti da 50 anni!!!
Imho per fare una buona AI si potrebbe pensare di usare un rule engine oppure linguaggi prolog-like. FEAR è una buona AI ... ma guarda che magari in 50 anni, con più potenti architetture di calcolo, volendo potrai scontrarti con bot che hanno l'inventiva di Mc Gyver :D -mezzi nel gioco permettendo-
l'intelligenza artificificiale nasce con la nascita del computer e piu nello specifico di linguaggi di programmazione adatti per esso (ora non so se sono 50 o piu o addirittura meno anni) ma posso dirti che si puo fare sicuro MOLTO MEGLIO di quello che hanno fatto fin ora utlizzando gli stessi mezzi che hanno a disposizione.
ho trovato quest'articolo su multiplayer.it (forse già l'avrai letto) :
Il Futuro è Aiseek?
Non solo ombre per il futuro, ma anche qualche spiraglio di luce che lascia ben sperare: recentemente un’azienda israelina, Aiseek LTD, sta sviluppando un nuovo processore dedicato (vale a dire, probabilmente, una sorta di scheda PCI come lo è AGEIA per la fisica) che dovrebbe garantire non solo un minor carico di calcolo per la CPU (attualmente è questo componente che gestisce tutti gli script e routine), ma anche permettere agli sviluppatori di muovere i primi passi nel mondo inesplorato dell’IA dinamica.
I punti di forza di questo nuovo processore sono, essenzialmente, basati su tre fattori fondamentali: il movimento, un’accurata simulazione della percezione sensoriale e l’analisi del terreno.
Tra quanto un'IA dinamica? Se per il fattore del movimento non sono trapelate eccessive informazioni, salvo l’azzardata affermazione che ogni problema di path finding sarà presto un triste ricordo, per quanto riguarda la simulazione sensoriale, i programmatori affermano che entreranno in campo nuove variabili: se l'NPC si troverà a dover controllare un’ampia porzione di spazio, estesa anche in profondità, molto difficilmente riuscirà a notare un piccolo oggetto statico o in lento movimento; al contrario, se il suo raggio di visuale è orientato verso una porta, sarà praticamente impossibile non notare anche il più piccolo movimento (sempre, ovviamente, tenendo conto della quantità di luce presente).
Per quanto riguarda l’analisi del terreno, attualmente ci si trova in un ambito ancora poco sviluppato, visto che i titoli a sfruttare un ambiente dinamico (cioè liberamente modificabile dall’utente, parzialmente o totalmente, in maniera rilevante) sono veramente pochi, tra cui l’ormai dimenticato Red Faction e il suo scadente seguito.
Le premesse, come sempre accade, ci sono tutte, ma solamente in un prossimo futuro potremo dire se è davvero necessario affidarsi ad una scheda dedicata, oppure se non sia meglio ricorrere ad un middleware (come l’Havok per la fisica): certo è che, allo stato attuale, siamo ancora lontani da un qualche risultato.
Potete ammirare le prodezze del nuovo processore dedicato in alcuni video: nel primo (questo è il link alla nostra Area Files per scaricare il video) potete vedere come Aiseek gestirà uno scontro tra due diverse fazioni all'interno di un terreno interamente dinamico: notate come le unità riescono ad adattarsi coerentemente con le continue modifiche al livello, senza presentare alcun problema di path finding. Nel secondo video (questo è il link alla nostra Area Files per scaricare il video) si nota come, in un probabile futuro GdR, sarà possibile espandere il concetto di libertà di scelta; tutte ottime dimostrazioni, ma aspettiamo di vedere qualcosa di più concreto prima di lanciarci in ulteriori commenti.
-----------------------
penso che si arriverà ad una cosa del genere ... quindi una scheda apposta per la IA ... come già l'hanno fatta per la FISICA (la scheda PCI AGEIA) --- oppure come piu' la penso io che si sfrutteranno i core del processore.
anche perchè sono sicuro che tra qualche anno arriveremo ad avere processori con 8 - 16 core - o addirittura 32. FORSE PERO SONO TROPPO AVANTI IO :D
Alex_87_xelA
07-12-2008, 01:34
voi cosa ne pensate ?
akfhalfhadsòkadjasdasd
07-12-2008, 03:00
l'intelligenza artificificiale nasce con la nascita del computer e piu nello specifico di linguaggi di programmazione adatti per esso (ora non so se sono 50 o piu o addirittura meno anni) ma posso dirti che si puo fare sicuro MOLTO MEGLIO di quello che hanno fatto fin ora utlizzando gli stessi mezzi che hanno a disposizione.
ho trovato quest'articolo su multiplayer.it (forse già l'avrai letto) :
Il Futuro è Aiseek?
Non solo ombre per il futuro, ma anche qualche spiraglio di luce che lascia ben sperare: recentemente un’azienda israelina, Aiseek LTD, sta sviluppando un nuovo processore dedicato (vale a dire, probabilmente, una sorta di scheda PCI come lo è AGEIA per la fisica) che dovrebbe garantire non solo un minor carico di calcolo per la CPU (attualmente è questo componente che gestisce tutti gli script e routine), ma anche permettere agli sviluppatori di muovere i primi passi nel mondo inesplorato dell’IA dinamica.
I punti di forza di questo nuovo processore sono, essenzialmente, basati su tre fattori fondamentali: il movimento, un’accurata simulazione della percezione sensoriale e l’analisi del terreno.
Tra quanto un'IA dinamica? Se per il fattore del movimento non sono trapelate eccessive informazioni, salvo l’azzardata affermazione che ogni problema di path finding sarà presto un triste ricordo, per quanto riguarda la simulazione sensoriale, i programmatori affermano che entreranno in campo nuove variabili: se l'NPC si troverà a dover controllare un’ampia porzione di spazio, estesa anche in profondità, molto difficilmente riuscirà a notare un piccolo oggetto statico o in lento movimento; al contrario, se il suo raggio di visuale è orientato verso una porta, sarà praticamente impossibile non notare anche il più piccolo movimento (sempre, ovviamente, tenendo conto della quantità di luce presente).
Per quanto riguarda l’analisi del terreno, attualmente ci si trova in un ambito ancora poco sviluppato, visto che i titoli a sfruttare un ambiente dinamico (cioè liberamente modificabile dall’utente, parzialmente o totalmente, in maniera rilevante) sono veramente pochi, tra cui l’ormai dimenticato Red Faction e il suo scadente seguito.
Le premesse, come sempre accade, ci sono tutte, ma solamente in un prossimo futuro potremo dire se è davvero necessario affidarsi ad una scheda dedicata, oppure se non sia meglio ricorrere ad un middleware (come l’Havok per la fisica): certo è che, allo stato attuale, siamo ancora lontani da un qualche risultato.
Potete ammirare le prodezze del nuovo processore dedicato in alcuni video: nel primo (questo è il link alla nostra Area Files per scaricare il video) potete vedere come Aiseek gestirà uno scontro tra due diverse fazioni all'interno di un terreno interamente dinamico: notate come le unità riescono ad adattarsi coerentemente con le continue modifiche al livello, senza presentare alcun problema di path finding. Nel secondo video (questo è il link alla nostra Area Files per scaricare il video) si nota come, in un probabile futuro GdR, sarà possibile espandere il concetto di libertà di scelta; tutte ottime dimostrazioni, ma aspettiamo di vedere qualcosa di più concreto prima di lanciarci in ulteriori commenti.
-----------------------
penso che si arriverà ad una cosa del genere ... quindi una scheda apposta per la IA ... come già l'hanno fatta per la FISICA (la scheda PCI AGEIA) --- oppure come piu' la penso io che si sfrutteranno i core del processore.
anche perchè sono sicuro che tra qualche anno arriveremo ad avere processori con 8 - 16 core - o addirittura 32. FORSE PERO SONO TROPPO AVANTI IO :D
Hardware dedicato per le elaborazioni AI è di certo una buona strategia. E avremo anche una scheda in più da comprare :D
Il termine AI ora non so quando è stato coniato e non mi interessa, ma so qualcosa della materia perché ci ho studiato e lavorato su.
Gli strumenti teorici per per fare una buona AI ci sono tutti e ci sono da tanti anni, il freno che c'è e che ci sarà ancora per molto tempo è la complessità computazionale. Non si tratta del fatto che c'è qualche programmatore incapace di ottimizzare... quando un problema è di complessità esponenziale a causa di qualche variabile.... NON si può fare nulla. Certo puoi semplificare il problema (ma a quel punto lo cambi il problema)... o accontentarti di un solzione approssimata che non tiene conto di tutte le cose in gioco.
In quell'articolo si parla di pathfinding.... cioè la funzione che permette ad un bot di decidere quale percorso fare da un punto ad un altro. Combina questo, che già di suo è un problema difficile, con azioni che deve svolgere il bot durante il percorso, mettici l'eventualità che il bot deve cambiare comportamento perché accade una cosa nel frattempo... e così via...
moltiplica tutte queste attività per quanti bot ci sono nel contesto del gioco.
Il robot mandato su marte dalla nasa ha anche algoritmi di pathfinding.. e questi algoritmi vengono studiati da decenni.
Quando avrai scoperto il modo per fare un bot in grado di guidare una macchina su un percorso dinamico e variabile... con altre macchine, passanti etc etc senza che fa incidenti, che sia in grado di prendere il percorso migliore, che sia in grado di riconoscere e schivare gli ostacoli... e tutto questo gira su un normale calcolatore credo che ti potrai sistemare a vita (e non perché useranno l'argoritmo in need for speed ;) )
Donbabbeo
07-12-2008, 12:48
Quando avrai scoperto il modo per fare un bot in grado di guidare una macchina su un percorso dinamico e variabile... con altre macchine, passanti etc etc senza che fa incidenti, che sia in grado di prendere il percorso migliore, che sia in grado di riconoscere e schivare gli ostacoli... e tutto questo gira su un normale calcolatore credo che ti potrai sistemare a vita (e non perché useranno l'argoritmo in need for speed ;) )
A proposito di questo dal 2004 si tiene la Grand Challenge organizzata dalla Darpa (l'agenzia di ricerca del pentagono) che invitava le università a percorrere 230 km nel deserto. Se non sbaglio è stata vinta dalla Stanford University che si è aggiudicata un milione di dollari.
L'anno scorso invece la Darpa ha organizzato la Urban Challenge, nella base di addestramento di Victorville che simula un ambiente urbano. L'auto che ha vinto era programmata per rispettare il codice stradale, riconoscere semafori, altre auto e pedoni.
Per la cronaca la vittoria è andata ad un S.U.V. della GM, che ha battuto l'auto della Stanford.
Aspettarsi livelli simili in un videogioco è attualmente impensabile. Tenete conto che in simili gare le auto viaggiano a velocità molto basse (20/25 km/h al massimo) e richiedono una mole di calcoli esagerati, che un sistema general pourpose come i pc attuali non si può assolutamente permettere.
Le limitazioni attuali come ti sono state indicate non dipendono assolutamente dal livello di preparazione dei programmatori, e solo in minima parte dal focalizzarsi maggiormente sulla grafica. Servono capacità computazionali di almeno un ordine di grandezza più elevate.
Alex_87_xelA
07-12-2008, 16:12
Hardware dedicato per le elaborazioni AI è di certo una buona strategia. E avremo anche una scheda in più da comprare :D
Il termine AI ora non so quando è stato coniato e non mi interessa, ma so qualcosa della materia perché ci ho studiato e lavorato su.
Gli strumenti teorici per per fare una buona AI ci sono tutti e ci sono da tanti anni, il freno che c'è e che ci sarà ancora per molto tempo è la complessità computazionale. Non si tratta del fatto che c'è qualche programmatore incapace di ottimizzare... quando un problema è di complessità esponenziale a causa di qualche variabile.... NON si può fare nulla. Certo puoi semplificare il problema (ma a quel punto lo cambi il problema)... o accontentarti di un solzione approssimata che non tiene conto di tutte le cose in gioco.
In quell'articolo si parla di pathfinding.... cioè la funzione che permette ad un bot di decidere quale percorso fare da un punto ad un altro. Combina questo, che già di suo è un problema difficile, con azioni che deve svolgere il bot durante il percorso, mettici l'eventualità che il bot deve cambiare comportamento perché accade una cosa nel frattempo... e così via...
moltiplica tutte queste attività per quanti bot ci sono nel contesto del gioco.
Il robot mandato su marte dalla nasa ha anche algoritmi di pathfinding.. e questi algoritmi vengono studiati da decenni.
Quando avrai scoperto il modo per fare un bot in grado di guidare una macchina su un percorso dinamico e variabile... con altre macchine, passanti etc etc senza che fa incidenti, che sia in grado di prendere il percorso migliore, che sia in grado di riconoscere e schivare gli ostacoli... e tutto questo gira su un normale calcolatore credo che ti potrai sistemare a vita (e non perché useranno l'argoritmo in need for speed ;) )
:D
-------------------------------
Quindi anche con l'attuale tecnologia non è possibile fare IA dinamica ?
e quando sarà possibile ?
se penso che in 10 anni si sono fatti passa da gigante con la grafica e con l'hardware in generale penso che tra altrettanti anni si potrà ALMENO iniziare a sviluppare IA dinamica ... non credi ?
penso che questo sia il passo fondamentale che porterà VERAMENTE il REALISMO ... non solo per i videogiochi ... anche in ambito di ricerce e cose del genere.
anche perchè se avranno modo di sviluppare l'IA dinamica .... avranno anche modo di sviluppare in modo migliore la FISICA ... almeno questo è quello che penso io.
perchè ci sono calcoli matematici e fisici dove veramente ci vuole molto tempo per calcolarli.
poi hai parlato di algoritmo esponenziale ... è qesta è la bestia peggiore che si puo avere ... bastano piccoli cambiamente dell'esponente che il tempo di esecuzione dell'algoritmo CAMBIA e NON di poco.
quindi questi problemi si avranno ancora per molto secondo te ?
Alex_87_xelA
08-12-2008, 15:29
ragazzi se siete interessati a questo Thread continuiamo la discussione qui
http://www.hwupgrade.it/forum/showthread.php?t=1877339
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.