Notes de développement du mois de mai 2020 pour Halo The Master Chief Collection #Halo

HALO 3

Halo 3 est le prochain jeu de notre gamme à arriver sur PC. En 2007, c’est le titre Halo qui nous a apporté Théâtre, Forge et certains des types de jeux les plus appréciés de la communauté comme Grifball, Infection et bien d’autres. Halo 3 occupe une place spéciale dans le cœur de nombreux joueurs et nous savons que c’est l’un, sinon le titre le plus attendu de la collection. Heureusement, les vols publics pour Halo 3 PC sont à l’horizon!

Dans la première moitié du mois prochain, nous prévoyons de faire voler une tranche de Halo 3 vers Halo Insiders sur PC. Si vous n’êtes pas déjà un Halo Insider, veuillez vous rendre ICI et vous inscrire. Si cela fait un moment que vous n’avez pas visité votre profil Halo Insider , veuillez prendre le temps de vous assurer que tout est à jour avec votre profil, y compris les spécifications de votre PC (de nombreuses personnes ont mis à niveau leurs machines pendant la quarantaine, alors assurez-vous que votre profil est courant!). S’assurer que vous êtes à jour et enregistré avec un e-mail valide (et vérifié!), Améliore considérablement vos chances d’être sélectionné pour les vols.

OBJECTIFS DE VOL

Les objectifs de ce premier vol seront de tester notre pipeline de distribution, de tester les mises à jour des défis, de recueillir des commentaires sur le contenu répertorié ci-dessous et de s’assurer que tous les systèmes de support fonctionnent correctement en vue de mettre Halo 3 à Halo: The Master Chief Collection sur PC .

CONTENU DU VOL

Vous trouverez ci-dessous une liste complète de tout le contenu des prochains vols Halo 3 pour le Microsoft Store et Steam, en fonction des spécifications de développement que nous créons pour chacun. Il peut y avoir de légers changements d’ici là, mais dans l’ensemble, c’est ce que nous pensons être disponible dans le prochain vol public. S’il vous plaît ne vous inquiétez pas si les choses changent d’ici là…. parce qu’ils le font généralement dans une certaine mesure.Nouvelles fonctionnalités

  • Personnalisation : une personnalisation mise à jour sera disponible pour Halo 3
  • Forge: Forge sera disponible pour les joueurs pendant ce vol
  • Théâtre: le théâtre sera disponible pour une utilisation avec la souris et le clavier pour Halo 3
  • Défis : le système de défi complet, y compris l’écran du centre de défi, sera disponible pour la première fois dans ce vol

Campagne

Flighting prendra en charge les missions de campagne suivantes avec des options pour tous les niveaux de difficulté, le mode solo et le jeu en ligne coopératif:

  • Missions de campagne: Sierra 117, The Storm, The Ark, The Covenant et Halo.

Options multijoueurs

Le vol de Halo 3 prendra en charge diverses cartes et listes de lecture pour le multijoueur. Cela comprend les jeux personnalisés, les jeux sociaux et les jeux compétitifs. Vous trouverez ci-dessous les listes de lecture et les cartes qui seront disponibles pour chaque titre dans les différentes options multijoueurs:

  • Jeux sociaux: 4v4, 8p FFA, 12p Infection, 8v8
  • Compétitif : H3 Team Hardcore (4v4), H3 Team Slayer (4v4) H3 Team Doubles (2v2)
  • Halo 3 Multiplayer : Construct, Guardian, Last Resort, Narrows, Sandtrap, The Pit, Valhalla, Foundry, Standoff, Avalanche, Sandbox et Heretic

Paramètres et options pris en charge

Vous trouverez ci-dessous une ventilation complète des paramètres et options inclus dans le vol:

  • Paramètres – Contrôles : configurer la souris et le clavier et configurer la manette de jeu
  • Paramètres – Vidéo: champ de vision, champ de vision du véhicule, gamma, mode fenêtre, rapport hauteur / largeur, échelle de résolution, V-Sync, ancrage HUD, affichage de médaille unifié, limite de fréquence d’images et qualité graphique
  • Paramètres – Audio: volume du jeu, y compris le volume de la musique du menu, le volume de la musique du jeu, le volume des effets, le volume du chat vocal. En outre, Voice Chat Channel, Push to Talk Voice Chat et sons de jeu multijoueur
  • Paramètres – Gameplay: Position du réticule, Afficher les notifications d’invitation, Couleur du nom du joueur ennemi, Minuteur de jeu multijoueur et Crédits
  • Paramètres – Réseau : Réseau et relais
  • Paramètres d’accessibilité: sous-titres, changement de langue, conversion de texte en parole et conversion de parole en texte

Nous n’avons pas encore de calendrier final pour le début du vol, mais nous cherchons à faire avancer les choses dans les premières semaines de juin. Restez à l’écoute pour nos mises à jour de développement et de vol MCC sur les forums Insider ICI pour rester au courant. Maintenant, passons à l’essentiel du blog de ce mois – « la vie d’un bug» et à quelques idées de tous les membres de l’équipe qui ont un coup de main dans le processus.

LA VIE D’UN INSECTE

Beaucoup de gens se demandaient ce qui se passe lorsque les joueurs soumettent un ticket de support Halo et comment cela se traduit par une aide au développement de notre jeu. Vous trouverez ci-dessous une ventilation complète du processus et de ce qui se passe lorsqu’un problème est signalé. Personne n’aime les bugs – pas nos joueurs et certainement pas nos équipes – mais dans le développement de logiciels, ils sont une réalité. Bien que les types et la gravité des bogues varient considérablement, nous espérons que cette vue d’ensemble permettra de mieux comprendre comment notre équipe gère les commentaires et résout les problèmes signalés par les joueurs.

Du premier contact à la reproduction, de l’évaluation à la mise en place d’un correctif, le parcours est considérable et chaque équipe a un rôle différent à jouer.

C’est la vie d’un bug. 

Commençons par examiner comment l’équipe communautaire se connecte à l’équation, puis poursuivons avec des informations extraites d’autres équipes, notamment Halo Support, l’équipe d’assurance qualité, la conception, la production et l’ingénierie. Avertissement: pour aider à briser la durée de cela, nous allons saupoudrer quelques captures d’écran MCC PC H3. Faites-nous savoir si vous remarquez quelque chose de nouveau!

CONTACT AVEC LA COMMUNAUTÉ

Généralement, quand il y a un problème, nous avons tendance à le voir apparaître sur les réseaux sociaux en premier. Les gens publieront sur Reddit, nous tagueront dans un Tweet, nous contacteront sur Discord, ou viendront sur nos forums et feront un post sur ce qu’ils rencontrent. Selon la gravité du problème, ce qui signifie à quel point le problème est préjudiciable, il peut être signalé immédiatement à l’équipe de développement, ou des recherches supplémentaires seront effectuées pour voir combien d’autres signalent un problème similaire. Avec le développement de PC en particulier, il y a plus de variables que jamais qui pourraient provoquer un problème pour un joueur particulier et un scénario qui n’est pas vu ailleurs.Ce projet a donc présenté de nombreux nouveaux défis et complexités pour toutes nos équipes. J’ai personnellement pris la liberté de décomposer certains des éléments clés de la façon dont notre équipe communautaire et moi travaillons avec les bogues.Quel rôle joue l’équipe communautaire dans le cycle de vie d’un bogue communautaire?

