It helps to have a to-do list at hand with small, clearly defined, reachable goals that I can then immediately start work on, such as "read 5 pages of book X" or "finish writing the prettyPrintFizzBuzz function".
But going on a gaming streak might be really fullfilling if the game is good and the players are fun. But it's not useful when you actually need to submit an essay due 2 hours ago.
I guess deep in our brains there is some sort of proto-word, from before we had language, that allows us to realize whether what we are doing is "good" or not. I think we often feel guilty when procrastinating because we are willfully going against that proto-good. But my point is to let plenty conscious, mindfull moments surface where you honestly evaluate what you are doing against that good. And to actually kind of discover what that "good" means for you.
Every moment you thwart procrastination is a win.
If you are forcing yourself that much to get it done maybe it's not the right thing to be working on anyway?