Archive for the ‘Videogiochi’ Category

Debunking di giochi per Windows

Saturday, June 26th, 2010

Vorrei sfatare la credenza, assai diffusa, della inferiorità di Linux rispetto a Windows nell’attività ludica col computer. Dopo molti anni passati a smanettare con i sistemi operativi open source, ho deciso di scrivere un debunking del falso mito “Windows è migliore di Linux” perché ritengo che le vecchie idee siano ormai superate: ha più videogiochi; possiede API specifiche per programmare il suono e la grafica; il software di controllo (driver) della scheda video ha prestazioni eccezionali, e via discorrendo. Ultimamente vengono fatti sempre più spesso tentativi di ridimensionare la cattiva fama di Linux in questo particolare ambito dell’informatica e la letteratura sull’argomento si sta arricchendo (vd. anche il tag debunking), segno che i tempi cominciano davvero a cambiare.

L'incontro fra Linux e Microsoft

L'incontro fra Linux e Microsoft

Molte persone si lamentano per la scarsità di giochi, la realtà è però diversa, loro vorrebbero poter eseguire i giochi preferiti su Linux. Ci sono quattro semplici soluzioni a questo problema: cercare un titolo equivalente, ma di tipo open source; individuare quelli multi-piattaforma (i cosiddetti cross-platform); provare con Wine; predisporre il computer con il dual boot (il doppio sistema di avvio).
Ogni sistema operativo ha una rispondenza di mezzi ai fini e delle aree d’impiego dove dimostra di essere superiore rispetto alle piattaforme software alternative. Nel progetto originario di Linux non c’era l’obiettivo di avvicinare la gente ai videogiochi perché chiaramente esistevano già le console dedicate. Linux è stato prima un software di nicchia dei geek, poi una scelta obbligata per gli esperti e i professionisti con un’ampia conoscenza di UNIX, Internet e reti di computer; tuttavia oggi i suoi utilizzi sono ben più ampi e gode di crescente popolarità in nuovi campi. Linux viene infatti apprezzato nella computer grafica, nella ricerca scientifica, nel mobile computing, e nello svago – come cercherò di dimostrare.
Quando c’era Loki Software (dal 1998 al 2001), i migliori giochi di Windows venivano “portati” su Linux, erano Quake III Arena, Civilization: Call to Power, Myth II, Soldier of Fortune, Railroad Tycoon II, Descent II e tanti altri. Finalmente una software house faceva investimenti nel settore, al pari di Microsoft o Apple. Distribuiva anche diversi strumenti (poi diventati free software) che semplificavano la procedura di installazione, configurazione o rimozione del gioco stesso: il programma Loki Installer, le librerie SDL e OpenAL (ancora ampiamente utilizzate). Seppur coraggiosa ed originale, l’impresa terminò purtroppo dopo appena tre anni per bancarotta. I PC Games dominavano il mercato e la maggior parte dei giocatori, potendo avviare sia Windows che Linux, era contraria ad acquistare due versioni dello stesso gioco. Inoltre la vendita avveniva per corrispondenza, ad esempio tramite il negozio Tux Games, dato che era difficile trovare i Loki Games sugli scaffali dei supermercati. Comunque un’altra software house, la compagnia Linux Game Publishing, continuò l’impresa riproponendo un discreto numero di videogiochi.
L’ultimo decennio ha visto l’avvento della banda larga e di nuove forme di pagamento per via telematica. Sono quasi scomparsi gli intermediari fra sviluppatori e giocatori, se quest’ultimi non trovano un titolo nei grandi magazzini, provano a comprarlo online e a scaricarlo dal Web. È l’era della content delivery di Steam, Green House, GOG e Direct2Drive.
Qualora Valve rilasciasse Steam per Linux – è più che una congettura, abbiamo visto il primo esemplare del programma dopo lo scoop di Phoronix – si giocherebbe una partita alla pari con Windows. Molti altri giocatori passerebbero da Windows a Linux sapendo che i popolari Half Life, Counter-Strike, Team Fortress sono diventati cross-platform.
Per il momento però, se escludiamo l’idea di scegliere i giochi open source equiparabili ai titoli che ho appena citato, dobbiamo usare Wine. In poche parole, e senza entrare nel merito del funzionamento del programma, eseguiamo le applicazioni Windows su Linux, FreeBSD e Mac OSX. Questo sistema presenta ulteriori vantaggi: Wine è economico, infatti il suo costo è nullo (free) rispetto ai cento euro che occorrebbero per acquistare una licenza di Microsoft Windows; si scarica dalla Rete sotto forma di codice sorgente o di pacchetto con il codice binario pronto all’uso; ha una elevata compatibilità con Windows, dalla versione 3.1 alla recente Windows 7; è ottimo in termini di prestazioni.
Tanto il neofita quanto l’hardcore gamer apprezzano anche CrossOver Games e Cedega. Questi due software sono basati su Wine e forniscono una GUI (Graphic User Interface) che facilita sia l’installazione che la configurazione di numerosi giochi; l’utente può anche usufruire dell’assistenza di personale qualificato in caso di difficoltà con le operazioni. Da un confronto con Wine e Windows stesso, Crossover e Cedega hanno mostrato un livello di efficienza pari o superiore in molti test. Ma la qualità di questi software ha un prezzo che è meglio pagare quando Wine fa le bizze e non abbiamo tempo per aspettare una soluzione oppure una patch. In realtà con i videogiochi più gettonati fila tutto liscio. Di recente ho registrato un account di World of Warcraft e ho potuto constatare quanto sia semplice e veloce predisporre il necessario per l’avvio della partita online; riporto ulteriori esempi dagli esiti soddisfacenti: Guild Wars, GTA, Fallaout, Runes of Magic, Medal of Honor, Call of Duty, Battlefield 1942. Wine amplia le opportunità di gioco in Linux, ma non fa i miracoli. Prima di acquistare qualche cosa è bene informarsi se dà problemi, per esempio nella lista AppDB il software funzionante viene contrassegnato con “medaglie” di platino, oro o argento.
Un elenco di giochi è presente anche in Playonlinux. Gli utenti di questo programma usano i menu e le icone di una interfaccia grafica per scorrere la lista di videogiochi (o applicazioni) che desiderano provare. Alla base c’è un insieme di istruzioni, scritte nei linguaggi Python e Bash, che passate a Wine ne automatizzano i processi di installazione, configurazione o rimozione. Quando eventuali bug vengono scoperti, oppure una nuova applicazione supera i test, gli sviluppatori rilasciano un aggiornamento. Con Playonlinux sono finiti i tempi cupi passati a cercare nella Rete le soluzioni ai bug, le patch o i parametri di Wine.