Notre équipe travaille spécifiquement pour aider à signaler les problèmes rencontrés par les joueurs. Beaucoup de travail est fait entre notre équipe et Halo Support pour amener les gens vers le site de support afin de rapporter leurs résultats. C’est honnêtement le meilleur moyen de faire entendre votre voix et nous aide à identifier les problèmes que les gens connaissent. Bien que nous puissions voir des nouvelles apparaître sur les médias sociaux, sans ticket d’assistance détaillé, il n’y a pas grand-chose d’autre qui puisse résoudre le problème. Plus il y a de personnes qui soumettent un ticket sur un problème, plus il reçoit d’attention et plus il est probable que ce problème sera concentré sur les futures mises à jour. Bien sûr, tous les bugs et problèmes qui ont un impact négatif sur les joueurs sont importants, mais avec les réalités du temps et des ressources finis, l’équipe de développement cherche d’abord les volumes de tickets pour aider à évaluer la priorité.Qu’est-ce qui représente un problème hautement prioritaire?

Pour moi, si un problème affecte les joueurs, c’est quelque chose que nous devrions travailler pour résoudre. À mes yeux, s’il y a un bug qui empêche les joueurs de jouer, c’est la plus haute priorité. Tous les problèmes qui sont portés à notre attention ne sont pas liés au jeu, mais en tant que membre de l’équipe communautaire, cela fait partie de ce que nous étudions. Qu’il s’agisse de plantages, de restrictions de connectivité, d’installer des éléments associés ou d’erreurs, beaucoup d’efforts sont consacrés à la recherche de solutions de contournement pour aider les joueurs à reprendre le jeu.Que fait l’équipe de communauté lorsque les bugs sont corrigés?

Eh bien, une grande partie de ce que nous faisons est de soutenir la communication et d’assurer la liaison du studio avec la communauté. Cela inclut la conduite de conversations internes aux équipes ainsi que le partage d’informations (comme les corrections de bugs) avec le grand public via des blogs, des mises à jour ou des notes de mise à jour. Nous mettons également à jour nos listes de problèmes connus pour contenir les derniers statuts de tous les articles coûteux.

Notre objectif est de nous assurer que la communauté est entendue, s’entraide là où elle le peut et continue d’utiliser le support Halo afin que les souhaits et les désirs pour les corrections de bogues dans MCC soient clairement enregistrés dans les tickets.Nous aidons également à informer la priorisation de ce qui est adressé et communiquer vers l’extérieur les correctifs qui ont été apportés.

PRISE EN CHARGE DE HALO

Halo Support est l’un de nos meilleurs outils pour découvrir, suivre et finalement résoudre les problèmes rencontrés par la communauté. C’est un endroit où vous pouvez soumettre des billets avec des détails critiques de vos problèmes et les faire voir par les gens de notre studio et les transmettre aux bonnes personnes pour le travail. Le plus grand avantage de notre site de support assez récent est de capturer les détails utiles utiles de manière procédurale et évolutive. Voici une ventilation de Conor sur l’équipe de support Halo sur leur rôle dans la vie d’un bug.Que faites-vous dans le cycle de vie d’un bogue de communauté?

En tant que Project Liaison, mon rôle est de faire le lien entre l’équipe de soutien Halo et les autres équipes du studio. Par exemple, disons que le support voit de nombreux rapports sur les problèmes de performances dans Halo 2: Anniversary. Dans ce cas, je collecte toutes les informations disponibles auprès du support, les décompose en informations pertinentes, communique avec l’équipe qui pourrait y remédier et élabore une réponse du support qui décrit avec précision l’état de l’enquête ou du correctif de cette équipe.Comment Halo Support gère-t-il les bogues signalés par la communauté?

La première chose que nous faisons lors de la réception d’un rapport est d’identifier sa portée. Cela signifie que nous recherchons d’autres joueurs signalant le même problème ou des problèmes similaires. Cela se traduit généralement par un énorme réservoir d’informations, certaines utiles et d’autres… Pas si utiles. Une fois que nous avons compilé toutes les informations pertinentes dans une seule source, que nous appelons un «compartiment», nous déterminons ce que nous pouvons faire pour résoudre ce problème. Parfois, cela nous amène à transmettre le compartiment à une équipe qui peut créer un correctif et à les soutenir avec des détails supplémentaires. Plus généralement cependant, nos correctifs proviennent de l’extérieur du jeu: mise à jour des pilotes, modification des paramètres sur le système des joueurs, et cetera. Dans les deux cas, nous visons à informer régulièrement nos joueurs de l’état de l’enquête et à transmettre nos correctifs lorsqu’ils seront disponibles.Qu’est-ce qui, pour vous, représente un enjeu prioritaire de la communauté?

Tout d’abord, les problèmes d’installation. Si quelqu’un ne peut pas entrer dans le jeu, c’est évidemment un énorme problème. Parfois, ces problèmes sont hors de notre contrôle et il n’y a tout simplement rien que l’équipe ici puisse faire. Cela dit, nous travaillons souvent avec nos partenaires extérieurs pour résoudre ces problèmes le plus rapidement possible. Une seconde près des problèmes d’installation serait tout ce qui ruine le plaisir du jeu. Halo devrait toujours être amusant et s’il y a un bug ou un problème qui empêche les joueurs d’avoir un combat loyal en ligne ou de terminer une campagne sur Legendary, c’est quelque chose que nous voulons transmettre à l’équipe de développement le plus rapidement possible, pour qu’ils puissent y remédier. plutôt tôt que tard.Quel est l’aspect le plus important d’un problème signalé pour vous?

Tous les formulaires de ticket pour Halo Support comprennent une section intitulée «Repro Steps». Cette section demande essentiellement aux joueurs de nous fournir un guide étape par étape sur la façon dont ils ont rencontré leur problème et comment nous pourrions recréer ce processus. Comprendre ce que chaque joueur a fait, où il l’a fait et comment il l’a fait est inestimable pour nos enquêtes. Plus quelqu’un peut être précis, plus nous avons de chances de reproduire le problème de notre côté et de rencontrer l’erreur qu’il a signalée.

Parfois, nous obtenons des billets qui sont vagues, et cela peut en quelque sorte nous envoyer dans un terrier de lapin. Par exemple, un ticket qui dit simplement «le jeu est saccadé quand je suis dans un véhicule» peut signifier beaucoup de choses. Avec un rapport comme celui-ci, c’est à l’équipe ici de savoir quelle partie du niveau, quel siège dans la voiture est affecté, ou si la voiture doit se déplacer.

Je veux transmettre un énorme «Merci» à tous les joueurs qui nous ont envoyé des captures d’écran ou des vidéos de leur problème. Être en mesure de voir leur processus et de savoir exactement ce qu’ils voient peut nous faire gagner beaucoup de temps.Comment plusieurs rapports d’un même problème affectent-ils votre flux de travail ou la gestion d’un problème?

Plus nous recevons de rapports sur un seul problème, plus il nous est facile de trouver un fil conducteur. Le support examine de nombreux types de problèmes différents sur de nombreuses configurations matérielles différentes. Donc, pour un problème visuel, l’une des premières choses que nous examinons est le GPU et le CPU d’un utilisateur. Observe-t-on des rapports du même problème visuel sur d’autres combos GPU et CPU? Ou est-ce lié à cette combinaison spécifique de composants matériels? Si nous pouvons le réduire là-bas, nous aurons une bien meilleure idée du nombre d’utilisateurs concernés et de la cause potentielle. Cette logique effectue le suivi de divers autres types de problèmes: les problèmes d’installation sont-ils liés à une vitrine spécifique? Les problèmes de performances sont-ils liés à un GPU ou un disque dur spécifique? Certains problèmes de réseau sont liés aux paramètres par défaut sur des modèles de routeur spécifiques, et nous avons même eu un problème de saisie lié à une mise à jour de sécurité Windows. Trouver ce fil conducteur entre chaque rapport d’un problème nous aide à la fois à déterminer le nombre réel d’utilisateurs concernés et aide le reste de l’équipe à se concentrer sur les causes potentielles.Que se passe-t-il lorsque vous avez des rapports ponctuels de problèmes de la communauté?

