Nuclear Dawn per Linux già in beta


Quando si compra un gioco multiplayer, è naturale interagire con altri esseri umani in Rete, ma se i giocatori disertano le partite, il divertimento scema di tre quarti e oltre. Allora che senso ha installare un video game di questo tipo senza prima controllare quanti server e quante persone sono online? Nuclear Dawn è un bel gioco che usa il Source engine ed ha delle potenzialità, non è originale ma aggiunge nuove idee al genere misto d’azione e strategia, ciò nonostante quasi nessuno ha pienamente apprezzato queste cose, quindi suggerisco di procedere con i piedi di piombo, spulciando prima le statistiche del gioco giorno per giorno; dal sito Steamcharts risulta che ci sono diciotto giocatori, con un picco di sessantacinque, in media ogni giorno. Fa al caso vostro? In passato, in queste stesse circostanze mi sono divertito molto, per esempio quando giocavo a Savage 2 e al massimo si riempivano due server al dì, per cui penso che potrei passare ore piacevoli anche partecipando, con quei numeri, alle partite di Nuclear Dawn.

Se Chernobil è stata una catastrofe, figuriamoci una terza guerra mondiale! Penso sempre questo quando studio un gioco post-apocalittico: per me non resterebbe nulla di civile in piedi e nessun abitante a raccontare gli eventi. Invece c’è il solito ottimismo anche in Nuclear Dawn, così l’alba successiva alla guerra nucleare vede ancora sprazzi di vita nelle città radiottive. Ma è una speranza effimera perché i superstiti sono sempre in guerra fra loro, chi parteggia per il Consortium degli stati della libertà che puntano sul personalismo, e chi invece per l’Impero rosso, socialista e anti individualista.

Questo è il cosiddetto background, il gioco è simile a Natural Selection 2 e a Team fortress (per lo meno, quando l’aspetto strategico era gestito da un comandante). La peculiarità di questo genere è la condivisione del rischio, non è solo una questione di chi ammazza di più l’avversario, occorre coordinarsi con il resto del gruppo, conquistare e gestire attentamente le risorse disponibili. Infatti, in Nuclear Dawn gli armamenti sono prodotti dalle officine meccaniche, piazzate dal comandante e funzionano solo se c’è corrente. Lo scopo dunque è semplice, ovvero bisogna costruire una rete elettrica che alimenti tutta l’infrastruttura militare. Il nemico cercherà a sua volta di raggiungere questo obiettivo sabotando però la nostra.

La maggior parte del tempo si gioca come soldato in modalità FPS allo scopo di prendere questi punti strategici dove far passare i cavi della “luce”, e difenderli. Le risorse sono a disposizione del comandante, ce n’è uno per ogni squadra, e servono per costruire le torrette, i depositi di armi e munizioni, i punti d’ingresso (sono chiamati spawn point nel gergo dei video game) per i soldati. Infine, ci sono quattro classi militari: il personaggio furtivo, abile col coltello e di professione cecchino (o uno o l’altro), veloce e silenziono, un asso del travestimento – se avete giocato come me per lungo tempo a Enemy Territory, avrete riconosciuto il Cover ops. l’Exo è il “tank” della situazione, avendo un sacco di punti ferita può beccarsi il fuoco nemico e liberare i compagni nei momenti più difficili, purtroppo ha una potenza di fuoco limitata che non gli consente di attaccare con efficacia; dispone di un minigun e di armi speciali che demoliscono gli edifici. L’assaltatore ha fucili di precisione e lanciagranate, è capace di rilevare i nemici invisibili. La classe di supporto può scegliere se giocare come un ingegnere e riparare gli edifici, armato di lanciafiamme, oppure come medico distribuendo kit medici salvavita.