Schermata di PlayOnLinux

Schermata di PlayOnLinux

L’hardware di un PC deve fornire una potenza adeguata al gioco, che il sistema sia Windows o Linux è indifferente. Un computer costruito con la componentistica di dieci anni fa, a malapena riesce ad eseguire Enemy Territory: Quake Wars; la CPU Athlon XP 1500+ e la scheda video Radeon 9700 sono tipici esempi di pezzi troppo vecchi per essere montati oggigiorno nei cabinet, a meno che si voglia usare solo giochi e applicazioni altrettanto vecchie, mi riferisco a Counter-Strike, Quake 3, ecc. Oltre al requisito hardware/software, c’è un altro aspetto da considerare: l’assemblaggio di una “macchina da gioco” Linux deve cominciare con la ricerca delle componenti compatibili perché i prodotti sono garantiti in genere per Windows. Prendiamo la scheda video, è un elemento decisivo nella composizione dell’immagine sullo schermo che deve funzionare sempre ai massimi livelli, pertanto prima di acquistarla bisogna svolgere una opportuna verifica su Internet, magari chiedendo l’opinione di altri utenti nei forum: la scheda deve servire perfettamente il sistema operativo. Intel, ATI e nVidia sono le principali aziende che progettano GPU (Graphic Processing Unit, l’unità centrale di elaborazione della grafica) per le schede video; il programma che controlla le funzioni disponibili a livello hardware (il driver) è unico, in genere, per l’intera gamma di modelli: abbiamo quindi il Catalyst per le Radeon di ATI e l’UDA per le GeForce di nVidia; tralascio quelli open source perché il livello di prestazioni che possono raggiungere con i giochi è purtroppo inferiore.

È il momento di fare alcuni esempi concreti, cominciando da un gioco gratuito, d’azione e cross-platform che attualmente spopola su Internet.

Quake Live

