Videogiochi: Perché scegliere LUA?

16 Febbraio 2019

Lua & Love2D

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 d’Itamde 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.

LUA
Maggiori informazioni sul progetto LUA: http://www.lua.org/home.html

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://itamde.com/it/corsi-online-digitali/

▼ SEGUICI SU ▼
» Facebook: https://www.facebook.com/itamde
» Instagram: https://www.instagram.com/itamdestudio
» X (Twitter): https://x.com/itamdestudio
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q

Articoli recenti

Commenti recenti

  1. Massimiliano Ferretti su I Commenti

    Mi permetto di aggiungere una mia considerazione personale che ho riportato dall'utilizzo di C#. Personalmente mi piace commentare funzioni e…

  2. Personalmente ritengo che utilizzare git porti sempre dei vantaggi anche per lo sviluppo solo. Già solo la possibilità di fare…

  3. ciao, il link a discord non è piu valido, vorrei utilizzare il materiale che hai pubblicato tempo fa, come faccio?

Itamde è anche una scuola di programmazione online.

Itamde

Impara ciò che desideri, al tuo ritmo

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Potrebbe interessarti anche…

Medieval Minefield – Update 1.4 (Devlog)

Medieval Minefield – Update 1.4 (Devlog)

Un progetto iniziato nel 2021, ripreso oggi: cosa è cambiato, cosa stiamo sistemando, e dove stiamo andando Medieval Minefield è nato nel 2021 come esperimento “serio ma piccolo”: prendere la logica del campo minato classico, spostarla su mobile, e vestirla con una UI...

Rimani aggiornato sulle ultime notizie e novità

Accedi ai contenuti riservati

Scopri il dietro le quinte dei nostri progetti, risorse esclusive e lo stato di avanzamento delle nostre creazioni in tempo reale.

Iscriviti alla newsletter

Ricevi le nostre notizie, le nostre riflessioni creative e le novità dell’atelier direttamente nella tua casella di posta elettronica.

Seguici

Unisciti alla nostra community sui social network per seguire i nostri progetti quotidiani e interagire con noi.