That's a natural process in my opinion, when you lose your motivation for a moment to work on the main project then you can start some other tasks. I don't think it's a bad way to develop, every "sub"-project takes you a step further for the "real/big" project.
Its a good way of testing/proofing concepts/ideas to start a new (smaller) project and work it out.
I do it the same way with networking / threading.
But in my case, the "real" project hasn't started yet, because i got not so much time within the week. So i started some smaller Tasks (heh networking is small, isn't it ... nah, it's not but i did some networking some years ago in blitzbasic (2D), VC6++ and i have a realistic (simple) target, i dont want to copy raknet) and the "real" project will start in my vacation (when terrain is avaiable hopefully ).