[immagine di un Brave GNU World]
Brave GNU World - Numero 39
Copyright © 2002 Georg C. F. Greve <greve@gnu.org>
Traduzione italiana a cura di Giovanni Biscuolo <giovanni.biscuolo@milug.org>
Autorizzazione alla riproduzione sotto.

[DE | EN | FR | IT | JA | ES | KO | PT]

Benvenuti ad un altro numero di Brave GNU World che vi illustrerà alcuni modi per liberarvi creativamente del vostro tempo libero.

Rocks'n'Diamonds

"Rocks'n'Diamonds" di Holger Schemel è un gioco che mostra un'impressonante somiglianza con classici come "Boulder Dash" (Commodore 64), "Emerald Mine" (Amiga) o "Supaplex" (PC). Questo non è affatto sorprendente dal momento che è stato scritto da un fanatico di quei giochi per altri fanatici.

Per i non illuminati: lo scopo di questo classico Arcade 2D è di collezionare diamanti senza subire una fine prematura. Per raggiungerlo, potete (oltre al resto) muovere rocce, lanciare bombe ed eludere i mostri.

Il gioco venne scritto in C con un occhio particolarte alla portabilità. Funziona praticamente su ogni tipo di Unix - ammesso che sia supportato X11 - ed anche con Mac OS X, DOS e Windows. Con uno scorrimento fluido dei livelli, supporto per il joystick e tasti liberamente assegnabili garantisce una attenzione alle preferenze ed alle caratteristiche degli utilizzatori.

Oltre alla grafica alquanto originale, il divertimento del gioco è incrementato dal supporto per gli effetti sonori e la musica su tutti i sistemi operativi che lo permettono.

Il gioco è reso ancora più attraente grazie al supporto di rete sotto Unix, che consente fino a quattro giocatori contemporaneamente. Inoltre ha una modalità locale multi-giocatore che permette di risolvere i livelli in squadra, su una singola macchina.

Per garantire di non annoiarsi, il gioco ha letteralmente migliaia di livelli da risolvere ed una volta finiti quelli, c'è ancora l'editor di livelli.

Il gioco venne pubblicato per la prima volta tra il 1994-1995 per GNU/Linux e Solaris, prima della versione MS-DOS del 1998 e di quella Windows del 2001. Holger Schemel lo pubblica come Software Libero sotto la Licenza Pubblica Generale GNU (GNU GPL, N.d.T.).

Benchè il gioco sia già parecchio maturo, lo 0 è ancora attivo. Secondo quanto riportato da Holger, in particolare emulare i motori di gioco di Boulder Dash, Emerald Mine, Supaplex e Sokoban da ancora qualche problema poichè non è ancora abbastanza buono per poter giocare tutti i loro livelli originali.

Se voleste aiutare, sareste i benvenuti. Inoltre collaborazioni nel campo della grafica, aiuto nel porting ad altre piattaforme o per nuovi livelli sono molto gradite.

Holger stesso è stato in grado di sperimentare gli aspetti, talvolta molto interessanti, di una tale collaborazione: nella metà degli anni 90, quando il centro di ricerca nucleare Jülich in Germania gli disse che il suo gioco faceva andare in crash uno dei loro server AIX.

Poichè non era in grado di riprodurre quell'errore, gli venne fornito un accesso via telnet al sistema in questione e stabilì che il problema derivava da una chiamata di sistema a X11 errata. In questo modo fu in grado di sistemare l'errore e contemporaneamente sperare di non aver avuto un impatto troppo negativo su qualche congegno nucleare.

Fortunatamente non è molto comune, ma questa piccola storia dimostra in modo carino come lo spirito di collegamento e cooperazione del Software Libero possa a volte arrivarvi da posti interessanti.

Mirror Magic

Come il precedente gioco, anche Mirror Magic [6] fu scritto da Holger Schemel. Per rendere giustizia, bisogna dire che lo scrisse già nel 1998 e venne distribuito commercialmente come gioco proprietario con il nome di "Mindbender" per Amiga. Successivamente, nel 1994, lo ha portato sotto Unix e pubblicato come Software Libero sotto Licenza Generale Pubblica GNU (GNU GPL).