Se come me odiate l’ambiente claustrofobico di Natural Selection e il tema alieni contro umani, se ritenete oltraggioso anche voi lo stile cartoonistico e la demenzialità di Team Fortress 2, allora puntate dritto su Nuclear Dawn, sono tutti giochi basati su Source engine e hanno una spiccata componente strategica che influenza la partita first person shooter. Ma fate attenzione! Nuclear Dawn è privo di una campagna giocatore singolo e il divertimento dipenderà molto da chi sarà presente online con voi. Per giocare questo gioco su Linux, oltre a possedere la copia acquistata con Steam, dovrete abilitare la versione di sviluppo nella finestra delle proprietà di Nuclear Dawn (facendo click sul nome del gioco nell’elenco della vostra libreria Steam): selezionare  la scheda Beta, qui  scegliere linuxbeta dal menu, dopodiché inizierà il download.

Fonti:

  1. Nuclear Dawn official web site
  2. Nuclear Dawn su Steam
  3. Abilitare Nuclear Dawn Beta per Linux
  4. Statistiche giornaliere per Nuclear Dawn

Signal Ops: obiettivo Linux. Roger that!


Con poche modifiche si potrebbe trasformare Signal Ops in un manageriale per 007, forse il primo di questo genere, ma in realtà è un FPS piuttosto originale. Come si evince dal titolo di questo gioco, i segnali radio hanno un’importanza enorme: scelgo gli agenti da un gruppo di specialisti ficcanaso e pianifico il lavoro con il quadro dirigente di un’oscura e misteriosa (setta) Struttura 7C, un ente parastatale che fa i “servizietti” ai nemici della nazione… Infine, mi siedo davanti a un enorme pannello con TV anni Cinquanta e inizio a impartire ordini ai miei uomini con una potente ricetrasmittente.

Io comando e gli agenti fanno il lavoro sporco. Va benissimo finché il ponte radio resta in piedi. Il concetto chiave del gioco Signal Ops è che gli operatori allontanandosi dal quartier generale trasmettono un segnale radio meno intenso, le batterie col passare del tempo si scaricano, quindi il contatto radio diventa instabile e la telecamera trasmette immagini poco nitide. Non vedendo chiaramente cosa succede sul campo, come posso dare gli ordini? senza i miei ordini gli uomini si faranno certamente scoprire e uccidere! Dunque, gli agenti devono stare nel campo di ricezione della radio (segnalato sempre nel gioco con un linea verde) e trovare anche nuove sorgenti di energia per ripristinare e potenziare il segnale. Tutto questo senza mai perdere d’occhio l’obiettivo della missione: trafugare documenti, assassinare i VIP, sabotare impianti industriali.

Signal Ops non è un FPS , è fino a quattro FPS in uno! Una cosa straordinaria, tuttavia non unica, già in Hired Guns, un gioco per Amiga degli anni Novanta, lo schermo venne diviso in quattro e furono messi sotto il controllo del giocatore altrettanti mercenari. Ovviamente il paragone finisce qui. Signal Ops ha una grafica accattivante realizzata con la tecnica cel shading ed effetti sonori ad “alta fedeltà”. Ogni agente ha una telecamera nascosta che mostra dove si trova e cosa sta facendo. Bisogna sfruttare questa peculiarità per tenere d’occhio tutta un’area e studiare le strategie opportune.

In Signal Ops sono combinati insieme elementi classici dei giochi shooter, furtivi, di strategia e d’intelligenza basati su puzzle. Ogni missione richiede una squadra speciale che può essere formata pescando da un gruppo di spie specializzate in compiti di assistenza, copertura, combattimento corpo a corpo e cecchinaggio.

Ora però rigiro a voi la domanda che fecero a me quando entrai nella Struttura 7C: avete abbastanza fegato per seguire gli ordini del Padre Oscuro (Dark Father nel gioco) senza discutere? Mi era stato detto anche di aspettare (non manca molto) l’uscita di questo gioco per Linux su Steam.

Signal Ops: obiettivi

Signal Ops: obiettivi

Fonti:

  1. Signal Ops su Steam Community
  2. Signal Ops su Space Bullet Dynamics Corporation

