DIO Community
DIO Community10/08/2023 10:06
Share

Conheça LUA, a linguagem brasileira ideal para jogos

    Lua é uma linguagem brasileira poderosa, eficiente, leve e ideal para configuração, automação (scripting) e prototipagem rápida de jogos. Hoje você vai entender porque você precisa dominá-la para uma carreira de sucesso na área de games. 

    image

    Fonte: AdobeStock

    -------------- 

    Comece sua carreira em games com LUA: Formações e cursos DIO 

    -------------- 

    O que é a linguagem LUA e para que serve?  

     

    Lua é uma linguagem de programação leve, interpretada e de propósito geral. Foi desenvolvida inicialmente em 1993 no Brasil na Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), por Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes. O nome foi escolhido devido à sua relação com o Sol (representado pelo logo da linguagem). 

      

    Lua é projetada para ser fácil de incorporar em aplicativos e estender com suas próprias funcionalidades. É uma linguagem de script com uma sintaxe simples e flexível, o que a torna bastante acessível para programadores iniciantes e experientes. Ela é conhecida por sua eficiência e por ter uma das implementações mais rápidas entre as linguagens interpretadas. 

      

    A linguagem Lua tem diversas aplicações. Ela é frequentemente usada como uma linguagem de script embutida em aplicativos maiores para fornecer recursos de extensibilidade. Vários jogos populares, como World of Warcraft, Angry Birds e Civilization, utilizam Lua como linguagem de script para permitir que os desenvolvedores modifiquem e personalizem o comportamento do jogo sem precisar recompilar todo o código-fonte. 

      

    Além disso, Lua também é utilizada em sistemas embarcados, servidores web, aplicativos de desktop, desenvolvimento de jogos independentes, automação de tarefas, entre outros. Sua simplicidade, desempenho e capacidade de ser integrada facilmente em outros sistemas fazem dela uma escolha popular em uma variedade de cenários de programação. 

     

    Quais são as vantagens do uso da linguagem LUA?  

     

    O uso da linguagem Lua oferece várias vantagens, que contribuem para sua popularidade e adoção em diferentes contextos. Aqui estão algumas delas: 

      

    Leveza 

    Lua é uma linguagem extremamente leve e eficiente. Ela possui uma implementação compacta e consome poucos recursos de sistema, o que a torna ideal para ambientes com restrições de memória e processamento. 

      

    Facilidade de aprendizado 

    A sintaxe simples e intuitiva da Lua torna mais fácil para os desenvolvedores iniciantes aprenderem e começarem a programar rapidamente. Seu conjunto de recursos é conciso e focado, o que facilita o domínio da linguagem. 

      

    Integração 

    Lua é projetada para ser facilmente integrada em outras aplicações. Ela possui uma API em linguagem C bem definida, o que permite que seja incorporada a projetos existentes de forma simples e eficiente. Essa capacidade de integração é especialmente útil em sistemas que requerem extensibilidade e personalização. 

      

    Velocidade de execução 

    Apesar de ser uma linguagem interpretada, Lua é conhecida por sua rápida velocidade de execução. Sua implementação é altamente otimizada, permitindo que o código Lua seja executado de maneira eficiente, garantindo um desempenho satisfatório. 

      

    Flexibilidade 

    Lua é uma linguagem altamente flexível, permitindo que os desenvolvedores apliquem diferentes estilos de programação, como programação procedural, orientada a objetos e funcional. Além disso, a linguagem oferece recursos avançados, como metaprogramação e manipulação dinâmica de objetos. 

      

    Compatibilidade 

    A linguagem Lua é compatível com várias plataformas, incluindo Windows, macOS, Linux e sistemas embarcados. Ela também possui uma ampla gama de bibliotecas e módulos disponíveis, o que facilita a realização de tarefas comuns e a resolução de problemas específicos. 

      

    Comunidade ativa 

    Lua possui uma comunidade de desenvolvedores ativa e engajada, com fóruns, listas de discussão e recursos online disponíveis para suporte e troca de conhecimento. Isso torna mais fácil encontrar soluções para problemas e obter ajuda quando necessário. 

      

    Essas vantagens combinadas fazem da linguagem Lua uma escolha popular para uma variedade de aplicações, desde jogos e sistemas embarcados até desenvolvimento de software e automação de tarefas. 

     

    Onde ela é aplicada? 

     

    A linguagem Lua é aplicada em uma ampla variedade de áreas e contextos. Sua flexibilidade, desempenho e capacidade de integração a tornam uma opção versátil em várias áreas da programação e desenvolvimento de software, como:  

     

    • Jogos: Lua é frequentemente utilizada na indústria de jogos como uma linguagem de script para controlar o comportamento de jogos e permitir a criação de mods e conteúdo personalizado. Muitos jogos populares, como World of Warcraft, Angry Birds, Garry's Mod e Civilization, usam Lua como sua linguagem de script. 

     

    • Desenvolvimento de jogos independentes: Lua é uma escolha popular para o desenvolvimento de jogos independentes devido à sua facilidade de uso, desempenho e capacidade de prototipagem rápida. Frameworks e engines de jogos, como LÖVE, Corona SDK e Defold, são baseados em Lua. 

     

    • Sistemas embarcados: A leveza e eficiência da Lua tornam-na adequada para uso em sistemas embarcados, onde os recursos de memória e processamento são limitados. É comum encontrar Lua sendo utilizada em roteadores, dispositivos de automação residencial, sistemas de controle industrial, entre outros. 

     

    • Aplicações web: Lua é aplicada em aplicações web como uma linguagem de script para adicionar funcionalidades e personalizar o comportamento dos servidores web. Por exemplo, o servidor web Nginx permite que os desenvolvedores escrevam extensões em Lua para manipular solicitações HTTP e implementar lógica personalizada. 

     

    • Aplicativos desktop: Lua pode ser usada para desenvolver aplicativos desktop, especialmente quando é necessário um script embutido para automação de tarefas ou personalização. Vários aplicativos populares, como Adobe Lightroom, Wireshark e VLC Media Player, incorporam a linguagem Lua para extensibilidade. 

     

    • Ferramentas e utilitários: Lua é usada no desenvolvimento de várias ferramentas e utilitários, como editores de texto, editores de código-fonte, gerenciadores de pacotes, frameworks de testes, entre outros. Por exemplo, o editor de texto Textadept é extensível em Lua, permitindo que os usuários personalizem suas funcionalidades. 

     

    • Aplicações científicas e acadêmicas: Lua é usada em várias aplicações científicas e acadêmicas, especialmente em áreas como simulação, modelagem, visualização de dados e processamento de imagem. Sua sintaxe simples e facilidade de integração com outras linguagens, como C e Python, a tornam uma escolha viável nesses contextos.

    image

    Fonte: AdobeStock

    Como instalar a linguagem LUA? 

     

    A instalação da linguagem Lua pode variar dependendo do sistema operacional em que você está trabalhando. Aqui vão instruções básicas para a instalação em diferentes sistemas: 

    Windows 

    • Acesse o site oficial do Lua em http://www.lua.org/;
    • Vá para a seção "Download";
    • Escolha a versão mais recente do Lua para Windows e faça o download do arquivo compactado;
    • Extraia o conteúdo do arquivo compactado para um diretório de sua escolha;
    • Adicione o diretório onde você extraiu o Lua ao caminho do sistema. Para fazer isso: 
    • Clique com o botão direito do mouse no ícone "Meu Computador" (ou "Este PC") e escolha "Propriedades";
    • Clique em "Configurações avançadas do sistema";
    • Clique em "Variáveis de ambiente";
    • Na seção "Variáveis do sistema", encontre a variável "Path" e clique em "Editar";
    • Adicione o caminho para o diretório Lua (por exemplo, C:\Lua\bin) ao final da lista de caminhos, separado por ponto-e-vírgula (;);
    • Clique em "OK" para fechar todas as janelas. 

    Linux

    • Abra o terminal. 
    • Execute o comando apropriado para sua distribuição Linux: 
    • Ubuntu: sudo apt-get install lua5.3 
    • Fedora: sudo dnf install lua 
    • CentOS: sudo yum install lua 
    • Arch Linux: sudo pacman -S lua 
    • Outras distribuições: verifique a documentação específica ou use o gerenciador de pacotes apropriado da sua distribuição. 

    macOS 

    • Abra o terminal. 
    • Se você não tiver o Homebrew instalado, siga as instruções de instalação em https://brew.sh/
    • Execute o seguinte comando para instalar o Lua: brew install lua. 
    • Após a instalação, você pode verificar se o Lua está funcionando corretamente abrindo o terminal (ou prompt de comando no Windows) e digitando lua -v. Isso deve exibir a versão do Lua instalada. 
    • Essas são apenas instruções básicas para a instalação do Lua. Dependendo do seu caso de uso específico, pode haver outros pacotes ou configurações adicionais necessárias. 

    Consulte a documentação oficial do Lua ou recursos específicos do seu sistema operacional para obter mais informações detalhadas sobre a instalação. 

    Quanto ganha um desenvolvedor de jogos?  

    image

    Fonte: AdobeStock

    O salário de um desenvolvedor de jogos que utiliza Lua pode variar bastante dependendo de vários fatores, incluindo o país/região onde trabalha, a experiência do profissional, o tamanho e prestígio da empresa, o tipo de jogo em que estão envolvidos e outros benefícios oferecidos. 

      

    Em termos gerais, o salário médio de um desenvolvedor de jogos pode variar de acordo com o nível de experiência: 

      

    Júnior 

    Em início de carreira, um desenvolvedor de jogos com conhecimento em Lua pode esperar receber um salário médio. O valor pode variar de acordo com a localização, mas uma estimativa aproximada seria de US$ 35.000 a US$ 55.000 por ano. 

      

    Pleno 

    Com alguns anos de experiência e habilidades sólidas em desenvolvimento de jogos e Lua, um desenvolvedor pleno pode ter um salário médio que varia entre R$ 5.000 e R$ 9.000 por mês. 

      

    Sênior 

    Desenvolvedores sêniores com ampla experiência em desenvolvimento de jogos, habilidades avançadas em Lua e, possivelmente, um papel de liderança, podem esperar salários mais altos. Para desenvolvedores sêniores, os salários podem variar de R$ 9.000 a R$ 15.000 ou mais por mês. 

      

    É importante ressaltar que esses valores são apenas estimativas e podem variar amplamente dependendo dos fatores mencionados anteriormente. Além disso, a demanda por desenvolvedores de jogos e as condições do mercado também influenciam os salários oferecidos. 

      

    Recomenda-se pesquisar os salários específicos da indústria de jogos em sua região e considerar outros fatores, como benefícios, bônus e oportunidades de crescimento na carreira, ao avaliar as perspectivas financeiras como desenvolvedor de jogos com conhecimento em Lua. 

    Como fazer Hello World em LUA? 

    Para fazer um simples "Hello, World!" em Lua, siga as instruções abaixo: 

    Abra um editor de texto ou uma IDE (ambiente de desenvolvimento integrado) de sua escolha.

    1. Crie um novo arquivo e salve-o com a extensão ".lua". Por exemplo, você pode nomear o arquivo como "hello.lua". 
    2. No arquivo "hello.lua", digite o seguinte código:  
    print("Hello, World!") 
    
    1. Salve o arquivo. 
    2. Agora, abra o terminal ou prompt de comando e navegue até o diretório onde você salvou o arquivo "hello.lua". 
    3. Execute o script Lua digitando o seguinte comando: 
    lua hello.lua 
    

    O programa será executado e você verá a saída "Hello, World!" exibida no terminal ou prompt de comando. 

    Isso é tudo! O programa simplesmente usa a função print() em Lua para imprimir a mensagem "Hello, World!" no console. É um exemplo básico para verificar se o ambiente de execução Lua está configurado corretamente. 

      

    Lembre-se de que você precisa ter o interpretador Lua instalado em seu sistema antes de executar o script Lua. Certifique-se de que o interpretador Lua esteja acessível no seu caminho de sistema (variável PATH) ou forneça o caminho completo para o executável do Lua ao executar o script. 

     

    Quais jogos são desenvolvidos em LUA? 

     

    Vários jogos foram desenvolvidos utilizando a linguagem Lua como linguagem de script para controlar o comportamento do jogo e permitir a criação de mods. Aqui estão alguns exemplos de jogos famosos que utilizam Lua: 

      

    • World of Warcraft: Lua é amplamente utilizada para criar mods e personalizar a interface do usuário do jogo. 
    • Angry Birds: A lógica do jogo e a jogabilidade são implementadas em Lua. 
    • Garry's Mod: Este jogo sandbox permite que os jogadores criem e compartilhem modificações usando Lua. 
    • Civilization V e VI: Lua é utilizada para personalizar e modificar o comportamento do jogo. 
    • Torchlight II: Lua é usada para criar mods e personalizações. 
    • Warhammer 40,000: Dawn of War II: O comportamento das unidades e a lógica do jogo são definidos em scripts Lua. 
    • Stardew Valley: Muitos aspectos do jogo, como eventos, diálogos e comportamento dos personagens, são implementados em Lua. 
    • Escape from Tarkov: Lua é utilizada para personalizar a interface do usuário e criar scripts de automação. 
    • Neverwinter Nights 2: Lua é usada para criar mods e scripts personalizados. 

      

    Esses são apenas alguns exemplos de jogos populares que utilizam Lua como linguagem de script. A lista é extensa e Lua é amplamente adotada na indústria de jogos como uma linguagem flexível e poderosa para implementar funcionalidades personalizadas e mods. 

     

    image

    Fonte: AdobeStock

    Um pouco de história  

     

    A história da linguagem Lua remonta ao início da década de 1990, quando foi desenvolvida no Brasil por Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes na Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio). A equipe de desenvolvimento tinha o objetivo de criar uma linguagem de programação leve, flexível e de fácil integração em outros sistemas. 

      

    A criação da linguagem Lua começou em 1993 como um projeto de pesquisa chamado "Sistema de Administração de Banco de Dados" na PUC-Rio. No entanto, à medida que o projeto progrediu, ficou claro que a linguagem tinha um potencial muito maior e poderia ser usada além do domínio de bancos de dados. 

      

    Lua foi projetada com os seguintes princípios em mente: 

      

    Simplicidade: A equipe de desenvolvimento queria criar uma linguagem com uma sintaxe simples e clara, tornando-a fácil de aprender e usar. 

      

    Eficiência: Lua foi projetada para ser eficiente tanto em termos de desempenho quanto de uso de recursos. A implementação da linguagem é leve e consome pouca memória. 

      

    Extensibilidade: Lua foi projetada para ser facilmente integrada em outros sistemas. Ela possui uma API em linguagem C bem definida, permitindo sua incorporação em aplicativos maiores. 

      

    Portabilidade: A equipe de desenvolvimento se esforçou para tornar a linguagem Lua portável para diferentes plataformas e sistemas operacionais. 

      

    Velocidade: Lua foi projetada para ser rápida. Embora seja uma linguagem interpretada, sua implementação é altamente otimizada, resultando em um desempenho competitivo. 

      

    A primeira versão pública da linguagem Lua, Lua 1.0, foi lançada em 1993. Desde então, a linguagem tem sido continuamente aprimorada e atualizada por sua equipe de desenvolvimento e uma comunidade ativa de usuários. 

      

    Ao longo dos anos, Lua ganhou destaque em várias áreas, especialmente na indústria de jogos, onde é amplamente utilizada como linguagem de script. Sua facilidade de uso, desempenho e extensibilidade a tornaram uma escolha popular não apenas na indústria de jogos, mas também em outras áreas, como sistemas embarcados, desenvolvimento de aplicativos e automação de tarefas. 

     

    Como começar a estudar LUA?  

     

    Para aprender Lua, é necessário ter acesso a recursos de aprendizado, como tutoriais, documentação e exemplos de código. Além disso, é recomendável ter conhecimentos básicos de programação, como conceitos de variáveis, estruturas de controle e funções. 

      

    Para começar a aprender Lua, você pode aproveitar os recursos online disponíveis, como tutoriais em vídeo, artigos, livros e fóruns de discussão. A documentação oficial do Lua, que inclui o manual do usuário e referência da linguagem, é uma excelente fonte de informação. 

     

    Embora seja possível aprender por conta própria, cursos e formações completas como as oferecidas pela DIO, oferecem uma vantagem significativa. Eles proporcionam uma estrutura organizada de aprendizado, cobrindo desde os fundamentos até tópicos avançados. Além disso, os cursos geralmente oferecem exemplos práticos, exercícios e projetos para aplicar o conhecimento adquirido. A interação com instrutores e outros alunos também é valiosa para esclarecer dúvidas e obter feedback. 

      

    No geral, cursos e formações completas fornecem uma abordagem abrangente e estruturada para aprender LUA, permitindo um progresso mais rápido e uma compreensão mais profunda da linguagem.  

     

    Share
    Comments (1)
    Leandro Santos
    Leandro Santos - 10/08/2023 11:41

    Interessante saber que alguns jogos que já joguei, utilizam essa linguagem como base para algumas ações. A sintaxe dela é simples, mas é uma linguagem poderosa. Ótimo artigo.