Quake Live è un First Person Shooter (letteralmente tiratore in prima persona, spesso abbreviato con FPS) che ridà vita al classico e arcinoto Quake 3 Arena di dieci anni fa, sia modificando il motore grafico del gioco sia introducendo una serie di nuove funzioni: l’integrazione col web browser, le statistiche persistenti, il medagliere e un sistema per confrontare i livelli di esperienza dei giocatori, detti gladiatori, che si scontrano in un’arena attrezzata di armi, munizioni, scudi, potenziatori ed energizzanti.

Quake Live dentro il web browser

Quake Live dentro il web browser

Runes of Magic

Ci sono anche i “giochi di ruolo”, conosciuti come RPG (Role Player Game). Runes of Magic è un clone, in parte gratuito, di World of Warcraft; con questo non voglio dire che sia fatto male, tutt’altro! Su Linux “gira” abbastanza bene, ma l’installazione richiede molta pazienza perché viene distribuito con due archivi di notevoli dimensioni (4GB ciascuno). Senza un computer potente è meglio lasciar perdere questo gioco. Io l’ho provato su Ubuntu con l’ultima versione di Wine (1.2 RC2) e in Rete il sistema mostrava dei limiti evidenti nel gestire i luoghi affollati.

Heroes of Newerth

Preferisco catalogare Heroes of Newerth (HON) tra i giochi di strategia, tuttavia possiede alcune caratteristiche tipiche del gioco di ruolo: l’eroe ottiene attacchi speciali e vari attributi superando venticinque livelli di esperienza; inoltre può rafforzarsi acquistando gadget, armi e armature nei negozi. La classe del personaggio è basata sulla forza, l’intelligenza o l’agilità. La scelta deve essere fatta con giudizio, in modo che ci sia compensazione fra i cinque eroi della squadra. L’equilibrio rischia di spezzarsi facilmente quando i giocatori portano avanti azioni suicide e senza tatticismo –– nel gergo del gioco si dice “alimentare il nemico”. Per tutti è fondamentale guadagnare i soldi uccidendo i PNG o distruggendo le torri dell’avversario che difendono l’obiettivo del gioco: l’altare al centro della base.

HON: assalto alla torre

HON: assalto alla torre


Le grandi software house (Microsoft e Apple) dominano il mercato dei videogiochi perché fanno grandi investimenti per i sistemi operativi Windows e OS X, ma in Linux non mancano le opportunità di giocare e il programma Wine permette di arrivare ai titoli che oggi non sono cross-platform. Il sistema dual-boot potrebbe essere l’alternativa: quando Windows (oppure OS X) e Linux sono installati sulla stessa macchina, abbiamo praticamente tutto il “parco giochi” per PC a nostra disposizione e dato che spesso ci consegnano XP, Vista o Seven all’acquisto di un computer, sarebbe ingenuo non sfruttarli per giocare ai titoli che non si possono ancora eseguire su Linux.

Panzer sulla strada per Mosca

Friday, March 6th, 2009

