Unity Wisdom Ce que j'ai appris à Unite 2013

Cette année, la conférence Unite était principalement consacrée aux aspects technologiques du moteur d'Unity, mais les développeurs ont également évoqué leurs expériences de développement de jeux avec de petites équipes utilisant Unity. Dans cet article, je passerai en revue quelques-unes des grandes idées que les développeurs Unity du monde entier ont à offrir, ainsi que quelques conseils techniques que j'ai repris en cours de route..

Crédit à Bluecadet pour l'image d'aperçu.


Conseils de conception

N'ayez pas peur de partager vos créations.
Ziba Scott, Popcannibal

Les filles aiment les robots

Dans le post-mortem de son jeu Girls Like Robots de Ziba Scott, il a parcouru la salle à travers les grands succès et les erreurs coûteuses que Popcannibal a subies pour créer un jeu pour adultes réussi..

Il a d'abord souligné l'importance de ne pas avoir peur de partager des conceptions de jeux avec des personnes de votre entourage. Au départ, l'idée de partager ses premiers projets pour Girls Like Robots semblait dangereuse. Scott a rappelé que, même s'il craignait que le partage de ses conceptions ne lui vole ses idées, l'inverse s'est produit. Lorsqu'il demandait des commentaires, les personnes de son entourage contribuaient réellement à améliorer ses conceptions en soulignant certaines des complexités et des incohérences qu'il ne pouvait se voir..

Dans le même ordre d'idées, il a suggéré que le manque de pré-production nuisait à la perception générale du jeu par les personnes qui y travaillent. Ziba avait davantage à l'esprit que l'extérieur que le jeu inspirait à l'équipe. Il a suggéré que s’il avait externalisé davantage de plans pour le jeu, cela aurait conduit à une meilleure vision partagée par tous les membres de l’équipe et à un concept plus concret que l’équipe pourrait soutenir et motiver. Il pensa qu'un simple concept aurait suffi à garder l'équipe excitée à propos du but final.

Il peut être très effrayant de mettre vos conceptions à la disposition de tout le monde, mais cela oblige le concept à rester indépendant. Non seulement vous obtenez de précieux commentaires de points de vue divergents, mais le fait de soumettre votre jeu à un examen minutieux a pour effet secondaire de vous obliger à examiner vos propres décisions de conception. Rappelez-vous simplement que, même si les commentaires externes sont importants, en tant que concepteur, vous prenez la décision finale..

Avoir une «vérité» à la réalité que vous créez.
Richard "Lord British" Garriott, Portalarium

Linceul de l'avatar: vertus abandonnées

Richard Garriott a une longue et intéressante histoire dans l'industrie du développement de jeux. Créateur de la série Ultima et producteur de City of Heroes et de Tabula Rasa, il possède une vaste expérience de la création de grands univers de jeu virtuels persistants (en fait, il est l'inventeur du terme MMO en 1997). Son dernier projet, Shroud of the Avatar: Forsaken Virtues, est construit à l'aide de Unity, qui, selon Garriott, lui permettra de réaliser un jeu à «l'échelle Ultima» en seulement 18 mois..

Dans son discours, Garriott a donné un aperçu de ce que ses 30 années d’expérience en RPG et MMO lui ont appris sur la création de mondes de jeu captivants. Au fond, il a suggéré que tout monde du jeu doit avoir une certaine «véracité» (pour reprendre un terme de Stephen Colbert). Cette véracité semblait englober trois concepts principaux:

  • Une vérité simplifiée: cela inclut toute la numérologie ou des symboles graphiques qui aident à donner une base mathématique ou scientifique au monde virtuel.
  • Pertinence sociale: les événements qui sont personnellement pertinents pour le joueur et la société d'aujourd'hui aident à présenter le jeu sous un angle plus réaliste et permettent au joueur plus facilement d'y croire..
  • Preuves culturelles: un «langage visuel» pour décrire les objets dans le monde du jeu oblige à prendre des décisions en fonction de l'histoire, de l'histoire et de la culture, rendant ainsi le monde plus cohérent, cohérent et complet.

Combinés, ces concepts contribuent à augmenter la profondeur perçue du monde du jeu..


Conseils de développement

Développer des jeux est une recherche scientifique, pas une fabrication.
Brian Kehrer, Muse Games

Canons d'Icare

Après le succès de Guns of Icarus, l'équipe de Muse Games a été sollicitée pour développer une version en ligne. Fort de leur premier succès et enthousiasmés par le regain d'intérêt des bailleurs de fonds, un document de conception de jeux de 130 pages a été rédigé. Bien que leur jeu ait grandi depuis Guns of Icarus, la taille de leur équipe n’a pas augmenté. Après neuf mois de travail acharné, ils ont à peine atteint leurs objectifs..

C'est à ce moment que Kerher décida que quelque chose devait changer. Il avait besoin d'un moyen pour itérer plus avec le même nombre de personnes. Dans son discours, Kerher a suggéré qu'Agile était le moyen d'y parvenir et a présenté Guns of Icarus Online comme preuve que son approche peut donner des résultats très positifs..

