Come si giudica un motore grafico dedicato alla creazione di videogiochi 3D? Non è facile a dirsi in un contesto simile. Intanto bisogna accumulare molte ore di utilizzo e quantomeno conoscerne diversi altri per poter fare confronti, altrimenti il giudizio diventa fine a se stesso. Inoltre bisogna capire le proprie ambizioni e cosa si voglia effettivamente realizzare. Altro problema che va considerato è il prezzo della licenza. In che senso? Be', facciamo un paragone di facile comprensione.
Se si dispone un certo budget e si deve decidere sull'acquisto di un singolo videogioco, ci si ritroverà a scegliere su prodotti dal prezzo molto simile, nonostante le oscillazioni. Diciamo che possiamo includerli tutti in un range che va da 0,89€ a 75€. Tra il prezzo più basso e il prezzo più alto la differenza sembra molta, ma non è così ampia come quella che passa tra un motore grafico high-end e uno a buon mercato, campo dove le scelte fattibili sono oltretutto inferiori. Senza dare numeri precisi, diciamo che possono esserci anche più di cinque zeri di differenza. Leadwerks, l'engine di cui stiamo per parlare, rientra nella categoria degli strumenti di sviluppo molto economici, pur costando la Indie Edition 92,99€ (senza royalty). Capirete quindi che confrontarlo con tool come Unity, che ha sì una versione gratuita, con parecchi limiti, ma la cui licenza della versione Pro parte da 1500 dollari per pubblicare su Windows, più diverse altre migliaia di dollari se si vuole pubblicare su altre piattaforme, avrebbe poco senso (e Unity è considerato un motore economico). Come avrebbe poco senso fare un confronto con i vari CryEngine e Unreal Engine, che offrono ambienti di sviluppo più completi e raffinati, ma le cui licenze hanno prezzi incredibilmente maggiori. Solo un ottuso potrebbe paragonare prodotti dai costi e dai fini così diversi, soprattutto di fronte all'impossibilità economica di affrontare una spesa che permetta di utilizzare quanto il mercato ha di meglio da offrire. Quindi cerchiamo di definire a chi si rivolge Leadwerks prima di consigliarne o meno la presa in considerazione.
Fondamenta
In primo luogo cerchiamo di capire da dove viene. Josh Klint, lo sviluppatore dietro il Leadwerks, è partito dalla sua esperienza con l'Hammer di Valve, tool cui si può accedere direttamente da Steam, per raffinare la sua opera. Il suo obiettivo principale è sempre stato la creazione di uno strumento molto facile da utilizzare, che sia particolarmente amichevole verso i novizi, pur garantendo una buona qualità complessiva.
Da questo punto di vista non si può negare che abbia raggiunto il suo obiettivo, visto che il Leadwerks è davvero molto intuitivo (sempre nei limiti della conoscenza minima di ciò che bisogna avere), nonostante l'integrazione con linguaggi come C++ o Lua, quest'ultimo una scelta standard e molto usata anche da altri ambienti di sviluppo, gli diano delle potenzialità più elevate che mancano ad altri motori. L'interfaccia dell'editor di livelli integrato è davvero alla portata di chiunque e permette di realizzare cose molto semplici con velocità e praticità. Certo, come al solito non aspettatevi di ricreare Skyrim da soli e in cinque minuti, come pretenderebbero alcuni (quelli che solitamente smettono subito di provarci). Il renderer OpenGL 4.0 si comporta più che onestamente (anche se il confronto fatto dal buon Klint con i sistemi DirectX 11 non rende merito alla sua intelligenza), e pone il Leadwerks come una buona via di mezzo tra motori più costosi e altri più artigianali. Ci sono delle risorse integrate usabili immediatamente, ma come al solito il meglio lo si ottiene producendosene da soli. Lo sviluppatore ha anche inserito un Flowgraph che consente di studiare il design dei giochi, anch'esso semplice e intuitivo, ma mancante di alcune funzioni rilevanti. Nonostante tutto, non ci si può lamentare troppo, visto il prezzo. Tra i problemi fondamentali del Leadwerks ci sono grosse carenze nel supporto per il lavoro in team. Ossia, il motore sembra pensato appositamente per sviluppatori solitari che non debbano intervenire contemporaneamente ad altri sul progetto. A sua discolpa va detto che anche un motore più costoso e molto usato come Unity è carente da questo punto di vista, quindi non ci si poteva attendere diversamente da un tool economico.
Scopriamo le potenzialità di un motore grafico pensato per il più vasto pubblico possibile
Manca qualcosa?
Ora vanno segnalate un paio di problematiche evidenti del Leadwerks. La prima riguarda la documentazione. Una delle caratteristiche vantate è proprio la presenza di molto materiale di riferimento per gli sviluppatori novelli. In realtà se questo è vero per le funzioni base, per quanto riguarda quelle avanzate la situazione è ben diversa, visto che il materiale latita. Certo, l'archivio viene arricchito giornalmente e lo sarà sempre di più con il passare del tempo, ma allo stato attuale mancano molte cose.
Si tratta di un problema insormontabile? No, se non volete crescere insieme al motore, sì, se volete realizzare qualcosa di vendibile e avete esigenze particolari da soddisfare nel più breve tempo possibile. Certo, c'è sempre il forum dove porre domande, con il buon Klint che si prodiga nel rispondere a tutti nei limiti dell'umano, ma il poveraccio sembra lavorare da solo e con il crescere della comunità non riesce a stare dietro a tutto, anche perché continua a sfornare aggiornamenti a getto continuo aggiungendo caratteristiche rilevanti (tipo il supporto per i plug-in grafici di terze parti, che è stata un'ottima aggiunta). Da questo deriva un secondo problema: motori grafici come Unity o Unreal Engine permettono di acquistare il supporto tecnico, spesso indispensabile per risolvere alcuni problemi di natura tecnica (dai bug ai dubbi su alcuni aspetti peculiari). Bene, nel caso del Leadwerks questa funzione essenziale non è contemplata e per risolvere un qualsiasi problema bisogna affidarsi al buon cuore di Kint. Ergo torniamo al precedente problema: se avete la pazienza di aspettare il supporto dello sviluppatore, siete benvenuti. Se invece vi aspettate risposte fulminee... state freschi. Altro discorso meritano il C++ e il Lua: non aspettatevi di mettervi a programmare in C++ dopo mezz'ora dall'avvio del Leadwerks. Il Lua di suo è più semplice, ma richiede comunque delle conoscenze di base che non vanno sottovalutate, a meno di non volersi ritrovare bloccati per via di ambizioni troppo elevate rispetto alle proprie capacità. Per molti sembrerà una banalità ribadire questi concetti, ma è importante partire equipaggiarsi di una certa dose di realismo prima di affrontare certi argomenti, perché il concetto di "facile" legato a un motore grafico è relativo a moltissimi elementi che, se sottovalutati, finirebbero per essere controproducenti.
Tiriamo le somme
Il Leadwerks è un motore adatto a chiunque voglia iniziare a sviluppare un suo gioco in un ambiente avanzato senza però spendere centinaia di migliaia di euro in licenze. Sicuramente i novizi lo troveranno più adatto alle loro esigenze rispetto ad altri ambienti di sviluppo e, magari, chi è particolarmente bravo riuscirà a tirarci fuori qualcosa di discreto. Certo, bisogna portare una certa pazienza con il supporto tecnico e sapersi rapportare con la comunità per avere ragguagli su alcuni aspetti, ma in fondo lo state pagando meno di cento euro. C'è poco da lamentarsi.