J’ai trouvé que cela pourrez allégerez beaucoup le nombre d’évènement si on pouveza avoir une condition : “si tel objet fait partie de tel groupe d’objets”.
Est-ce faisable ?
Dans quel cas cela allègerait il le nombre d’évènement ?
Si tu veux un objet d’un groupe, tu utilise en nom d’objet de ton action/condition le nom du groupe.
Pouvoir tester si un objet appartient à un groupe risquerait d’ouvrir la voie à de mauvaise pratique. Les groupes sont plus que de simples propriétés qu’on affecte à un objet, et pouvoir tester ça serait
- Inefficace au niveau de Game Develop
- Mauvais sémantiquement, les groupes devant être utilisés à la place de noms d’objets, pour faire des comportements généralisés.
Je comprends très bien ce que tu veux dire, 4ian. Ces derniers temps, j’ai commencé à beaucoup utiliser les groupes, et c’est vraiment une fonctionnalité essentielle ; comme tu le dis, les groupes permettent d’induire des comportements généralisés, communs à tous les objets qui lui appartiennent. C’est en cela que c’est une propriété précieuse, et un concept de programmation à maîtriser.
White-Shark, j’ignore ce que tu envisages de faire avec tes groupes d’objets, mais c’est un non-sens de vouloir tester si un objet appartient à un groupe ou non. Soit l’objet appartient au groupe, soit il ne lui appartient pas. C’est à toi de le déterminer dans ton programme, lorsque tu crées tes groupes d’objets. Il existe nécessairement une autre solution. Si tu nous expliques ton intention, on pourra t’aider à trouver une façon appropriée de coder tes événements.
C’est pour SGL, l’attaque entre les gangs.
L’autre solution est simple : une valeur de variable gang aux objets que je test en inversé (pour éviter qu’ils s’attaquent inter-gang )
Oui, tu peux utiliser une variable. Dans le cas de ton jeu, le remake de GTA2, le plus simple, c’est sans doute de créer un groupe d’objets pour chaque catégorie de personnages ; tu travailles sur 4 gangs je crois, il faut ajouter un groupe pour les passants ordinaires (il me semble que dans le jeu original, les gangs n’attaquaient pas les simples piétons), un groupe pour la police (j’imagine que tu as prévu la police aussi), et il faudra mettre le personnage contrôlé par le joueur dans une catégorie à part. Ensuite, tu écris tes conditions de manière à déterminer quel groupe attaque quel groupe (a priori, il n’y a pas de raison qu’un objet du groupe “gang1” attaque un autre objet du groupe “gang1”).
Pour en revenir à ton sujet (tester si un objet appartient à un groupe), il y a quelque temps, j’avais étudié la question. Parce que parmi mes projets, je mets au point l’architecture d’un RPG (dans le but de créer avec plusieurs histoires reposant sur le même système de jeu), et j’avais été tenté de penser, comme toi, de créer un groupe d’objets pour gérer l’inventaire (les objets et équipements ramassés au cours de l’aventure), pour ensuite tester par exemple si un objet de quête appartenait à ce groupe inventaire ou pas.
Ca n’avait pas l’air d’être idiot comme ça, mais je me suis rendu compte que ça aurait posé plus de problèmes qu’autre chose, des objets qui entreraient ou sortiraient de manière flottante dans un groupe selon qu’ils seraient donnés à d’autres personnages ou vendus. D’autant que les objets d’un inventaire ont généralement des fonctions différentes (une potion de soin soigne, une arme doit être équipée, un artefact de quête ne peut être vendu et ne sert à rien d’autre qu’à être remis à son légitime propriétaire, etc.). Or, justement, l’intérêt des groupes d’objets, c’est de pouvoir leur affecter assez facilement un comportement généralisé, c’est-à-dire commun à tous les objets du groupe.
Pour le système des gangs c’est exactement ce que j’ai fait avant même de demander cette stupidité. Je voulais juste savoir si cela était faisable pour alléger en évènements et 4ian et toi m’avez bien ouvert les eux. J’ai bien compris les nombreux problèmes que cela poserait.
Pour tout ce que tu as cité au sujet de mon jeu, c’est en effet prévu
Donc merci à vos réponses