**** GIOCHI E 3D

****Anche le software house si sono accorte del Linux. Il 3D è  ormai maturo!

di Ivan Fabris

Innanzi tutto, vi faccio ora ( un po' in ritardo, scusate ) i miei migliori auguri di buon Natale e di felice anno nuovo! Purtroppo ho mancato l'appuntamento di dicembre, ma ora vedremo di rifarci! 
Forse nel titolo mi sono lasciato un po' trascinare dall'entusiasmo! Basta comunque fare un salto su http://www.linuxgames.com per avere un'idea di quanti giochi di massimo livello siano disponibili per Linux, e non tutti sono solo dei porting dal mondo Windows. Inoltre molti produttori di schede 3D stanno rilasciando le apposite librerie per Linux, oppure le specifiche per poterle scrivere. Ma procediamo con ordine: questo mese vedremo le ultime release delle librerie per le schede 3D più comuni e tanti giochi! Pronti?

**** titoletto: Le librerie
Cominciamo da queste: sono necessarie per poter giocare perché al loro interno sono codificate gran parte delle funzionalità grafiche richieste dai giochi. In realtà la faccenda ultimamente si è fatta un po' caotica, perché molti programmi ( e giochi ) richiedono librerie ad hoc, comunque le più diffuse le trovate all'interno del cd. Oltre alle librerie, ci sono anche i pacchetti cosiddetti "devel", che contengono i file di intestazione, i ".h" , necessari solo per la compilazione : quello fondamentale è il Glide SDK ( Software Development Kit ), Glide2x_SDK-2.1-3.i386.rpm, ed è il primo che dovete installare: serve dapprima a compilare le librerie Mesa ( un porting non ufficiale e free delle OpenGL ) e GLUT ( Glide Utility Toolkit ), e poi tutti quei programmi che utilizzano le funzioni contenute in queste librerie. I pacchetti che trovate sul cd, oltre ai sorgenti delle librerie, contengono anche i file di intestazione indispensabili per poter compilare i programmi che richiedono queste librerie per poter funzionare. Per coloro che non vogliono cimentarsi nella compilazione sono disponibili, sempre nel cd, le Mesa 3.1 con le GLUT 3.7 già compilate ( Mesa-3.1-0.1.i386.rpm ), mentre per i più coraggiosi ci sono  MesaDemos-3.0.tar.gz , MesaLib-3.0.tar.gz ,  glut-3.7.tar.gz , glut_data-3.7.tar.gz e glut-faq.html. Altre librerie utili sono:  Hermes, un' altro insieme di funzioni preconfezionate a beneficio di molte applicazioni grafiche ( leggi: giochi ),  ClanLib,come sopra, che si propone come standard per la grafica dei giochi su Linux, e che si appoggia alle Hermes, Plib, Portability Library, altre funzioni per accelerare la grafica, interfacciare periferiche come joystick, joypad e altro ancora, sono richieste da alcuni giochi e richiedono le librerie GLUT ( che dovrete quindi installare....), ed infine  GGI, General Graphics Interface, un'altra libreria di funzioni  grafiche che può sempre fare comodo. Tutte queste librerie si compilano senza problemi, solo le GLUT hanno resistito al primo assalto del mio gcc..., per un problema di localizzazione di alcuni file: suggerisco di compilarle nella directory /usr/Glut, e di avere le librerie Mesa in /usr/lib. Per finire, al termine di ogni installazione, sia da .rpm che da sorgenti, ricordatevi  di aggiungere il percorso in cui avete installato le librerie ( se diverso dal default ) in /etc/ld.so.conf e di lanciare ldconfig ( sempre e comunque ) per aggiornare il database delle librerie.

**** titoletto: I driver
Ora che abbiamo le librerie ed i file di intestazione necessari per la compilazione, siamo quasi pronti a giocare.... dico quasi perché potrebbe mancare ancora qualcosa! Un server X che supporti la nostra scheda grafica. Questo mese, direttamente dalla RedHat 6.1, i nuovo XFree86 versione 3.3.5, che sostituisce il 3.3.1. Il server XF86_SVGA ora supporta, tra le altre, le schede Riva 128,TnT e TnT 2 , mga 100, 200 e 400, Voodoo 3 e Banshee. Per coloro che possiedono una VooDoo, c' è il /dev/3dfx che consente l'accesso alla scheda a tutti gli utenti, altrimenti accessibile solo da root. Il dispositivo ( Device3Dfx-2.2-3.src.rpm ) è valido per tutte le schede 3dfx, mentre le librerie ( libglide2x ) sono specifiche per ogni scheda ( VooDoo 1,2,3, Banshee e Rush ) e per ogni sistema ( glibc per sistemi basati su RedHat/Mandrake 6 e successive, oppure libc5 per le versioni precedenti ), quindi ad ognuno il suo! Il dispositivo 3dfx meriterebbe qualche parola di più, ma questo mese lo spazio è tiranno: leggetevi il box "Gestire i .rpm" per le istruzioni su come installarlo; altre istruzioni le trovate su cd nella directory di ciascuna scheda, e sul numero 77 della rivista ( Aprile 99, box di Davide Corrado sul 3D )

****titoletto: Ed ora si gioca!
Il nostro punto di partenza è http://www.linuxgames.com ! Anche i pinguini vogliono divertirsi, e quindi per tutte le novità in fatto di giochi, tenete sempre d'occhio questo sito. Anche i mirror di Tucows su Flashnet, IOL ed MCLink ( tra gli altri ) contengono nella propria sezione entertainment una ampia rassegna di videogiochi, che farete bene a non perdere di vista! Altri posti interessanti sono http://www.lokigames.com e happypenguin.org !
FlightGear ( http://www.flightgear.org/ ) è un ottimo simulatore di volo, che sta crescendo e migliorando in continuazione, da tenere d' occhio assolutamente!
Freetrek ( http://freetrek.linuxgames.com ) è un simulatore di battaglie spaziali, ispirato a Star Trek, che fa uso delle Mesa e GLUT. La grafica non è proprio a livelli eccelsi, ma la direzione è senz'altro quella giusta, mentre lievemente più avanti, rispetto a FreeTrek, Netrek ( http://www.netrek.org ), che ha una grafica più accattivante e propone un ambiente sempre stile Star Trek, ma più strategico e multiutente. I server supportano fino a 16 giocatori, e purtroppo in Italia sembra non ce ne siano... ma qualche partita tra amici si può sempre fare!
Altri giochi interessanti sono Tux : A Quest For Herring ( http://www.woodsoup.org/projs/tux_aqfh ) , l' avventura grafica in 3D di un simpatico pinguino, Parsec ( http://www.parsec,org ) un simulatore di volo spaziale ancora in fase beta ma molto beta, ma già con una grafica molto buona,e poi URBAN ( http://urban.home.dhs.org )
Inoltre su http://www.lokigames.com potete trovare i demo di Myth2 , Civilization: Call to Power e RailRoad Tycoon II per Linux, mentre su http://www.hopkinsfbi.com potrete trovare il demo ( ed anche il modulo per ordinare l'intero gioco ) di Hopkins FBI, di cui tra l'altro sta per uscire il seguito!
Su  http://www.xatrix.com  troverete invece il porting di Kingpin, ossia l' eseguibile per Linux che per funzionare richiede ovviamente il cd originale
L'elenco sarebbe ancora molto lungo, ma lo spazio è  finito. Comunque sui prossimi numeri parleremo più diffusamente dei giochi per Linux. Controllate spesso i siti che vi ho segnalato e restate sintonizzati su queste pagine! Per adesso buon divertimento!

***** BOX: Gestire i . rpm
Non tutti vogliono permettere ad rpm ( RedHat Package Manager ) di sistemare i file come decide  lui... o meglio come ha deciso colui che ha costruito il pacchetto! Un modo per evitare questo è usare il comando rpm2cpio nomepacchetto.rpm | cpio -i -make-directories che costruirà nella directory corrente la struttura di file contenuta il nomepacchetto.rpm, che si potrà analizzare con calma ed installare a mano. Un altro modo è aprire il file con Midnight Commander, una ottima shell grafica che, tra le altre cose, sa esplorare e gestire i file .rpm.
Ma come scegliere i pacchetti a noi  utili ? Di solito il nome dice praticamente tutto: nomeprog-versione-contenuto.rpm ; se "contenuto" è "devel", allora si tratta in genere di file di intestazione , i .h per intenderci, cioè i file che servono per compilare certi programmi, ma che non servono per eseguirli se avete le versioni già compilate. Se invece nel nome è compreso "src" allora contiene del codice sorgente da compilare: si può estrarre il contenuto e compilarlo a parte, oppure compilarlo con il comando rpm --rebuild nomepacchetto.src.rpm, e ci si ritroverà nella directory /usr/src/redhat/RPMS/processore un file nomepacchetto.rpm, che andrà installato nel solito modo.
Attenzione infine al processore per cui i binari sono stati compilati: un pacchetto che nel nome ha "mips" quasi sicuramente non fa per voi, ma nemmeno uno con "i686" se avete un semplice pentium... invece i "noarch" contengono in genere dei file di aiuti, o comunque del testo, che va bene da qualsiasi parte"
***** FINE BOX

**** DIDA 
 
FOTO 1:	q3.jpg
Quake 3! Non dico altro....

FOTO 2 : 	myth.jpg
Mandiamo un po' di guerrieri all'attacco! 
 
FOTO 3 :	freetrek.jpg
La grafica non e' ancora ai massimi livelli...
 
FOTO 4 :	mesademo.jpg
Come le Mesa sfruttano la 3dfx