Дополните картину внешнего вида игрового поля хотя бы, 576 для отвечающих одинаково равно 765.
Сервер должен держать полную картину мира, клиенты - только отдавать на сервер команды (которые сервер обязательно должен проверять на соответствие правилам и текущему состоянию), получать положенные по механике изменения мира (т.е. объекты с координатами в поле видимости) и отрисовывать то, что получил от сервера.
Ожидание обычно реализуют по маленьким шагам для real-time игр (от 20 раз в секунду до скольки можно выжать из железа); для пошаговых - ставится таймер для хода и в это время получаются команды вплоть до "Конец хода", команда окончания хода не успевает прийти к концу таймера - ход автоматически завершается.
pygame - если 2D, документация покрывает в целом всё, что надо для освоения; 3D игры на Пайтоне - это плохая музыка, там на выбор есть Unreal Engine 3.5/4 (документация там правда не на всё, что надо, но то же клиент-серверное взаимодействие расписано как надо, порог входа высокий, возможностей ещё больше), Unity3D (хорошая документация, относительно несложно освоиться на базовом уровне, но не такой мастодонт всё же) и с полсотни движков поменьше.