Scendere nei sotterranei di Metro Last Light con Linux


Immagino quanto possa essere malsano per una famiglia del 2033 passare una vita intera al chiuso dei setterranei di una metropolitana, tra le mura muffose della stazione e nella maleodorante umidità che risalendo dalle falde acquifere entra poi fin nelle ossa. Infatti, Metro: Last Light racconta una storia distopica, dove tutto va storto, ma si sa che questo genere letterario si  avvale della fantasia per mettere in luce aspetti reali della trita quotidianità. Chi è Dmitry Glukhovsky? È un autore russo che ha scritto due romanzi incentrati sul futuro post-apocalittico della metropolitana di Mosca, con riferimenti ovvi alla società dell’odierna Russia. L’avrebbe potuto fare con altrettanto successo un uomo dei boschi? Io credo proprio di no, provandoci tutt’al più si sarebbe liberamente sfogato con una storia alla Super Mario.

Metro: Last Light, una storia distopica

Metro: Last Light, una storia distopica

La storia del secondo romanzo intitolato Metro 34 ha acquistato subito popolarità internazionale, e già l’autore ha pronto il sequel 2035 la cui trama è alla base del gioco FPS, Metro: Last Light. Ciò che è assolutamente chiaro giocando (e leggendo anche i due romanzi) Metro: Last Light, è l’”eterno” bisogno di comunicare dell’uomo, questo aspetto si rafforza nella letteratura apocalittica il cui modello sociale più comune rimane la comunità di sopravvissuti a una guerra atomica o a un cataclisma, riunita in qualche posto isolato, costantemente alle prese con il problema della scarsità di risorse e l’incombente minaccia di un nemico spietato (zombi, in questo caso).

Ci sono chiare analogie con Rage e la serie di telefilm Interceptor o il videogioco Half-Life, che formano il filone della distopia post-apocalittica, ma qui c’è un ambiente claustrofobico e invece di correre nei deserti con dei fuoristrada improvvisati, in Metro Last Light si sfreccia lungo strade ferrate con rottami fortificati.

Son lungi dal dire qualcosa contro Metro: Last Light o i romanzi Metro, aspettavo questo gioco al varco per accertarmi che uscisse anche per Linux. Ebbene, adesso lo posso avere virtualmente fra le mani. Non ho dovuto aspettare molto. Dopo la partita con il video game consiglio la lettura dei due romanzi, Metro 2033 e Metro 2034 che l’autore ha messo gratuitamente in Rete.

Fonti

  1. http://enterthemetro.com/it/game/
  2. http://store.steampowered.com/app/43160/
  3. Il romanzo Metro 2033
  4. Il romanzo Metro 2034

Halloween: arrivano gli zombi di Contagion


Quando si avvicina la festa di Ognissanti riprendo in mano libri, musiche e videogiochi che mi permettano di trovare una particolare atmosfera intelettuale d’incubo e terrore intimo. Tutto ciò è favorito dal fatto che l’autunno e l’inverno portano con sé giornate sempre più buie. Un romanzo sui lupi mannari è più inquietante se viene letto di sera tardi nei giorni di tramontana con luna piena. Quand’ero ragazzo, in questo periodo, e per tutto il mese di dicembre, leggevo e rileggevo Carmilla di Le Fanu, il celeberrimo Dracula di Bram Stocker, Doctor Jeckil e Mister Hide e via discorrendo. Infatti nei primi anni Novanta il mio C64 offriva poco per lo svago, dovevo per forza cercare la paura nei capolavori letterari.  Ma con la potenza di calcolo dei computer di oggi e le meraviglie della Rete, non resisto più, al libro  preferisco il personaggio di un gioco “cooperativo” che ha per oggetto la figura dello zombi.

Zombi ad Haiti

Zombi ad Haiti (immagine di Wikipedia)

