Goluwa é um mecanismo de jogo, estrutura, uma coleção de serviços públicos e experimentos escritos em Luajit que alavancam a FFI.
Goluwa é dividido em 4 diretórios. core > framework > engine > game . Voltando ao contrário, cada diretório depende do diretório anterior; portanto, se você excluir o diretório do motor, o diretório do jogo não carregará.
O script Shell e PowerShell que só baixará e lançará Luajit | .exe com core/lua/boot.lua
Responsável por baixar outros binários, atualizar o Goluwa e lançar o Goluwa. É principalmente Lua, mas algumas de suas funções ajudantes usam Shell e PowerShell.
Contém a estrutura barebone que não possui dependências explícitas em nenhuma biblioteca compartilhada externa. No entanto, para usar o SSL Libressl.
A estrutura básica utilizando SDL, OpenGL, Opental, etc, mas não implementa nada. Possui um renderizador que não é 2D ou 3D, biblioteca de matemática de jogos, biblioteca de soquete de alto nível, biblioteca de renderização 2D, etc.
O mecanismo contém um renderizador 3D, compatibilidade de ativos de mecanismo de origem, integração a vapor, integração de zerobrane, networking, entidades, GUI, linguagem de marcação, etc.
A pasta do jogo contém scripts de nível muito alto, como o Löve2D implementado em Goluwa, Garrysmod Lua implementado em Goluwa, Chatsounds, Chatbox, placar, movimento do jogador, etc.
Enquanto escrevo todo o código em Luajit, uso algumas bibliotecas C Terceiro C. Meu objetivo é escrever apenas o código de cola em luajit com FFI em vez de C ou C ++.
core não depende estritamente de nada além de libressl para solicitações HTTPS.
framework depende de algumas bibliotecas centradas na mídia, como Assimp, Libarchive, SDL, etc.
Supondo que docker instalou, você pode executar tudo isso: construir tudo:
./goluwa build " * " Em seguida, os binários construídos serão copiados no */bin/linux_x64/. pastas.
Mas ainda não descobri uma boa maneira de construí -las no Windows e no Mac. Em teoria, você poderia usar binários pré -construídos que funcionaram no passado.
Embora eu queira oferecer suporte ao OSX e Windows, eles se tornam baixa prioridade devido à falta de máquinas Windows e OSX. Tento testar Goluwa em uma VM e perguntar aos amigos, mas isso é o máximo que posso fazer.
Escrever tudo em Luajit também vem com alguns desafios. Eu tento escrever código compilável JIT, especialmente em áreas intensivas, mas isso nem sempre é fácil sem recorrer a um código feio que eu tento evitar.