Sviluppare un gioco in Python: tools.

Introduzione

Fino a questo momento abbiamo analizzato attraverso esempi varie tecniche presenti in videogame in 2D e di conseguenza come utilizzare la libreria pygame per realizzare il nostro videogioco. Non mi sono mai soffermato su un aspetto molto importante ed il più delle volte sottovalutato, ovvero quali tools si possono utilizzare per scrivere i propri progetti.

“Sottovalutato” nel senso che si può risparmiare tempo prezioso semplicemente utilizzando uno di questi programmi (che vedremo di seguito) insieme alla documentazione ufficiale della libreria che stiamo utilizzando (qualsiasi essa sia).

Naturalmente mi concentrerò su quelli che utilizzo (rigorosamente multipiattaforma e liberamente utilizzabili, per permettermi facili spostamenti tra i vari OS), ma nessuno vieta di utilizzarne degli altri, visto che la scelta è molto ampia.

Sicuramente queste cose non sono nuove a nessuno di voi che abbia già letto gli altri pezzi o che programmi già da tempo, ma vorrei che questo articolo serva anche per confrontarsi e per dare ulteriori spunti che riguardano questo argomento, come esperienze personali o preferenze.

Editor

Gli editor disponibili per il linguaggio python sono un’infinità : http://wiki.python.org/moin/PythonEditors

Si può optare per soluzioni semplici e veloci, come Vim o Scite oppure per soluzioni non altrettanto leggere ma con molte funzionalità. Tra quelli di quest’ultima tipologia io utilizzo in particolare Komodo-Edit. Komodo oltre a supportare in modo eccellente gli ultimi linguaggi disponibili, ha la possibilità di gestire progetti anche se non in modo dettagliatissimo. Essendo sempre multipiattaforma e free (non è open-source però) non riscontra particolari problemi nel suo utilizzo e per chi ha più OS nella propria macchina potrà apprezzare molto questo tool.

Gli editor sono strettamente necessari se non si vuole perdere troppo tempo nelle modifiche del proprio codice. Permettono un’immediata comprensione dei costrutti presenti ed offrono (per lo meno la maggior parte di essi) suggerimenti e/o informazioni riguardo quello che si sta scrivendo. Come ho già accennato, insieme ad una documentazione ufficiale della libreria che si sta utilizzando, gli editors costituiscono uno strumento essenziale per ogni programmatore.

IDE

Subito dopo abbiamo gli Integrated Development Environments, che di base si distinguono per una migliore gestione le progetto e del file che si sta attualmente editando e per aver integrato un debugger o la possibilità di eseguire l’interprete (anche se questa feature è presente anche in qualche editor).

Anche se la lista non è lunga come quella degli editor, credo che ognuno possa trovare quello che più lo aggrada : http://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Per progetti open-sourse WingWare rappresenta un’ottima soluzione. Anche il plugin per Netbeans è un’ottima alternativa, peccato che dalla versione 7 non è più disponibili e si spera che il supporto ritorni nei futuri aggiornamenti (del plugin si intende). Tra le soluzioni disponibili personalmente ho scelto di utilizzare il plugin PyDev per Eclipse. Più precisamente ho installato Aptana che contiene al suo interno PyDev. Aptana supporta anche linguaggi come Ruby e Html 5 ed è molto utile per chi sviluppa applicazioni web.

Eclipse e PyDev sono una coppia perfetta per gestire i propri progetti e sono molto personalizzabili. Richiedono qualche configurazione iniziale (come tutti gli IDE del resto), ma hanno risolto anche molti dei miei problemi, come per esempio la coesistenza di due interpreti python (2.7 e 3.1) e quindi la possibilità di utilizzarli indipendentemente (sia in modalità debugger che in esecuzione) per ogni progetto in corso.

Condivisione delle risorse

Anche se può sembrare fuori luogo, vorrei sottolineare come le modalità di condivisione del codice siano fondamentali quando si lavora insieme. Per la mia personale esperienza posso dire di essere stato molto soddisfatto nell’utilizzo dei due seguenti programmi:

Il primo, se utilizzato su server che lo supportano, è molto utile per tenere traccia delle modifiche effettuate dai vari collaboratori (si sposa perfettamente con Google Code). Ringrazio Emanuele Rampichini per avermi fatto conoscere questo “distributed source control management tool”.

Il secondo rappresenta un programma fondamentale per condividere tra più fonti lo stesso progetto, senza curarsi troppo dei dettagli. Basta infatti creare una cartella e condividerla con i propri colleghi ed il tutto all’interno del sistema operativo, senza nessuna necessità di affittare costosi server.

Per i progetti open-source la cosa è più semplice è affidarsi a servizi come SourceForge e Google Code, che affiancano la realizzazione del programma. Ma se si ha la necessità di creare un proprio software (magari anche con il fine di venderlo) con pochi mezzi a disposizione, Dropbox può essere una buona rampa di lancio.

Conclusioni

Come avete potuto constatare, le alternative per scrivere codice e gestire progetti sono moltissime e ce ne sono per utti i gusti. Mi piacerebbe conoscere le vostre opinioni a riguardo, per capire cosa utilizzate ed il perché. Condividere questi punti di vista può aiutare molto, sopratutto quando si cerca di collaborare in gruppo o in un team.

Non pensate minimamente che sia tempo perso, perché l’utilizzo di questi applicativi vi può far risparmiare molte ore di coding, lasciandovi più rilassati e preparati per il prossimo task.

Nel prossimo articolo inizieremo un nuovo percorso che ci porterà ad esplorare una nuova dimensione…

Press ESC to close