I was a firmware engineer for over 30 years, and never found it 'that' difficult.
If the core design is sound, and the coder truly understands what they are doing, then feature creep (introducing new or old bugs with a fix) is manageable.
None of my engineers (or myself when I was coding) was allowed to input a change in the firmware until they fully understood what the change impacted, and had done extensive testing to prove that the fix truly is that and won't bring the house down. And then prove it to me. Doing that with a few million lines of C code takes an above average person/engineer.
And then we'd attend a meeting with the software programmers who talk about their great Agile methodology,and just 'refactoring to functionality' when the software breaks and we'd get a good laugh. And I never ever considered hiring anyone from that group. Actually, I had to hire a few C++ software types so we could design/write our own test software as I had grown tired of waiting for anything useful to come out of that group.
The observed behavior of this game software reminds me of the efforts of that test software group.