J’adore les rapports ponctuels. Ils sont soit la chose la plus simple au monde, soit des puzzles incroyables, mais nous les traitons de la même manière que n’importe quel autre billet. Les offs simples sont généralement des joueurs qui ont un pilote obsolète ou un problème de compte qui se manifeste de manière étrange. Notre équipe peut réintégrer rapidement ces joueurs dans le jeu. Nos pièces uniques plus uniques nécessitent beaucoup d’investigations, donc elles se retrouvent dans mon assiette. Je contacte souvent d’autres équipes ici au 343 et travaille avec elles pour comprendre celles-ci. Encore une fois, un immense «merci» aux membres de l’équipe qui m’ont aidé.

Pour ceux qui souhaitent en savoir plus sur l’utilisation du site d’assistance Halo, veuillez consulter cet article ICI .

ASSURANCE QUALITÉ

Les bogues sont détectés dans Test par le biais de différentes réussites et enquêtes. Lorsqu’un bogue est déposé, un représentant du test connu sous le nom de «Redliner» examinera le bogue et le renverra au testeur pour plus d’informations ou au triage pour la hiérarchisation. Une fois qu’un bogue a été priorisé en tant que correction obligatoire pour la publication, l’équipe doit suivre l’état du bogue tout au long du cycle de vie de la publication. Lorsque le bogue est résolu comme corrigé, Test doit attendre qu’une nouvelle version soit générée contenant les correctifs, ce qui peut prendre de un jour à une semaine ou plus, selon ce qui est impliqué avec le correctif et s’il nécessite le contenu complet du jeu. à reconstruire. Le test vérifie ensuite que le bogue est corrigé correctement et qu’aucune autre zone du titre n’a été affectée par la modification. 

Lorsqu’un bogue est signalé par un membre de la communauté, un agent de support Halo compare le rapport avec d’autres rapports similaires et crée un «compartiment» de problèmes. Les seaux sont ensuite remis à un agent de liaison de test, qui évalue les problèmes et identifie si l’équipe a suffisamment d’informations pour aller de l’avant avec l’enquête. Les agents de support Halo créent ensuite des boucles de rétroaction avec les parties déclarantes pour recueillir toutes les informations demandées par Test. Une fois toutes les informations collectées, une tâche est créée pour lancer une enquête interne sur le bogue. Cela provoque le cycle de vie du flux de bogues habituel. La plus grande différence avec les cycles de vie des bogues de la communauté est qu’une fois le bogue corrigé, l’agent de support Halo ferme la boucle de rétroaction avec le journaliste en l’informant que son problème a été résolu.

Les tests de mise en production se composent de trois parties: les tests de mise à jour des candidats (ou RC pour faire court), les tests de certification et les vols privés de publication sélective (ou SelPub pour faire court). Lorsque l’équipe a identifié la liste des bogues à corriger pour une version, l’équipe de test peut lancer le test de version de candidat. Il s’agit d’une évaluation de l’intégralité du jeu avant la mise à jour en direct vers Retail (c’est-à-dire un lancement de jeu ou une mise à jour de jeu). Ce processus peut prendre jusqu’à deux semaines. Une fois que tous les bogues de la liste des correctifs doivent être résolus et que l’équipe de test approuve les tests RC, la version est soumise à la certification Xbox et Windows Store, mais pas à Steam, car elle n’a pas de processus de certification. Cela prend généralement environ trois jours mais peut prendre plus de temps que cela pour diverses raisons. Une fois la construction réussie, nous initions SelPub à un groupe de ~ 25 utilisateurs externes et leur permettons de donner un retour final sur la mise à jour avant sa sortie complète. Cela peut prendre environ une semaine et est la dernière étape avant que la version ne soit mise en ligne. Ce qui suit est un regard en profondeur sur l’ensemble du processus.

Des bugs sont générés en test en relation avec diverses tâches et tests réussis. Ceux-ci comprennent, mais sans s’y limiter:

  • Build Verification Testing (BVT)
    • Scénarios de test de base lorsque de nouvelles générations sont générées à partir de la ferme d’ingénierie / construction
  • Test de vérification des correctifs (FVAR)
    • Tests ciblés autour de nouvelles modifications du code et du contenu quotidiennement
  • Réussites aux tests fonctionnels
    • Tests ciblés autour de zones spécifiques du titre sur des cadences semi-régulières
  • Test de conformité (CERT / Accessibilité / GEOPS)
    • Des tests ont été effectués sur l’intégralité du titre pour nous assurer que nous sommes conformes à la certification Xbox / Windows, aux exigences de la FCC, aux exigences géopolitiques, etc.
  • Test de compatibilité (Compat)
    • Des équipes spécialisées évaluent le titre à travers une pléthore de différents types et spécifications de matériel
  • Test d’acceptation d’étape (MAT)
    • Des tests ont été effectués sur des livraisons de code et de contenu de nos partenaires de développement externes
  • Libérer les tests des candidats (RC)
    • Évaluation de la construction à grande échelle pour verrouiller les candidats pour les versions de vente au détail
  • Test des candidats au vol
    • Évaluation de la construction pour les constructions de vol potentielles avant toute promotion d’anneau de vol

Alors maintenant que vous savez d’où viennent les bugs, parlons de leur cycle de vie! 

Un bogue est identifié et une enquête initiale se produit

  • Cette enquête verrouillera les étapes de reproduction les plus fiables et la gravité du bogue
  • Si le bug est initialement grave, comme un crash qui bloque l’accès aux zones du jeu, le testeur transmet le bug à l’équipe de production en temps réel

Une fois l’enquête initiale terminée, le bogue est enregistré dans notre base de données de bogues interne

  • Le bogue doit avoir un aperçu de la zone, de la gravité, de la description, des étapes de reproduction, de l’impact, des résultats attendus, du support et d’une affectation

Le bug est évalué par une ou plusieurs personnes considérées comme des “Redliners”

  • Redliners examinera chaque bogue déposé et s’assurera que toutes les informations requises sont présentes avant d’envoyer le bogue à Triage (le triage est une réunion où une collection de personnes de toutes les équipes discutent d’un bogue et aident à déterminer ce qui se passe avec) .
  • Les bogues qui ne disposent pas de toutes les informations requises sont renvoyés au testeur pour plus d’informations.

Une (ou plusieurs) fois par jour, Triage passera en revue chaque nouveau bogue déposé pour cette journée

  • Cette évaluation peut résoudre de nombreuses façons, mais généralement:
    • Attribué à Design pour entrée
    • Attribué à Test pour plus d’informations
    • Affecté à la production pour discussion d’impact
    • Attribué à l’ingénierie pour un correctif

Une boucle de triage peut se produire, où elle est attribuée à et depuis Triage jusqu’à ce que la priorité appropriée soit donnée au bogue, ou jusqu’à ce que toutes les informations soient clairement décrites. 

  • Étant donné que MCC a des titres qui ont déjà été publiés plusieurs fois, Triage a souvent besoin de savoir si un bogue se produit dans les versions précédentes du MCC ou même dans les versions héritées.
    • Actuellement, Halo 2 prend le plus de temps à vérifier car nous devons parfois revenir sur les versions précédentes du MCC, H2V et H2 Back Compat pour un seul problème
    • Comprendre quand quelque chose s’est cassé nous aide non seulement à établir des priorités, mais également à comprendre le risque potentiel de changer le code dans les parties héritées du titre
  • Un bogue peut être priorisé pour un correctif immédiatement, priorisé à une date de correctif ultérieure, déplacé dans le backlog pour une réévaluation future, ou résolu comme non-correctif (tel que By Design ou Won’t Fix). 