Chi ha fatto Contagion non sta debuttando con qualcosa di unico in quanto i giochi di cooperazione e sopravvivenza si vedono a iosa ormai: Left 4 dead 2, Killing floor, 7 days to die, ecc. hanno in comune un’orrenda invasione di morti viventi, spesso causata da esperimenti scientifici sull’uomo oppure mutazioni genetiche di origine sconosciuta. Ecco per parafrasare il discorso, Contagion è l’evoluzione di Zombie Panic! Source, una modifica di Half-Life 2 realizzata dalla software house Monochrome. Ma allora cosa contraddistingue un gioco dall’altro? Le regole.

Contagion offre tre mappe e tre partite differenti delle quali Extraction è la più interessante. In questo tipo di gioco, alcuni civili sopravvissuti (PNG controllati dal computer) sono nascosti in diversi edifici, occorre raggiungerli e aspettare l’ordine di evacuazione. Gli zombi che ruolo hanno? Devono cercare di contagiare gli uomini prima che fuggano. La sorte delle loro vittime è terribile: la trasformazione in non-morto e chi subisce questo destino deve a sua volta fare la caccia agli ex-compagni. Il movimento goffo e lento è tipico di un morto vivente, ma in Contagion i mostri hanno anche la vista e l’olfatto potenziati che permettono di rintracciare e seguire le scie di sangue dei sopravvissuti.

Le altre due modalità di gioco sono Hounted ed Escape: Hounted è un PVP con zombi controllati dalla IA che disturbano il normale combattimento fra i giocatori; l’obiettivo di Escape è, come dice il nome, una fuga da un edificio superando diversi ostacoli e risolvendo situazioni di pericolo: un incendio, una porta bloccata, ecc. Lo smartphone dà le indicazioni sulla via da seguire.

Contagion: gioco di sopravvivenza

Contagion: gioco di sopravvivenza

Il gioco è attualmente distribuito solo per i sistemi Windows con accesso anticipato su Steam, ma il programma client per Linux era tra gli obiettivi da raggiungere con ottantamila dollari della campagna crowd-funding; questo proposito è stato confermato dagli sviluppatori di Contagion. Kickstarter ha dunque spianato la strada a numerose software house cosiddette indie che hanno potuto produrre in quantità e continuità giochi più o meno simili fra loro per genere. Il survival-horror continua ad essere tra quelli più apprezzati, a giudicare dalle raccolte fondi terminate con enorme successo. Per la realizzazione di Contagion i fan hanno donato a Monochrome quasi novantamila dollari. Nonostante queste cifre, è difficile dare un’indicazione su quale sia il miglior video game co-op, non essendoci in molti casi una storia da seguire o scoprire. Inoltre, c’è poca originalità. Spesso è solo una questione di gusti personali. L’orrore però è sempre assicurato.

Fonti:

  1. http://www.contagion-game.com/
  2. http://www.kickstarter.com/projects/monochromellc/contagion

Un IDE per Enemy Territory


Nell’articolo “Un IDE per avventure testuali in Linux” avevo mostrato la procedura per abilitare Inform7 in Eclipse. Oggi presento un metodo simile per fare modifiche al codice sorgente di Wolfenstein: Enemy Territory che Id Software mise online con la licenza GPL v3 un paio di anni fa. Sorvolo sui vari progetti che sono stati iniziati in Rete con il codice di W:E.T. perché sono davvero tanti, magari tornerò su questo argomento in futuro, alcuni sono molto interessanti. L’articolo si conclude con un esempio pratico, tratto da una serie di tutorial dedicati alla programmazione di Quake 3: chi è già ben informato sulla struttura interna dell’Id Tech 3, troverà delle similitudini fra i codici dei due giochi. La modifica è elementare, consiste nel ridurre la velocità del missile sparato con il panzerfaust di modo che si possa superarlo a piedi e vederlo viaggiare nell’aria.

Ho scelto Eclipse per due ragioni: il codice sorgente originale del gioco è stato configurato con SCons, uno strumento di sviluppo che automatizza l’assemblaggio dei programmi; esiste un plugin che si interfaccia fra Eclipse e SCons.

