J'écris un programme qui se veut un environnement de création et
d'execution de jeux vidéos en 2D (et en java bien sûr). Dans l'idée de
le rendre le plus modulaire possible, je voulais faire en sorte que
chaque jeu soit un plugin du programme principal (celui-ci fournissant
presque uniquement les interfaces nécessaires pour que l'ensemble
fonctionne).
J'en étais donc à essayer d'écrire mon propre système de plugin quand je
suis tombé sur Java Plugin Framework (JPF). En recherchant un peu, je
suis aussi tombé sur Generic Plugin Engine. Je pense utiliser l'un ou
l'auter, mais je ne suis pas franchement en mesure de choisir.
GenPlugEngine semble plus mature, mais je ne voudrais pas en choisir un
et voir tout crasher au quinzième plugin...
Avez-vous une expérience avec l'un ou l'autre, ou même encore un autre ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent Bossavit
Olivier,
Dans l'idée de le rendre le plus modulaire possible, je voulais faire en sorte que chaque jeu soit un plugin du programme principal (celui-ci fournissant presque uniquement les interfaces nécessaires pour que l'ensemble fonctionne).
La manière la plus sûre de faire ce genre de chose est probablement la suivante: - écrire un premier jeu sans se préoccuper de le rendre modulaire, mais en le rendant le plus possible /malléable/ - modularisable, disons; - écrire un deuxième jeu qui se greffe sur le même socle applicatif que le premier, de sorte qu'on a maintenant deux jeux partageant un certain nombre de services communs; - factoriser au maximum le moindre bout de code commun entre les deux jeux et le faire migrer vers les couches basses; - écrire si besoin est un troisième jeu, un quatrième etc.; - lorsque l'interface entre les couches basses et les jeux s'est stabilisée, appliquer éventuellement des abstractions comme DIP (Dependency Inversion Principle), figer l'interface et la publier - affiner le tir en fonction des nombreuses remarques formulées par les développeurs de jeux supplémentaires :)
Pour sécuriser le processus, je conseille l'utilisation systématique de tests automatisés pour prévenir les régressions - cf http://junit.org/
Laurent http://bossavit.com/thoughts/
Olivier,
Dans l'idée de le rendre le plus modulaire possible, je voulais faire en
sorte que chaque jeu soit un plugin du programme principal (celui-ci fournissant
presque uniquement les interfaces nécessaires pour que l'ensemble fonctionne).
La manière la plus sûre de faire ce genre de chose est probablement la
suivante:
- écrire un premier jeu sans se préoccuper de le rendre modulaire, mais
en le rendant le plus possible /malléable/ - modularisable, disons;
- écrire un deuxième jeu qui se greffe sur le même socle applicatif que
le premier, de sorte qu'on a maintenant deux jeux partageant un certain
nombre de services communs;
- factoriser au maximum le moindre bout de code commun entre les deux
jeux et le faire migrer vers les couches basses;
- écrire si besoin est un troisième jeu, un quatrième etc.;
- lorsque l'interface entre les couches basses et les jeux s'est
stabilisée, appliquer éventuellement des abstractions comme DIP
(Dependency Inversion Principle), figer l'interface et la publier
- affiner le tir en fonction des nombreuses remarques formulées par les
développeurs de jeux supplémentaires :)
Pour sécuriser le processus, je conseille l'utilisation systématique de
tests automatisés pour prévenir les régressions - cf http://junit.org/
Dans l'idée de le rendre le plus modulaire possible, je voulais faire en sorte que chaque jeu soit un plugin du programme principal (celui-ci fournissant presque uniquement les interfaces nécessaires pour que l'ensemble fonctionne).
La manière la plus sûre de faire ce genre de chose est probablement la suivante: - écrire un premier jeu sans se préoccuper de le rendre modulaire, mais en le rendant le plus possible /malléable/ - modularisable, disons; - écrire un deuxième jeu qui se greffe sur le même socle applicatif que le premier, de sorte qu'on a maintenant deux jeux partageant un certain nombre de services communs; - factoriser au maximum le moindre bout de code commun entre les deux jeux et le faire migrer vers les couches basses; - écrire si besoin est un troisième jeu, un quatrième etc.; - lorsque l'interface entre les couches basses et les jeux s'est stabilisée, appliquer éventuellement des abstractions comme DIP (Dependency Inversion Principle), figer l'interface et la publier - affiner le tir en fonction des nombreuses remarques formulées par les développeurs de jeux supplémentaires :)
Pour sécuriser le processus, je conseille l'utilisation systématique de tests automatisés pour prévenir les régressions - cf http://junit.org/
Laurent http://bossavit.com/thoughts/
Emmanuel Feller
"Olivier THIERY" a écrit dans le message de news:cl323m$2ms$
Bonjour,
J'écris un programme qui se veut un environnement de création et d'execution de jeux vidéos en 2D (et en java bien sûr). Dans l'idée de le rendre le plus modulaire possible, je voulais faire en sorte que chaque jeu soit un plugin du programme principal (celui-ci fournissant presque uniquement les interfaces nécessaires pour que l'ensemble fonctionne).
Ca parrait bête comme réponse, mais as-tu regardé RCP (la base de la plate-forme Eclipse) ? C'est très performant, tu as déjà tout une base de disponible et déjà modulaire ...
Emmanuel
"Olivier THIERY" <olivierthiery@free.fr> a écrit dans le message de
news:cl323m$2ms$1@apollon.grec.isp.9tel.net...
Bonjour,
J'écris un programme qui se veut un environnement de création et
d'execution de jeux vidéos en 2D (et en java bien sûr). Dans l'idée de
le rendre le plus modulaire possible, je voulais faire en sorte que
chaque jeu soit un plugin du programme principal (celui-ci fournissant
presque uniquement les interfaces nécessaires pour que l'ensemble
fonctionne).
Ca parrait bête comme réponse, mais as-tu regardé RCP (la base de la
plate-forme Eclipse) ?
C'est très performant, tu as déjà tout une base de disponible et déjà
modulaire ...
"Olivier THIERY" a écrit dans le message de news:cl323m$2ms$
Bonjour,
J'écris un programme qui se veut un environnement de création et d'execution de jeux vidéos en 2D (et en java bien sûr). Dans l'idée de le rendre le plus modulaire possible, je voulais faire en sorte que chaque jeu soit un plugin du programme principal (celui-ci fournissant presque uniquement les interfaces nécessaires pour que l'ensemble fonctionne).
Ca parrait bête comme réponse, mais as-tu regardé RCP (la base de la plate-forme Eclipse) ? C'est très performant, tu as déjà tout une base de disponible et déjà modulaire ...