Vai al contenuto

Videocorso Lua CGFA

Da zero a programmare in Lua e a creare il tuo primo videogioco con LÖVE

  • Partenza: Da zero
  • 12 ore con gli esercizi
  • 10 lezioni in 3 livelli
  • 2 lezioni gratis

A chi serve

Principianti assoluti, appassionati di videogiochi, chi vuole creare mod e giochi su Roblox

Cosa serve per iniziare

  • Un computer Windows, Mac o Linux
  • Saper usare un editor di testo (basta Visual Studio Code)
  • Nessuna esperienza di programmazione: si parte da zero

Cosa installare

Lua 5.5Si scarica da lua.org (o con un gestore come Scoop su Windows, Homebrew su Mac, apt su Linux). Controlla con "lua -v".
LÖVE 11.5Il motore gratuito per giochi 2D, da love2d.org. Per lanciare un gioco si trascina la sua cartella sopra love.exe, oppure si scrive "love ." nella cartella.
Visual Studio CodeEditor gratuito da code.visualstudio.com, con l'estensione "Lua" per i suggerimenti.
Roblox Studio (facoltativo)Gratuito da create.roblox.com: serve solo per l'ultima lezione, dove si usa Luau.

A cosa ti serve

  • Sviluppo di videogiochi 2D (LÖVE, Defold, Solar2D)
  • Mod e giochi su Roblox (con Luau)
  • Script e configurazioni in programmi come Neovim, Redis e router
  • Prototipi di giochi veloci
  • Lavoro come scripter per piccoli studi indipendenti

Programma del corso

10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.

Progetto finale: Schiva i meteoriti

Crea un gioco con LÖVE: muovi un'astronave in basso con le frecce e schiva i meteoriti che cadono. Hai 3 vite, ogni meteorite schivato dà un punto e il record si salva su disco.

I passi

  1. Crea la cartella schiva-meteoriti con dentro il file main.lua.
  2. Prepara le variabili: giocatore, elenco dei meteoriti, punti, vite, timer e stato.
  3. In love.update muovi l'astronave con le frecce, limitandola ai bordi.
  4. Ogni 0,6 secondi aggiungi un meteorite con posizione e velocità a caso.
  5. Fai cadere i meteoriti, controlla la collisione, toglili dalla tabella quando escono o ti colpiscono.
  6. Quando le vite finiscono passa allo stato "fine" e salva il record con love.filesystem.
  7. Disegna astronave, meteoriti, punteggio, vite e record, e premi SPAZIO per ricominciare.

Esame e attestato

Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.

Vai all'esame

Glossario di Lua

Variabile
Una scatola con un nome dove il programma tiene un valore.
Local
Parola che rende una variabile visibile solo nel blocco dove nasce.
Tabella
L'unica struttura dati di Lua: serve da elenco, da dizionario e da oggetto.
Funzione
Un blocco di codice con un nome, riutilizzabile; in Lua è un valore come gli altri.
Closure
Una funzione che ricorda le variabili del posto dove è stata creata.
Metatabella
Una tabella che dice a un'altra tabella come comportarsi (ereditarietà, operatori).
Modulo
Un file Lua che restituisce una tabella e si carica con require.
Coroutine
Una funzione che si può mettere in pausa e riprendere.
LÖVE
Il motore gratuito per creare giochi 2D programmando in Lua.
dt (delta time)
Il tempo trascorso dall'ultimo fotogramma, usato per muovere le cose alla stessa velocità su ogni computer.
Collisione
Il controllo che stabilisce se due oggetti del gioco si toccano.
Luau
La variante di Lua usata da Roblox, con tipi facoltativi.

Le prime 2 lezioni sono gratis

Per il corso completo, scuole e aziende: chiedi le condizioni.