Valve e Linux Foundation unite per il Linux gaming


Linux ha strumenti di sviluppo inadeguati agli scopi di un programmatore di giochi? È davvero terribile il compilatore GCC da riga di comando oppure GDB dentro Emacs? La notizia del giorno è l’ingresso di Valve nella Linux Foundation, l’organizzazione senza scopo di lucro che mira a diffondere il sistema operativo open source. Si capisce, questa collaborazione sarà un’opportunità di investimento sul progresso di Linux nel gaming: l’obiettivo comune è migliorarlo e aumentare il numero di installazioni.

Dato che Valve concentrerà gli sforzi sul debugger per LLVM, dovrà esserci una ragione per snobbare GDB, il programma di analisi del codice, fornito con GCC. Allo stato attuale LLDB non è neppure in grado di fare il debug di una printf. Si è scelto LLDB perché ha una interfaccia multithreaded del C++ che è progettata bene e, spiega Michael Sartain programmatore di Valve, si presta meglio a costruirci sopra una GUI. Non c’è bisogno però di essere programmatore per capire una cosa: se GDB ha sempre fatto bene fino ad oggi il debug di un intero sistema operativo, dovrebbe essere in regola per funzionare su un videogioco, magari meno complesso!

Nell’ultimo anno Valve ha portato Linux verso conquiste nel gaming che nemmeno ai tempi di Loki sognavo. Ha prima aggiunto il supporto per questo sistema operativo in Steam poi lo ha messo al centro di SteamOS e della Steam machine. Un’infrastruttura simile dovrà poggiare su programmi robusti, gli sviluppatori dovranno utilizzare un RAD e fare il debug dei propri giochi senza perdere tempo in configurazioni e installazioni da riga di comando. Ma la  “joint-venture”  con la Linux Foundation dovrà coinvolgere anche le aziende di componenti elettroniche perché su questo terreno si giocherà la partita più dura con le console già in commercio.

Fonte:

A gennaio la prima di Steam dev days


Sono un appassionato di giochi per Linux e ho sempre avuto nella vita l’ambizione di diventare un indie developer con questo sistema operativo, però è sempre stato un problema applicarmi e dare forma alle idee che avevo in mente, per esempio me ne era balenata una felice di un RAD open source per sviluppare videogame, un’applicazione che potesse importare modelli da Blender, creare scene ed esportare mappe per i motori grafici più usati in Linux, da Ogre a Panda, Id Tech e Crystal Space, modificare il codice e gli script, compilare e distribuire il gioco su Internet. Ancora oggi continuo a studiare un modo per realizzare un’applicazione simile ma non so da dove cominciare, è probabilmente un’idea superba. Ho una discreta conoscenza della matematica, della geometria e delle basi del C, evidentemente non serve a molto. Forse una bibliografia sbagliata, persino modesta, mi ha portato fuori strada. Terrò per sempre questo sogno nel cassetto. Ben vengano oggi i software a pagamento che fanno le medesime cose, ma senza condividere una riga di codice, esulterà qualcuno!

Indie game developer

Indie game developer

