Category Archives: Software

Lunga vita a Neverwinter

Il gioco Neverwinter Nights non fa più notizia nei siti esclusivi di videogiochi, eppure continua a esercitare il suo fascino su migliaia di persone da oltre sette anni. Il merito di questo successo va dato in parte ai DM (Dungeon Master, sono i narratori) e ai Builders che hanno mantenuto vivo l’interesse dei giocatori, scrivendo nuove avventure e costruendo nuovi scenari, in parte agli sviluppatori che hanno ideato dei metodi intelligibili per modificare il gioco. Il gruppo di strumenti Aurora fornisce un insieme di oggetti, creature e procedure. Quando l’utente apre l’applicazione deve scegliere il tipo, la dimensione, e il nome della mappa. Un’area viene plasmata con dei prefabbricati: sono modelli di medie o grandi dimensioni disegnati dagli artisti di Neverwinter e pronti all’uso. Il lavoro si arricchisce di particolari attingendo da un ampio assortimento di altri piccoli oggetti ordinari (i “posizionabili”): dai forzieri agli alambicchi per i negozi di alchimia, dalla balista distrutta all’albero morto, e così via. La mappa è messa (eventualmente) in comunicazione con un’altra tramite gli attivatori o le porte. Anche senza un progetto ben definito sulla carta, le idee possono prendere velocemente forma nel riquadro dello schermo. Basta un po’ di fantasia, impegno, conoscenza della riga di comando Unix, e le basi di un linguaggio di programmazione per conseguire dei risultati soddisfacenti. Purtroppo il programma non può essere eseguito da Linux, si usa la versione di Windows nell’ambiente Wine. I moduli funzionano comunque su entrambi i sistemi operativi. Questa soluzione utilizza la copia di Neverwinter Nights del disco rigido (virtuale) di Windows. Non c’è problema a mettere in comune certe directory del gioco (per esempio quella contenente i moduli) fra Linux e Windows, anzi si risparmia spazio sul disco. Sia chiaro, ciò resta facoltativo e ha poca importanza sul risultato finale.

La mia avventura si basava sulla campagna di Gallia condotta da Caio Giulio Cesare, descritta fedelmente nel suo libro “De bello gallico”; i Romani, i Galli e i Germani formavano le quest centrali della storia, mentre i mostri (goblin, coboldi, ecc.) erano di supporto. Ho assegnato all’avventura il titolo dello stesso libro e l’ho installata su un server locale per condividerla fra due computer. L’aspirante builder può realizzare una campagna di gioco in poche ore, facendo riferimento ai manuali distribuiti in Internet e consultando frequentemente i forum tematici (vd. Custom Content, Scripting, Toolset), dove altri utenti più esperti hanno già risposto a diversi problemi comuni. Di regola, il sistema resuscita il giocatore nello stesso punto in cui cade, ma molti DM preferiscono spostare il suo corpo in un tempio e rianimarlo. Il giocatore dovrebbe perdere punti esperienza nel caso subisca una sconfitta in duello. Lo scripting di Neverwinter permette di aggiustare questi due aspetti del gioco.

Dopo aver costruito un modulo a sé stante, occorre preparare il server, controllare che tutto funzioni bene, verificare i requisiti: una connessione a Internet, il numero di CD-Key, e la versione del programma. Non esiste una opzione della riga di comando per collegare direttamente il client al server (in Windows c’è +connect), bisogna passare per la modalità d’uso “multigiocatore” specificando il nome e la password registrati nel computer centrale di Bioware. Se il modulo è stato costruito con oggetti presi da Hordes of the Underdark e Shadows of Undrentide, ogni client della Lan deve disporre delle due suddette espansioni e le relative CD-Key. Il server fa un controllo rigoroso, non si sfugge. Oggi, purtroppo, è raro trovare in negozio una confezione nuova di Neverwinter Nights. Solo i codici hanno valore, perché le risorse del gioco si scaricano dalla rete. Quindi se vi capita di vedere una espansione in vendita a pochi euro, per esempio HOTU, compratene tre copie!

Vademecum

  1. Scarica il server di gioco (Win, Linux)
  2. Scarica le risorse del gioco (v1.29, Linux)
  3. Scarica la patch del gioco (italiano v1.29, Linux)
  4. Scarica gli eseguibili del gioco (v1.29, Linux)
  5. Scarica l’aggiornamento (italiano v1.68, Linux)
  6. Scarica la patch del gioco (Windows, per usare Aurora)

Problemi con l’avvio del gioco?

Per risolvere il seguente problema:

[ferocious@laptop-mango nwn]$ ./nwn
nwmain: xcb_lock.c:77: _XGetXCBBuffer: Assertion `((int) ((xcb_req) - (dpy->request)) >= 0)’ failed.
./nwn: line 12: 18836 Aborted ./nwmain $@

si deve rimuovere la directory lib dalla variabile d’ambiente LD_LIBRARY_PATH specificata nello script nwn.

Il PC radiografato con Phoronix Test Suite. Michael’s Laptop vs Ferocious

Mentre leggo la notizia di Phoronix, già fantastico sulle prestazioni del portatile che acquisterò alla fine di questo mese (devo scegliere fra MSI GX 700 o Toshiba X200). Non aggiungerò oggi nulla a quanto è stato già scritto altrove, a parte naturalmente parlarvi di alcune prove effettuate per conto mio con il nuovo Phoronix Test Suite (PTS) sull’attuale computer. Ammetto che l’argomento benchmark è piuttosto ostico, ma i software di questo tipo vengono in aiuto ai principianti perché permettono facilmente di svolgere comparazioni, confronti con altri dati statistici pubblicati sul web oppure semplicemente esaminare a fondo il PC alla ricerca dei punti deboli che compromettono il rendimento complessivo (valore importante per giocare bene). PTS è dunque una collezione di programmi per il Benchmark sotto Linux; non solo Phoronix li usa per i suoi test “interni”, ciò basterebbe come garanzia sui risultati, ma sono stati sviluppati seguendo anche i suggerimenti dei venditori di componenti hardware. Non voglio sminuire i progetti analoghi, anzi colgo l’occasione per ringraziare Encelo per avermi segnalato GL O.B.S. Mi occuperò anche del suo GL Open Benchmark Suite così come di SPECviewperf, questione di giorni perché devo prima conoscere a fondo una cosa per poterla trattare in maniera obiettiva e completa. Ma il mio contributo resterà pur sempre modesto, dovendomi limitare a riportare link ed opinioni da un blog così poco conosciuto. Mi dispiace soprattutto per gli addetti ai lavori, che non riceveranno una eco pari allo sforzo da loro compiuto.

Inizialmente ho avuto dei problemi di installazione ed esecuzione. La procedura non era chiara, speravo di trovare istruzioni precise nella directory per lanciarmi subito con i benchmark, invece conteneva solo informazioni essenziali: un README con i collegamenti al sito web, un TODO con la lista delle cose ancora da fare: scrivere la documentazione per esempio! Poi mi ha sorpreso il linguaggio di scripting php usato per l’esecuzione batch dei comandi. PHP rappresenta un emblema della portabilità dei programmi fra sistemi operativi, ma questa portabilità è veramente necessaria per i nostri scopi? Sì, se il confronto si deve fare fra Linux con Windows, Linux e FreeBSD o Solaris, ecc. Però siamo abituati a eseguire php sui server per creare e serverire pagine web anziché da linea di comando per mandare in esecuzione le applicazioni. L’impatto del software di benchmark sulla memoria di sistema e sull’elaborazione è cruciale. Forse anche sotto questo punto di vista l’interprete php si rivela una scelta azzeccata per non falsare i risultati, avendo poche dipendenze e consumando risorse minime. Gli intoppi che accennavo in precedenza, non si sarebbero manifestati su una distribuzione Linux, io invece usavo Linux From Scratch e tra una dipendenza e l’altra (PHP 5, Php-GTK) non sono riuscito a venirne a capo immediatamente, ma solo dopo aver chiesto lumi a Michael sul forum.

PTS Global raccoglie i risultati dei test. Tramite identificatori si possono effettuare confronti con i benchmark di altri utenti e pubblicarli sul sito, nella sezione creata apposta. Una caratteristica utile e interessante che potrebbe essere migliorata con l’aggiunta di stili personali per la grafica (con tag per un facile inserimento degli istogrammi nei blog o nei siti web). Il sistema sembra pure predisposto per una “autenticazione” degli utenti, previa registrazione. Per il momento però l’upload dei dati avviene in maniera anonima e la ricerca tramite le ID o per categoria di suite. Manca il riassunto finale dei dati con una interpretazione, almeno delle note per spiegare quando i valori sono da considerarsi positivi e quando negativi. Avendo voluto fare una analisi delle prestazioni con Ramspeed fra il mio portatile e quello di Michael Larabel, principale autore di questo software, mi sono procurato dalla lista la ID che corrispondeva al benchmark da lui svolto e l’ho passata come argomento al programma phoronix-test-suite. Tutto il necessario per la prova comparativa veniva scaricato all’occorrenza da Internet. PTS Global per Ramspeed test

Micheal’s Laptop:
Processor: Intel Core2 Duo CPU T9300 @ 2.50GHz (Total Cores: 2), Motherboard Chipset: Intel Mobile PM965/GM965/GL960, System Memory: 1982MB, Graphics: nVidia Quadro NVS 140M, Screen Resolution: 1680×1050. OS: Ubuntu 8.04, Kernel: 2.6.24-14-generic (x86_64), X.Org Server: 1.4.0.90, Compiler: GCC 4.2.3.

Ferocious’ Laptop

Processor: AMD Turion(tm) 64 X2 Mobile Technology TL-50 (Total Cores: 2) @ 1.60GHz, Motherboard Chipset: Advanced Micro Devices, System Memory: 1009MB, Graphics: nVidia GeForce Go 7200, Screen Resolution: 1680×1050. OS: Linux From Scratch, Kernel: 2.6.23.1 (i686), X.Org Server: 7.2.0, Compiler: GCC

Ho effettuato un’ultima prova comparativa fra il Turion X2 del mio Asus e il processore Intel Pentium M di Michael, i risultati sono pubblicati al seguente indirizzo: root-21922-23591-12366

Come collaudare la macchina. Phoronix Test Suite Feet e Hardinfo

Benchamark, Test, Profiler, sono parole chiavi che usiamo con una certa frequenza per riferirci alle analisi qualitative e quantitative effettuate sulle componenti dei nostri computer. Forse, dopo l’acquisto o il montaggio pezzo per pezzo di un PC, la prima cosa che desideriamo è conoscere i pregi e i difetti del sistema quando esso viene sottoposto a intense elaborazioni, in poche parole vogliamo scoprirne il rendimento. Questi carichi di lavoro hanno diversa natura, a volte vengono fatti con funzioni matematiche complesse, altre con applicazioni grafiche (demo) o videogiochi che sollecitano maggiormente i vari dispositivi installati: CPU, disco rigido, memoria, scheda grafica, scheda audio, scheda di rete. L’argomento è di vitale importanza per un giocatore ben informato.

Mentre gli utenti dei sistemi Windows hanno un’idea precisa su quale software adoperare – faccio un esempio: 3DMark, divenuto molto popolare con gli anni – per compiere queste analisi sull’hardware, al contrario gli utenti Linux sono un po’ disorientati perché trovano tanti piccoli software specializzati, spesso datati. Non c’è insomma uno strumento preciso e indiscusso sul quale fare affidamento nelle prove.

Phoronix Test Suite (PTS)

Phoronix è un sito web che dal 2004 tratta di tecnologia informatica, soprattutto effettua analisi e comparazioni di prodotti hardware e software per Linux. Phoronix si può considerare un giornale autorevole in questo campo. I loro articoli hanno ricevuto riconoscimenti da molte parti: CNET, Slashdot soltanto per citare alcuni portali famosi. Io accolgo volentieri la loro ultima iniziativa editoriale, ossia creare una guida destinata all’utente a casa per interpretare i risultati dei test, nonché una raccolta di programmi che automatizzi il processo di benchmarking. Phoronix Test Suite (sito ufficiale in preparazione) fornirà sia la documentazione, sia i programmi da eseguire in una interfaccia grafica GTK. I risultati saranno poi archiviati in file XML e XSL per essere facilmente esportati ad altri formati, trasformati in istogrammi (si veda Phx Grapher Utility, detto anche pts-grapher) da incapsulare direttamente nelle pagine web oppure semplicemente visualizzati dal viewer creato “ad hoc“. Quando gli utenti ripeteranno i benchmark con i propri sistemi e pubblicherano i dati online, indirettamente invoglieranno i produttori degli oggetti hardware più disparati a ottimizzare i driver e il supporto in generale per Linux. Per raggiungere tale scopo, è fondamentale però rispettare uno standard o utilizzare almeno lo stesso insieme di programmi, pertanto mi adeguerò in futuro alle direttive di Phoronix.

Hardinfo

Hardinfo: la finestra principale
Hardinfo: la finestra principale

Questo programma sicuramente non va sottovalutato. Può raccogliere informazioni dal tuo sistema a livello hardware e software, effettuare benchmarks e salvare i risultati in formato html o testo, persino inviarli al database centrale di Hardinfo (synchronizing) e scaricare quelli degli altri utenti per rendere la comparazione piu’ precisa. Permette di integrare facilmente altri benchmarks o applicazioni come moduli, rendendo le possibilità di espansione praticamente infinite o limitate solo dalla nostra immaginazione; un programma bomba! Potrebbe essere questa in futuro la GUI definitiva per Phoronix Test Suite dato che Michael Larabel, a capo di Phoronix, si è dichiarato recentemente interessato. Le pagine html che seguono sono state prodotte proprio con Hardinfo, l’ho eseguito sul portatile che attualmente uso per giocare: il mio Asus A6Tc.