Leadwerks per Linux: lo sviluppo continua


Leadwerks Linux va visto come una serie di componenti che lavorano insieme per animare un oggetto altrimenti statico, e un gioco statico è poco divertente oggidì. C’è l’engine che fornisce al programmatore le funzioni per controllare i dispositivi audio, quelli d’input/output, la scheda video, la IA e la fisica; queste funzioni sono inserite nelle librerie di sviluppo. Leadwerks Linux ha un editor di codice sorgente (Code::Blocks) e uno per gli script, c’è il modeller e l’editor per le mappe. Tutti questi strumenti, collegati fra loro, formano un’applicazione RAD che accellera lo sviluppo dei video game multi-piattaforma.

Lo sviluppo di Leadwerks 3 per Linux continua e sulla pagina di Kickstarter vengono di volta in volta pubblicati alcuni rapporti che descrivono i punti di forza e di debolezza dell’intero processo di adattamento dell’engine al sistema operativo Linux. È venuto a galla per esempio questo problema della libreria fisica di Leadwerks che blocca il programma editor quando viene usato un comando SSE. Le Streaming SIMD Extensions, cioè SSE, sono istruzioni della CPU specializzate per fare i calcoli in virgola mobile più velocemente e quindi sono perfette per implementare la fisica nel gioco. Disabilitando questo comando – con l’editor di Leadwerks è possibile passare da una modalità SSE a una non-SSE – il blocco sparisce.

Leadwerks editor

Leadwerks editor

Un ambiente di sviluppo così complesso deve integrarsi bene nel sistema operativo. L’obiettivo attuale è la predisposizione dell’interfaccia dell’utente con un set di icone più consono per Linux (quelle di Windows sono state sostituite per il momento con il set monocromatico di Ubuntu); il simbolo di Code::Blocks ha rimpiazzato quello di Visual Studio. Inoltre, l’uso del toolkit GTK dà complessivamente un look & feel molto più familiare. Ma l’imprevisto è da mettere sempre in conto, specialmente quando si portano centinaia di righe di codice da una piattaforma a un’altra: vedere alla fine del lavoro una barra laterale senza icone, deprime un po’ (vd. immagine sopra)!

Altre situazioni problematiche riguardano il riquadro del rendering (si ferma al primo riuso), il pannello delle opzioni (non compare) e l’editor dei modelli (si blocca completamente), i menu della finestra (non sono contestuali). Malgrado tutto ciò, funziona l’editor degli script ed è possibile produrre alcuni giochi dimostrativi. Leadwerks Linux sarà consegnato a dicembre alle persone che fecero una donazione di cinquanta e cento dollari. Visto a che punto è lo sviluppo, il rilascio su Steam, penso, non avverrà prima del 2014.

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

Per Leadwerks engine inizia la caccia ai bug


Leadwerks è una software house “indie” che sta realizzando un ambiente di sviluppo RAD per videogiochi. A luglio avevano raccolto i fondi in Rete, tramite Kickstarter, con l’obiettivo di portare Leadwerks 3 su Linux. Questo programma dà agli sviluppatori un assortimento di strumenti per creare giochi 3D con il sistema operativo open source. È un prodotto che si può confrontare con Unity 3D di Windows, tuttavia Leadwerks stesso è multi-piattaforma e non occorrono altri programmi all’infuori di un’applicazione per i modelli 3D.

Beta di Leadwerks 3 engine su Linux

Beta di Leadwerks 3 engine su Linux

Le persone che donarono almeno cinquecento dollari hanno avuto accesso in questi giorni alla versione sperimentale di Leadwerks 3 per Linux. Per il momento c’è  soltanto l’IDE, basato su Code::Blocks con un’interfaccia di tipo wxWindows; però è degno di nota il fatto che esista una Leadwerks API che controlla ogni aspetto del videogioco: grafica, fisica, IA e input/output, cioè i moduli principali della struttura interna di un game engine. Allo stato attuale manca solo l’editor di livello. In questo caso gli sviluppatori intendono costruire l’interfaccia del programma con il toolkit GTK. Non ci sono stati problemi nell’adattamento di un software di Windows a Linux, l’unico intoppo è attinente alla manipolazione dei nomi di file e directory che è incompatibile fra i due sistemi operativi. Ma da un punto di vista pratico, i benefici che derivano da un programma ben integrato in Linux sono superiori ai sacrifici sostenuti, asseriscono i programmatori di Leadwearks.

Leadwearks 3 per linux sarà in vendita a partire da dicembre; si potrà scaricare da Internet e installare con Steam. Ho sempre sognato un ambiente di sviluppo per videogiochi che fosse completo di editor di livelli e codice sorgente, similmente a quanto è possibile avere in Windows, per esempio con Unity 3D.  Leadwerks mette anche a disposizione uno store dove gli artisti e i programmatori possono scambiare gli asset (modelli 3D, suoni, moduli, ecc.), in questo modo l’indie game developer ha ogni cosa necessaria per dare forma a un’idea tenuta finora nel cassetto.

Fonti:

  1. Leadwerks 3.1 Enters Beta; Heading to Steam Dev Days
  2. http://steamcommunity.com/sharedfiles/filedetails/?id=145716110