Une fois que le bogue a été résolu au testeur qui l’a déposé, le testeur doit alors acquérir une nouvelle version qui contient le correctif.

  • Il s’agit souvent de la génération générée le lendemain de l’archivage du correctif, mais peut parfois être plus longue en raison de plusieurs facteurs

Lorsque la version contenant le correctif est livrée, le testeur vérifie que non seulement le bogue d’origine est corrigé, mais qu’aucun nouveau bogue n’a été créé autour du correctif en conséquence

  • Si le bogue est corrigé tel qu’écrit et que le correctif est stable et sain, le bogue est fermé.
  • Si le bogue se produit toujours tel qu’écrit, le bogue est réactivé et renvoyé à Triage avec de nouvelles informations pertinentes
    • Répétez à partir de l’étape 4
  • Si le bogue ne se produit plus mais que des bogues nouveaux ou similaires se produisent en raison du correctif, de nouveaux bogues sont déposés
    • Répétez à partir de l’étape 1

Pour les bogues détectés via les problèmes signalés par la communauté, tels que ceux signalés au support Halo ou collectés sur les réseaux sociaux, ajoutez ces étapes au début du processus :

  • La liaison de test analyse les «compartiments» pour identifier les rapports exploitables ayant le plus grand impact sur les joueurs
    • Souvent, l’agent de liaison doit demander des informations supplémentaires, que l’agent de soutien Halo recueille en s’adressant au journaliste d’origine.
  • Sur une base régulière, les agents de soutien Halo remettent ces «seaux» à une liaison de test interne pour enquête.
  • Un agent de support Halo collecte toutes les informations disponibles et crée un “ensemble” de problèmes similaires
  • Un joueur trouve un bug et le signale sur Halo Support
  • Les rapports exploitables / à fort impact sont priorisés pour enquête et remis à l’équipe de test en tant que tâche
    • À partir d’ici, le cycle de vie normal des bogues ci-dessus se produit
  • Une fois le bug résolu / corrigé, l’agent de support Halo est averti et tous les joueurs qui ont déposé des rapports dans les “compartiments” adressés sont informés que leur problème a été corrigé

Test de version! Qu’est-ce que ça veut dire? Il s’habitue beaucoup mais peut ne pas signifier grand-chose tant que vous ne savez pas comment cela fonctionne! 

  • Un objectif est défini pour un lancement de titre ou une mise à jour du jeu vers Retail
    • Plusieurs conditions de version doivent être remplies avant qu’une version soit jugée prête
      • La construction doit répondre aux spécifications décidées et contenir le contenu attendu
      • Tous les bogues identifiés comme devant être corrigés pour la version ont été corrigés
      • <X quantité de bogues de haute priorité sont détectés par jour
      • Aucun nouveau bogue critique n’a été identifié
  • L’équipe de test exécute un BVT et s’il réussit, teste les transitions vers RC
    • Les tests RC comprennent une évaluation de l’ensemble du jeu pour garantir la parité de base avec les versions précédentes et la préparation au lancement
  • Une fois que les conditions sont remplies, l’équipe de production informe l’équipe de test que nous sommes prêts pour la version Release Candidate Testing (RC)
  • Les tests RC durent en moyenne 2 semaines en raison de la taille et de la nature du MCC
    • Pendant RC, la version sera mise à jour (revved) pour que l’équipe de test vérifie activement les correctifs requis avant le lancement
    • Dans certains cas, les modifications apportées à la version sont si importantes que les tests RC doivent être entièrement redémarrés pour garantir la stabilité des modifications de contenu dans les zones qui avaient déjà été testées.
      • Souvent, cela se produit après une «reconstruction de contenu» ou un changement qui force le contenu du jeu à être régénéré pour refléter la mise à jour la plus récente
        • Les reconstructions de contenu sont également la raison pour laquelle les tailles de mise à jour peuvent être si importantes au moment de leur publication.
    • Si de nouveaux bogues critiques sont détectés pendant les tests RC, ces bogues doivent être priorisés pour un correctif par Triage avant de publier la version
  • Une fois que l’équipe peut réussir les tests RC (principalement lorsque tous les bogues actifs requis sont corrigés ou résolus), la version est envoyée à la certification Xbox / Windows Store
    • Les tests de certification prennent au moins 3 jours; cependant, cela peut prendre plus de temps en cas de modifications de la page Store, de nouveaux modules complémentaires ou de grandes tailles de mise à jour
  • Une fois que la version est passée à la certification, nous la publions dans un groupe de vol externe privé de ~ 25 personnes.
    • Ceci est connu sous le nom de publication sélective (SelPub) et dure généralement environ 1 semaine.
      • Cette fenêtre d’une semaine correspond généralement au délai entre la réussite de la certification et la publication au détail
      • Si des bogues critiques ou cassant le jeu sont détectés dans SelPub, la version doit être extraite de la certification et une nouvelle version doit être soumise contenant les correctifs.
        • Si cela se produit, répétez à partir de l’étape 2
  • Une fois que nous sommes confiants avec les résultats SelPub, Test donne la signature et la version peut être publiée.

Il y a beaucoup de pièces individuelles qui entrent dans ce processus, mais les informations rassemblées par le test aident à brosser un tableau de ce qu’est un bug, de son impact et à informer tous ceux qui l’ouvrent à nouveau sur le vrai problème.

CONCEPTION

Le design est une discipline complexe qui couvre tous les domaines de la raison pour laquelle quelque chose fait ce qu’il fait dans les jeux. Les aspirations de conception sont la raison pour laquelle une arme tire à un certain rythme et pourquoi un menu agit comme il le fait. Chaque action intentionnelle présente dans un jeu a des liens avec le design. Ci-dessous, Max Slzagor, directeur du design de l’équipe de publication, a aidé à nous fournir quelques détails sur la place du design dans les bogues et sur ce qui se passe dans le processus décisionnel.Quel est l’aspect le plus important d’un bug pour vous?

L’aspect le plus important d’un bug pour nous est de savoir comment nous le priorisons et quand et si nous devons le corriger. Cette dernière partie semble folle, alors laissez-moi vous expliquer. Halo: The Master Chief Collection contient maintenant de nombreux moteurs de jeu et, selon la façon dont vous comptez, comprend plus de 20 ans de développement de code. Il y a des bugs hérités que la communauté préfère laisser seuls avec des bugs qui sont plus récents et ne fournissent pas l’expérience que nous voulons à nos joueurs. La correction de tout bug a également la possibilité de créer de nouveaux bugs ou de changer le gameplay d’une manière qui diminue l’expérience du joueur. Chaque fois que nous évaluons des bogues, nous devons prendre en compte la gravité, la fréquence, le comportement hérité et l’impact de l’expérience du joueur sur ce bogue par rapport à tous les autres travaux de développement et bogues corrigés.Comment gérez-vous les bogues signalés par la communauté?

