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
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.
Base
Installare Lua e scrivere i primi programmi
Intermedio
Funzioni, oggetti ed errori
Avanzato
Giochi con LÖVE e cenni su Roblox
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
- Crea la cartella schiva-meteoriti con dentro il file main.lua.
- Prepara le variabili: giocatore, elenco dei meteoriti, punti, vite, timer e stato.
- In love.update muovi l'astronave con le frecce, limitandola ai bordi.
- Ogni 0,6 secondi aggiungi un meteorite con posizione e velocità a caso.
- Fai cadere i meteoriti, controlla la collisione, toglili dalla tabella quando escono o ti colpiscono.
- Quando le vite finiscono passa allo stato "fine" e salva il record con love.filesystem.
- 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.
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.