Two games I have platinumed on PS4 that I still go back and play are Subnautica and Kerbal Space Program. Not sure if you mean 100% as in like scan and collect every item, or get all the trophies, cause I don’t think I’ve ever 100% a game in that way.
Don’t let yourself get bottlenecked. The debug cycle can spiral out of control when you too fixated on one element.
When you feel that happen, take a five minute break and figure out some other part of the project you can spend time on that you know will work. Wasting hours on a stuck pig is frustrating, spending those hours instead making other progress let’s you simmer on the issue.
Come back to it later with fresh eyes, and maybe it will be easier. If you hit the same wall after many attempts, maybe you have to find a different solution, and at least you got a ton of other stuff done.
The sunk cost fallacy is a lot worse when you’ve spend multiple sessions on the same issue.
It also helps when you can identify these problems early in the project cycle. Knowing what parts will work because you’ve done it before, versus new modules you haven’t worked with, helps to plan testing of the unknowns early, even if they are used later in the project.
On large scale projects, I make sure to prototype the unknowns right at the beginning, and when I get stuck, I do easy work till I feel relaxed again. If I don’t solve the first one, move on to the next, and next, unknown till I’ve been through each at least oonce. Then you’ll have a road map of what works, and what’s going to take the hard, head down, jam music on, I’m not stopping to piss till this works or I abandon it, sessions.
Then I know there are X number of those sessions in the project, and when I’m in that kind of mood, I tackle one. Some days you just want to bang out easy UI and functions, others you’re ready to beat your head on the keyboard till that one thing works.
Other than that, I write a lot of test code around the problem so I can isolate exactly what where is. Then once it’s fixed, I go back and strip it all out. Don’t be afraid of spending time really understanding the issue before just doing brute force. In your example, if a module doesn’t do what is expected, are you sure your connected to the module? Are the commands formatted correctly? Do you get any response from it or is it just dead or not loading? Can you write around it? Are there other modules available? Can you write your own code instead of using the module?
At the end of the day, what you said is right, step away and clear your head. I can’t count the number of times I’ve come back to something I strained at for hours or days, only to solve it in 15 minutes a week later.