Nie wiem czy występował we wcześniejszych wersjach, odkryłem to niedawno xD Ale też nie wiadomo, czy ja jakiegoś błędu tam nie popełniam, dlatego wrzucam ten przykład na forum.
Ogólnie to można powiedzieć, że GameMaker jest już na tyle legacy, że jest/musi być stabilny i nie ma się czym przejmować .
No i przypadek dotyczy korzystania z json_decode, a nie z korzystania ze struktur danych samych w sobie. Tak jak pisałem wcześniej, rozwiązanie jest takie, że albo sobie implementujemy własny parser JSONa, albo korzystamy z TJSON z marketplace.
Tak jak Gnysek pisał - lepiej jest robić grę i nie dokładać sobie nadmiarowej pracy. Wiadomo, warto też częściowo trzymać się mnemoniki SOLID i ogólnych zasad Clean Code - wtedy, w dużym uproszczeniu, jak natrafisz na jakiś mega duży problem to rozwiążesz go poprzez dodanie kodu, a nie modyfikowanie starego. Nie ma też co się przejmować wyciekami pamięci i tego typu sprawami, jeżeli np. jeszcze nie mamy opracowanego minimal viable product, tak przynajmniej uważam :).