SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
Lua	e	MOAI	SDK:	sviluppiamo	videogames!
Salvatore	Carotenuto,	OpenMakersItaly
1
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
Lua?!?
http://www.lua.org/
2
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
http://www.lua.org/
-	Lua	è	un	linguaggio	di	scripting;
-	performante:	dopo	il	C/C++,	è	il	linguaggio	di
	programmazione	più	veloce	al	mondo;
-	piccolo:	l'interprete	è	<	200	KB.	Può	girare	anche	su
	piattaforme	embedded;
-	extensible	extension	language:	è	progettato	per
	estendere	altre	applicazioni	e	per	essere	esteso	grazie	a
	librerie	esterne;
3
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
http://www.lua.org/
-	portabile:	è	scritto	in	ANSI	C.	Praticamente	può	girare
	ovunque;
-	semplice:	la	sintassi	è	immediatamente	comprensibile
	anche	per	i	non	esperti;
-	è	open	source!	(licenza	MIT);
-	è	perfetto	per	sviluppare	videogames!
4
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
Videogames?	Davvero???
5
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
Convinti?
6
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
Ma	perché	Lua?
Perché	non	C++
(o	un	altro	linguaggio)	?
7
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
La	sintassi	(1)
Hello	world
print	"Hello,	world!"
8
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
La	sintassi	(2)
Costrutto	IF
if	a	>	0	then
	print	"a	is	greater	than	zero!"
else
	print	"a	is	smaller	than	zero!"
end
9
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
La	sintassi	(3)
Cicli
for	i	=	1,	10,	2	do
	print	(i)
end	
while	a	>	0	do
	print	"cycling!"
end
repeat
	print	"cycling!"
until	a	>	0
10
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
La	sintassi	(4)
Funzioni
function	helloWorld()
	print	("Hello	World!")
end	
function	singleReturn(a)
	return	a	*	2
end function	multipleReturn(a)
	return	a	*	2,	a	>	0
end
11
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
La	sintassi	(5)
Tables	(array	associativi)
player1	=	{
	name	=	"Warrior",
	energy	=	100,
	alive	=	true
	}