Tous les bogues sont initialement filtrés par le groupe de triage et se voient attribuer une variété d’étiquettes, dont l’une est la balise de communauté. Nous considérons attentivement chaque bogue signalé par la communauté, en particulier dans les cas où il est signalé par plusieurs personnes. La chose clé que nous devons considérer est qu’il n’y a pas de groupe communautaire unique qui joue Halo. Nous avons une communauté de personnes qui ont commencé à différents moments de la franchise, sur différentes plateformes et qui jouent de manière fondamentalement différente. Certains membres de la communauté sont nouveaux et certains jouent à Halo depuis le début. Certains sont des joueurs multijoueurs classés très compétitifs tandis que d’autres sont plus décontractés. Certains membres de la communauté préfèrent jouer à la campagne, d’autres en coopération avec Firefight et d’autres se concentrent sur la création de nouveau contenu dans Forge. L’équipe de conception doit faire sa propre forme de triage qui tient compte des diverses demandes et priorités de la communauté ainsi que de nos propres objectifs de conception et feuille de route. Il s’agit d’un processus décisionnel difficile qui évolue avec le temps. Nous sommes reconnaissants à tous les membres de la communauté et à leurs demandes et nous nous efforçons de faire de notre mieux pour équilibrer les décisions entre tous les joueurs de Halo.Qu’est-ce qui, pour vous, représente un bug de haute priorité?

Un bug de haute priorité est paralysant l’expérience du joueur, très fréquent, ou dans de nombreux cas, les deux. Un autre exemple serait une régression des fonctionnalités des fonctionnalités des versions précédentes du MCC. Des exemples de bogues de haute priorité seraient des plantages, des verrous logiciels ou le fait de ne pas pouvoir jouer une partie du jeu.Que faites-vous dans le cycle de vie d’un bug?

Le groupe de triage a accumulé beaucoup de connaissances sur les bogues et les personnes à impliquer à chaque étape du processus. Dans certains cas, il n’y a pas de solution claire au bogue et il est affecté à la conception pour évaluation. À partir de là, l’équipe de conception déterminera si le bogue est un problème hérité ou quelque chose de nouveau. S’il s’agit d’un problème hérité, nous décidons si la correction du bogue est une nette amélioration de l’expérience ou si elle a un impact négatif sur la façon dont les gens se souviennent et préfèrent jouer au jeu. S’il ne s’agit pas d’un bug hérité, nous nous tournons vers nos piliers de conception et décidons quelle est la bonne solution. Parfois, nous devons trouver une solution à court terme pour améliorer l’expérience et également élaborer un plan pour une solution à plus long terme, ce qui pourrait prendre plusieurs mois. Nous évaluons et discutons différentes solutions avec l’équipe. Dans certains cas, il est nécessaire de mettre à jour la documentation de conception existante pour couvrir les questions soulevées par le bogue afin que nous puissions rationaliser le processus de décision et de solution à l’avenir. Avec chaque version, nous affinons également les objectifs et collaborons avec les équipes de triage et de production pour améliorer continuellement l’évaluation des bogues à l’avenir.

PRODUCTION

La production est la partie de l’équipe qui aide à s’assurer que tout est en cours de développement. Les chefs de projet aident à déterminer les éléments à réaliser pour atteindre les jalons et terminer les éléments d’un projet. Ils aident également à attribuer le travail lié aux bogues dans le processus et aident à déplacer les éléments tout au long du cycle de développement pour les correctifs et les versions à venir.

Cette section décrira comment la production évalue et travaille de concert avec d’autres équipes sur la vie d’un bug. Michael Fahrny, producteur principal de l’équipe d’édition, nous a donné son point de vue ci-dessous.Quel est l’aspect le plus important d’un bug?

Je vais décomposer cela en quelques sections et quelques questions que nous revenons régulièrement du côté de la production:

Le bug a-t-il un sens? Puis-je comprendre ce qui se passe ici?

Si je peux, le prochain processus de réflexion est quel est l’impact sur le joueur ? C’est généralement l’aspect le plus important pour nous. En regardant le produit dans son ensemble, nous voulons aussi peu de bugs que possible qui ont un impact négatif sur la majorité de notre base de joueurs.

Où cela s’inscrit-il dans notre feuille de route de développement actuelle?

Est-ce risqué à résoudre? S’il s’agit d’un problème hérité, devrions-nous même essayer, vaut-il le risque de déstabiliser potentiellement l’ensemble du produit?

Est-ce quelque chose que nous pouvons corriger correctement, ou est-ce que cela ne fera qu’ajouter au seau de la dette technologique? (Sommes-nous en train de donner un coup de pied dans la boîte sur la route?)Comment gérez-vous les bogues signalés par la communauté?

La réponse courte ici est la même façon dont nous traitons tous les bogues. Nous les jugeons par rapport à toutes les questions ci-dessus, nous les évaluons par rapport à l’impact du joueur, puis nous les intégrons à notre flux de travail, le cas échéant. Ils sont sur un pied d’égalité avec nos bogues internes dans le cadre de notre processus de triage quotidien.Qu’est-ce qui, pour vous, représente un bug de haute priorité?

J’y suis allé un peu plus haut mais les bugs qui impactent le plus les joueurs sont ce qui compte vraiment pour moi. Il s’agit notamment de choses comme:

  • Crashes
  • Problèmes de stabilité et de performances
  • Régressions de fonctionnalité
  • Tout ce qui fait que les joueurs prennent plus de temps pour entrer dans un mode de jeu
  • Grands problèmes hérités qui en retirent trop de l’expérience de base Halo

Que faites-vous dans le cycle de vie d’un bug?

La production est le gardien ici – tous les bogues doivent nous traverser avant que quiconque ne les touche.

Nous avons un triage quotidien des insectes qui est celui, ne touchez pas, ne bougez pas, pleuvoir ou briller, cette réunion doit avoir lieu tous les jours. Il s’agit de garantir que les informations et les priorités continuent de circuler correctement dans toute l’équipe.

INGÉNIERIE

Chaque discipline d’une équipe permet de gérer divers bugs pour diverses raisons. Que ce soit pour aider à organiser le flux de travail, mener des enquêtes, faire des appels pour savoir si cela vaut le temps investi, vaut le risque et d’autres décisions diverses dans le processus d’un bug. Les ingénieurs sont les assistants du développement de jeux. Ils aident à rassembler les désirs et les désirs de chacun et permettent à tout dans un jeu de se produire. Sans code, les jeux n’existeraient tout simplement pas. Voici le point de vue de Sean Cooper sur le rôle et une ventilation de la place des ingénieurs dans la vie d’un bug.Quel est l’aspect le plus important d’un problème du point de vue de l’ingénierie? 

