J'apprends à créer un moteur de jeu à partir de zéro dans XNA. Je cherche des exemples de très petits moteurs de jeu, en particulier l'architecture et la structure des fichiers sources, etc. Il devrait inclure un moteur de script. Les articles sont également appréciés.
Plus précisément, j'ai un problème pour savoir comment connecter le moteur de script au reste du moteur de jeu, comme le chargement d'un modèle à partir du script.
open-source
Shawn Mclean
la source
la source
Réponses:
L' Angel Engine est un très joli petit moteur Open Source écrit en C ++ et OpenGL. De plus, il a une interface de script Python. Bien que le moteur ne soit pas écrit en C #, il devrait vous donner quelques conseils et idées, et à partir du peu que j'ai joué avec lui, le code est très propre et facile à comprendre même si vous n'êtes pas totalement sur C ++.
la source
J'aime le livre Programmation de jeux de rôle avec DirectX (2e édition) pour sa section de script; Je n'ai pas vraiment vu de tutoriel complet pour créer un moteur de script ailleurs. Et bien sûr, étant un livre, il vous guidera pas à pas pour créer la partie script du moteur (et tout le reste du moteur de jeu qu'il établit tout au long du livre, bien sûr). Malheureusement, le code source n'est pas disponible en ligne.
Une fois que vous avez un moteur de script, je séparerais les modèles 3D des scripts . Les scripts sont généralement du côté logique des choses, tandis que les modèles 3D sont très certainement du côté présentation / vue des choses, et ceux-ci ne devraient pas vraiment être mélangés. Lorsqu'un script commande à un personnage de "marcher vers (3,5)", il n'a pas besoin de dire "charger l'animation de marche, régler la vitesse sur (-1,1), attendre 3 secondes, régler la vitesse sur zéro, charger le ralenti animation"; vous auriez généralement juste une
walkTo(x,y)
fonction disponible pour le script, et le code intermédiaire s'occuperait des modèles 3D, des animations, etc.Mais bon, si vous en avez vraiment besoin, alors définissez vos propres fonctions dans votre interpréteur de script qui obtiennent des modèles 3D et font tout ce dont vous avez besoin avec eux. Je pense que vous pensez un peu trop loin; préoccupez-vous d'abord de l'écriture d'un interpréteur de script simple, puis ajoutez les fonctions nécessaires à l'interpréteur pendant que vous écrivez vos scripts.
la source