Paesi Bassi Io giocai a un gioco molto simile a Panzer General nel 1988. Lo trovai allegato a una rivista per il computer C64. Si chiamava “Obiettivo Mosca”. In realtà il titolo originale era “Road to Moscow”, ma a quei tempi la casa editrice Logica 2000 faceva rimuovere da esperti programmatori la protezione ai videogiochi per ridistribuirli nelle edicole con nuovi nomi e prezzi più bassi. Panzer General fu pubblicato nel 1994 da Strategic Simulations. Riscosse subito un enorme successo fra gli utenti del sistema MS-DOS; ottenne anche un Origin Awards come miglior gioco di strategia e simulazione. Si trattava, essenzialmente, di un wargame a turni con regole analoghe a quelle degli scacchi: il giocatore muoveva i propri pezzi sullo scacchiere quando gli toccava, cercando di limitare le perdite o di mettere in trappola l’avversario.
Nonostante siano passati oltre dieci anni, Panzer General secondo me esercita ancora una forte attrattiva, perciò voglio riproporlo. Certo potrebbe sembrarci banale se lo confrontiamo con i titoli recenti costruiti con la grafica 3D, la musica e gli effetti sonori innovativi permessi dalle nuove tecnologie. Comunque, ho passato ugualmente le ultime due settimane a ideare piani, spostare pedine e contenere le minacce del nemico come un vero Generale. Il gioco resta divertente, inoltre segue fedelmente alcuni avvenimenti della seconda guerra mondiale. Ripassare un po’ di storia in questo modo, non guasta: tra gli scenari previsti spiccano l’invasione della Polonia, l’operazione Barbarossa, la caduta di Berlino, la campagna d’Africa di Rommel, soprannominato la volpe del deserto.
Bisogna affrontare un altro giocatore o il computer su 38 scenari di battaglie sia storiche che immaginarie del periodo compreso fra gli anni 1939 e 1945, presi singolarmente o all’interno di una campagna di guerra (sono le due modalità di gioco). Durante una “campagna”, si assume il comando supremo delle armate tedesche, composte da unità di vario tipo: forze di terra (Heer), aeree (Luftwaffe) e navali (Kriegsmarine). In questo gioco le unità hanno nomi storici e riportano informazioni accurate; guadagnano esperienza, scontro dopo scontro diventano più forti. Ogni missione va portata a termine entro un certo numero di turni senza trascurare l’obiettivo: distruggere tutte le unità dell’avversario, oppure occupare le aree strategiche (città, aeroporti, porti). Se si raggiunge lo scopo col massimo numero di mosse, la vittoria si dice minore, altrimenti è maggiore, quindi schiacciante. C’è una disfatta quando tutte le unità vengono distrutte, oppure scade il tempo concesso per la guerra: siamo tacciati di incompetenza al comando e non c’è altra possibilità che riprendere la campagna dall’inizio. La strategia è una disciplina; qui si fanno i conti con diversi fattori importanti governati dalla IA: le condizioni meteo, la difesa eccezionale, il fuoco difensivo, l’attacco di sorpresa, i rifornimenti ai mezzi o il rinforzo delle truppe.
Il progetto Lgeneral cerca di rilanciare e aggiornare Panzer General. L’engine utilizza gli scenari 2D originali, quelli presenti sui dischi distribuiti da Stratecic Simulations. Oggi sono pure raccolti online in un archivio tar, e l’autore di Lgeneral ci tiene a precisare che il materiale ancora è sotto copyright di SSI, ma utilizzabili. Le due versioni del gioco si differenziano soltanto per poche modifiche alle regole. LGeneral non è perfetto sotto tutti i punti di vista: si può migliorarlo aggiungendo un menù per la selezione delle unità, i messaggi di aiuto o segnalazione, ad esempio quando soppraggiungono i rinforzi; bisogna correggere gli svarioni della IA, troppo evidenti nelle battaglie navali tra sommergibili; la IA del gioco schiera le unità sullo scacchiere nelle solite posizioni prevedibili. Non resta altro da fare che provare personalmente LGeneral, per di più senza troppo impegno, dato che non serve cercare un emulatore e configurarlo.

  • Grafica: 6
  • Suono: 5
  • Gioco: 7.5
  • Sistema:7
  • Globale
    • 6.375

Linux e il 3D Benchmarking

Monday, February 23rd, 2009

L’analisi delle prestazioni di un elaboratore consiste nel misurare le capacità di calcolo con un insieme di programmi (carico di lavoro, detto workload) particolari. “Nella maggior parte dei casi le prestazioni sono l’attributo più importante nell’orientare la scelta fra diversi elaboratori disponibili” (Patterson e Hennessy, Struttura e progetto dei calcolatori, pag. 37). Certamente la misura da sola non suggerisce alcuna indicazione utile all’acquirente. Occorre ripeterla fra varie macchine, cioè svolgere un confronto e poi riferire i risultanti. Studiando questi dati, nel corso degli anni, i progettisti hanno perfezionato gli elementi del personal computer che davano maggiori prestazioni in certe aree piuttosto che in altre. L’acceleratore grafico (GPU) ha sostituito la CPU nei calcoli geometrici e si è specializzato sul rendering delle scene 3D. La tecnologia SLI (o l’alternativa Crossfire), di recente invenzione, promette di raddoppiare o triplicare (quasi), a seconda del numero di GPU messe in parallelo, le prestazioni dell’elaboratore con le applicazioni 3D che sono prevalentemente giochi basati su OpenGL o DirectX. Gli ingegneri hanno aggiunto poi alla GPU le istruzioni macchina per risolvere complicate formule di matematica e fisica, mi riferisco all’engine CUDA di nVidia. Una valutazione accurata sull’efficienza del sistema hardware e software viene svolta con un gruppo di benchmark. Si tratta spesso di programmi individuati fra quelli che l’utente utilizza abitualmente (Phoronix Test Suite), oppure sono applicazioni specifiche che esaminano determinate componenti (CPU2006, RAMSpeed, ecc). Oggi la grafica 3D richiede più potenza e memoria di qualsiasi altro programma per PC. Quando usiamo i videogiochi come carico di lavoro sul nostro banco di prova, otteniamo una previsione molto attendibile delle prestazioni del calcolatore. Il metodo è semplice. Possiamo valutare l’affidabilità del nostro computer partendo dai seguenti giochi: Quake III, Unreal Tournament 4, Doom 3, Enemy Territory, Quake Wars, Savage 2, Nexuiz, perché li troviamo a pagamento, gratuitamente o come demo nel World Wide Web e con uno sforzo minimo riusciamo a installarli in Linux.

