Goluwa est un moteur de jeu, un cadre, une collection de services publics et d'expériences écrits en Luajit en tirant parti de FFI.
Goluwa est divisé en 4 répertoires. core > framework > engine > game . En reculer, chaque répertoire dépend du répertoire précédent, donc si vous supprimez le répertoire du moteur, le répertoire du jeu ne se chargera pas.
Le script Shell and PowerShell qui téléchargera et lancera Luajit | .exe avec Core / Lua / boot.lua
Responsable du téléchargement d'autres binaires, de la mise à jour de Goluwa et du lancement de Goluwa. C'est surtout Lua mais certaines de ses fonctions d'assistance utilisent Shell et PowerShell.
Contient le cadre Barebone qui n'a pas de dépendances explicites sur aucune bibliothèque partagée externe. Cependant, pour utiliser SSL Libressl.
Le cadre de base en utilisant SDL, OpenGL, OpenAL, etc. mais n'implémente rien. Il a un rendu qui n'est ni 2D ni 3D, la bibliothèque de mathématiques de jeu, la bibliothèque de socket de haut niveau, la bibliothèque de rendu 2D, etc.
Le moteur contient un rendu 3D, une compatibilité des actifs du moteur source, une intégration à la vapeur, une intégration Zerobrane, une mise en réseau, des entités, une interface graphique, un langage de balisage, etc.
Le dossier de jeu contient des scripts de haut niveau tels que Löve2D implémentés à Goluwa, Garrysmod Lua implémentés à Goluwa, Chatsounds, Chatbox, tableau de bord, mouvement des joueurs, etc.
Pendant que j'écris tout le code dans Luajit, j'utilise certaines bibliothèques C tierces C. Mon objectif est d'écrire le code de colle dans Luajit avec FFI au lieu de C ou C ++.
core ne dépend pas strictement de rien d'autre que libressl pour les demandes HTTPS.
framework dépend de certaines bibliothèques centrées sur les médias comme Asimp, Libarchive, SDL, etc.
En supposant que docker est installé, vous pouvez exécuter cette construction:
./goluwa build " * " Ensuite, les binaires construits seront copiés dans le */bin/linux_x64/. dossiers.
Mais je n'ai pas encore trouvé un bon moyen de les construire sur Windows et Mac. En théorie, vous pouvez utiliser des binaires préfabillés qui ont fonctionné dans le passé.
Bien que je souhaite prendre en charge OSX et Windows, ils deviennent une faible priorité en raison du manque de machines Windows et OSX. J'essaie de tester Goluwa dans une machine virtuelle et de demander à des amis, mais c'est à peu près autant que je peux le faire.
L'écriture de tout dans Luajit vient également avec certains défis. J'essaie d'écrire du code compilable JIT, en particulier dans les zones intensives, mais ce n'est pas toujours facile sans recourir à un code laid que j'essaie d'éviter.