Bonsoir,
Avec quelques amis, on a décidé de créer un jeu qui nous permettrait d'apprendre à gérer un projet d'une certaine taille. Ce serait un jeu de stratégie en 2D utilisant la SDL et openGL. Vu l'ampleur du travail qui nous attend, on aimerait faire les choses de façon «propre».
Et justement j'avais une idée concernant la conception de base du jeu. Je voudrais savoir si c'est réalisable de cette façon ou tout simplement impossible.
Sachant que nous sommes plusieurs à coder, je me suis dit autant développé un coeur autour duquel on pourrait ajouter des plugins. Donc ce qui impliquerait que de base le programme ait besoin d'un certain nombre de plugins obligatoires, par exemple gestion du clavier, souris, affichage etc. Puis certains plugins optionnels un système de communication par exemple.
Bien évidemment, pour commencer on fixe la barre très basse histoire de ne pas se leurrer, et justement la structure de coeur puis l'ajout de plugins autour nous permettrait de faire évoluer le programme de façon souple.
Pour gérer les plugins justement, sachant que pour l'instant on travaille avec le système GNU/Linux, on se contenterait des fonctions systèmes dlopen, dlsym, dlerror, et dlclose. Par exemple, un dossier contiendrait l'ensemble des plugins (en fait des bibliothèques partagées donc) et au chargement du programme on chargerait, le contenu de ce dossier.
Voilà donc pour l'instant c'est très théorique (rien est codé) et donc je voudrais juste savoir si ça pouvait être possible (d'autant que le concept de coeur + plugins me parait intéressant).
Merci à vous.
Bye.
PS : si vous avez des exemples de pièges dans lesquels ne pas tomber ou des exemples concrets, je suis preneur car je ne trouve pas beaucoup de choses sur ce sujet.
On code le projet en C, si il y a une section plus appropriée que celle là pour parler de conception, je ne l'ai pas vu :-\.
Partager