È passato molto tempo da quando intorno al 1960 all’interno dei laboratori del MIT studenti e professori si dilettavano nella programmazione dei primi videogiochi della storia. Attraversando momenti d’oro e altri meno buoni i videogames sono usciti dagli elitari laboratori universitari per entrare far parte della nostra quotidianità.
Abbiamo console casalinghe, console portatili, cellulari evoluti, potenti schede video e colossi dell’informatica pronti a soddisfare le nostre più disparate necessità ludiche.
Può un sistema operativo che punta ad avere una diffusione significativa considerarsi completo senza il supporto di videogiochi di spessore?
Molti utenti vedono nella scarsa disponibilità di videogiochi un ostacolo fondamentale all’adozione di linux in ambito domestico. In questo articolo cercherò di fare una panoramica di quello che è lo stato attuale del gaming su linux.
Giochi open source
Analizziamo una lista di alcuni famosi giochi a sorgente aperto:
- Warsow
- Alien Arena
- World Of Padman
- Urban Terror
- Nexuiz
- Tremulous
- FreeCiv
- Battle For Wesnoth
- Frets On Fire
Chi utilizza Linux tutti i giorni non può non aver notato che i migliori giochi open si dividono in 2 categorie: remake di vecchie glorie o sparatutto 3D.
Gli amanti della logica stringente penseranno che gli sviluppatori open possano essere suddivisi equamente in programmatori privi di idee e pazzoidi appassionati di stermini di massa e violenza gratuita.
La realtà secondo me è leggermente diversa. La produzione di un videogioco con contenuti artistici originali e una trama che si discosti dalla distruzione indiscriminata di chi ci passa di fronte è un processo fortemente verticale. Per produrre contenuti di una certa qualità è necessario un team fortemente coeso. Serve inoltre qualcuno che abbia una visione complessiva di quello che dovrà diventare il progetto.
Il modello di sviluppo open semplicemente si adatta male a queste necessità.
Salta anche all’occhio come tutti i giochi tecnicamente migliori siano basati su una qualche declinazione del vecchio motore grafico di quake 3. Quell’ id tech 3 rilasciato sotto licenza gpl dalla id Software nel 2005.
Questo fatto potrebbe essere visto come la prova della mancanza di strumenti open di un certo livello per lo sviluppo di videogiochi open source. In realtà strumenti validi non mancano ma la tendenza è quella di avere una estrema frammentazione.
Esistono motori grafici open di primissimo livello come Ogre 3D o Irrlicht. Non mancano motori fisici altrettanto buoni come Bullet per il 3D o chipmunk per il 2D. Quello che manca è un ambiente omogeneo per lo sviluppo rapido.
Ci sono comunque delle eccezioni a quanto detto. Si stanno facendo strada framework come pygame o panda3d che riescono a fornire allo sviluppatore un ambiente confortevole in grado di impacchettare e nascondere la complessità dietro a API ben studiate da utilizzare con linguaggi dinamici (nel caso specifico python).
Da citare anche il blender game engine che ha raggiunto una certa maturità con lo sviluppo del gioco Yo Frankie! sponsorizzato dalla Blender Foundation.
Giochi commerciali
Il discorso per quanto riguarda i giochi commerciali è più delicato. Il problema in questo caso è più economico che tecnico.
Una qualsiasi software house medio grande potrebbe tranquillamente sostenere le spese per la produzione in casa di strumenti avanzati ad-hoc. Se questo non avviene c’è un solo e semplice motivo: non è economicamente conveniente.
La diffusione di linux sul desktop è semplicemente troppo bassa per garantire entrate sufficienti a coprire gli investimenti necessari alla conversione e al mantenimento di una versione dedicata di un gioco “tripla A”.
Merita però un discorso a parte quello che viene definito il panorama indie dell’indistria videoludica. Gli sviluppatori indipendenti possono trarre vantaggi dallo sviluppo “multipiattaforma” sin dalla nascita.
Possiamo pensare alla piattaforma Windows come una ricca landa delle opportunità… popolata però da lupi e leoni. Dall’altro lato abbiamo il mondo linux che offre un bacino di utenza estremamente limitato ma una concorrenza praticamente nulla.
Uscire con un gioco multi piattaforma può garantire ad un piccolo team di ottenere la giusta inerzia in termini di visibilità proprio grazie agli utenti dei sistemi non mainstream. La cosa è spiegata in un interessante post di Jeffrey Rosen della Wolfire Games sul blog del gioco Overgrowth.
Un altro esempio è dato dal gioco World Of Goo. Rilasciato per tutte le piattaforme possibili ha ricevuto elogi e recensioni in svariati blog e siti legati all’ecosistema linux. Il risultato è stato un numero di download per la versione linux di tutto rispetto.
Altra tecnologia indipendente che fa ben sperare per il futuro è il motore multipiattaforma Unigine. La demo Heaven rilasciata per il pinguino di recente ha dimostrato che si possono raggiungere dei livelli qualitativi pregevoli anche con tecnologie multipiattaforma.
Naturalmente non sono tutte rose e fiori. Mi sembra doveroso per esempio citare il fatto che Jonathan Blow ha dovuto sospendere il porting del piccolo capolavoro Braid su linux dopo essersi scontrato con difficoltà tecniche riguardo alla gestione dell’audio con le librerie SDL e con la gestione del puntatore del mouse sotto X11.
Quelli che ho elencato sono solo piccoli segnali in un ecosistema complesso e grande come quello dei videogiochi ma lasciano comunque qualche spiraglio di speranza per un futuro più giocoso anche per gli utenti linux.