A un anno dall’uscita di Steam per Linux, Valve organizza un congresso a Seattle intitolato “Steam Dev Days”: ha un carattere didattico e divulgativo che potrà interessare sia i programmatori di Windows che desiderano approfondire gli aspetti tecnici del processo di sviluppo di un gioco multi-piattaforma, sia i giocatori più curiosi che vogliono conoscere i dettagli della Steam machine, del sistema operativo SteamOS e dei dispositivi di input e output (il controller, Oculus VR ecc.). Si parlerà del mercato delle console, specialmente della Steam machine di Valve. I contenuti di carattere generale saranno discussi per la maggior parte del tempo previsto che, meglio puntualizzare, è di due giorni da trascorrere a gennaio in un hotel nel centro di Seattle non molto lontano dalla sede di Valve, a Bellevue. In programma ci sono anche due seminari più tecnici, entrambi dedicati allo sviluppo dei giochi per la piattaforma Linux: “Getting started with Linux game development” di Ryan Gordon, si rivolge agli sviluppatori di Windows che sono interessati a portare i propri giochi su Linux, l’argomento è fondamentale per chi vuole trarre vantaggi dall’assetto di una Steam machine. Ryan discuterà di strumenti di sviluppo e ripeterà probabilmente parte del suo ultimo talk pubblico “Open source tools for game development” tenuto nel 2012. Ryan Gordon è un esperto di questo genere di cose, se ho potuto in passato giocare a Unreal Tournament, Medal of Honor, Tactical Ops, Devastation, lo devo a lui e ai suoi collaboratori. L’altro seminario è presentato da Bruce Dawson e si intitola “Getting started debugging on Linux”. Bruce è uno sviluppatore di Valve, farà una panoramica dei problemi che si possono verificare in Linux. È rivolto ai programmatori che si avvicinano per la prima volta al sistema operativo open source. Il discorso affronterà le tecniche per la messa a punto, la verifica e l’ottimizzzazione dei programmi in Linux e farà certamente riferimento all’esperienza che si è acquisita in Valve negli ultimi anni, e al lavoro che stanno facendo oggi per migliorare LLVM e LLDB.

Spero che questo convegno dia lo spunto agli esperti per ampliare la letteratura di riferimento con libri che trattano lo sviluppo dei giochi con Linux, letteratura ferma da dieci anni. Controllando la mia bibliografia, ho scoperto di avere pochissimi titoli pertinenti, dei quali il più tosto è “Programming Linux Games” di J.R. Hall, un libro scritto ai tempi di Loki Software, ancora valido per iniziare ma che non tratta le ultime migliorie in ambito grafico e sonoro. Steam è una grande opportunità per portare il gaming su Linux, tuttavia è un software DRM. Resto fedele all’ideale open source e continuo a sperare che un giorno si possano fare giochi belli, divertenti e di successo senza necessariamente dover comprare assets, modelli, engine e debugger, cosiddetti closed-source, da un negozio online.

Fonte:

Dal blog di Leadwerks Linux


Se volessimo realizzare un gioco per Linux, ci troveremmo in difficoltà perché in questo campo mancano le risorse. Chiunque ha un po’ di esperienza di amministrazione Linux sa che Blender ha tutte le funzioni per creare un video game: il modeller, l’editor di scenari, l’editor per l’animazione e l’editor per la IA. Yo Frankie “A furry vendetta” è un gioco basato su Blender che può servire come riferimento per questo modello di sviluppo.

Blender e Yo Frankie

Blender e Yo Frankie

È forse Blender l’unico programma per fare giochi in Linux? Certamente no, altrimenti lo useremmo tutti e non avremmo altri tipi di engine (il motore che fa girare ogni cosa nel gioco). Quelli con una licenza open source sono di ottima qualità, non c’è dubbio, mi riferisco a Ogre 3D, Panda 3D, Crystal Space, i vari fork di Id Tech3, ecc. ma mancano le interfacce grafiche, i cosiddetti RAD (Rapid Application Development) che rendono più funzionale il processo produttivo di un videogioco con questi motori. Faccio un esempio, Ogre 3D è un engine ben noto e ha una licenza libera (MIT), ma fornisce solo il codice sorgente, e il programmatore per realizzare un video game deve installare alcuni programmi accessori e configurarseli da solo: l’IDE, c’è un’ampia scelta da Eclipse a Code::Blocks; il modeller, può essere Blender o AC3D, ecc.; l’editor di scena (Gose); un editor per la fisica del gioco; il programma di disegno (Gimp, Inkscape, ecc.). Ciò è frustrante per un indie game developer che lavora per conto proprio.

