[quote]the first thing you should do is to abstract the network part, so you will be able to switch to UDP or any other network protocol pretty easily
[/quote]
I was able to drop a large part of my “abstraction” pretty easily when I was able to assume reliable, ordered transport. My game side packet headers also got smaller. Switching back to UDP would require quite different assumptions and a bigger “abstraction” since there are packets that need ordering and some that don’t and some that need reliable transport and some that don’t. If this not the case. ie you need everything to be ordered and reliable --like I assume now, there is really no reason to move to UDP.
I think for getting things starting a network “abstraction” that assumes reliable orderd transport is fine. You can always add all the extra stuff that UDP makes hard/lets you do when you need it. The difference is, you are adding to a code base that already is working.
Always think, how can i get a playable version going easiest…