Zephyrnet-logo

Maandenlange audioproblemen met Apex Legends veroorzaakt door 'een enkele regel code', bevestigt Respawn

Datum:

Vandaag in "het maken van videogames is moeilijk" nieuws: Respawn's reis om een ​​bug op te sporen die maandenlang audioproblemen veroorzaakte in Apex Legends. Granaten die niet ontploffen, geweren die niet schieten, schade die geen bron heeft en maanden van kwellend onderzoek - allemaal blijkbaar veroorzaakt door een enkele regel code die is toegevoegd in de seizoen 16-update van Apex Legends.

Zoals uiteengezet in een grondige Reddit-post (opent in nieuw tabblad) door Respawn-communitymanager Amy Thiessen begonnen de problemen aan het begin van seizoen 16 in februari. De studio begon meldingen te krijgen van "verdwijnende nades" in Apex. Respawn stelde al snel vast dat granaten niet precies 'verdwenen' waren, maar dat ze soms niet ontploften ondanks schade aan spelers.

"Dit was niet gebeurd tijdens onze playtesting van seizoen 16, kon niet intern worden gereproduceerd na de eerste rapporten en was erg moeilijk vast te stellen met behulp van live gameplay-video's, omdat de oorzaak niet altijd werd getoond in de POV van de speler", luidt het bericht.

Respawn kreeg meer grip op het probleem na het ontvangen van vergelijkbare rapporten over ontbrekende pistoolgeluidseffecten en deeltjeseffecten. "Na een voorlopig onderzoek bleek de hoofdverdachte het systeem te zijn dat onze servers gebruiken om 'start'/'stop'-commando's te verzenden voor verschillende effecten (bijvoorbeeld bepaalde geluiden, deeltjessystemen, natuurkundige inslagen, kogeltracers, explosies)."

Dev Team-update: audio-update oppompen van r / apexlegends

In wezen gebeurde er iets tijdens een wedstrijd dat de limiet van de server voor geluidseffecten of deeltjes kon overbelasten, waardoor sommige geluiden en effecten wegvielen.

"Van daaruit was de theorie dat iets deze motorbeperking zou kunnen overspoelen, waardoor elke seconde duizenden effecten worden aangevraagd!" zegt het bericht. “Maar was dit een systemisch probleem of zou het een enkele entiteit kunnen zijn? Elke seizoensupdate bevat duizenden wijzigingen in activa, code, script en niveaus. Dat betekende zoeken naar een speld in een hooiberg.”

Respawn wendde zich tot statistieken om het probleem op te lossen, maar niets in de telemetrie duidde op een duidelijk probleem. Dit suggereerde voor Respawn dat deze bug een unieke situatie was die hun systemen nog niet eerder hadden gezien.

"Hierdoor zaten we met een complex probleem waarvan we wisten dat het onze gemeenschap beïnvloedde, maar dat ondanks gedetailleerde rapporten moeilijk te reproduceren was, intern minimale leads had en er geen statistieken waren om definitief te bewijzen dat deze limiet überhaupt werd bereikt."

Waar ga je heen vanaf daar? Respawn besloot zijn theorie van overbelaste effecten te testen door opzettelijk Apex Legends-servers te breken. Het team zette een testbuild op gang en bracht 50 personages voort die allemaal tegelijkertijd wapens afvuurden en oneindig veel vaardigheden gebruikten om de belasting van de servereffecten over de rand te duwen. Het werkte - het team kon eindelijk audiodrops reproduceren, vergelijkbaar met de bugrapporten, maar hoe het met echte spelers gebeurde, was nog steeds een raadsel.

“Dit gaf ons het bewijs dat FX zou worden geschrapt, maar alleen met volledig onrealistische testcases. Verschillende aspecten van onze serverprestaties zijn onderzocht, maar er is niets definitiefs gevonden.”

Respawn hield de kwestie nauwlettend in de gaten terwijl seizoen 16 voortduurde. Het team merkte uiteindelijk dat weggevallen audiorapporten meestal afkomstig waren van spelen op hoog niveau. Dit bracht hen op het idee om een ​​serverupdate te implementeren waarmee Respawn nieuwe statistieken kon bijhouden in een kleinere subset van matches, wat meteen tot een doorbraak leidde.

“Toen de serverupdate werd afgerond, vonden we het. Er is vastgesteld dat een enkele regel code de oorzaak van het probleem is. Het nieuwe wapen van seizoen 16.”

Dat wapen is de Nemesis, Apex' nieuwste aanvalsgeweer met burst-fire-energie. De Nemesis heeft een uniek mechanisme waarbij het toebrengen van schade het geweer "oplaadt" en ervoor zorgt dat het sneller schiet (zoals gedemonstreerd (opent in nieuw tabblad) door YouTuber Dazs hierboven). Dit oplaadeffect wordt visueel weergegeven op het pistool door elektriciteit in de loop te laten vonken. Respawn zegt dat een coderegel die bedoeld was om dit effect te vertellen om te "stoppen" terwijl het pistool niet was opgeladen of in het holster zat, zich eigenlijk voor onbepaalde tijd herhaalde voor alle spelers die een Nemesis in hun inventaris hadden.

"Dit betekent dat elke speler met een ongeladen Nemesis elk frame een 'stopdeeltje'-effect op de server zou creëren, en deze coderegel werd zelfs aangeroepen toen het wapen in het holster zat."

Grappig genoeg verklaart dit ook waarom de audiodrops vaker voorkwamen bij spelen op hoog niveau. "14 clients met een Nemesis die draait op 180 fps zou genoeg zijn om FX te laten vallen." Voor een keer waren het de pc-spelers met topspecificaties die een nadeel.

Respawn zegt dat dit ook verklaart waarom de interne tests de bug niet tegenkwamen.

"De builds die voor het testen werden gebruikt, hadden misschien niet genoeg holster Nemesis in het spel, hadden een zeldzamere correlatie met ontbrekende FX, of hadden niet genoeg clients bij die fps - iets voor ons om in gedachten te houden en te verbeteren voor toekomstige tests."

Een patch die vorige week werd geïmplementeerd, heeft de bug eindelijk voorgoed verpletterd. En daar heb je het: een bemoeizuchtige audiobug met een gecompliceerde oorzaak die Respawn op de lange termijn zal helpen soortgelijke bugs op te vangen voordat ze spelers bereiken. Respawn sloot de post af met een terzijde over testen, en herinnerde spelers eraan dat "een minuut spelers die Apex spelen, gelijk staat aan 10 testers die het spel een jaar lang spelen!"

spot_img

Laatste intelligentie

spot_img