Lo scopo del gioco è quello di dirigere un cannone laser dalla fonte di emissione verso un rilevatore. Dati un paio di specchi orientabili dal giocatore sarebbe proprio semplice, ma ciò è reso sempre più difficile da diversi tipi di ostacoli, che possono essere aggirati oppure distrutti dalla potenza del laser. In determinate posizioni, gli specchi potrebbero causare il ritorno del laser alla fonte, causando il surriscaldamento del laser e l'eventuale esplosione; che non è un risultato desiderabile.

Regole semplici possono dare un sacco di divertimento e Mirror Magic non fa eccezione a questa regola. A proprio come Rocks'n'Diamonds, Mirror Magic inoltre mostra grafica, effetti sonori e musica proprio belli.

In effetti, entrambi i giochi hanno un aspetto simile alquanto sospetto, che non è del tutto casuale poichè Rocks'n'Diamonds è basato sul motore di Mirror Magic.

La loro relazione viene da lontano, tanto quanto il numero di versione che - nel momento in cui scrivo questo articolo - è 2.0.1 del 19 Marzo 2002 per entrambi i giochi.

I lettori di Brave GNU World devono ringraziare Glenn Alexander per entrambe le presentazioni di questi progetti, comunque. Si è convinto che anche altri lettori potrebbero esservi interessati e, dopo aver parlato con me, chiese a Holger Schemel di riempire il questionario standard di Brave GNU World.

Questo approccio si è mostrato molto buono e funzionante in passato e dovrebbe essere assolutamente adottato da più persone.

T.E.G.

Diverse cose che susciterebbero proteste nella vita reale possono essere liberamente godute nello spazio virtuale. La conquista del mondo è una di queste.

T.E.G. ("Tenes Empanadas Graciela") [7] è un clone del rinomato gioco "Risk" (molto simile a RisiKo!, N.d.T.) iniziato nel 1996 da Ricardo Quesada.

Il concetto di gioco di Risk non avrebbe bisogno di molte spiegazioni, ma nel caso in cui qualche lettore non si sia ancora divertito con esso: Risk è un gioco a tabellone nel quale i giocatori combattono con le proprie armate per prendere il controllo di determinate regioni o del mondo intero. Vincere dipende dall'abilità tattica e da un po' di fortuna nel tirare i dadi.

Sebbene il progetto sia stato dichiarato morto diverse volte nel corso del suo sviluppo, risulta in continuo sviluppo fin dall'inizio del 2000. Attualmente contiene tre mappe, consente il gioco in rete ed è stato tradotto in Spagnolo, Francese, Tedesco e Polacco.

La mancanza di mappe e la procedura relativamente complicata per generarne di nuove è uno dei maggiori punti deboli, secondo Thomas R. Koll, che contribuisce a T.E.G. come traduttore ed ha risposto alle domande di Brave GNU World. Nonostante questo punto debole si può giocare agevolmente a T.E.G. e la grafica è piuttosto bella.

I programmi futuri si concentrano sulla generazione di differenti sistemi di regole, mappe migliori, maggior intelligenza dei robots e un meta-server. L'aiuto per questi compiti da parte di disegnatori o sviluppatori interessati è sicuramente apprezzato.

T.E.G. è stato scritto in C utilizzando le librerie GTK+/GNOME ed è pubblicato sotto la Licenza Generale Pubblica GNU (GNU GPL).

JTEG

Se la scelta di C e GTK+ non soddisfacesse i vostri gusti personali, potreste provare JTEG [8] di Jef De Geeter e Yves Vandewoude. È una implementazione Java di TEG che venne ispirata proprio da TEG, sebbene il codice e lo sviluppo siano completamente indipendenti.

Anche questo progetto è pubblicato sotto la GNU GPL e, siccome utilizza lo stesso protocollo di comunicazione in rete di TEG, entrambi i giochi possono comunicare l'un l'altro.

Per quanto riguarda le traduzioni, JTEG offre al momento Danese, Francese, Tedesco ed Italiano.

