Lua (linguagem de programação)
Keywords: Lua (linguagem de programação)
Uma pesquisa realizada em setembro de 2003 pela gamedev.net—um importante site para programadores de jogos—revelou que a grande maioria dos jogos (72%) ´e desenvolvida com o aux´ılio de uma linguagem de script. Embora as linguagens de script n˜ao sejam definidas muito precisamente, elas apresentam um conjunto de caracter´ısticas comuns t´ıpicas. Em geral, as linguagens de script s˜ao linguagens interpretadas, tˆem tipagem dinˆamica e gerˆencia autom´atica de mem´oria, e fornecem facilidades para construc¸ ˜ao de estruturas de dados dinˆamicas e manipulac¸ ˜ao de cadeias de caracteres. Tipicamente, essas linguagens funcionam acopladas a programas hospedeiros implementados em linguagens compiladas tradicionais como C e C++. Uma outra caracter´ıstica importante de linguagens de script ´e que elas devem ser seguras, n˜ao sendo poss´ıvel acessar servic¸os n˜ao autorizados do programa hospedeiro. A combinac¸ ˜ao dessas caracter´ısticas resulta numa excelente ferramenta para o desenvolvimento de jogos. Acoplar uma linguagem de script em um jogo traz v´arios benef´ıcios. A linguagem de script pode ser usada para efetivamente implementar o script do jogo, para definir objetos e seus comportamentos, para gerenciar os algoritmos de inteligˆencia artificial e controlar os personagens, e ainda para tratar os eventos de entrada e descrever a interface com o usu´ario. Uma linguagem de script tamb´em desempenha um papel importante nas etapas de prototipac¸ ˜ao, teste, depurac¸ ˜ao e an´alise de adequac¸ ˜ao do jogo. A escolha de uma linguagem de script simples permite ainda que seja dado a roteiristas e artistas acesso program´avel ao jogo, a fim de que eles que possam experimentar novas id´eias e variac¸ ˜oes. Esses profissionais conduzem a maior parte do desenvolvimento real do jogo mas n˜ao s˜ao em geral programadores profissionais e n˜ao est˜ao familiarizados com t´ecnicas sofisticadas de programac¸ ˜ao. A mesma pesquisa mencionada acima revelou que Lua ´e atualmente a linguagem de script mais utilizada no desenvolvimento de jogos (20% dos jogos s˜ao desenvolvidos com Lua, enquanto somente 7% usam Python, a segunda linguagem de script mais citada na pesquisa). De fato, devido ao seu pequeno tamanho, bom desempenho, portabilidade e facilidade de integrac¸ ˜ao, Lua temsido amplamente utilizada na ind´ustria de jogos. Empresas com LucasArts, BioWare, Microsoft, Relic Entertainment, Absolute Studios eMonkeystone Games desenvolvem jogos usando Lua. Lua ´e uma linguagem de script extens´ıvel, projetada para oferecer meta-mecanismos que possibilitam a construc¸ ˜ao de mecanismos mais espec´ıficos. Com isso, ´e f´acil adequar Lua `as necessidades da aplicac¸ ˜ao, sem comprometer as suas caracter´ısticas b´asicas, mantidas desde a sua criac¸ ˜ao, tais como portabilidade, pequeno tamanho e simplicidade. Em particular, os programadores dos jogos podem fornecer abstrac¸ ˜oes adequadas para roteiristas e artistas, simplificando as tarefas desses.
