Cum o linie de cod din TF2 a stricat o caracteristică simplă
Te-ai confruntat vreodată cu un bug minor enervant într-un joc video? Ce zici de unul din 2018? De obicei, nu ai nicio speranță să-l repari, dar de această dată lucrurile sunt diferite. Potrivit hackaday.com, un programator începător abordează cu dificultate repararea unui prop de mingi bouncy care devine invizibil atunci când este lovit în Team Fortress 2.
👉 Problema inițială și cauzele ei
Totul începe cu o soluție temporară care ascunde problema: pur și simplu dezactivează fizica jiggle! Deși această abordare funcționează, afectează și multe alte modele din joc și nu abordează cauza principală. Așadar, este timpul să investigheze. Deoarece această minge este adesea trecută cu vederea, programatorul nu și-a dat seama că ar fi trebuit să aibă fizica jiggle, eliminând-o accidental. Se dovedește că, după ce a căutat pe internet filmări vechi, este într-adevăr destinat să aibă jiggle.
👉 Repararea codului și colaborarea comunitară
Întorcându-se la punctul de plecare, programatorul deduce că osul jiggle care a fost eliminat accidental era legat de problemă, descoperind în cele din urmă că tipul specific de os jiggle folosit (is_boing) a cauzat problema. Timpul de a săpa în cod a sosit. Găsirea problemei nu este o sarcină ușoară pentru cineva care nu a programat niciodată înainte, chiar și cu ajutorul LLM-urilor, dar în cele din urmă, la 4 dimineața, a avut un avans! Minga nu mai devenea invizibilă, dar a păstrat jiggle-ul intenționat.
La limitele cunoștințelor sale despre subiect, programatorul își publică progresul parțial pe GitHub, unde o altă persoană descoperă adevărata problemă și transformă această a doua soluție temporară într-o remediere adecvată. Programatorul își încheie contribuția explicând matematica a ceea ce a mers greșit.