Quake Wars

Quake Wars si adatta bene all’analisi delle prestazioni. Il suo motore grafico è derivato da Doom 3 e incorpora la tecnologia denominata MegaTexture che migliora indubbiamente l’aspetto del gioco negli spazi aperti della mappa. Possiamo adoperare, per il nostro scopo, la versione di prova oppure quella commerciale. Prima dobbiamo scegliere la mappa, quindi registrare una partita da Internet e poi ripetere la registrazione con una opzione determinata. Al termine dell’operazione, il motore grafico calcola il frame rate dividendo il numero totale di immagini che compongono l’animazione con il tempo, espresso in secondi, impiegato dalla macchina fisica per visualizzarle. Il risultato esprime l’effettiva prestazione della scheda grafica e del sottosistema hardware/software. Il valore suggerisce anche a quale risoluzione video possiamo giocare senza perdere troppa qualità nell’immagine.

Scarica uno dei pacchetti messi a disposizione per Linux

Quake Wars demo v2.0
– Contiene la mappa Valley
Quake Wars 1.5 Full – Richiede il DVD

Per registrare una partita, collegati a un server e premi il tasto F12. Troverai il file della registrazione nella directory:
$HOME/.etqw/base/demos

Dalla console del gioco esegui i seguenti comandi in successione:

com_unlock_FPS 1
com_unlock_timingMethod 0
com_showFPS 1
timeNetDemo FILENAME.ndm
condump FILENAME.log

Puoi mettere questi comandi, preceduti dalla parola chiave seta, in un file di testo chiamato NOMEFILE.cfg:

seta com_unlock_FPS 1
seta com_unlock_timingMethod 0
seta com_showFPS 1
timeNetDemo FILENAME.ndm (* questo senza seta *)

Poi dalla console devi soltanto invocarlo con:
exec NOMEFILE.cfg

Non dimenticare la riga di comando di Unix che abilita la console (se disabilitata):

etqw +set com_AllowConsole 1

Ho messo a confronto il PC Frag Storm con il portatile Asus A6Tc. I risultati sono raccolti in diversi istogrammi. Tra i due computer c’è una marcata differenza di prestazioni alle alte risoluzioni: da 1280×1024 pixels in su, per intenderci. Lo scarto si riduce ad appena venti FPS usando la configurazione di 800×600 pixels con bassa qualità della immagine. Da questa analisi, mi aspettavo un rendimento maggiore dal PC Fragstorm perché montava delle componenti più moderne e potenti. Ma non posso nemmeno lamentarmi ora che raggiungo le risoluzioni elevate mantenendo un frame rate decente: il minimo di quaranta FPS è pur sempre garantito a 1680×1050 pixels, a questo livello ricordo che la resa del portatile era pressoché nulla. Non ho preso in considerazione l’overclocking, col quale avrei potuto guadagnare prestazioni leggermente superiori, credo.

1687

PC Fragstorm

  • CPU Amd Athlon 64 X2, 2.5GHz
  • 2 GB DDR2, 800MHz
  • GeForce 8600 GTS, GPU Clock=675Mhz, Memoria DDR3 da 1008Mhz

Asus A6Tc

  • CPU Amd Turion 64 X2, 1.60Ghz
  • 1 GB DDR2, 533Mhz
  • GeForce 7300 Go, GPU Clock=325MHz