Installazione di Sconsolidator per Eclipse

Installazione di Sconsolidator per Eclipse

In questo esercizio è fondamentale un sistema Linux configurato come ambiente di sviluppo, quindi avrete bisogno del compilatore gcc e delle librerie di supporto. In Ubuntu questo ambiente viene messo a punto con un comando del tipo apt-get build-essential scons. Non cambia molto con le altre distribuzioni, dovrete consultare la guida di riferimento. Al mio primo tentativo sono inciampato in una difficoltà: siccome lo standard FHS non prescrive una posizione per Xorg all’interno della gerarchia del file system, può capitare che l’assembler non trovi le librerie, come è successo a me. Una volta era prassi installare X Window System in /usr/X11R6, ma con l’adozione di Xorg questa directory ha perso importanza. Per esempio a Sun si continua a installare Xorg in /usr/X11; nella distribuzione Ubuntu lo si trova invece in /usr/lib; a Id Software usavano /usr/X11R6. Nella mia distribuzione Xorg non si trova in /usr/X11R6, ho dovuto porvi rimedio correggendo il contenuto di un file del codice sorgente di W:ET, altrimenti la compilazione sarebbe terminata con errori. Al momento opportuno spiegherò anche come fare questa correzione.

Installazione scons con Synaptic

Installazione scons con Synaptic

L’elenco degli strumenti indispensabili è il seguente:

  • Il codice sorgente di Enemy Territory. In Rete si trovano diversi pacchetti, ma la procedura descritta qui è basata sulla versione distribuita da Splash Damage che è già predisposta per SCons.

  • SCons: sostituisce make e l’infrastruttura GNU autoconf. È il nocciolo del nostro sistema di compilazione di W:ET.

  • Strumenti di sviluppo: gcc, nasm e librerie. Le distribuzioni hanno il “pregio” di separare i file di libreria da quelli d’intestazione (header) del C, ma entrambi sono necessari per la compilazione! Quindi un pacchetto che fa parte di Xorg potrebbe risultare installato ma senza gli header. W:ET è un gioco per ambiente grafico e fa uso di numerose librerie di Xorg. L’unico modo per scoprire cosa manca è procedere con la compilazione per tentativi e procurarvi ciò che è indispensabile con il gestore dei pacchetti.

  • Eclipse è uno dei migliori IDE disponibili in Linux. Supporta diversi linguaggi: Java, C/C++, UML, Javascript, ecc. e altri se ne possono aggiungere con i plugin. Il mio consiglio è scaricare il pacchetto di Eclipse per sviluppatori C/C++ e mantenerlo separato dal resto dell’infrastruttura (Java, ecc.), per esempio nella directory /opt/eclipse-cc. Installate Eclipse con il comando install -v -m755 -d /opt/eclipse-cc && tar xvfz eclipse-cpp-kepler-SR1-linux-gtk.tar.gz. In alternativa, potete cercare l’IDE con il gestore dei pacchetti della vostra distribuzione Linux.

  • Sconsolidator è il plugin per Eclipse che interpone fra SCons e l’IDE una interfaccia utente e un wizard per gestire i progetti C/C++. Senza questo strumento, dovremmo svolgere un lavoro dispendioso.

  • Java: Eclipse è basato su Java e il plugin Sconsolidator è distribuito con archivi jar. Dovrete installare un JDK, per esempio Oracle Java 7; gli utenti di Ubuntu o di altre distro “debian like” daranno per esempio il comando sudo apt-get install oracle-java7-installer ( vd. Java 7 o 6 in Ubuntu 13.04 – 12.10 – 12.04).

Sconsolidator: importazione di un progetto

Sconsolidator: importazione di un progetto

