A GQEngine é uma engine experimental em desenvolvimento com foco na simplicidade e no desenvolvimento de jogos voltado exclusivamente para código.
O objetivo do projeto é criar uma ferramenta modular baseada em um sistema de plugins, escrita 100% em Lua. Neste artigo, você conhecerá este projeto que está sendo criado para facilitar a produção de conteúdos didáticos para o Game Quest Studio.
Como a GQEngine vai Funcionar?
A ideia é ter uma engine focada no desenvolvimento de jogos 2D usando um sistema de plugins com os recursos básicos que a maioria dos jogos utiliza, como:
- Máquina de Estados
- Gerenciador de Eventos (Signals)
- Câmera
- Sistema de Cenas
Todos os sistemas serão desenvolvidos usando LuaJIT e lua-sdl2, sem a necessidade do uso direto de linguagens mais complexas como C ou C++.
Por que usar Lua para o Projeto?
A linguagem Lua é amplamente reconhecida por ser extremamente rápida e eficiente, além de ser leve e fácil de aprender.
A performance do Lua pode ser ainda maior ao utilizar o seu interpretador Just-in-Time (LuaJIT), atingindo uma velocidade muito próxima à de linguagens nativas como C.
Ela também é uma das principais linguagens no ecossistema de desenvolvimento de jogos, sendo utilizada em ferramentas conhecidas como Love2D, Roblox Studio e Defold.
Conclusão
A GQEngine é um projeto que está em sua fase inicial de planejamento e desenvolvimento, por isso qualquer sugestão ou dúvida é sempre muito bem-vinda.
Tem alguma ideia para o projeto ou ficou com alguma dúvida? Acesse o repositório oficial no GitHub para acompanhar as novidades e participar das discussões!
📌 Este artigo foi publicado originalmente no blog do Game Quest Studio.
Top comments (1)
A escolha de utilizar Lua como linguagem principal para a GQEngine é interessante, especialmente com o uso do LuaJIT para melhorar a performance. Isso pode permitir uma grande flexibilidade e facilidade de desenvolvimento para os jogos 2D, além de manter a engine leve e fácil de aprender. No entanto, gostaria de saber mais sobre como os plugins serão gerenciados e distribuídos, e se há planos para implementar algum tipo de sistema de cache ou otimização para melhorar o desempenho em jogos mais complexos. Qual é o planejamento atual para a gestão de plugins e otimização de desempenho na GQEngine?