Cum o linie de cod TF2 a distrus această caracteristică simplă
Te-ai confruntat vreodată cu un bug minor și deranjant într-un joc video? Ce zici de unul care datează din 2018? De obicei, nu ai speranțe de a-l rezolva, dar de data aceasta este diferit. Potrivit hackaday.com, acest articol arată abordarea unui programator începător de a (cu mari dificultăți) rezolva o problemă cu un prop în formă de minge care devine invizibilă când este împușcat în Team Fortress 2.
👉 Soluția provizorie inițială și problema fizicii jiggle
Povestea începe cu o soluție provizorie care ascunde problema: pur și simplu dezactivează fizica mișcărilor cu oscilații! Deși această soluție funcționează, afectează multe alte modele din joc și nu abordează cauza de bază. Este timpul pentru o investigație. Deoarece această minge este adesea trecută cu vederea, programatorul nu și-a dat seama că ar fi trebuit să aibă fizica jiggle, îndepărtând-o din greșeală. Așadar, după ce a căutat pe internet înregistrări vechi, a realizat că, de fapt, ar fi trebuit să oscileze.
👉 Identificarea problemei și soluția finală
Întorcându-se la punctul de plecare, programatorul deduce că oscheletul de jiggle îndepărtat accidental era legat de problemă, descoperind în cele din urmă că tipul specific de jiggle bone utilizat (is_boing) a cauzat problema. A fost o provocare mare să identifice problema pentru cineva care nu a programat niciodată înainte, chiar și cu ajutorul LLM-urilor (modele de limbaj de mari dimensiuni), dar în cele din urmă, la ora 4 dimineața, a avut o descoperire!
Mingea nu mai devenea invizibilă, dar păstra mișcarea dorită. Aflându-se la limita cunoștințelor sale în acest domeniu, programatorul își publică progresul parțial pe GitHub, unde cineva descoperă adevărata problemă și transformă această a doua soluție provizorie într-o corectare corespunzătoare. În final, el explică matematica a ceea ce a mers prost.