Je ne pense pas qu’un aspect puisse être distingué comme le plus important. C’est plutôt flou. Il y a plusieurs aspects qui doivent être pondérés ensemble. À partir de là, vous commencez à avoir une image plus claire non seulement de l’impact du problème, mais aussi des questions que les autres parties prenantes (en particulier les non-ingénieurs) ont généralement. N’oubliez pas que les problèmes ne concernent pas uniquement les ingénieurs, mais aussi l’art / la conception / la production. 

  • Est-ce un problème ou une conception mal communiquée?
    • Cela pourrait être attribué à un problème que j’ai eu dans Reach: «Le taux de tir de l’IA est considérablement augmenté dans Legendary Firefight»
    • Lorsque vous comparez Reach sur 360, qui met à jour le jeu et les images à 30 Hz, à Reach dans MCC, qui met à jour à 60 Hz, il semble que l’IA tire plus rapidement. 
    • Cependant, lorsque vous ralentissiez les jeux, vous commenciez à voir où la fumée et les miroirs étaient utilisés à 30 Hz. Pour atteindre la vitesse de tir spécifiée par leur concepteur pour la difficulté donnée, toutes les quelques images, l’IA devait tirer deux coups dans la même image. Avec 60 Hz, il y a une plus grande précision / fidélité dans le jeu et les mises à jour visuelles. Ainsi, le nombre de photos prises par l’IA est plus clairement visible. 
  • Est-ce un problème ou s’agit-il désormais d’une fonctionnalité :)?
    • “H2: CAMP: PLAY: SKULLS – La corne de phacochère et d’autres armes de véhicule tirent incorrectement des tours de Scarab lorsque le Scarab Skull est activé” 
    • C’était décidément une caractéristique. J’ai désactivé le correctif que quelqu’un a mis pour cela. 
  • Quand le problème a-t-il été introduit? 
    • Était-il présent dans la version originale?
    • A-t-il été introduit dans MCC vers 2014?
    • A-t-il été introduit récemment et n’était pas présent dans la précédente CU (mise à jour de contenu)?
    • Avons-nous déjà envoyé le problème aux clients? 
  • Quelles sont les étapes de repro? 
    • Autrement dit, quelles sont les étapes à suivre pour reproduire la chose décrite comme un problème? 
  • Quel est le taux de repro?
    • Autrement dit, lors de l’exécution des étapes de repro X fois, quelle est la vitesse à laquelle cela se produit? Si vous effectuez les étapes de repro 5 fois et que cela ne se produit que 4 fois, vous recherchez un taux de repro de 4/5, ou 80% du temps où le problème se produit. 
  • Sur quelles plateformes le problème se produit-il? Tout? PC uniquement? 
  • Le problème se produit-il le long du chemin d’or? 
    • Autrement dit, un utilisateur atteindra-t-il cela en jouant normalement?
    • Ou doivent-ils se tenir sur la tête, répéter «Regret, Regret, Regret», pendant qu’ils spamment les boutons X et Y pendant une demi-seconde de temps sur un écran de chargement? 
  • Le problème bloque-t-il le test d’autres fonctionnalités? 

Ces aspects / faits et plus aident à prendre une décision éclairée pour décider de la priorité et de la gravité d’un problème. Celles-ci sont généralement pondérées avec un nombre allant de 1 à 4 (nous ne sommes pas une maison qui suit Pri / Sev 0). À partir de là, vous pouvez maintenant équilibrer un problème par rapport à la liste sans cesse croissante de problèmes et de fonctionnalités. Tous sont programmés pour un sprint donné, qui concerne une version / CU spécifique. Comment gérez-vous les problèmes signalés par la communauté? 

Il s’agit généralement d’un domaine de préoccupation pour la conception et la production. Parfois, j’entends des problèmes que la communauté exprime avant qu’ils ne soient correctement classés dans notre base de données de problèmes et triés. Parfois, je sais à peu près ou exactement quel domaine du code peut introduire le problème et peut prendre une longueur d’avance sur les enquêtes, ou même un correctif. Qu’est-ce qui représente pour vous une question hautement prioritaire? 

Généralement, pour moi, si un problème empêche une fonctionnalité d’être utilisée ou QA de tester quelque chose. Surtout si c’est quelque chose que je peux réparer. Chacun devrait être libre de faire son travail sans friction. 

Un exemple est lorsque nous demandons à QA de reproduire un problème dans une version de débogage afin que nous ayons des journaux, seulement pour découvrir qu’ils ne le peuvent pas parce qu’un autre changement est intervenu et a cassé la version de débogage, tout en n’ayant apparemment pas d’impact sur la version d’expédition. Que faites-vous dans le cycle de vie d’un problème? 

Parfois, je participe à des réunions de triage pour aider à informer sur les problèmes. Cela pourrait être de noter que j’ai vu un CL (liste de changement) qui a été soumis qui a probablement causé cela. Ou pour noter à qui nous pourrions attribuer le problème pour de plus amples investigations ou pour corriger. 

Toutes les autres fois, je reçois un problème pour obtenir des commentaires, mais je ne dois pas apporter de modifications pour l’instant car il a besoin de plus de données avant d’être traité. Cela pourrait être pour une évaluation des risques, des idées initiales sur ce que le problème peut être causé par, ou dans certains cas, on me confie un problème pour enquêter et / ou me résoudre.  Quels sont les problèmes les plus difficiles que vous avez rencontrés sur MCC? 

À peu près tout ce qui concerne la mise en réseau Halo 1. C’est un moteur très ancien. Il y a eu quelques améliorations au fil du temps au niveau de l’architecture. Par exemple, l’année dernière, j’ai tout changé de C en C ++, ce qui facilite l’intégration de certains changements des jeux ultérieurs. Cependant, son architecture de mise en réseau et de simulation ne correspond à aucun des jeux Halo ultérieurs, et l’outillage de débogage orienté jeu est très primitif ou inexistant. Ce qui rend l’enquête sur les problèmes encore plus longue.  

En outre, le réseau coopératif Halo 2. Les problèmes liés à ce domaine du MCC ont été parmi les premières choses qui m’ont été confiées en 2018. Et encore une fois, le mois dernier. Une partie de cela est liée au fait que H2 n’a jamais coopéré en réseau avant le MCC. L’autre partie a été compliquée par le moteur de jeu remasterisé. Avant les travaux récents que je devais faire, le processus de chargement était Charger le niveau remasterisé -> Connecter tous les pairs -> Charger le niveau hérité -> Jouer. Le problème réside dans le temps qu’il faut pour charger le niveau remasterisé. 

Une machine fonctionnant sur un SSD pourrait se charger en disons 30 secondes, tandis qu’une autre machine peut basculer un HHD externe très lent et prendre 90 secondes pour se charger. Cependant, nous laissons les pairs attendre les uns les autres si longtemps avant de retourner au frontend (je pense que c’est environ 45 secondes). Ainsi, la première machine se charge en 30 secondes, puis expire après 45 secondes supplémentaires, puis 15 secondes plus tard, l’autre machine est comme “Je suis prêt, et vous?” et attend 45 secondes, sans se rendre compte que l’autre a déjà abandonné. 

Donc, même si cela ne ressemble pas à cela, il y avait beaucoup de travail pour réorganiser les choses à Connect All Peers (Pregame) -> Charger le niveau remasterisé -> Charger le niveau hérité -> Jouer (dans le jeu). 

  • Les niveaux hérités se chargent rapidement, mais il existe de nombreuses hypothèses préexistantes du code du moteur remasterisé qu’il charge en premier avant le niveau hérité. 
  • Ensuite, vous devez gérer le cas où vous jouez de niveau en niveau. Cela implique de toucher à la logique du cycle de vie dans le jeu, qui est différente du cycle de vie du pré-jeu. 
  • H2 n’est pas non plus conçu pour exécuter la mise en réseau sur un thread différent, sauf si la boucle principale du moteur n’est pas en cours d’exécution. Ainsi, il y a une danse prudente pour s’assurer que le réseautage n’est jamais privé de temps à traiter pendant les phases de chargement. Sinon, une machine risque de ne pas envoyer de trafic et de faire en sorte que l’hôte ou une autre machine les considère comme expirés et ferme la connexion. 
  • Il y avait aussi beaucoup de ruban adhésif que j’ai remplacé à la place par du code / des workflows éprouvés et déjà trouvés dans Halo 3. 
  • Ensuite, j’ai dû vérifier que toutes mes modifications fonctionnaient bien avec la coopération régulière, la coopération en liste de lecture, la campagne solo et le multijoueur (qui a différentes voies de code et aucun chargement de niveau remasterisé). 

Merci, Scoops, d’avoir aidé à réduire l’impact de l’ingénierie sur les bogues. Et c’est tout, la vie d’un bug.

