À propos du projet

Kaiju Engine est un moteur de jeu 2D/3D conçu et codé de manière traditionnelle, écrit en Go (Golang) et basé sur Vulkan. Il vise à utiliser un langage de programmation moderne, facile et de niveau système, avec un accent sur la simplicité, pour créer un nouveau type de moteur de jeu. Les principales fonctionnalités incluent : - Moteur de jeu 2D et 3D - Éditeur intégré (l'éditeur lui-même est un jeu fonctionnant dans le moteur) - Multiplateforme : Windows, Linux, Mac, Android - Systèmes de particules - Animation 2D/3D (skin squelettique, feuilles de sprites, flip books, animations de matériaux) - Audio : musique, effets sonores et sources sonores 3D (propulsé par Soloud) - Système d'interface utilisateur personnalisé avec balisage HTML/CSS optionnel - Mises à jour de shaders en direct lors des modifications GLSL - Prise en charge de plugins d'éditeur via Go - Physique 3D (Bullet3) - Builds plus rapides et meilleures performances par rapport à d'autres moteurs de jeu (affirmation) Travail en cours : Le moteur est prêt pour la production, mais l'éditeur n'est pas encore totalement stable. Le projet est en développement intensif. Pour commencer : Clonez le dépôt avec les sous-modules pour obtenir les bibliothèques pré-compilées, ou construisez les dépendances manuellement. Nécessite Go, des outils de compilation C, des bibliothèques de plateforme et Vulkan. Compilez avec `go build -tags="debug,editor,filedrop" -o ../bin/ ./` depuis le répertoire `src`. La documentation peut être exécutée localement avec mkdocs et mkdocs-material. Le moteur est conçu pour être simple et facile à apprendre, permettant aux développeurs d'écrire des jeux directement en Go. Le support de Lua pour le modding est prévu. L'auteur discute de l'utilisation du ramasse-miettes de Go, notant que la plupart des moteurs de jeu publics en utilisent un, et que la conception du moteur minimise les allocations de tas. Communauté : GitHub, Discord, Twitter/X et une liste de diffusion sont disponibles pour le support et les contributions.