1) Игра должна хранить информацию об игроке - друзья, предметы, скины (до 100)... Чтобы информация загружались при входе с почтой.
Для этого используется база данных и сервер с бэкэндом и API.
Бой. Игрок будет отправлять несколько значений другому игроку. Нужно, чтобы задержка была до 10 секунд, из любой точки мира. Враг не будет виден игроку, только его имя, рейтинг. Подбор противников по уровню. Бой пошаговый
Для передачи данных от клиента к серверу используются сокеты и сетевой стек. Для сокращения задержек в рамках планеты можно расположить свои сервера в самых густонаселенных регионах и сделать свою систему синхронизации всех серверов, возможно даже с арендой отдельных выделенных каналов между ЦОДами с вашими серверами.
Самое главное - чтобы игру было невозможно взломать.
Взломать можно все. Абсолютно все. Взлом всегда на шаг впереди защиты от взлома. Т.е., происходит взлом, далее вся ситуация изучается, находится дыра и она исправляется. Есть стандартные методики защиты от взлома - шифрование, пароли, секреты, файерволлы, соответствующая архитектура и прочее-прочее-прочее. Чем больше денег потратить на разработку защиты - тем меньше вероятность взлома.