L'analyse des exigences est-elle utile dans le développement de jeux?

9

Je suis un étudiant en génie logiciel spécialisé dans le développement de jeux. Quelle est l'importance d'une analyse des exigences dans le développement de jeux?

Je demande parce que j'essaie de décider de suivre un cours sur l'analyse des exigences. Voici une description:

Une étude approfondie de la recherche et des pratiques actuelles en matière d'élicitation des exigences, d'exigences, d'analyse, de spécification des exigences, de vérification et de validation des exigences et de gestion des exigences.

Ce type de connaissances serait-il utile pour un développeur de jeux indépendant? (Les alternatives sont l'intelligence artificielle ou l'architecture logicielle.)

Joey Green
la source
Pour clarifier, quelles sont vos alternatives?
ChrisE
Oui, éclairez un peu plus votre situation, s'il vous plaît. Est-ce quelque chose à prendre en plus de vos cours de base ou essayez-vous de déterminer si la PR fait partie de votre cœur?
Jason Pineo
Qu'implique votre classe d'architecture logicielle? S'il est davantage axé sur la conception d'un système, je recommanderais certainement de prendre cela. L'analyse des exigences consiste à "Je me fiche de la façon dont je le fais, que veux-je que mon logiciel fasse?" La conception d'un système consiste à "Je sais ce que je veux faire, comment puis-je y parvenir de la manière la plus efficace?"
Ray Dey
Tout outil / technique appliqué qui vous aidera à éviter la paralysie de l'analyse sera utile.
Patrick Hughes

Réponses:

7

L'analyse des exigences sera incroyablement utile, que vous soyez un développeur indépendant ou que vous travailliez pour une grande entreprise. L'analyse des exigences vous permet de décomposer votre projet en morceaux gérables. Il vous permet d'estimer le temps que prendra votre projet et d'évaluer la valeur d'une fonctionnalité par rapport au calendrier de développement souhaité et aux efforts requis.

Si vous êtes dans une plus grande entreprise de jeux indépendants, cela vous aidera à travailler avec d'autres développeurs et producteurs de contenu pour vous assurer que tout le monde a toujours quelque chose à faire et que vous pouvez atteindre vos objectifs de développement. Si vous travaillez pour une grande entreprise, l'analyse des exigences d'apprentissage fera de vous l'un des rares développeurs à la réunion qui peut réellement donner une estimation de temps réaliste pour une fonctionnalité au lieu de simplement vous en extraire un certain nombre.

En plus de tout cela, la validation des exigences pourrait inclure des choses comme les tests unitaires et la vérification des fonctionnalités, ce qui est inestimable pour un développeur sans grand service d'assurance qualité à ses côtés.

Gregory Avery-Weir
la source
+1 Tout ce qui est dit ici est correct, tout en abordant quelque peu l'idée que vous pourriez finir par faire de la programmation d'entreprise jusqu'à ce que vous ayez atteint la scène indépendante.
ChrisE
Comment cela pourrait-il ne pas être utile? Vous devez analyser tout ce que vous faites de manière structurée. Ce n'est pas parce que certains termes sont vagues qu'il est impossible de les quantifier.
johnny
2

Je pense que cette classe aura entre zéro et très peu de pertinence pour le développement de jeux. Certes, les méthodes semi-formelles ou formelles que vous mentionnez ne sont pas utilisées dans mon expérience.

Les jeux ont généralement des exigences incroyablement fluides, et même s'il était possible d'investir du temps et des meilleures pratiques dans la collecte des exigences, une grande partie de ce que vous obtiendriez sont des termes vagues et dénués de sens faisant référence au plaisir, à la dépendance, à l'immersion, etc. Très rarement, vous aurez des livrables très clairement définis, car, même si nous aimons faire semblant de créer un logiciel, c'est de l'ingénierie, c'est en fait plus un métier, compte tenu de la variété des façons dont les programmeurs peuvent s'exprimer. Cela va doubler pour les jeux.

Kylotan
la source
J'espère que les «exigences fluides» ne sont pas un euphémisme pour «glissement de fonctionnalités». : \ Je ne suis pas d'accord avec le fait que "beaucoup" de ce que vous obtiendriez est des termes dénués de sens et vagues tels que "amusement", "dépendance", etc. Ceux-ci représentent des exigences non techniques, qui sont un sous-ensemble d'exigences vraiment réfléchies document.
PatrickB
2
Je pense que les exigences de fluidité sont certainement un euphémisme pour le fluage des fonctionnalités, mais si vous voulez rivaliser dans un environnement de vente au détail et axé sur le succès, vous devez accepter le fluage des fonctionnalités dès le premier jour. Le genre de choses que vous pouvez apprendre en rassemblant et en analysant les exigences d'un «client logiciel» traditionnel est trop différent de la façon dont les logiciels de divertissement doivent fonctionner. En particulier, vous avez un problème majeur en ce que votre client n'est pas votre utilisateur final, et un autre problème majeur en ce que les exigences techniques ne peuvent pas être définies lorsque vous savez que le fluage des fonctionnalités est inévitable.
Kylotan
Je ne pense pas qu'il ait dit qu'il était en compétition ou même qu'il fabriquait un produit qui se vend. Beaucoup de jeux indépendants ne sont pas conçus pour rivaliser avec les jeux au détail, ils ne sont généralement pas sur le même terrain que les titres AAA. Enfer, Steam met tous les jeux indépendants dans leur propre petit bac à sable, probablement comme une étiquette d'avertissement. Lorsque vous êtes un développeur indépendant, vous, par définition, contrôlez ce que vous voulez faire. Si vous ne le faisiez pas, vous seriez associé / investi et vous ne seriez pas vraiment indé alors, n'est-ce pas? Quoi qu'il en soit, je ne semble pas trouver de fonctionnalité dans les jeux de passe-temps sur lesquels je travaille. YMMV.
PatrickB
1
Je ne pense pas qu'indépendant signifie normalement «jeux de passe-temps», il signifie normalement «petite entreprise qui ne dépend pas du financement des éditeurs». En tant que tel, votre situation client / client peut être plus simple que je ne l'ai suggéré ci-dessus, mais vous pouvez sans doute être encore plus sensible aux forces du marché. Mais à la fin de la journée, la plupart des analyses formelles des exigences vont échouer, car il est extrêmement difficile de qualifier ce qu'est un «besoin commercial» en termes de jeu. Les jeux diffèrent considérablement des autres logiciels à cet égard et je suggère donc humblement que d'autres façons de spécifier le logiciel soient plus pertinentes.
Kylotan
Quels sont les autres moyens?
johnny
2