In Windows le software house hanno realizzato RAD avanzatissimi che si interfacciano all’engine e fanno risparmiare molte ore di programmazione. Inoltre, questi software hanno un supporto online dove è possibile richiedere informazioni, scaricare la documentazione e persino comprare oggetti/beni (detti assets) creati da altri utenti. Unity 3D engine ha l’Asset store disponibile all’interno dell’editor. Questo negozio virtuale è una collezione di oggetti di vario tipo: modelli 3D, texture, effetti sonori, musiche, script, ecc. Unity 3D è un ambiente produttivo ottimale per un indie game developer.

Sono convinto che questo “gap tecnologico” fra Windows e Linux sarà eliminato nel breve periodo da Leadwerks engine: è un moderno motore di gioco, multi-piattaforma, con l’asset store (chiamato in questo caso Werkspace), fornito di supporto per la console OUYA e per le cuffie Oculus VR . Con i fondi raccolti tramite Kickstarter, Leadwerks sarà portato su Linux entro la fine dell’anno e potrà essere acquistato e installato anche dal negozio Steam.

Leadwerks Linux usa GTK

Leadwerks Linux usa GTK

Il processo di sviluppo di Leadwerks Linux procede bene. È stato fatto con successo il debug di un’applicazione costruita sulla base di una libreria statica di Leadwerks. L’analisi del programma ha però evidenziato alcuni limiti dell’integrazione di GDB in Code:Blocks, l’editor del codice sorgente. Leadwerks per Linux usa il toolkit GTK per creare la finestra di lavoro, i menu e i pulsanti ed ha un aspetto famigliare, l’applicazione si inserisce molto bene nell’ambiente desktop del sistema operativo.

Fonte

Perché i giochi open source non impazzano in Steam?


Mi sarebbe piaciuto fare un gioco per Linux, sono addentro alle segrete cose del processo di sviluppo, personalmente però non sono bravo né con la matita né con i linguaggi di programmazione. In questo ambito la tecnologia ha fatto progressi notevoli e non tutti sono riusciti a starle dietro. Che alternative avevo? Ho scelto di fare il critico. Molti programmatori invece fanno squadra con dei bravi artisti, formano un gruppo affiatato e modificano un gioco del quale conoscono a menadito il funzionamento, creano un prodotto chiamato, in gergo tecnico, mod o total conversion. Ma è soltanto l’inizio di un percorso che li porterà, anche con un po’ di fortuna, verso la costituzione di una società che realizza giochi a pagamento.

Gamestop, famosa catena di negozi specializzata nella vendita al dettaglio di videogiochi

Gamestop, famosa catena di negozi specializzata nella vendita al dettaglio di videogiochi

Il numero di video game per Linux in vendita su Steam aumenta giorno dopo giorno, allo stesso tempo le grandi software house cominciano a guardare SteamOS con interesse; Valve non preclude la via per Steam ai giochi open source, ma ne vengono distribuiti pochissimi: Warsow ha superato l’esame di Greenlight ed è stato approvato dagli utenti Steam nell’estate scorsa. Non ci sono stati altri casi simili di recente. Michael Larabel si domanda perché i videogiochi open-source sono poco popolari. Ebbene Valve fa soldi con la sua piattaforma di distribuzione dei contenuti digitali, guadagna sulla vendita dei video game e quindi con l’inserimento di un titolo gratuito nella libreria Steam non ricaverebbe nulla. I giochi “commerciali” saranno sempre prevalenti.

I più potenti game engine odierni sono sviluppati dalle software house; i primi tre posti nella classifica (vd. modDB) dei più avanzati motori di gioco sono occupati da Source di Valve, Unity di Unity Technology e Unreal Engine 2 di Epic Games. Il primo engine open source in quella graduatoria è Blender, ma s’è piazzato diciasettesimo. Ciò dimostra che lo sviluppo dei giochi a pagamento è più rapido. I video game open source, soprattutto quelli free, usano engine costruiti in casa (homebrew), o sono derivati da progetti accademici oppure sono realizzati con l’aiuto della Rete, nel tempo libero e senza contributi volontari costanti. Hanno un handicap difficilmente superabile.