Grazie all'utilizzo di Java, JTEG dovrebbe essere in grado di funzionare su quasi tutte le piattaforme che supportano Java 1.3 o successivo. Naturalmente ciò significa anche che soffrirà degli stessi problemi di Java.

Sarebbe una buona cosa se Sun mostrasse un maggior interesse a rendere Java un linguaggio completamente aperto ed a supportare implementazioni Libere di riferimento.

GNU Chess

GNU Chess [9] (Scacchi N.d.T) è tra i più vecchi progetti del Sistema GNU, il suo sviluppo cominciò nel 1984. È in costante manutenzione e sviluppo e anch'esso merita di trovare posto in Brave GNU World.

Il gioco degli scacchi non dovrebbe aver bisogno di spiegazioni. Anche chi non ha mai giocato spesso conosce le regole e molte persone ne sono venute in contatto a scuola quando l'elevamento all'ennesima potenza dei numeri gli fu spiegato con una scacchiera ed i granelli di riso.

Date le origini e l'età del progetto la scelta della Licenza Generale Pubblica GNU (GNU GPL N.d.T) e del linguaggio di programmazione C difficilmente potranno sorprendere qualcuno.

Gli sviluppatori maggiormente attivi di GNU Chess attualmente sono Simon Waters, il quale ha risposto al questionario di Brave GNU World, e Lukas Geyer. Stuart Cracraft, che mantenne il progetto per diversi anni, comunque li aiuta ancora con consigli e risposte occasionali alle segnalazioni di errore (bug-reports N.d.T.), nonostante stia lentamente tirandosi fuori da GNU Chess.

Durante questi anni molte persone hanno contribuito a GNU Chess e sarebbe impossibile menzionarle tutte, ma Chua Kong-Sian merita di essere menzionato poichè ha contribuito alla maggior parte del codice per la versione 5 di GNU Chess.

Secondo Simon l'attuale sviluppo dovrebbe concentrarsi sulla manutenzione e l'ulteriore espansione della già notevole portabilità, oltre all'implementazione di un database di gioco e di una "modalità di analisi."

In particolare la modatlità di analisi è qualcosa che egli considera importante poichè secondo la sua esperienza i programmi complessi possono trarre enorme vantaggio da una simile funzione. Come esempio, ha citato un programma per l'unità di ricerca incendi in Gran Bretagna, nel quale inclusero funzioni di visualizzazione e scoprirono che nel loro modello di costruzione in fiamme la rampa di scale era di un gradino più corta rispetto al pavimento.

Con la pulizia del codice già terminata, la modalità di analisi dovrebbe anche aiutare ad aumentare la potenza di gioco di GNU Chess.

Anche se ci sono diversi programmi di scacchi gratuiti per alcuni dei quali potete anche ottenere il codice sorgente, sembra che GNU Chess sia molto popolare tra i manutentori di siti web e gli autori di programmi grafici di scacchi i quali hanno bisogno di un motore di gioco che gli fornisce la necessaria libertà di effettuare il port e di integrarla in modo semplice ed efficiente.

Secondo l'esperienza di Simons questa libertà offerta da GNU Chess è un grosso vantaggio ed è molto apprezzato, come egli ha avuto modo di scoprire attraverso il gran numero di correzioni che gli sono state inviate.

Se volete semplicemente giocare a GNU Chess, potete naturalmente farlo, ma probabilmente avrete bisogno di una interfaccia grafica. La migliore è probabilmente XBoard [10] di Tim Mann, una interfaccia grafica sotto GNU GPL.

Scid

Coloro di voi i quali conoscono gli scacchi per averci giocato, conosceranno certamente il valore di un buon database di scacchi - almeno una volta che si è raggiunto un certo livello di bravura nel gioco.

Scid ("Shane's chess information database") [11] è uno di questi database, sviluppato da Shane Hudson sotto la Licenza Generale Pubblica GNU (GNU GPL N.d.T.).

Le partite possono essere facilmente e velocemente inserite in Scid per ricercare successivamente determinati parametri di gioco. Poichè l'utilità di qualsiasi database è per la maggior parte determinata dalle possibilità di manutenerlo, a questa funzionalità è stata prestata grande attenzione.

