Je travaille sur une bibliothèque pour aider au développement de jeux 2D avec Scala. Jusqu'à présent, il s'agit d'une collection de classes utiles, de chargement de fichiers, de détection de collision, d'images, de sprites, etc.
Alors, quand cesse-t-il d'être une bibliothèque de classes et commence-t-il à être un moteur? Où se situe exactement la différence entre un cadre utile et un moteur de jeu?
terminology
Lanbo
la source
la source
Réponses:
Je pense que la confusion dans laquelle les gens se retrouvent ici est que l'un est généralement composé de l'autre, donc ce que les gens veulent vraiment savoir, c'est quand vous en avez assez pour être considéré comme l'autre.
Jamais.
Il n'y en a pas.
Maintenant, laissez-moi vous expliquer les réponses. Un moteur de jeu est composé de bibliothèques de classes. Ils n'arrêtent pas d'être des bibliothèques de classes simplement parce qu'ils sont dans un moteur de jeu. Une bibliothèque est un cadre utile pour répondre à un besoin spécifique dans un moteur de jeu. Un cadre qui implique les besoins d'un jeu complet est un moteur de jeu.
Voici quelques exemples de moteurs de jeu:
Et quelques exemples de bibliothèques
J'espère que cela t'aides
la source
Il n'y a vraiment pas de définition concrète pour l'un ou l'autre terme (ou pour le terme connexe «cadre», d'ailleurs). Il existe des centaines de façons différentes d'interpréter les distinctions subtiles et variées des progiciels et de leur attribuer des classifications.
Personnellement, je considère une "bibliothèque" comme une chose qui fournit un ensemble de fonctionnalités relativement petit et dirigé, tandis qu'un "framework" fournit des fonctionnalités plus ou plus larges, et un "moteur" fournit les mêmes (ou plus) et a généralement un ensemble de outils associés qui l'accompagnent.
J'ai vu suffisamment d'interprétations personnelles d'autres personnes des mêmes termes pour se sentir en sécurité, suggérant qu'un "moteur" fournit plus de fonctionnalités, ou un niveau supérieur, qu'une "bibliothèque" ne le fait généralement ... mais où vous tracez cette ligne pour votre propre logiciel à toi de décider.
la source
C'est une question délicate, car la ligne entre la bibliothèque et le moteur peut parfois être très mince et floue. Je dois dire que le point où une bibliothèque se transforme en moteur, c'est quand elle devient orientée vers un jeu spécifique ou un type de jeu spécifique.
Par exemple: le moteur Unreal (ou Source, ou Quake) est conçu pour être utilisé pour les jeux FPS (il pourrait être utilisé pour d'autres jeux, mais vous passeriez du temps à travailler contre le moteur). Ogre3d (ou même Directx, SDL ou d'autres bibliothèques communes) peut être utilisé pour créer n'importe quel type de jeu, sans avoir à extraire les principales parties du code ou à les contourner.
la source