L'un des composants de la méthodologie Agile consiste à disposer d'un logiciel fonctionnel à la fin de chaque cycle de développement. Pour répondre à cette exigence, Kerher a veillé à ce que toutes les tâches de développement soient décomposées en tâches pouvant être exécutées dans un délai de deux à trois semaines. Ces tâches plus petites ont permis d'itérer de plus petites parties de la conception dans un laps de temps plus court. Les dessins qui ne fonctionnaient pas ou qui n’avaient pas de sens étaient pris très tôt. Kerher a fait valoir que, comme il existe de nombreuses solutions potentielles pour un mécanicien «amusant», le seul moyen de déterminer la mécanique optimale est d'expérimenter.

Écrivez le code pour que le programmeur n'ait pas besoin d'être là.
Gerald Orban et Lance Mueller, Blackbird Interactive

Matériel: Shipbreakers (depuis renommé Homeworld: Shipbreakers)

Gerald Orban et Lance Mueller de Blackbird Interactive avaient un problème: lors de l'écriture de leur jeu basé sur une interface graphique, Homeworld: Shipbreakers, ils passaient de plus en plus de temps à peaufiner les valeurs et les systèmes de débogage pour les artistes par rapport au nouveau code. Lors de leur entretien, ils passent en revue le processus itératif qui les a conduits au système d'interface utilisateur graphique flexible et convivial qu'ils utilisent maintenant dans la production..

Au tout début du processus de développement, Orban avait compris que l'interface graphique de Homeworld: Shipbreakers était d'une importance vitale pour le jeu. Encore plus que la plupart des jeux RTS, Homeworld avait plusieurs couches de données qui apparaissaient, disparaissaient, se combinaient et se séparaient en fonction du niveau de zoom et de ce qui était affiché à l'écran. Avec des centaines d'icônes rendues simultanément, la première nécessité consistait à organiser toutes ces données en différentes couches, très similaire à la manière dont Google Maps sépare le transport en commun, les lieux et les informations sur la circulation..

La première itération était ombrée en pixels, ne fournissait pas de WYSIWYG et nécessitait la présence d'un programmeur pour effectuer des ajouts ou des modifications. Bien que la mise en couches des données facilite la segmentation visuelle des éléments, l'éditeur ne dispose d'aucun crochet pour effectuer des modifications. Les développeurs doivent donc modifier les couleurs et les icônes à l'aide de code..

Les deuxième et troisième itérations ont été légèrement améliorées en exposant les objets d'interface graphique à manipuler dans la scène. Même si cela permettait aux artistes de transformer des éléments d'interface graphique, ils souhaitaient toujours avoir plus de contrôle sur l'aspect et la convivialité individuels.

Enfin, après la huitième itération, ils ont commencé à s’intégrer à la fonctionnalité de script de l’éditeur de Unity. Cela permet aux artistes de manipuler l'interface graphique de manière plus efficace et de déboguer leurs propres problèmes en s'assurant tout d'abord que la configuration de cet élément d'interface graphique ne pose pas de problème..


Conseils d'affaires

Allez les noix et libérez vite.
David Helgason, fondateur et chef de la direction, Unity Technologies


David Helgason a souligné dans son discours que les choses vont très vite maintenant: si vite que la création de jeux vidéo est très rapide, elle dépasse le cycle de développement de trois ans qui a dominé l’industrie du développement de jeux ces dernières années. Le "premier sur le marché" et le "prompt au marché" deviennent de plus en plus importants au fur et à mesure de l'émergence de plates-formes plus décontractées, ce qui pousse les développeurs à des itérations plus rapides. Des itérations plus rapides signifient de plus petits jeux pouvant être expédiés, dans un délai plus court.

Il a ensuite renforcé cette idée en expliquant ce qu'il a appelé une "demi-vie de divertissement". Essentiellement, les créations dans différents médiums durent des durées différentes avant d'être oubliées ou dépourvues de pertinence. La musique plus ancienne a tendance à rester plus longtemps que les films plus anciens. Les vieux films ont tendance à rester plus longtemps que les jeux traditionnels. Et les jeux mobiles ont tendance à avoir la demi-vie la plus courte de tous les supports. Pour extrapoler, cela signifie que, pour les jeux mobiles, le délai pour gagner de l'argent est beaucoup plus court que celui des autres supports..

Que cela soit bon ou non pour l'industrie n'est pas tout à fait clair. Comme le délai réduit réduit le temps de développement, la complexité des jeux peut également diminuer. Au lieu de concevoir des jeux de manière réfléchie, l'industrie peut adopter une mentalité de "voir ce qui reste". D'autre part, en raison de l'investissement si faible, un échec a moins d'impact, ce qui laisse plus de liberté aux concepteurs pour concevoir de façon originale..

Ne pas obséder sur la tactique [marketing].
Darren Williams, directeur du marketing, Unity Technologies


