Lu-a-Bá - O bê-a-bá de Lua para a comunidade lusófona

Documento: “A Linguagem Lua e suas Aplicações em Jogos”

Tutorial elaborado pelos autores de Lua, para demonstrar (no Simpósio Brasileiro de Jogos para Computador e Entretenimento Digital, em 2004 – SBgames) os conceitos básicos da linguagem e como ela pode ser útil para criação de jogos

Público-alvo

Este documento pode ser usado tanto como uma referência inicial para quem deseja aprender a programar em Lua, como para quem deseja saber mais sobre a integração de Lua com outros programas (sobretudo em jogos, neste caso) usando a API C. Ele pressupõe, portanto, algum conhecimento prévio de C e C++ para compreensão dessa integração.

Estrutura

O tutorial é dividido em 7 seções:

Resumo

A seção 1 apresenta estatísticas sobre o uso da linguagem Lua em jogos, e menciona características desejáveis de uma linguagem neste contexto. A seção 2 detalha um pouco mais essas características ao diferenciar entre alguns tipos de extensão (configuração, macros e embutidas), e comenta as vantagens de usá-las, em especial nos jogos.

Já a seção 3 apresenta uma visão geral da linguagem, desde seu histórico, sua sintaxe básica, características principais, versatilidade paradigmática, biblioteca padrão, mecanismos de co-rotinas e API C, sempre dando enfoque à aplicação dentro de jogos.

Em seguida, a seção 4 dá um enfoque maior à API C e sua importância para embutir Lua dentro de outras aplicações (nesse caso, os jogos), com três diferentes exemplos, cada qual colocando Lua num papel diferente dentro da aplicação (no primeiro, como linguagem de configuração; no segundo, como linguagem de extensão; e no terceiro, como linguagem de controle).

Por fim, a seção 5 conclui comentando alguns exemplos de jogos que usaram Lua, e para qual finalidade a linguagem foi escolhida nesses casos. As seções 6 e 7 fazem os agradecimentos e referências, respectivamente.

Comentários

O que você pensaria, num primeiro momento, ao saber que está lendo um documento de quase duas décadas de idade, sobre uma linguagem de programação que segue em desenvolvimento até hoje? Provavelmente pensaria que ele está bastante desatualizado, não é mesmo?

Pois bem, este documento foi publicado em 2004, quando a versão corrente do interpretador Lua ainda era a 5.0. Embora existam alguns detalhes que mudaram, a quase totalidade do que está descrito nele permanece válida.

Isto mostra a solidez da linguagem, que foi projetada desde o princípio para oferecer um “solo comum” mínimo, a partir do qual o programador fará adaptações necessárias para sua aplicação. Isto permite que pouco precise mudar ao longo dos anos. A bem da verdade, este é um documento introdutório, e à medida que se aprofunda no assunto, é esperado que um número maior de diferenças entre as versões seja detectado.

Ainda assim, o disposto no documento corresponde a boa parte do que um programador Lua casual precisa saber, e no presente momento (considerando o modo e o ritmo com que a linguagem tem evoluído) é de se esperar que o conteúdo permaneça igualmente válido por um bom tempo.

Os três pilares da linguagem (tabelas, funções e co-rotinas) são apresentados e exemplificados (embora não haja uma exploração exaustiva), para que se tenha uma dimensão do que pode ser feito em código Lua. Ao mesmo tempo, o documento mostra também um outro lado da linguagem que é a sua implementação e integração com outras aplicações, com uso da API C.

Aqui cabe ressaltar que este documento também explora um pouco a integração com C++, o que faz sentido em um contexto de jogos, onde esse ambiente de desenvolvimento é bastante comum.

Embora o documento não detalhe completamente a linguagem, ele demonstra suas principais características e alguns exemplos de uso que são úteis para despertar o interesse. Também é útil para quem já tem alguma vivência com a linguagem e gostaria de ter ideias para uso da mesma em jogos.

Pontos de atenção

Conteúdo relacionado