Для начала я советую использовать TCP, а не UDP. Популярность TCP как бы намекает, что с ним работать намного легче; а причина этому - он сам отслеживает и фиксит многие проблемы, присущие протоколу IP: пропажа пакетов, дублирование пакетов, изменение порядка пакетов, невлезание пакета в MTU на каком-то из участков. А в UDP - будете отслеживать и фиксить всё это сами.
А некоторые игры используют протоколы, работающие поверх TCP - например, HTTP. Это проще, но не годится для интерактивных игр с быстрой реакцией.