I game engine “closed-source”, per esempio Unity, mettono a disposizione un set di applicazioni per sviluppare un progetto con uno staff di poche persone, e ci sono buoni esempi di giochi sviluppati da programmatori solitari; comunque questi motori hanno una licenza d’utilizzo con un costo che non è per tutte le tasche. Inoltre, ai software di questo tipo manca (*) una versione del programma per svolgere tutte le fasi del processo di sviluppo con il sistema operativo Linux.

Warsow e Blender possono servire da esempio per il modello di sviluppo open source. Anche Xonotic, un altro gioco free as in beer, farebbe una bella figura nella libreria di Steam, ma uno degli sviluppatori ha spiegato, attraverso un articolo di blog, i motivi che hanno impedito finora la richiesta di inserimento in Greenlight. Non è un titolo di prima classe (o tripla A in gergo economico), ma la sua grafica è superiore a quella di tanti giochi open source che si possono scaricare gratuitamente dalla Rete. Il team che sviluppa Xonotic ha due grossi problemi da affrontare: i bug e la scarsa adattabilità della loro infrastruttura e quella di SteamWorks. I difetti si possono correggere, però il secondo problema non ha una soluzione pratica già pronta, richiede “manodopera” che non è disponibile. Valve non impone l’uso di SteamWorks, ma senza di esso  Xonotic perderebbe alcune prerogative di un gioco Steam: le statistiche, gli achievement (medagliere), ecc.

Temo che Steam stia facendo scoprire le differenze fra il software a sorgente chiuso e quello a sorgente aperto. Nel mondo dei video game, il primo procede a una velocità di sviluppo impressionante, mentre il secondo deve purtroppo inseguire.

(*) Leadwerks 3 engine fa eccezione.

Fonti:

  1. Why A Popular Open-Source Game Isn’t On Steam
  2. About Xonotic and Steam
  3. ModDB: 100 Highest Rated Engines

La Steam machine vista da Tripwire Interactive


Tripwire aveva iniziato a sviluppare modifiche per Unreal Tournament 2003, ricordo ancora bene di aver giocato a Red Orchestra: Combined Arms appena lo pubblicarono sul sito ModDB (correva l’anno 2004 su per giù) e di averlo giudicato male, non mi sembrava avessero fatto gran che perché a quell’epoca c’erano altre modifiche che mi interessavano di più. Il tempo si dice è galantuomo ma io ho perso le tracce di SAS: Into the Lion’s Den, Strike Force, Tactical Ops: Crossfire e Frag Ops (sono tutti videogiochi per U.T.) mentre Red Orchestra è diventato un first person shooter di successo! Tripwire vinse la prima edizione della gara Make Unreal Contest (sponsorizzata da nVidia), svoltasi nel 2004, presentando Red Orchestra, dopo di che iniziarono il progetto Osfront 41-45 che doveva competere con videogame già affermati quali Call of Duty e Day of Defeat, ma a differenza della modifica precedente che si poteva installare sul sistema operativo Linux, il nuovo gioco era a pagamento e veniva distribuito tramite Steam solo per i computer Windows. Il genere WW2 realistico era stato preso in considerazione molto tempo prima da un’altra modifica per U.T, il gioco si chiamava The Third Reich; esso aveva alcuni aspetti in comune con Red Orchesta, per esempio le iron sight usate nel combattimento e i movimenti che davano l’impressione al giocatore di essere veramente presente sul campo di battaglia.

Red Orchestra: Ostfront 41-45, la iron sight

Red Orchestra: Ostfront 41-45, la iron sight

Red Orchestra Ostfront 41-45, Killing Floor, infine Red Orchestra 2 e Rising Storm è l’intera collezione di giochi sviluppati dalla software house americana Tripwire, eccezion fatta per Killing Floor che si rifà allo stile di gioco della fabbrica di mostri di Tactical Ops – in Monster Factory orde di alieni sempre più potenti invadevano gli scenari di guerra e i terroristi assieme alla squadra swap carcavano di contrastarli fino allo scontro finale con un boss quasi invincibile – gli altri hanno mantenuto un legame con la storia della Seconda guerra mondiale.