Inoltre, la possibilità di mettere alla prova l'abilità di gioco è importante secondo Shane e con l'aiuto di un motore di gioco compatibile con WinBoard potete utilizzarlo anche per analizzare le partite.

Diversamente dagli altri programmi proprietari che dominano la scena ed a volte sono molto costosi, Scid non solo supporta Windows ma funziona anche sotto Unix ed ha - stando al suo autore - una interfaccia più semplice e chiara.

Naturalmente la dimensione del database di gioco incluso rappresenta anch'essa un fattore importante per l'utilità di un simile progetto. Alcuni dei programmi proprietari hanno più di 1.000.000 di partite dei loro database. Dal sito web di Scid, potete scaricare un database di elevata qualità con più di 500.000 partite di maestri e con un basso coefficiente di duplicazione.

Lo sviluppo di Scid cominciò nel 1999. Oggi è senza dubbio un progetto stabile con traduzioni in 12 lingue. Come linguaggio di programmazione Shane ha utilizzato il C++ con Tcl/Tk come interfaccia grafica.

Per quanto sopra esposto, il compito più importante sono la manutenzione delle pagine di aiuto e la creazione di un tutorial per i nuovi utenti. Così, se voleste passare del tempo a riflettere sugli scacchi, dovreste dare un'occhiata a Scid.

GNU oSIP Library

L'RFC2543 [12] descrive il "Session Initiation Protocol" (SIP) (Protocollo per Iniziare la Sessione, N.d.T.), un protocollo per iniziare, modificare e terminare le sessioni multimediali. SIP venne inventato come sostituto più leggero di H232, per consentire in maniera particolare l'utilizzo di telefoni hardware e software via internet. Oltre al resto, consente ai proxy ed ai gateway tra le reti ed i fornitori del servizio di localizzare gli utenti con IP dinamico.

Il protocollo ha una - voluta - somiglianza con i protocolli MAIL ed HTTP e proprio come è possibile oggi inviarmi un messaggio di posta elettronica con "mailto:greve@gnu.org," SIP renderà un giorno possibile chiamarmi all'URL "sip:greve@gnu.org".

Dato che sempre più aziende migrano da H232 a SIP e dato che la quinta versione del protocollo UTMS è basata su SIP, diventa sempre più importante implementare questo protocollo con Software Libero.

La libreria GNU oSIP [13] ("Omnibus SIP") di Aymeric Moizard è una di queste implementazioni Libere rilasciate sotto Licenza Pubblica Generale Minore (GNU LGPL, N.d.T.) ed è recentemente diventata parte del Progetto GNU.

oSIP è stato scritto in C, limitando appositamente le dipendenze alle libc6 affinchè sia possibile utilizzarla sul maggior numero possibile di sistemi. Questo consente di utilizzare oSIP in dispositivi embedded e crea le basi per telefoni mobili internet basati su Software Libero.

I vantaggi principali di oSIP rispetto ai progetti proprietari sono le ridotte dimensioni, la flessibilità e il fatto che sia Libero. Ma per quanto ne sappia Aymeric, non c'è nemmeno nessun altro stack SIP C che sia Software Libero comparabile a oSIP.

È abbastanza probabile che la telefonia internet basata su SIP rimpiazzerà completamente i telefoni attuali con i loro ben noti gestori.

Se uno mette assieme l'importanza economica e sociale della comunicazione attraverso il telefono con la tendenza del software proprietario a creare monopoli, è evidente che la comunicazione deve essere possibile attraverso Software Libero per cercare di prevenire un monopolio globale sulla telecomunicazione.

In questo modo è facile comprendere perchè oSIP sia un contributo fondamentale al progetto GNUCOMM [14] da parte di Aymeric.

Libferris

Come il precedente progetto, la libreria Ferris [15] è anch'essa una parte con la quale la maggior parte degli "utenti normali" non verrà mai in contatto diretto. Ma anche se queste funzionalità sono utili in maniera diretta solo agli sviluppatori, credo sia utile avere una certa conoscenza di quello che accade "dietro le quinte" - anche da parte degli utenti puri.

Libferris è un "Virtual File System" (VFS) che funziona in user-space. La sua funzione è di fornire ai programmi - e quindi agli utenti - un accesso trasparente, semplice e consistente a diverse fonti di dati.

