One thing game devs should learn is ABS: Always Be Shipping.
I learned that working with
@notch As Mojang grew and new coders joined the team, there were complaints about old code/shortcuts/“bad” technical decisions.
My response was usually: without those decisions, none of us would be here. There probably wouldn’t even be a Minecraft if everything had been done the “correct” way from the start.
Games are explorative. You build, test, cut, rewrite, hack things together, and keep moving. A shipped imperfect system beats a perfect system that never makes it into players’ hands.
I’ve never worked on a game where you didn’t have to go back and touch old code/systems later anyway.