I've been working on an indie game solo for the past four years. I've had quiet periods and I've had productive periods. But I have worked on it nearly every single day for those four years, rarely for less than an hour.
One method I did have a lot of success with was a time spent spreadsheet I created. For any given date I'd enter individual times I started and stopped working on it - so it might be 10am until 11.30am, 2pm until 5pm, and so on.
For each day I'd sum the hours spent, and then I had a target hours to hit each week - 20 at first, then 30, and eventually 40. This is while also working a day job, otherwise I'd probably have tried increasing it by 1.5-2x.
A key rule I followed was this: once I hit enough hours for the day to be on track for the weekly goal, I could then do whatever I felt like with my remaining time. Ironically I'd often keep working on it as the momentum was already going, but just as often I'd go relax.
Pretty good system all in all.
Interesting. My system is that I have to-do list of things I try to do every single day to ensure my day was productive for me. The list doesn't change basically.
When I finish the list, I feel free to do whatever else I want without feeling guilty.
Nice. Yeah, my rule was "after the first hour, I can do whatever I want for the rest of the day." And I too found, it was much nicer to keep going! First of all, my work was quite enjoyable. (I'm sure that helped a lot!) But also, it just feels good to be getting things done!
"Distract myself with nonsense" has some appeal... but "keep winning" has more.
Also, I "ironically" found it easier to do something every single day. In theory, every other day should be easier, because it's less work, right? But the loss of momentum and the addition of friction (is today a rest day or not?), especially in those "sleepy moments" of the day... for me it's just too risky! So I just jump into action before there is time for my brain to protest :)