here is my 2 cents
in our college who is studying computer since (aka programming) at data structure only learn 3 types but there is more out there , im in mechatronics and already know 8
so what i mean is , u need to learn tooo much to get the whole thing done perfectly as it wasn't a job of one kid it's a company working on this game
but the easier way from my point of view is getting a bit from everything (bit from asm , bit from programming , bit from socketing) and keep learning from a custom c# source , till u create ur own source
this called try and fail learning , i programmed an autopatcher , another coder told me that the codes sucks and that he wrote another one with better codes but in the end the both actually do exactly same thing , the only difference is i didnt read a 3000 page of a book to get it done , all i did was searching at msdn , try and fail till it's done
pick up a way for urself and work on it , wish that helps