Tout le monde a son rôle à jouer, et nous espérons que cela vous a donné un peu plus de contexte (et de clarté) concernant non seulement la complexité de la façon dont un problème est sélectionné et résolu, mais également l’importance de classer ce ticket sur Halo Support et de vous impliquer.

Et en parlant de problèmes qui ont reçu de nombreux billets, jetons un coup d’œil aux gros problèmes qui viennent du récent lancement de H2 sur PC.

PROJECTILES HALO 2 ET HALO MAUDIT 3

Avec la sortie du jeu de ce mois-ci, nous avons eu une poignée de problèmes qui ont été révélés dans les premières heures de lancement. Aussi malheureux que cela ait été, l’équipe a travaillé avec diligence dans toutes les disciplines et tous les studios pour isoler, résoudre et publier un correctif pour cela tout en gardant la communauté au courant de l’état de ces changements en cours de route (et comme vous le savez, tout en étant éparpillés du travail à domicile pendant la quarantaine). Ci-dessous, Scoops nous guidera à travers ces problèmes malheureux auxquels nous avons été confrontés.

Le problème des projectiles Halo 2 était amusant…. la première fois que c’est arrivé.

Le problème était lié au code d’interpolation qui a été ajouté assez tard et n’est compilé que dans les versions PC, et involontairement dans la version serveur dédiée. Les versions Xbox ne compilent pas le code d’interpolation. Un changement pour l’interpolation a été dans une fonction qui obtient la position de caméra d’un bipède. Les joueurs contrôlent les bipèdes. Il y a tout au plus quatre acteurs locaux, ou «utilisateurs». Cette fonction a été modifiée afin de pouvoir être mise à jour et lue à partir des données d’interpolation pour l’utilisateur contrôlant ce bipède. Cependant, il ne gérait pas le cas où l’utilisateur contrôlant le bipède n’existait pas sur cette machine. Ainsi, l’index utilisateur pour les bipèdes non locaux serait -1, ce qui a ensuite entraîné l’écriture et la lecture d’une mémoire entièrement différente dans l’état d’interpolation. Bien, cela est encore compliqué par le fait que ce même chemin de code est utilisé par la fonction qui crée les projectiles d’une arme. Parce que pour ce faire, le jeu doit savoir où se trouve le joueurla caméra visait. En ce qui concerne les joueurs hôtes et distants, le même chemin de code est toujours utilisé, mais en utilisant l’état de tir prévu de l’arme du joueur distant. Toutes les armes ne sont pas tirées de la même manière prédictive, c’est pourquoi certaines armes infligeraient des dégâts, tandis que d’autres ne le feraient pas. 

Le correctif ici était un, pas de compiler le code pour le serveur dédié, mais aussi deux, se prémunir contre les cas où l’index utilisateur était -1. 

Halo 3 a diverses réalisations liées aux joueurs qui regardent des points très spécifiques sur des cartes très spécifiques. L’une de ces cartes est Valhalla (connue en interne sous le nom de Riverworld). Le code qui a effectué ces vérifications, une fois de plus, a obtenu l’index d’utilisateur pour un joueur donné… mais n’a pas réussi à vérifier qu’il n’était pas -1, ce qui signifie que le joueur n’était pas local sur la machine. Il faudrait ensuite cet index utilisateur et l’utiliser pour lire et écrire à partir d’un tableau statique qui suivait la durée pendant laquelle les joueurs regardaient le signe sur Valhalla qui a déclenché la réussite après deux secondes. 

En fait, dans la version Xbox livrée avec la sortie de Halo 2, les données immédiatement avant ce tableau statique étaient le pointeur vers une adresse où nous mappons de la mémoire physique. Que mettons-nous dans la mémoire physique? Tout ce truc! Données de jeu, textures, vous l’appelez! Eh bien, les choses ne fonctionnent pas si bien si vous dites, zapper ce pointeur avec un zéro (alias, NULL) ou lui affecter un temps de jeu qui est très pas une adresse valide ou plus entertainingly, il est une adresse valide et vous obtenez de très mauvaises choses à apparaître avant de planter. 

Pour aggraver les choses, l’ordre dans lequel les données statiques apparaissent dans l’exécutable ne sera pas toujours le même. Un nouveau code est ajouté, une partie est supprimée ou une machine de génération différente est utilisée sur la batterie de serveurs de la génération précédente. Ainsi, il pourrait sembler que cela “fonctionne sur ma machine!”, Ou vous chargez une version de débogage et rien ne va de travers. Maintenant, vous devez examiner les choses dans une build sans code de débogage et avec toutes les optimisations possibles activées. Ce n’est jamais amusant. 

Quoi qu’il en soit, la solution? Vérifiez -1. Ne faites pas tout ce truc. Problème résolu. 

Voici une image du code qui faisait finalement The Bads. Cela vit dans MCC depuis 2014. Il s’avère que les mines terrestres ne se limitent pas au gameplay de Halo 3, mais aussi au code. 

Il est devenu bon depuis. Ce qui est plus que ce que je peux dire pour mon rapport K / D. Cela reste à régler. 

Qu’en est-il de cet autre problème, vous savez, celui des manèges fantômes et des fouets? Dans les efforts qui se poursuivent dans les coulisses pour certains autres travaux, nous avons fini par faire deux fautes de frappe non immédiatement évidentes sur deux lignes liées à la réplication d’objets. Il s’agit du processus qu’un hôte suit et informe les clients sur les objets du jeu et leur état. L’hôte fournit aux clients les données de réplication nécessaires pour que le client puisse exécuter la simulation du jeu de manière prédictive. Eh bien, les fautes de frappe sont liées à un changement dans la façon dont certains indicateurs ont été définis. Sur les deux lignes, nous avons fini par laisser de côté une ligne de procédure qui éliminerait les drapeaux préexistants. Cela était nécessaire car le code est lié à la réutilisation des données de réplication de l’état précédemment utilisé (plus efficace pour allouer une grande table contiguë puis utiliser / free selon les besoins sans redimensionner la table allouée). Donc, 

Il y a également eu d’autres modifications qui ont augmenté la taille de certaines structures qui sont allouées à partir du segment de réseau. Fondamentalement, il s’agit d’une zone de mémoire fixe où les allocations relatives aux opérations de mise en réseau sont conservées. Halo 3 avait toujours la même taille de segment de réseau que dans les jours Xbox 360: 1,5 Mo. Nous avons depuis augmenté cela. Le fait de manquer de mémoire de segment de réseau n’est pas une erreur critique, au moins cela ne plantera pas votre jeu. Mais cela entraînera des problèmes pour essayer d’allouer de nouvelles entités de simulation pour suivre l’état des objets de jeu, parmi de nombreuses autres opérations de réseau / simulation. 

Étiez-vous en train de vous diriger vers un Brute Chopper, en essayant d’entrer, seulement pour ne pas entrer et apparaître comme si le véhicule imitait vos mouvements? Eh bien, il est plus que probable que l’hôte, ou peut-être votre jeu, a manqué de mémoire réseau pour suivre l’événement qui a dit que vous conduisez maintenant ce véhicule afin que votre état client devrait entrer dans l’hélicoptère. Ou il a rencontré les indicateurs de réplication mentionnés précédemment qui n’étaient pas réinitialisés correctement avant réutilisation. 

Halo maudit peut être amusant. Avec moderation. 

ÉTAT DES LIEUX AVEC FARNS 

