Newsgroup: it.comp.java
Titolo: richiesta commenti su un progetto...

Si tratta di un game engine scritto in java, per la scrittura di giochi
strategici di vario genere e tipo. (
sourceforge.net/projects/strategic/
)
L'idea è di usare java, xml e python per scrivere un engine in grado di
eseguire dei "moduli" contenenti le regole e tutto ciò di cui un gioco di
strategia ha bisogno.
Questa è la grossolana struttura che ho pensato per il mio game engine.
Mancano diverse cose, e diversi collegamenti non sono corretti, ma
dovrebbe rendere l'idea...spero
Command Line Interpreter
Legge, verifica ed esegue i comandi impartiti dall'utente. Ha un set di
comandi built-in, e viene esteso con i comandi messi a disposizione dai
vari package.
PyInterpreterFactory
Si occupa di instanziare l'interprete Python, gestire più istanze,
modificare i parametri delle istanze
PyInterpreterHandler
Fa da wrapper ad un'istanza dell'interprete, ne mantiene lo stato e la
configurazione.
Various Utility Classes
Classi di utilità, come accesso al filesystem, jdbc, server http e telnet,
GUI engine, ed ogni altra classe ausiliaria possa diventare necessaria
JavaFacade
Classe utilizzabile dalla parte python per accedere alle classi di utility
java.
ModuleFacade
Fornisce un'interfaccia standard per ogni modulo. Tutti i moduli devono
implementarla, in quanto è a questa che l'engine accede per utilizzare il
modulo
packageHandler
Classi e metodi utilizzati internamente dal modulo per accedere,
manipolare, etc i files interni al package
PackageFiles
Contiene tutti i files facenti parti del modulo. Possono essere script
python, file xml, file binari di vario genere e tipo, etc.
Various utility classes
Stessa funzione di quella java. Fornisce classi di utilità generale,
accessibili da tutti i moduli.
------
Ogni modulo è costituito da un'interfaccia "standard", e da una serie di
script python.
Quando l'utente carica un modulo, il Command Line Interpreter dice al
PyInterpreter Factory di instanziare un nuovo interprete per il modulo
indicato. Il PyInterpreterHandler si occuperà di caricare ed eseguire
tutti gli script necessari, in base ai parametri forniti dall'utente, o
quelli di default, nonchè di fungere da interfaccia per l'invio di comandi
al modulo.
A questo punto il modulo "vive di vita propria", appoggiandosi all'engine
per alcune funzioni, come l'uso di server http, accesso a database, etc.
Questo perchè comunque java è più performante di python, per questo genere
di cose, ed è comunque più "robusto". L'Handler eseguirà un modulo, e
gestirà l'input per il modulo, a seconda delle varie impostazioni. Per
esempio può aprire una porta telnet, o avviare un server http, o lanciare
una GUI.
Spero che queste poche righe bastino a dare un giudizio sulla mia idea, o
quantomeno ad istigare qualcuno all'omicidio... :-)
Grazie, e buon lavoro!
Guarda l'immagine cliccando 
http://attach.mynl.it/img?id=ODg4
-- 
Raffaele Castagno
Per mandarmi una mail, rimuovere il SIGILLO.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 strategia ha bisogno.
[CUT CUT]
Ciao Raffaele,
come idea è senza dubbio molto interessante e IMHO molto buona
l'architettura, cosi su due piedi nn saprei che suggerirti su eventuali
modifiche o aggiunte, cmq ho una domanda da farti: come mai java + python?
perche nn solo java?
ciao e grazie ;)
-- 
Ciao e buon lavoro,
  Renato
---- 
Renato Eschini
   Inera srl
   Via Vespucci 41
   56100 Pisa
   Tel:         (+39) (0)50 2201218
   WWW:         
http://www.inera.it

 perche nn solo java?
Beh, ovviamente anche perche nn solo python? :D:D:D:D


 Beh, ovviamente anche perche nn solo python? :D:D:D:D
Beh, java è comunque più performante di python, ma python è più semplice
da usare di java. Con java ci faccio il motore di gioco, che programmo io,
mentre python lo uso per i packages, che rappresentano i "giochi", e che
utenti meno esperti possono comunque scrivere.
Non solo python, perchè lo scopo è anche migliorare le mie conoscenze di
java.
E poi fa figo dire che sto facendo un programma in java scriptato in
python! ;-)
In ogni caso, anche diversi giochi commerciali usano il python per lo
scripting. Uno che mi viene in mente è "Star Trek: bridge command", dove
python viene usato a quintali...
Raffaele


 python! ;-)
"per primo le cose importanti" ;) :D:D:D:D


 scrivere in perl proprio per le stesse motivazioni che dici tu.
uhm...perl...quello con la sintassi che sembra la passeggiata di un gatto
sulla tastiera? (cit)
;-)


 ;-)
ROTFL :D:D:D:D:D:D:D:D
