I have realised that there are two types of code I write with this game:
Type 1- the problem is defined, I have to work out how to program it, knowing what I want to achieve. It’s possible to estimate roughly how long it will take.
Type 2-code subject to games design. I know roughly what to write. I do that, then change it, tune it, modify to get the best fun, and the best control. Maybe I’ll simplify the original idea. – This can go on for ages, but it is worth it!!