Eh bien, quel mois depuis la dernière mise à jour. Nous avons beaucoup progressé sur les objectifs de développement, nous avons lancé Halo 2 et nous avons commis des erreurs qui nous obligent à ajuster certains de nos processus. Nous sommes entrés dans les détails assez détaillés ci-dessus à propos de notre processus de bogue, donc je n’entrerai pas dans plus ici, mais je vais vous laisser avec mes réflexions à ce sujet: En tant qu’équipe, nous nous efforçons toujours de faire de notre mieux avec chaque version du jeu en termes de qualité du produit, d’attention aux détails hérités, aux désirs / besoins de la communauté et maintenant aux jeux de fonctionnalités PC ajoutés. Ces versions ont été et continueront d’être une expérience d’apprentissage pour notre équipe. Le MCC est un produit LARGE et il peut être très difficile de s’assurer que tout est à 100% où il devrait être – parfois des choses seront manquées. Nous vous promettons que nous réagirons le plus rapidement possible à de telles situations. Nous faisons constamment évoluer notre processus afin de prendre de nouvelles façons d’être plus efficaces avec notre développement et de donner à notre équipe de test la certitude qu’ils obtiennent le temps dont ils ont besoin pour garantir une couverture adéquate.  

Maintenant, pour les morceaux juteux ci-dessous. Beaucoup de choses ont été déplacées et / ou mises à jour, regardez! 

PRINCIPAUX ENJEUX COMMUNIQUÉS

Vous trouverez ci-dessous une mise à jour de l’état des principaux problèmes connus dont nous avons déjà discuté? Dans les mises à jour de développement MCC antérieures depuis décembre ( décembre ,  janvier ,  février ,  mars et avril ). Comme les mises à jour sont effectuées entre les blogs, vous pouvez toujours consulter le dernier état discuté dans les mises à jour de développement et de vol MCC ( https://aka.ms/FridayDevFlightUpdateMCC ), et veuillez également consulter les problèmes connus trouvés sur le  site de support Halo pour les derniers détails. Sachez que bien que notre priorité n ° 1 se dirige vers la sortie de H3 et du reste du MCC sur PC, l’équipe progresse toujours sur divers problèmes de backlog et demandes de fonctionnalités. La portée et les implications de ces problèmes varient considérablement, alors que certains peuvent voir un bon mouvement au cours d’un mois donné, d’autres non.  

  • Performances Xbox: l’  amélioration des performances pour HCE, Halo 2 et Halo 3 a été intégrée au lancement de Halo 2, nous continuons d’enquêter sur les problèmes de performances signalés supplémentaires pour chaque titre et continuerons de mettre à jour avec chaque version. 
  • Propagation du pistolet pour H: CE MP avec un FPS plus élevé:  le correctif a été déployé avec la version H2s, nous recueillons des commentaires et enquêterons sur tous les rapports sur ce problème qui persistent et qui traversent la communauté. 
  • Problèmes audio:  Au cours du mois dernier, nous avons frappé durement ce domaine avec les tests, notamment en allant à une partie du groupe de vol Ring 1 pour les tests. Nous corrigeons actuellement les quelques problèmes restants et terminons les tests de notre côté. Une fois cela fait, cela sera publié dans un vol ou via un patch / version pour recueillir des commentaires supplémentaires.  
  • Problème de bégaiement:  Aucun développement actif n’est en cours pour le moment, mais nous continuons d’enquêter.
  • Performances du menu:  nous avons apporté quelques améliorations dans ce domaine qui sont prévues pour une future mise à jour. Si vous rencontrez des problèmes avec cela, veuillez soumettre un ticket sur le  site de support Halo .
  • Screen Tearing / Vsync:  certains bugs qui ont été corrigés autour de ces problèmes arriveront dans notre prochaine version tandis que nous continuons à améliorer cela au fil du temps. Si vous rencontrez des problèmes avec cela, veuillez soumettre un ticket sur le  site de support Halo .
  • Co-Op Latency:  Aucune mise à jour sur celui-ci. Il n’y a aucun développement actif autour de l’amélioration / réécriture du code réseau autour de cette zone du jeu. 
  • Liaisons à double clé:  Ce travail a été vérifié comme fonctionnant pour Reach et est maintenant dans le processus de planification pour la fusion dans notre branche principale et les tests et vols étendus. Il y a encore du travail à planifier et à exécuter pour apporter cette fonctionnalité aux jeux restants.
  • Entrée de la souris: il s’agit d’un domaine du jeu que nous continuerons de surveiller et d’améliorer là où nous le pouvons. Si vous rencontrez des problèmes avec cela, veuillez soumettre un ticket sur le  site de support Halo .
  • Afficher le modèle:  Ce travail a été vérifié comme fonctionnant et est maintenant dans le processus de planification pour la fusion dans notre branche principale et les tests étendus, puis la publication.
  • Matchmaking Idle Stops:  Ceci est toujours sur notre liste mais rien de nouveau à partager sur celui-ci alors que nous essayons de résoudre des problèmes de priorité plus élevée.
  • Aide à la visée : aucune mise à jour à ce sujet actuellement.
  • Problèmes de réussite et tickets de support:  nous avons continué de corriger les bogues liés aux problèmes de réussite signalés. S’il y a des réalisations avec lesquelles vous rencontrez toujours des problèmes, veuillez soumettre un ticket sur le  site de support Halo .

CARACTÉRISTIQUES MONDIALES ET ÉTAT DU DÉVELOPPEMENT

Il y a des fonctionnalités supplémentaires dont nous savons que la communauté a discuté et souhaite améliorer l’expérience globale des joueurs. Au fur et à mesure que nous terminerons le travail, redéfinirons les priorités ou déplacer les éléments à travers les phases de développement, nous informerons la communauté de ce qui monte sur la liste, de ce qui a été ajouté et de son emplacement.Activement en développement

  • Améliorations du système de progression, y compris les défis  (vol initial avec H2, le développement se poursuit et progresse bien)  
  • Améliorations UI / UX concernant la navigation, la liste, la personnalisation et de nombreux autres domaines du jeu  (en cours de test dans une branche distincte, seront fusionnés et publiés une fois prêts) 
  • Double Key Binds  (la prise en charge de Reach est testée dans une branche distincte, sera fusionnée et publiée une fois prête)
  • Voir l’ajustement du modèle (en cours de test dans une branche distincte, sera fusionné et publié une fois prêt) 
  • Lien de compte Steam  (en cours de test dans une branche distincte, sera fusionné et publié une fois prêt 
  • Dans le jeu FPS Cap / Adjustments  (en cours de test dans une branche distincte, sera fusionné et publié une fois prêt) 
  • Améliorations de la personnalisation  (ajoutées) 

Dans l’itération de conception

  • Prise en charge de mod supplémentaire
  • Améliorations de la discussion de texte  (redescendu dans l’itération de conception. Il y a d’autres aspects dont nous devons tenir compte, donc le développement est suspendu pendant que nous solidifions la conception)
  • Paramètres / options vidéo supplémentaires
  • Navigateur de jeu personnalisé  (ajouté)
  • Matchmaking basé sur les entrées  (ajouté)
  • Sélection du serveur régional  (ajouté)
  • Jeu croisé entre Xbox et PC  (ajouté)
  • Meilleures façons de signaler les joueurs  (ajouté)
  • Double clé de liaison  (ajouté: support de jeu supplémentaire) 

En retard dans l’attente d’autres discussions

  • Améliorations VFR pour atteindre et H2A  (ajouté)
  • Améliorations du système inactif
  • Apporter des fonctionnalités PC à la console (comme les curseurs FOV)
  • Support d’accessibilité supplémentaire

Comme toujours, il y a probablement des choses que nous avons négligé de mentionner ici. N’hésitez pas à nous contacter à travers les différentes formes de réseaux sociaux et faites-nous part de vos réflexions pour nous aider à construire nos sujets pour le prochain blog de développement.