O documento discute a criação de jogos 2D usando a linguagem de programação Lua e as ferramentas Love2D e Corona SDK. Ele fornece uma introdução a Lua, incluindo suas origens, características e tipos de dados, e explica como Love2D e Corona SDK podem ser usados para desenvolver jogos 2D multiplataforma em Lua. O documento também discute considerações iniciais para começar um novo projeto de jogo e recursos recomendados para aprender mais sobre desenvolvimento de jogos com Lua.
6. O que é?
★ Lua é livre
★ Programação procedural
★ Tipada dinâmicamente
★ Interpretada a partir de bytecode
★ Gerenciamento automático de memória
Sandy Maciel
7. Quais as origens?
★ Projetada,implementada e desenvolvida
no Brasil - PUC-Rio
Sandy Maciel
8. Por que usar Lua?
★ 1 Estabelecida e robusta
★ 2 Rápida
★ 3 Portátil
★ 4 Embutível
★ 5 Poderosa, pequena e simples
★ 6 Livre
★ 7 Importância Global
Sandy Maciel
9. Como Lua é ?
Sintaxe Convencional
Sandy Maciel
Unidade básica de execução: chunk
10. Como é Lua?
★ Nil
★ Boolean
★ Number
★ String
★ Table
★ Function
★ UserData
★ Thread
Sandy Maciel
★ Basic
★ String
★ Table
★ Math
★ IO
★ OS
★ Debug
★ Coroutine
Tipos associados a valores
Variáveis armazenam qualquer valor
*poliformismo natural
11. 72% dos jogos
utilizam linguagem de
script
20% utilizam Lua
7% utilizam Python
Gamedev.net (set/2003)
12. Sandy Maciel
Lua usada para controle de IA, interfaces,
edição de cenas, controle de atributos
JOGOS QUE UTILIZAM LUA
32. Início do Projeto
Definir Conceito
Protótipar telas do jogo (desenhe, vai ser divertido)
O que o jogo vai fazer ? (objetivos,desafios, recompensa,
pontuação)
Público Alvo
Definir modelo de negocio (pago x gratuito)
Sandy Maciel
1 - linguagem de programação poderosa, rápida e leve, projetada para estender aplicações. sintaxe simples para programação procedural com construções para descrição de dados baseadas em tabelas associativas e semântica extensível.
2 e 3 - Lua é tipada dinamicamente, é interpretada a partir de bytecodes para uma máquina virtual baseada em registradores,
4 - gerenciamento automático de memória com coleta de lixo incremental.
Essas características fazem de Lua uma linguagem ideal para configuração, automação (scripting) e prototipagem rápida.
Lua nasceu e cresceu no Tecgraf, o então Grupo de Tecnologia em Computação Gráfica da PUC-Rio. Atualmente, Lua é desenvolvida no laboratório LabLua do Departamento de Informática da PUC-Rio.
1 -usada em muitas aplicações industriais (e.g., Adobe's Photoshop Lightroom), com ênfase em sistemas embutidos (e.g., o middleware Ginga para TV digital) e jogos (e.g., World of Warcraft e Angry Birds).
atualmente a linguagem de script mais usada em jogos. tem um sólidomanual de referência e existem vários livros sobre a linguagem. aplicações reais desde a sua criação em 1993.
2 - tem uma merecida reputação de ótimo desempenho. Outras linguagens de script aspiram ser "tão rápidas quanto Lua".
3 - é distribuída via um pequeno pacote e compila sem modificações em todas as plataformas que têm um compilador C padrão.
roda em todos os tipos de Unix e Windows, e também em dispositivos móveis (usando Android, iOS, BREW, Symbian, Windows Phone),
em microprocessadores embutidos (como ARM e Rabbit, para aplicações como Lego MindStorms), e até mainframes IBM.
4 - rápida e pequena que você pode facilmente embutir na sua aplicação. Lua tem uma API simples e bem documentada que permite uma integração forte com código escrito em outras linguagens.
5 - Um conceito fundamental no projeto de Lua é fornecer meta-mecanismospara a implementação de construções, em vez de fornecer uma multidão de construções diretamente na linguagem. Por exemplo, embora Lua não seja uma linguagem puramente orientada a objetos, ela fornece meta-mecanismos para a implementação de classes e herança. O fonte contém cerca de 23000 linhas de C
6 - Lua é software livre de código aberto, distribuída sob uma licença muito liberal (a conhecida licença MIT). --- Baixar e usar
7 - Lua é a única linguagem de programação de impacto desenvolvida fora do primeiro mundo
Tipos basicos --- Bibliotecas padrão
Controle de versão ( um git da vida)
Ferramentas ( linguagem, editor e etc.)