Eh bien, il y a deux façons de penser à ce sujet. La première consiste à répertorier les fonctionnalités spécifiques que le moteur devrait avoir (ce que vous avez demandé ici.) Cependant, l'autre méthode consiste à commencer à créer des jeux sans trop se soucier du "moteur", puis les fonctionnalités que vous trouvez sont réutilisées entre plusieurs jeux (en particulier, les fonctionnalités utilisées dans chaque jeu), vous devez migrer de la source pour un jeu spécifique vers une base de code partagée appelée "moteur".
Parce qu'au final, pourquoi vous voulez une fonctionnalité donnée dans le moteur plutôt que dans le jeu, c'est qu'elle est partagée entre plusieurs jeux. En règle générale, il s'agira de commandes de dessin, de contrôleurs d'entrée et de code réseau. Un moteur de jeu 2D aura de nombreuses fonctionnalités graphiques 2D, comme le chargement d'images, une hiérarchie d'affichage avec ordre z, la gestion des feuilles de sprites, l'interpolation, etc. Beaucoup de jeux ont besoin d'une simulation physique, mais en revanche beaucoup n'en ont pas. Pendant ce temps, plus de choses sous le capot utilisées dans presque tous les jeux incluent des minuteries, des messages d'événements et même des fonctions mathématiques spécifiques au développement du jeu (par exemple, distanceToTarget ()
Longue histoire courte:
A) Le moteur devrait avoir des fonctionnalités partagées par la plupart des jeux.
B) Vous apprenez quelles fonctionnalités sont partagées en créant un tas de jeux.
just start making games without worrying too much about the "engine"
just start making games without worrying too much about the "engine"
c'est certainement une belle suggestion.