L’installazione di Sconsolidator in Eclipse è una procedura quasi automatica, è sufficiente selezionare “Install new software” presente nel menu Help; poi nella finestra di dialogo cliccare il pulsante “Add” e specificare nel campo “location” l’indirizzo web del plugin (http://www.sconsolidator.com/update). Se la ricerca va a buon fine, Eclipse troverà due componenti: selezionatele entrambe e confermate l’installazione. Al termine dell’operazione dovrete riavviare Eclipse. Controllate nel menu delle preferenze di Eclipse, alla voce SCons, il percorso completo dell’eseguibile di SCons. Potete verificare la posizione con il comando which scons.

A questo punto scaricate il sorgente di ET dal sito di Splash Damage, è un archivio zip, decomprimetelo nella directory Workspace di Eclipse, quella che avete scelto all’avvio dell’IDE, per esempio con il comando unzip ET-GPL.zip.  Bisogna importare il codice di W:ET in Eclipse selezionando la voce “Import” del menu File, cliccare su “New SCons project…”: poi occorre specificare la posizione del codice sorgente del gioco, è la directory src creata con unzip. Immettete un nome a piacere per il vostro progetto, se non vi viene nulla in mente usate pure MY-et-gpl.

La modifica al file SConscript.core

La modifica al file SConscript.core

Tutto il codice deve essere rianalizzato da SCons: cliccate con il tasto destro del mouse (oppure premete ALT+ENTER) sul nome del progetto nel Project Manager di Eclipse, e scegliete l’opzione “Build All” nel menu “Build Configurations”. Poi procedete con la compilazione. Questo è il momento per scoprire quale software manca nel sistema Linux. Io per esempio ho dovuto installare il pacchetto libxxf86dga-dev. Ciò non è comunque bastato, infatti al secondo tentativo la compilazione è terminata con il seguente messaggio di errore:

scons: *** [build/debug/core/et] Source `/usr/X11R6/lib/libXxf86dga.a' not found,
 needed by target `build/debug/core/et'.

libXxf86dga-dev è una libreria statica che normalmente in un sistema Ubuntu si trova in /usr/lib/i386-gnu-linux, ma SCons la cerca da un’altra parte. Ho dovuto correggere questa incongruenza aprendo nell’editor di Eclipse il file SConscript.core (vd. immagine precedente): la stringa staticx11_libs conteneva /usr/X11R6/lib che non andava bene.

Modifica al file g_missile.c

Modifica al file g_missile.c

La modifica del gioco è molto semplice e interessa il file g_missile.c nella directory game. La funzione fire_rocket è predisposta per creare il proiettile del panzerfaust, ne imposta anche le caratteristiche. Cercatela all’interno del file con la funzione “find” di Eclipse. Nel suo blocco di codice c’è una chiamata a un’altra funzione, la VectorScale, dovete cambiare il valore del suo secondo argomento da 2500 a 100. Più si è bassi di valore e più il proiettile rallenta. Potete verificare cosa succede con 0.

VectorScale( dir,100,bolt->s.pos.trDelta );  /* from 2500 to 100 */

Per testare i cambiamenti al codice di W:ET vi occorre non solo un’installazione completa del gioco, ma anche risorse per eseguire in locale un server. C’è un ottimo tutorial scritto in inglese che ho seguito per mettere a punto il sistema client/server sul mio computer, si intitola “Setting Up etded on Linux”.

Wolfenstein: Enemy Territory è stato per una decade un gioco seguito da un discreto numero di fan, venivano organizzati campionati europei e internazionali, i clan erano competitivi e c’erano ottimi “shooter”. Ma a poco è servito mettere il codice sorgente online, lo sviluppo di molte mod è stato interrotto e i giocatori hanno lasciato le arene per altri lidi. Tutto questo prima o poi doveva accadere. L’engine però è open source, a disposizione di chi volesse realizzare una modifica divertente e originale.

Il missile del panzerfaust che ho sparato dalla baracca

Il missile del panzerfaust che ho sparato dalla baracca

Fonti:

  1. Tutorial2
  2. How to install Oracle Java 7
  3. Sconsolidator
  4. A short introduction to the current status quo of this Wolfenstein: Enemy Territory thing