Petits moteurs de jeux Open Source disponibles pour le didacticiel [fermé]

8

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.

Shawn Mclean
la source
Juste par intérêt, pourquoi avez-vous besoin d'un moteur de script? C # lui-même résout déjà presque tous les problèmes qu'un moteur de script est utilisé pour résoudre. Et XNA est déjà un "très petit moteur de jeu" capable de charger des modèles.
Andrew Russell
Le gars avec qui je travaille a dit qu'il voulait un moteur de script pour qu'il n'ait pas à recompiler le jeu chaque fois que quelque chose change dans l'histoire.
Shawn Mclean
Pour information, il existe des solutions C # pures à ce problème: stackoverflow.com/questions/1353456/… (le compilateur C # fait partie de l'exécution).
Andrew Russell

Réponses:

2

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 ++.

Muttley
la source
4

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.

Ricket
la source