L'analyse des exigences est beaucoup plus axée sur les logiciels d'entreprise, avec des canaux de communication formels et ce genre de choses, qui n'existeront pratiquement pas pour un développeur indépendant. Ce n'est pas très utile pour les jeux car de nombreuses exigences ne peuvent pas être formellement testées ou vérifiées. Si vous avez une barre d'outils et que vous dites: «Cliquer sur ce bouton devrait dérouler un menu avec XYZ dessus», alors vous ne pouvez rien payer à quelqu'un pour cliquer sur le bouton et voir ce qui se passe. Votre jeu est-il amusant? C'est une toute autre marmite de poisson.

RA peut être utile pour déterminer si le jeu fonctionne; mais quand il s'agit de choses comme l'équilibre, la rejouabilité et d'autres facteurs qui déterminent le facteur de plaisir ultime du jeu, il est difficile, voire impossible, de les tester. Donc, en fin de compte, cela dépend si vous optez pour une excellente mise en œuvre d'une idée existante; ou si vous recherchez ou non le succès dans un nouveau gameplay.

DeadMG
la source
0

Sauter.

Dans quel domaine du développement de jeux êtes-vous intéressé? Je suppose programmeur mais ...

Designer: Ils écrivent beaucoup. Beaucoup. Il existe généralement un document de conception qui communique la vision des concepteurs, mais pour tout le monde sauf le producteur ou l'éditeur, vous obtiendrez normalement les informations du concepteur lui-même.

Programmeur: Le responsable détermine les exigences techniques qui dépendront énormément de la plate-forme et du pipeline d'actifs. Vous apprendrez à le faire en travaillant avec votre responsable au travail.

Artiste: Encore une fois, c'est l'artiste principal avec le programmeur principal qui définit généralement les exigences pour les actifs artistiques. Apprenez sur le tas.

L'analyse des exigences, comme le cours qu'ils enseigneront probablement, est utile pour les grandes entreprises qui tentent de justifier leurs dépenses et pour l'externalisation. Et c'est souvent fait par quelqu'un qui a déjà codé et peut-être oublié depuis. poignarder

Si vous envisagez de devenir indépendant, prenez un sujet commercial / comptable / de gestion. Vous en aurez besoin pour survivre et ne pas vous faire foutre. Bonne chance.

bkersten
la source
Je supposerais aussi le programmeur, puisqu'il l'a étiqueté programmeur;)
The Communist Duck
1
-1 Donc, non seulement vous avez manqué que la personne l'a étiqueté pour les programmeurs, vous avez également manqué que c'était pour le développement indépendant, ce qui impliquerait immédiatement qu'il n'y aurait pas de responsable technique à apprendre. L'analyse des exigences est utile - même lorsque les spécifications système ne sont pas complètes - pour apprendre à trouver la bonne mentalité pour analyser les problèmes. De plus, la pratique de l'écriture sera toujours utile si le besoin s'en fait sentir de faire un pitch à un éditeur. Franchement, vos conseils ne s'adressent pas au public cible et ne fournissent aucun aperçu utile sur le sujet.
ChrisE
-1 D'accord. Assez de logiciels de merde là-bas qui ne font pas ce dont les gens ont besoin et assez de jeux indépendants qui souffrent de conceptions terribles qui ne résolvent pas les problèmes techniques et se transforment en réécritures sans fin et en jeux inédits. Les méthodes formelles sont une formalité que les jeux indépendants peuvent ne pas suivre explicitement, mais le fait d'avoir un arrière-plan conduit à un état d'esprit "stop and think" plutôt qu'à "coder et corriger" qui est trop répandu. Les codeurs sont un centime et pourtant les logiciels de qualité sont si rares. Vous faites le calcul.
PatrickB
1
Hahaha. Tout développement de jeux, en particulier indé, consiste à être agile et à répéter sur une idée centrale. L'analyse des exigences n'a rien à offrir et est pour la plupart un processus lourd. J'ai donc généralisé ma réponse. S'ils envisagent de devenir indépendants, il sera difficile de se passer d'un réseau de développeurs et d'artistes semi-expérimentés. Donc, soit vous devez être un génie dans tous les domaines du développement de jeux et des affaires, soit vous trouvez des mentors, des leaders à la technologie, etc. Essayez de ne pas être si sensibles.
bkersten
1
L'analyse des exigences @PatrickB n'affecterait pas la façon dont un logiciel est conçu. L'analyse des exigences regorge d'informations inutiles qu'un développeur de jeux n'utiliserait presque jamais (les diagrammes de cas d'utilisation me viennent particulièrement à l'esprit). C'est un sujet qui est plutôt orienté vers les parties prenantes et donc les environnements d'entreprise. Je suis d'accord que le développeur doit répertorier les exigences (fonctionnalités) mais cela devrait être du bon sens. La conception d'un logiciel est un sujet complètement distinct que l'analyse des exigences touche à peine (à l'université de toute façon)
Ray Dey