Orario: 09-09-2010, 20:11 Benvenuto ospite! (Log inRegistrati)


Rispondi 
Prolog e Videogiochi
Autore Messaggio
Tano
..Is Life To Me..
****

Messaggi: 631
Registrato: Nov 2008
Offline Offline
Messaggio: #1
Prolog e Videogiochi
Perchè utilizzare prolog per i propri videogiochi? Che vantaggi può portare? Ad esempio, rispetto a una AI fatta in C++?

My Game Programming CV
My FilmMaking CV

"..Credevamo di aver successo un giorno, al teatro delle commedie, con due soli spettatori.." Takeshi Kitano.
03-11-2010 11:06
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Zed
3 di ♠
****

Messaggi: 470
Registrato: Jan 2010
Offline Offline
Messaggio: #2
RE: Prolog e Videogiochi
(03-11-2010 11:06)Tano ha scritto:  Perchè utilizzare prolog per i propri videogiochi? Che vantaggi può portare? Ad esempio, rispetto a una AI fatta in C++?

Prolog mette a disposizione nativamente la logica del primo ordine e il backtracking.

Non e' un vantaggio da poco.

Nell' IA si possono avere dei comportamenti estremamente avanzati basati su queste 2 feature.

In alternativa, si potrebbe scrivere in C++ un interprete logico con backtracking...^^'''''

La soluzione migliore e'avere un wrapper Prolog, e con quest' ultimo scrivere le regole dell'IA.
03-11-2010 11:35
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Tano
..Is Life To Me..
****

Messaggi: 631
Registrato: Nov 2008
Offline Offline
Messaggio: #3
RE: Prolog e Videogiochi
Hai qualche articolo dove posso andarmi a documentare? Per pura curiosità mia Sorriso Ovviamente Game Oriented, non voglio leggere tutorial sul Prolog Sorriso.

My Game Programming CV
My FilmMaking CV

"..Credevamo di aver successo un giorno, al teatro delle commedie, con due soli spettatori.." Takeshi Kitano.
03-11-2010 11:37
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Zed
3 di ♠
****

Messaggi: 470
Registrato: Jan 2010
Offline Offline
Messaggio: #4
RE: Prolog e Videogiochi
(03-11-2010 11:37)Tano ha scritto:  Hai qualche articolo dove posso andarmi a documentare? Per pura curiosità mia Sorriso Ovviamente Game Oriented, non voglio leggere tutorial sul Prolog Sorriso.
Ecco un po di stuff:
in inglese

in italiano


implementazione di A*

Spero ti possano essere di aiuto, avrei altro materiale, ma e' su carta.
Smile

edit1:
ho letto ora, game oriented. Ehm... l'A* dovrebbe andare bene ^^'
edit2:
questo e-book sembra veramente interessante, non l'ho letto pero':
http://faculty.nps.edu/ncrowe/book/book.html
(Questo messaggio è stato modificato l'ultima volta il: 03-11-2010 12:02 da Zed.)
03-11-2010 11:53
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Tano
..Is Life To Me..
****

Messaggi: 631
Registrato: Nov 2008
Offline Offline
Messaggio: #5
RE: Prolog e Videogiochi
Io l'A* l'ho implementato in C++ e in C# per il gioco a cui sto lavorando Sorriso. Sarà interessante fare un confronto! Grazie!

My Game Programming CV
My FilmMaking CV

"..Credevamo di aver successo un giorno, al teatro delle commedie, con due soli spettatori.." Takeshi Kitano.
03-11-2010 12:00
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
_ToMmO_
Mod nerdcore
*******

Messaggi: 2,014
Registrato: Nov 2008
Online Online
Messaggio: #6
RE: Prolog e Videogiochi
Pazzia, mai sentito del prolog usato nei VG Fermosi
Non ho mai sentito del prolog usato e basta in realtà Asd

Interessante comunque...

Tommaso Checchi

>My Devlog - Ninja Training per iPhone!<
03-11-2010 13:54
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Tano
..Is Life To Me..
****

Messaggi: 631
Registrato: Nov 2008
Offline Offline
Messaggio: #7
RE: Prolog e Videogiochi
No vabbè il ProLog l'ho fatto all'università, il mio interesse era quello di capire nei VG quali vantaggi portava. Soprattutto come veniva sfruttato.. Appena ho un pò di tempo leggo quel link che mi hai postato.

My Game Programming CV
My FilmMaking CV

"..Credevamo di aver successo un giorno, al teatro delle commedie, con due soli spettatori.." Takeshi Kitano.
(Questo messaggio è stato modificato l'ultima volta il: 03-11-2010 13:57 da Tano.)
03-11-2010 13:56
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Zed
3 di ♠
****

Messaggi: 470
Registrato: Jan 2010
Offline Offline
Messaggio: #8
RE: Prolog e Videogiochi
(03-11-2010 13:54)_ToMmO_ ha scritto:  Pazzia, mai sentito del prolog usato nei VG Fermosi
Non ho mai sentito del prolog usato e basta in realtà Asd

Interessante comunque...

mai dire mai! ^^
nel 1996, il modello completo di Phong:
[Immagine: phong.png]

era ipotizzabile solo su carta; adesso si calcola a frammento ^^

Sono sicuro che in giochi AAA con AI avanzata, un qualche modello a regole forward (tipo lisp) o a backtracking+logica (tipo prolog) ci deve essere per forza.

E se non c'e', avranno una loro tecnologia proprietaria che si ispira a tali modelli.
(Questo messaggio è stato modificato l'ultima volta il: 03-11-2010 14:29 da Zed.)
03-11-2010 14:26
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Tano
..Is Life To Me..
****

Messaggi: 631
Registrato: Nov 2008
Offline Offline
Messaggio: #9
RE: Prolog e Videogiochi
Aspetto di sentire il Prof. Zambetta Sorriso

My Game Programming CV
My FilmMaking CV

"..Credevamo di aver successo un giorno, al teatro delle commedie, con due soli spettatori.." Takeshi Kitano.
03-11-2010 15:19
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
fzambetta
Senior Lecturer
****

Messaggi: 415
Registrato: Dec 2009
Offline Offline
Messaggio: #10
RE: Prolog e Videogiochi
(03-11-2010 15:19)Tano ha scritto:  Aspetto di sentire il Prof. Zambetta Sorriso

Poco a sfottere! Asd
Allora, premettendo che non sono un grandissimo fan di Prolog et similia, diciamo che per determinate cose Prolog e' comodissimo.
Il problema fondamentale in un videogioco e' che naturalmente ti servirebbe una implementazione efficiente e snella di Prolog...e li', a par mio. cominciano i dolori.
A titolo di esempio cmq., il mio ultimo esame (quindi parliamo del 2000) prevedeva come caso di studio un gioco sulla falsa riga della battaglia navale.
La cosa che avrei preferito fare io sarebbe stato integrare il front-end C++ (che usava Open Inventor ad aveva una GUI in 3D) con il back end in Prolog.
Naturalmente il Prof. (lui si lo e' da tempo...e forse sai a chi mi riferisco) invece volle farmi lavorare sulle due versioni per poi paragonarle all'esame.
Risultato: la logica in Prolog era semplice da gestire ma l'interfaccia utente ridicola. Il codice C++ aveva una serie di tocchi molto carini per la GUI 3D ma gestiva la logica del gioco attraverso una FSM che avevo dovuto costruire da zero (du' palle cosi').
In termini di paradgmi non imperativi penso che linguaggi di tipo funzionale possano avere piu' interesse ed infatti diversi sviluppatori hanno utilizzato versioni piu' o meno modificate di Haskell ad esempio.
Senza contare che linguaggi come Python o C# ormai includano diversi costrutti di tipo funzionale (ed infatti F# e' ormai piuttosto maturo).

Fabio Zambetta
Senior Lecturer, School of CS&IT
RMIT University (Melbourne, AU)
Games & Graphics Programming degree Coordinator
03-12-2010 4:02
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Tano
..Is Life To Me..
****

Messaggi: 631
Registrato: Nov 2008
Offline Offline
Messaggio: #11
RE: Prolog e Videogiochi
(03-12-2010 4:02)fzambetta ha scritto:  
(03-11-2010 15:19)Tano ha scritto:  Aspetto di sentire il Prof. Zambetta Sorriso


Il problema fondamentale in un videogioco e' che naturalmente ti servirebbe una implementazione efficiente e snella di Prolog...e li', a par mio. cominciano i dolori.

Ecco è come pensavo. Cioè devo "wrappare" Prolog con dolori per poterlo utilizzare. Magari mi leggo qualcosa e vedo un pò cosa mi dice. La mia domanda nasce dopo una discussione con un mio amico che sta seguendo la specialistica e mi sfoderava "Stiamo facendo Prolog! Essenziale nelle AI dei videogiochi!". E li mi è venuto il dubbio Sorriso.

My Game Programming CV
My FilmMaking CV

"..Credevamo di aver successo un giorno, al teatro delle commedie, con due soli spettatori.." Takeshi Kitano.
03-12-2010 10:39
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
fzambetta
Senior Lecturer
****

Messaggi: 415
Registrato: Dec 2009
Offline Offline
Messaggio: #12
RE: Prolog e Videogiochi
(03-12-2010 10:39)Tano ha scritto:  Ecco è come pensavo. Cioè devo "wrappare" Prolog con dolori per poterlo utilizzare. Magari mi leggo qualcosa e vedo un pò cosa mi dice. La mia domanda nasce dopo una discussione con un mio amico che sta seguendo la specialistica e mi sfoderava "Stiamo facendo Prolog! Essenziale nelle AI dei videogiochi!". E li mi è venuto il dubbio Sorriso.

Certo...se per videogioco intendi il Tris o magari un'avventura solo testo (che cmq. potresti scrivere altrimenti senza eccessivi problemi) Asd
Cmq. ho detto una cavolata nel post di prima: intendevo dire Scheme (uno dei "dialetti" piu' noti del LISP) non Haskell.
Purtroppo un mio collega mi aveva appena finito di farmi una testa cosi' su qaunto sia figo Haskell Occhiolino

Fabio Zambetta
Senior Lecturer, School of CS&IT
RMIT University (Melbourne, AU)
Games & Graphics Programming degree Coordinator
03-12-2010 11:04
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Zed
3 di ♠
****

Messaggi: 470
Registrato: Jan 2010
Offline Offline
Messaggio: #13
RE: Prolog e Videogiochi
Ecco un esempio di utilizzo del Lisp in videogame Asd :

http://c2.com/cgi/wiki?LispInJakAndDaxter

http://www.franz.com/success/customer_ap...ydog.lhtml

Vero e' che Lisp e Prolog sono due facce della stessa medaglia; ad ogni modo sono ottimi da insegnare a scopo didattico.
(Questo messaggio è stato modificato l'ultima volta il: 03-12-2010 11:49 da Zed.)
03-12-2010 11:48
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
fzambetta
Senior Lecturer
****

Messaggi: 415
Registrato: Dec 2009
Offline Offline
Messaggio: #14
RE: Prolog e Videogiochi
(03-12-2010 11:48)Zed ha scritto:  Ecco un esempio di utilizzo del Lisp in videogame Asd :

http://c2.com/cgi/wiki?LispInJakAndDaxter

http://www.franz.com/success/customer_ap...ydog.lhtml

Vero e' che Lisp e Prolog sono due facce della stessa medaglia; ad ogni modo sono ottimi da insegnare a scopo didattico.

Si, Naughty Dog sono stati sostanzialmente i primi sviluppatori di un certo rilievo ad utilizzare linguaggi funzionali in un video game.
Il loro articolo su Gamasutra e' un classico a riguardo, davvero molto interessante.
In che senso poi dici che Prolog e Lisp sono due facce della stessa medaglia?
In comune hanno il fatto di non essere linguaggi imperativi ma Prolog nasce dalla ricerca sul theorem-proving mentre Lisp nasce dal lambda calcolo (di Alonzo Church...chi si e' sollazzato con esami di logica, algoritmi et similia sa a chi mi riferisco) Asd
Tuttavia ci sono una bella serie di differenze, se vuoi apriamo un altro thread ad-hoc Smile

Fabio Zambetta
Senior Lecturer, School of CS&IT
RMIT University (Melbourne, AU)
Games & Graphics Programming degree Coordinator
03-12-2010 13:37
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Zed
3 di ♠
****

Messaggi: 470
Registrato: Jan 2010
Offline Offline
Messaggio: #15
RE: Prolog e Videogiochi
Brutalmente parlando, i 2 linguaggi possono modellare problemi di AI (medaglia), con 2 filosofie (facce) differenti.

Prolog esegue backward chaining, ovvero e' guidato dai goal.
Lisp esegue forward chaining, cioe' e' guidato dai fatti.
03-12-2010 14:16
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Rispondi 


Vai al forum: