J'ai jeté des choses ensemble dans un petit jeu de test au cours des 6 derniers mois, et maintenant tout est dans le même projet. Je voudrais en savoir plus sur la création d'un «moteur» pour la réutilisation et j'essaie de trouver la meilleure façon de le faire.Choisir entre les librairies statiques et les libs/plugins dynamiques?
Les bibliothèques statiques sont évidemment un peu plus rapides, car elles sont compilées au lieu d'être chargées au moment de l'exécution, mais cela ne m'importe vraiment pas. Les avantages des DLL sur les bibliothèques statiques semblent plutôt importants. Je me demande donc quelle est la meilleure approche/approche la plus utilisée pour un "moteur de jeu". J'utilise Ogre3D (moteur de rendu) qui supporte les plugins dll qu'il charge et non, mais je voudrais écrire mes dll où je pourrais les utiliser n'importe où. Donc, mon meilleur pari serait d'écrire des DLL individuelles pour chaque partie de mon exemple de moteur, comme sound.dll, gui.dll, etc? Ou serais-je mieux servi en créant une grande DLL, jugée engine.dll ou quelque chose? Je suppose que la meilleure approche serait d'écrire quelque chose comme ... engine.dll pour la structure générale, puis le composer d'autres DLL telles que sound/gui/input/etc.
Serait-il stupide de ma part d'écrire mes DLLs indépendamment du système Plugin d'Ogre? My Sound repose sur la bibliothèque FMOD, mon interface graphique repose sur la bibliothèque CEGUI, etc. Je veux principalement créer mon moteur à un point où il est facilement utilisable avec les fonctions dont j'ai besoin dans les différentes bibliothèques.
Ouais, la raison pour laquelle j'ai demandé était que je regarde certains des maquillages des jeux de Valve, et ils ont inputsystem.dll, soundsystem.dll, materialsystem.dll, et environ 20 autres. Je pense que l'idée d'un seul moteur.dll semble être une bonne idée, merci! –