Libferris consente di rendere disponibili database, database relazionali, XML, caselle di posta, accessi FTP, sockets, archivi compressi, RPM e server SSH2 come strutture di directory in modo trasparente. Inoltre, consente l'estrazione diretta di determinati dati/informazioni da differenti formati come ID3, MPEG2 e tutti i formati immagine supportati dalle librerie Imlib2 o ImageMagick.

Per gli utenti c'è il vantaggio che diventa irrilevante dove o in quale formato i dati sono immagazzinati, tutti questi dettagli sono gestiti da libferris.

Gli sviluppatori non si devono più preoccupare di supportare dozzine di formati di file e layer di trasporto - tutto ciò che devono scrivere è un collegamento a libferris.

Ben Martin cominciò a lavorare a libferris nell'Aprile/Maggio del 2001 e rilasciò la prima versione già nel Giugno 2001.

Come linguaggio di programmazione per il progetto scelse C++, poichè voleva fare un uso estensivo della "Standard Template Library" (STL) del C++, che è anche la ragione per la quale decise di non espandere il gnome-vfs per i suoi scopi.

L'orientamento agli oggetti ed allo steam di libferris rendono semplice la sua estensione e consentono di scrivere i vostri moduli per rendere accessibili altre sorgenti o formati attraverso libferris.

Ben principalmente stà cercando aiuto sotto forma di moduli che consentano di inserire differenti protocolli o di estrarre informazioni da formati di file attualmente non supportati. Ma non gli dispiacerebbe se gli venisse fornito del buon hardware veloce, come egli fa notare.

Anche se i dettagli tecnici non possono essere discussi qui, continuo a sperare che abbiate ottenuto i concetti base e le caratteristiche chiave. Gli sviluppatori interessati dovrebbero assolutamente dargli un'occhiata.

Alla prossima

Per questo mese è abbastanza. Come in tutti i numeri, vorrei incoraggiarvi ad inviare al solito indirizzo messaggi con idee, informazioni di ritorno, commenti e progetti interessanti. [1] Molto spesso sono state le idee dei lettori a condurci a funzionalità interessanti, allora non esitate.

Informazioni
[1] Inviate idee, commenti e domande a Brave GNU World <column@brave-gnu-world.org>
[2] Pagina principale del Progetto GNU http://www.gnu.org/
[3] Pagina principale di Georg's Brave GNU World http://brave-gnu-world.org
[4] "We run GNU" initiative http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] Rocks'n'Diamonds home page http://www.artsoft.org/rocksndiamonds/
[6] Mirror Magic home page http://www.artsoft.org/mirrormagic/
[7] T.E.G. ("Tenes Empanadas Graciela") home page http://teg.sourceforge.net
[8] JTEG home page http://jteg.sourceforge.net
[9] GNU Chess home page http://www.gnu.org/software/chess
[10] XBoard & WinBoard home page http://www.tim-mann.org/xboard.html
[11] SCID home page http://scid.sourceforge.net
[12] RFC2543 http://www.ietf.org/rfc/rfc2543.txt
[13] GNU oSIP library home page http://www.gnu.org/software/osip/
[14] GNUCOMM home page http://www.gnu.org/software/gnucomm/
[15] Libferris home page http://witme.sourceforge.net/libferris.web

[ numero precedente | Pagina principale di Brave GNU World | numero successivo ]

Ritorna alla pagina principale di GNU.

Per informazioni e domande sulla FSF e GNU rivolgersi, possibilmente in Inglese, a gnu@gnu.org. Altri modi per contattare la FSF.

Commenti a Brave GNU World di Georg, in Inglese o Tedesco, a column@gnu.org,
commenti su queste pagine a webmasters@www.gnu.org,
altre domande a gnu@gnu.org.

Copyright (C) 2002 Georg C. F. Greve
Tradotto da Giovanni Biscuolo.

Sono permesse la copia letterale e la distribuzione di questo articolo nella sua integrità, a condizione che siano riprodotti il copyright e questa nota.

Ultima modifica: Tue Apr 22 17:50:00 CET 2002