Videogiochi: Perché scegliere LUA?
Conoscete Lua? Lua è un linguaggio leggerissimo e pieno di sorprese. E perfetto per la programmazione di videogiochi.
Forse è uno dei migliori linguaggi di programmazione per iniziare a programmare videogiochi.
Vi consigliamo di iniziare con questo linguaggio o con Javascript invece di passare direttamente ad un motore (engine) come Unity, Unreal Engine…
Iniziate con giochi semplici, 2D, come un Pong, uno Snake, un platform tipo Super Mario, o un semplice casual game è forse la scelta più opportuna, perché vi porterà a risolvere delle problematiche comuni.
Per questo motivo, il team di Develop4fun ha “nominato” Lua come il miglior candidato per iniziare la vostra avventura nel mondo dei videogiochi.
Perché programmare con LUA
LUA è un linguaggio di scripting specializzato per sistemi embedded (mobile devices) ma utilizzato anche in ambienti desktop e industriali (videogiochi e non). Tra le sue caratteristiche puoi riscontrare potenza, velocità e leggerezza.
Uno dei suoi principali vantaggi è la possibilità di usare le funzioni come “oggetti” di primo livello e quindi assegnabili a variabili, e l’uso di tabelle come strutture dati generiche. Queste caratteristiche permettono al linguaggio di implementare caratteristiche viste in linguaggi orientati agli oggetti senza che lo stesso lo sia.
Infine, il classico programma “Hello world” può essere scritto come:
print "Hello, world!"
• LUA è un linguaggio robusto fortemente collaudato
LUA è stato utilizzato in molte applicazioni industriali (come ad esempio, Adobe Lightroom e Photoshop) e giochi (World of Warcraft e Angry Birds). LUA è attualmente il linguaggio di scripting più utilizzato al mondo per lo sviluppo di videogiochi.
• LUA è portabile
LUA è distribuito in un pacchetto di piccole dimensioni e si integra in tutte le piattaforme che hanno un compilatore C standard. E’ un linguaggio che funziona su tutte le versioni di Unix e Windows, su dispositivi mobili (con sistema operativo Android, iOS, BREW, Symbian, Windows Phone), su microprocessori embedded (come ARM e rabbit, per applicazioni come Lego Mindstorms), su mainframe IBM, etc.
• LUA è veloce
LUA ha una grandissima reputazione per le prestazioni. Diversi benchmark mostrano LUA come il più veloce tra i linguaggi di scripting interpretati. Programmi molto complessi e di grandi dimensioni sono stati scritti con LUA.
• LUA è embedded (ovvero incorporato) e libero
LUA è un linguaggio con un ingombro ridotto: è quindi possibile incorporarlo facilmente nelle tue applicazioni. LUA ha un set di API semplici e ben documentate che consentono una forte integrazione con il codice scritto in altri linguaggi. È semplicissimo estendere LUA con librerie scritte in altre linguaggi, altrettanto facile il processo inverso, estendere i programmi scritti in altri linguaggi con LUA. LUA è stato utilizzato per estendere i programmi scritti non solo in C e C++, ma anche in Java, C#, Objective C, Smalltalk, Fortran, Ada, Erlang e incredibilmente anche con altri linguaggi di scripting, come Perl e Ruby.
LUA è open-source, distribuito sotto la famosa licenza MIT. Esso può essere utilizzato per qualsiasi scopo, compresi progetti commerciali, senza alcun costo. Basta scaricarlo e usarlo.
• LUA è potente (ma semplice)
Un concetto fondamentale nella progettazione di LUA è fornire meta-meccanismi di attuazione caratteristica, invece di fornire una serie di funzionalità direttamente tradotte nel linguaggio. Ad esempio, sebbene LUA non sia un linguaggio orientato agli oggetti, fornisce meta-meccanismi di attuazione per le classi e l’ereditarietà. Questa caratteristica consente un’estensione della semantica nel linguaggio non convenzionale.
• LUA è molto ridotto
Aggiungere LUA a un’applicazione non aumenta di molto il peso in termini di byte. Ad esempio la versione di LUA 5.2.1, che contiene il codice sorgente e la documentazione, pesa 245K compressi e non compressi 960K. Il codice sorgente sono circa 20.000 righe di C. In Linux, ad esempio, l’interprete LUA costruito con tutte le API standard pesa 182K e la libreria pesa 243K.
Lua è un linguaggio totalmente Open-source
Questo linguaggio di programmazione dinamico è open-source, distribuito sotto la famosa licenza MIT. Esso può essere utilizzato per qualsiasi scopo, compresi progetti commerciali, senza alcun costo. Basta scaricarlo e usarlo.
Il linguaggio LUA è dinamicamente tipizzato, esegue il codice interpretando bytecode da un registro basato su macchina virtuale e dispone di gestione automatica della memoria con garbage collection incrementale, che lo rende ideale per la configurazione, lo scripting e la prototipazione rapida del software. LUA viene progettato, realizzato e gestito da un team (PUC-Rio) della Pontificia Università Cattolica di Rio de Janeiro in Brasile. È nato e cresciuto nel Tecgraf, la Computer Graphics Technology Group di PUC-Rio, ed è ora ospitato presso LabLUA. Sia Tecgraf e LabLUA sono laboratori del Dipartimento di Informatica di PUC-Rio.
Programmare con LUA e LOVE2D
LUA e Love2D è un binomio che va alla grande!
Più nel dettaglio LÖVE è un framework per creare giochi 2D grazie al linguaggio di programmazione Lua. LÖVE è completamente gratuito e può essere utilizzato per qualsiasi scopo, da semplici progetti open-source, a progetti closed-source e commerciali.
Dopo aver imparato le basi di Lua, vi consigliamo di associarlo a questo framework e di creare qualche progettino. Ma non partite direttamente su un gioco TROPPO complesso! Purtroppo, se si pone un obiettivo troppo alto e non lo si raggiunge in tempi decenti, ci si può demoralizzare facilmente.
Provate a programmare piccoli progetti (piccoli videogiochi con LUA & LÖVE2D), vedrete che vi daranno il giusto rapporto di difficoltà e soddisfazione.
Qui il nostro corso: Introduzione alla programmazione dei videogiochi
Ricordatevi sempre che lo sviluppo di un videogioco è una forma d’arte.
I nostri corsi : https://www.develop4fun.it/premium-corsi-online-in-abbonamento
▼ SEGUICI SU ▼
» Facebook per il Web e corsi online: https://www.facebook.com/developforfun
» Facebook di D4F Games: https://www.facebook.com/d4fgames
» Instagram per il Web e corsi online: https://www.instagram.com/develop4fun
» Instagram di D4F Games: https://www.instagram.com/d4f_games
» Twitter per il Web e corsi online: https://twitter.com/Develop4fun
» Twitter di D4F Games: https://twitter.com/D4fGames
» VISITA IL NOSTRO SITO WEB: https://www.develop4fun.it/
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q