J'envisageais la conception d'un jeu (traduire un jeu de société sur l'ordinateur en particulier, ce qui, je suppose, est pertinent dans ce cas) et il m'est venu à l'esprit qu'il pourrait être judicieux de construire le `` jeu '' séparément de `` l'écran ''.
Cela me permettrait de prototyper quelque chose rapidement avec une interface de texte simple, puis de le remonter plus tard. Cela me permettrait également de porter le jeu sur d'autres médias plus facilement.
Ce type de compartimentation est-il courant dans les jeux? Dois-je essayer de décomposer davantage les choses? Y a-t-il des complications que je pourrais manquer?
la source
Mon point de vue:
Il lit une file d'attente d'événements d'entrée et modifie l'état du jeu en conséquence.
Il traite ensuite des choses comme la physique et d'autres composants de base qui mettent également à jour l'état du jeu.
Boucle. C'est tout.
Le but est de rendre le modèle indépendant: il ne dépend pas de la vue ou des trucs du contrôleur: vous devriez être capable de faire un programme qui n'exécute qu'un modèle.
Il n'écrit jamais rien sur le modèle, c'est un processus en lecture seule, sauf peut-être l'enregistrement d'un gestionnaire d'événements (comme "Hey Mister Model, lorsque vous détectez une collision entre ces deux objets, veuillez appeler mon gestionnaire d'événements qui émet un son! ").
De cette façon, vous pouvez brancher un faux contrôleur qui lit un fichier contenant des événements d'entrée préenregistrés.
Faites également une vue simple qui enregistre simplement les choses dans un fichier.
Très utile pour tester et déboguer.
N'oubliez pas de faire la mise à jour du modèle à un rythme constant (pas de temps fixe), et la vue et le contrôleur aussi vite que possible (mais pas trop de variables).
la source
Ce type de compartimentation est la séparation entre un moteur et un code de jeu, et est assez courant. Il y a beaucoup de place pour l'abstraction en cours de route.
Votre moteur et les données graphiques spécifiques à vos jeux pourraient être la vue, votre code de jeu le modèle et le contrôleur serait la colle que vous utilisez pour indiquer à votre moteur quelle texture appliquer à quelle entité dans votre code de jeu.
la source