O documento introduz a linguagem Lua e a engine Corona SDK, discutindo suas características e como implementá-las. É apresentado um exemplo de jogo 2D usando física e como organizar dados para melhor desempenho. Bibliografias recomendadas também são fornecidas.
2. Tópicos abordados
Introdução à linguagem Lua;
Introdução à engine Corona SDK;
Uso da library physics;
Cuidados com o gerenciamento da memória;
4. Introdução à linguagem Lua
nil
boolean
number
string
function
table
userdata
Sintaxe estilo JavaScript;
Tipagem dinâmica;
Case-sensitive;
Objetos são tabelas.
53. Uso da library "physics"
Possui muitos recursos;
Facilmente parametrizável;
Representa muito bem a física do ambiente;
Não é recomendada para jogos que não simulem uma
física real.
54. Cuidados com o gerenciamento da
memória
Criar rotinas de limpeza para objetos obsoletos;
Ao excluir permanentemente um objeto, sempre
incluir além de object:removeSelf(), a atribuição
object = nil;
Verificar a consistência dos objetos antes de utilizá-los.
55. Organização dos dados para ganhar
performance
Controlar o nível de complexidade dos algoritmos
implementados:
Evitando rotinas exponenciais (n², n³);
Convertendo estas rotinas de modo a deixar a
complexidade linear (n log n).
56. Organização dos dados para ganhar
performance
Alterar a estrutura de armazenamento e acesso dos
dados para atingir a complexidade linear:
Evitando o uso de listas ou vetores de grande tamanho;
Alocando estes dados em mapas (maps), utilizando o
sistema de chave e valor (key, value) através da
implementação de tabelas (tables).
62. Referências
Entrevista com Robert Nay (Criador do Bubble Ball):
https://coronalabs.com/blog/2011/01/18/robert-nay-talks-
bubble-ball-before-the-3-million-downloads/
Apresentação original do Walter Luh:
http://www.slideshare.net/CoronaLabs/corona-sdk-
demo-at-gmic-sv-october-19-2012-14873279
Documentação Oficial do Corona SDK:
http://docs.coronalabs.com/