Solo la versione per Linux di Rising Storm è tuttora mancate ma non sarà tenuta in soffitta a lungo; da Red Orchestra in poi Tripwire ha sempre utilizzato Steam per distribuire i videogiochi. Gibson, che ricopre attualmente la carica di presidente dell’azienda, ha rilasciato questa dichiarazione a PC Gamer: “Da quando c’è Steam per Linux (e Mac) circa il 10% delle vendite dei nostri giochi sono ora su quelle piattaforme. È valsa davvero la pena mettere i giochi su quei sitemi per il 10% in più“.

L’entusiamo di Gibson è contagioso, la sua soddisfazione non si limita a constatare i buoni risultati delle vendite di Red Orchestra e Killing Floor, dà un giudizio entusiasmante su SteamOS e Steam machine, “Come possiamo non essere eccitati all’idea di una open platform creata da una compagnia attiva nel gaming che cerca di andare incontro ai bisogni degli acquirenti?”. La console di Valve sta portando Linux a un livello di popolarità mai raggiunto in decenni di convegni e install fest promossi dalle varie associazioni e fondazioni, eppure non si potrebbe auspicare il successo della Steam machine senza riconoscere il lavoro “dietro le scene” di tante persone impegnate da sempre con la FSF, la Linux Foundation o l’open source. Valve ha portato Linux fuori dall’Età della pietra per quanto riguarda i videogiochi e nella loro home page specificano chiaramente che SteamOS è basato su Linux. “Abbiamo saputo direttamente da Valve a proposito di SteamOS, soltanto pochi giorni prima del resto del mondo, ma non siamo ancora al lavoro con questo sistema”, aggiunge Gibson. Valve li ha assistiti per aggiungere i loro giochi alla libreria di Steam fin dai tempi del primo Red Orchestra. Tre su quattro titoli di Tripware hanno la versione per Linux, uno di questi ha un eccezionale funzionamento con Big Picture. “Questa collaborazione ci ha messo in una condizione favorevole per lavorare con SteamOS quando sarà disponibile perché è essenzialmente un Big Picture che funziona su un Linux con eccezionali ottimizzazioni e altro stuff interessante”. Anche il prossimo progetto top-secret di Tripware sarà pronto in tempo per la Steam machine.

Non considero Linux un vero “brand”, è un nome legato per lo più allo sviluppo del sistema operativo. Per chi lo apprezza è sempre stata una questione di scelta della distribuzione: sono Debian, Canonical, Red Hat e Mint i nomi più conosciuti, questi fanno il vero “marketing” non è la Linux Foundation. Supponiamo che tu voglia suggerire a qualcuno di soppiantare il suo Windows con Linux, lo indirizzeresti a https://www.kernel.org? Direi di no! Gli diresti di scaricare la distribuzione che tu ritieni più adatta per lui. Ecco, SteamOS si inserisce dove le distribuzioni esistenti hanno lasciato sempre un vuoto: il gaming. Valve aiuterà le software house come Tripwire a sviluppare il gioco per la Steam machine, assisterà gli sviluppatori a integrarlo nel migliore dei modi in SteamOS. Una cosa così era successa solo una volta in passato, ma dopo il fallimento di Loki i giochi di rado furono portati su Linux:  se farlo o meno, era una scelta idealistica del programmatore. Linux non veniva preso in considerazione oppure era messo da parte per fini di diffusione e guadagno. Ripenso all’origine di Red Orchestra, alla mod per Ut2004 che scaricai dalla Rete per giocarla su Linux e allo strappo successivo di Tripwire, quando decise di passare il gioco completo su Steam rinunciando a portare avanti lo sviluppo multi-piattaforma, fece la scelta giusta?

Fonte (in inglese): Tripwire: “SteamOS, Steam Machines, and Steam Controller will be the best thing to happen to PC gaming since digital distribution”