player1.lives	=	3
player1["gender"]	=	"male"
12
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
La	sintassi	(6)
Commenti
--	questo	è	un	commento	su	singola	riga
--[[	questo	è
un	commento
multiline	]]
13
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
http://getmoai.com/
-	runtime	scritto	in	C++;
-	open	source	(licenza	CPAL);
-	multipiattaforma	(Linux	/	Windows	/	MacOS	/	iOS	/	Android);
-	prima	BETA	rilasciata	nel	luglio	2011;
14
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
15
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
l'architettura	di	MOAI
16
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
eos
scripting	environment
-	runtime	scritto	in	C++;
-	open	source	(licenza	MIT);
-	multipiattaforma	(Linux	/	Windows);
-	prima	BETA	rilasciata	nell'	ottobre	2006;
http://www.startupsolutions.it/eos-scripting-environment/
17
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
eos
scripting	environment
18
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
L'	IDE	ZeroBrane	Studio
http://studio.zerobrane.com/
19
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
MOAI	Fiddle	(	http://moaifiddle.com	)
http://studio.zerobrane.com/
20
©	2014	Open	Makers	Italy
Il	contenuto	della	presentazione	è	tutelato	da	licenza	Creative	Commons	CC	BY-NC
16.Jun.2014
--[[	grazie	per	l'attenzione!	]]
Salvatore	Carotenuto
Presidente	Associazione	"Open	Makers	Italy"
ultimoistante@gmail.com	|	carotenuto@startupsolutions.it
http://www.openmakersitaly.org/	|	http://www.startupsolutions.it/
21

Mais conteúdo relacionado

Semelhante a Lua e MOAI SDK: sviluppiamo videogames!

Che cosa è il Qt Framework
Che cosa è il Qt FrameworkChe cosa è il Qt Framework
Che cosa è il Qt FrameworkPaolo Sereno
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developerssparkfabrik
 
Future Decoded Roma - Visual Studio, Cordova e Ionic Framework to create X-...
Future Decoded Roma  - Visual Studio, Cordova e Ionic Framework  to create X-...Future Decoded Roma  - Visual Studio, Cordova e Ionic Framework  to create X-...
Future Decoded Roma - Visual Studio, Cordova e Ionic Framework to create X-...Michele Aponte
 
Ilvg.it @ Ni Day2008
Ilvg.it @ Ni Day2008Ilvg.it @ Ni Day2008
Ilvg.it @ Ni Day2008ILVG.it
 
Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Francesco Baldassarri
 
Reportage "RAD Studio XE2 World Tour"
Reportage "RAD Studio XE2 World Tour"Reportage "RAD Studio XE2 World Tour"
Reportage "RAD Studio XE2 World Tour"Marco Breveglieri
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Romualdo Gobbo
 
Introduzione al software libero
Introduzione al software liberoIntroduzione al software libero
Introduzione al software liberoStefano Sabatini
 
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile MessagingWhymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile MessagingWhymca
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceClaudio Cardinali
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
 
Un Grande Informatico
Un Grande InformaticoUn Grande Informatico
Un Grande Informaticoguest7f82ed
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni Buffa
 
Software libero, pensiero libero
Software libero, pensiero liberoSoftware libero, pensiero libero
Software libero, pensiero liberoGiuseppe Gortan
 

Semelhante a Lua e MOAI SDK: sviluppiamo videogames! (20)

Che cosa è il Qt Framework
Che cosa è il Qt FrameworkChe cosa è il Qt Framework
Che cosa è il Qt Framework
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developers
 
Future Decoded Roma - Visual Studio, Cordova e Ionic Framework to create X-...
Future Decoded Roma  - Visual Studio, Cordova e Ionic Framework  to create X-...Future Decoded Roma  - Visual Studio, Cordova e Ionic Framework  to create X-...
Future Decoded Roma - Visual Studio, Cordova e Ionic Framework to create X-...
 
Ilvg.it @ Ni Day2008
Ilvg.it @ Ni Day2008Ilvg.it @ Ni Day2008
Ilvg.it @ Ni Day2008
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
Ubuntu Linux - Corso Base
Ubuntu Linux - Corso BaseUbuntu Linux - Corso Base
Ubuntu Linux - Corso Base
 
Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)Meego Italian Day 2011 - Francesco Baldassarri (1)
Meego Italian Day 2011 - Francesco Baldassarri (1)
 
Reportage "RAD Studio XE2 World Tour"
Reportage "RAD Studio XE2 World Tour"Reportage "RAD Studio XE2 World Tour"
Reportage "RAD Studio XE2 World Tour"
 
Openfrog
OpenfrogOpenfrog
Openfrog
 
Conferenza Pymaemo
Conferenza PymaemoConferenza Pymaemo
Conferenza Pymaemo
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20
 
Introduzione al software libero
Introduzione al software liberoIntroduzione al software libero
Introduzione al software libero
 
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile MessagingWhymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
 
Link. javascript ajax
  Link. javascript ajax  Link. javascript ajax
Link. javascript ajax
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open Source
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
 
Un Grande Informatico
Un Grande InformaticoUn Grande Informatico
Un Grande Informatico
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un framework
 
Software libero, pensiero libero
Software libero, pensiero liberoSoftware libero, pensiero libero
Software libero, pensiero libero
 
G. Barcaroli - Introduzione a R
G. Barcaroli - Introduzione a RG. Barcaroli - Introduzione a R
G. Barcaroli - Introduzione a R
 

Mais de Open Makers Italy

Arduino e stampa 3d: le nuove frontiere della robotica homemade
Arduino e stampa 3d: le nuove frontiere della robotica homemadeArduino e stampa 3d: le nuove frontiere della robotica homemade
Arduino e stampa 3d: le nuove frontiere della robotica homemadeOpen Makers Italy
 
Arduino e stampa 3D - Le nuove frontiere della robotica homemade
Arduino e stampa 3D - Le nuove frontiere della robotica homemadeArduino e stampa 3D - Le nuove frontiere della robotica homemade
Arduino e stampa 3D - Le nuove frontiere della robotica homemadeOpen Makers Italy
 
Open Makers Italy - Company profile
Open Makers Italy - Company profileOpen Makers Italy - Company profile
Open Makers Italy - Company profileOpen Makers Italy
 
Cyclomatic: un datalogger per bicicletta con Arduino
Cyclomatic: un datalogger per bicicletta con ArduinoCyclomatic: un datalogger per bicicletta con Arduino
Cyclomatic: un datalogger per bicicletta con ArduinoOpen Makers Italy
 
Frankenstein printer: dalla discarica al CNC
Frankenstein printer: dalla discarica al CNCFrankenstein printer: dalla discarica al CNC
Frankenstein printer: dalla discarica al CNCOpen Makers Italy
 
HySolarKit - Solar Hybridization of Conventional Vehicles
HySolarKit - Solar Hybridization of Conventional Vehicles HySolarKit - Solar Hybridization of Conventional Vehicles
HySolarKit - Solar Hybridization of Conventional Vehicles Open Makers Italy
 
Geecom: il nuovo CMS open source
Geecom: il nuovo CMS open sourceGeecom: il nuovo CMS open source
Geecom: il nuovo CMS open sourceOpen Makers Italy
 
Android-Arduino interaction via Bluetooth
Android-Arduino interaction via BluetoothAndroid-Arduino interaction via Bluetooth
Android-Arduino interaction via BluetoothOpen Makers Italy
 
Django & Google App Engine: a value composition
Django & Google App Engine: a value compositionDjango & Google App Engine: a value composition
Django & Google App Engine: a value compositionOpen Makers Italy
 
Primi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackPrimi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackOpen Makers Italy
 
Hands on Embedded Linux with BeagleBone Black
Hands on Embedded Linux with BeagleBone BlackHands on Embedded Linux with BeagleBone Black
Hands on Embedded Linux with BeagleBone BlackOpen Makers Italy
 
Geecom, nascita di un progetto open source
Geecom, nascita di un progetto open sourceGeecom, nascita di un progetto open source
Geecom, nascita di un progetto open sourceOpen Makers Italy
 
Introduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile AndroidIntroduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile AndroidOpen Makers Italy
 
Making in action: facciamo il caffè con Android e Arduino
Making in action: facciamo il caffè con Android e ArduinoMaking in action: facciamo il caffè con Android e Arduino
Making in action: facciamo il caffè con Android e ArduinoOpen Makers Italy
 
OpenStreetMap: costruiamo una mappa libera
OpenStreetMap: costruiamo una mappa liberaOpenStreetMap: costruiamo una mappa libera
OpenStreetMap: costruiamo una mappa liberaOpen Makers Italy
 

Mais de Open Makers Italy (18)

GoogleIO Extended Campania
GoogleIO Extended CampaniaGoogleIO Extended Campania
GoogleIO Extended Campania
 
Arduino e stampa 3d: le nuove frontiere della robotica homemade
Arduino e stampa 3d: le nuove frontiere della robotica homemadeArduino e stampa 3d: le nuove frontiere della robotica homemade
Arduino e stampa 3d: le nuove frontiere della robotica homemade
 
Arduino e stampa 3D - Le nuove frontiere della robotica homemade
Arduino e stampa 3D - Le nuove frontiere della robotica homemadeArduino e stampa 3D - Le nuove frontiere della robotica homemade
Arduino e stampa 3D - Le nuove frontiere della robotica homemade
 
Open Makers Italy - Company profile
Open Makers Italy - Company profileOpen Makers Italy - Company profile
Open Makers Italy - Company profile
 
Cyclomatic: un datalogger per bicicletta con Arduino
Cyclomatic: un datalogger per bicicletta con ArduinoCyclomatic: un datalogger per bicicletta con Arduino
Cyclomatic: un datalogger per bicicletta con Arduino
 
Frankenstein printer: dalla discarica al CNC
Frankenstein printer: dalla discarica al CNCFrankenstein printer: dalla discarica al CNC
Frankenstein printer: dalla discarica al CNC
 
HySolarKit - Solar Hybridization of Conventional Vehicles
HySolarKit - Solar Hybridization of Conventional Vehicles HySolarKit - Solar Hybridization of Conventional Vehicles
HySolarKit - Solar Hybridization of Conventional Vehicles
 
Geecom: il nuovo CMS open source
Geecom: il nuovo CMS open sourceGeecom: il nuovo CMS open source
Geecom: il nuovo CMS open source
 
Android-Arduino interaction via Bluetooth
Android-Arduino interaction via BluetoothAndroid-Arduino interaction via Bluetooth
Android-Arduino interaction via Bluetooth
 
Django & Google App Engine: a value composition
Django & Google App Engine: a value compositionDjango & Google App Engine: a value composition
Django & Google App Engine: a value composition
 
Primi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackPrimi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone Black
 
Hands on Embedded Linux with BeagleBone Black
Hands on Embedded Linux with BeagleBone BlackHands on Embedded Linux with BeagleBone Black
Hands on Embedded Linux with BeagleBone Black
 
Geecom, nascita di un progetto open source
Geecom, nascita di un progetto open sourceGeecom, nascita di un progetto open source
Geecom, nascita di un progetto open source
 
Introduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile AndroidIntroduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile Android
 
Making in action: facciamo il caffè con Android e Arduino
Making in action: facciamo il caffè con Android e ArduinoMaking in action: facciamo il caffè con Android e Arduino
Making in action: facciamo il caffè con Android e Arduino
 
Email 4 blackout
Email 4 blackoutEmail 4 blackout
Email 4 blackout
 
BACS platform
BACS platformBACS platform
BACS platform
 
OpenStreetMap: costruiamo una mappa libera
OpenStreetMap: costruiamo una mappa liberaOpenStreetMap: costruiamo una mappa libera
OpenStreetMap: costruiamo una mappa libera
 

Lua e MOAI SDK: sviluppiamo videogames!