I think the hardest problem that I have with VCS development, is that I can't think structurally, everything has to be within the context of a video frame, so it all becomes a big bowl of pasta...
Unless you program at the Thomas J. level where Star Castle Arcade actually schedules calculations in later frames when it can not all be done in one. Aaaahhhh!
Spaghetti code always stopped me in Atari 800XL basic. Things just get hard to follow quickly. Maybe that's why batari Basic works so well. You have small 4K banks that you get to switch between, making even a 32K program easier to keep track of what's going on?