Williams a commencé son exposé en disant ce que beaucoup de développeurs de jeux indépendants ressentent: le marketing est nul. Il suffit de penser aux endroits où il faut faire de la publicité, comment les inciter, aux objectifs CPI / CPA et aux coûts en temps et en argent nécessaires pour faire remarquer votre jeu suffit à faire en sorte qu'un développeur indépendant aspire à l'intervention d'un éditeur. Williams a ensuite énuméré certaines des erreurs commises par les sociétés de jeux et comment même un développeur indépendant peut apprendre à apprécier le marketing..

Une erreur que font les sociétés de jeux (ou pensent devoir faire) est de se concentrer sur des tactiques de marketing. Williams a parlé des solutions de marketing puissantes qui existent actuellement, mais ces solutions prennent de l'argent. Au lieu de cela, il a suggéré de mettre l'accent sur une croissance plus organique en ciblant des types d'audience spécifiques, parmi lesquels il suggère qu'il y en ait quatre: Innovateur, Adopteur précoce, Marché de masse, et Traînard.

Les innovateurs sont généralement très au fait des technologies et ont une influence considérable sur les types d’audience au-dessus d’eux. En promouvant votre jeu dans les communautés où vivent les innovateurs, vous posez les fondations d’une communauté..

Une fois que votre jeu alpha est entre les mains d’Innovators, il est temps de commencer à créer une communauté de pré-release. Au fur et à mesure que les innovateurs se familiarisent avec votre jeu, ils souhaitent un site Web ou un forum sur lequel ils peuvent trouver des informations techniques et des mises à jour très spécifiques. Au fil du temps, Williams a suggéré de commencer à publier des mises à jour techniques moins sophistiquées à mesure que les premiers utilisateurs arrivent..

Avec une communauté derrière votre jeu, il ne vous reste plus qu'à vous préparer à une date de lancement. Williams n’a pas expliqué directement comment intégrer au marché grand public un jeu des types d’audience Innovator / Early Adopter, mais il a déclaré qu’avoir une communauté de prélecture organique était extrêmement bénéfique lorsque vous tentez d’obtenir un soutien pour des choses comme Steam Greenlight et Kickstarter..


Conseils de développement technique

Mémoire et ramassage des ordures


La gestion de la mémoire est l'un des aspects du développement de jeux pour lequel les développeurs d'Unity ne passent pas beaucoup de temps. En effet, le moteur de script d'Unity implémente un collecteur de mémoire qui se charge automatiquement de nettoyer par magie les objets embêtants qui ne sont plus référencés par la scène. Bien que ce ramasse-miettes facilite la gestion de la mémoire pour le développeur, il existe de nombreux pièges et optimisations qui peuvent vous aider à optimiser les performances de vos scripts..

La première chose à comprendre sur le récupérateur de mémoire de Unity est son utilisation. marquer et balayer parcourir des arbres de références pour trouver des objets inutilisés. Lorsque les objets font référence à d'autres objets, ces arbres grossissent et prennent plus de temps à parcourir. Pour limiter la taille de ces arbres, les développeurs suggèrent d'utiliser des POD dans la mesure du possible. Comme les POD ne peuvent pas faire référence à des objets, les arbres de référence sont beaucoup plus petits. Un exemple simple serait de référencer l'index dans un tableau au lieu de l'objet dans le tableau.

La deuxième astuce suggérée par les développeurs pour améliorer la vitesse de récupération des déchets consistait à utiliser autant que possible des structures et des tableaux à la place de classes ou d'une liste. Les structures et les tableaux sont alloués dans une mémoire contiguë, ce qui améliore la vitesse d'accès et facilite l'analyse de ces références pour le ramasse-miettes..

Enfin, la meilleure hypothèse est de ne rien assumer. Parfois, on s’attend à ce qu’un morceau de code plus net soit plus efficace. Un exemple en est l’ajout de deux Vecteur3 structs ensemble. Normalement, cela se ferait en utilisant le + opérateur (v1 + v2, ou v1 + = v2), qui finit par allouer un poste temporaire Vecteur3 conserver la valeur avant de la réassigner v1. Moins de mémoire est allouée en ajoutant simplement v2de X, y, et z composants directement à v1composants de.


Dernières pensées


Bien qu'Unite 2013 n'ait pas de thème cohérent, le message sous-jacent à chaque conférence était clair: "Allez de l'avant et créez des jeux". Fabriquez-les rapidement, amusez-vous et faites-les pour tout le monde. Au fur et à mesure que la technologie permettant de créer des jeux devient plus simple, la barrière à l'entrée pour les développeurs indépendants disparaît et a un effet de démocratisation sur le secteur. Des itérations de développement plus courtes transfèrent le pouvoir des grandes entreprises aux créateurs individuels et, pour cette raison, les éditeurs se tourneront vers les indépendants pour la prochaine génération de jeux..

Si vous souhaitez visionner des vidéos de la conférence Unite, vous pouvez trouver cette conférence et les conférences des années précédentes dans les archives Unite..