Implicit_control_flow is the correct approach, period. Ask any real programmer, after they get over their shock at the alternative. No other language thinks goto to get out of if/else is a good idea. It’s nuts.
Gotos have the problem that they might go anywhere, making the flow nonobvious on inspection, so they’re frowned upon in other languages - there is always a better way to do whatever it is you’re trying to do. Putting them in every if/else is particularly bizarre as a language choice - better to have the default be to continue, and then if you see a goto, you know it must go somewhere weird. Trying to avoid gotos generally has been accepted wisdom since the 70’s, with Dijkstra’s essay “Goto Considered Harmful.”
The bug statements you see in Choice of Magics are way better than trying to catch the more subtle bugs that result from not seeing the control flow clearly. Incidentally, Choice of Robots also got rid of gotos in its dialect; I just didn’t try to merge my changes with the main branch for Choice of Robots. I don’t think I could have maintained my sanity on any of those games if I was interrupting myself every few seconds for another goto or label, and a proliferation of gotos would have increased bugs.
If you don’t have a very branchy game, it probably doesn’t matter what you do. But if you do, I think 9 out of 10 programmers would agree that goto to get out of if/else is nuts, although the tenth programmer is Dan.