1. В самой простой сетевой игре участвуют два игрока. Один компьютер будет исполнять роль главного, другой – ведомого. Ведущая машина осуществляет управление движениями, столкновениями и всем представленным игровым пространством.
Для синхронизации игровых миров осуществляется передача событий второму компьютеру. Обратившись к своему ip провайдеру, у которого у вас аренда сервера, можно получить информацию о возможностях вашей машины.
2. Ведомое устройство должно знать обо всех случайных элементах, например, патронах и аптечках, расставленных в разных местах игрового поля. Можно передать и всю карту.
3. Занимаясь созданием сетевой игры, нужно помнить, что при передаче данных может случиться задержка, поэтому нужно позаботиться о дополнительных мерах, чтобы игра продолжала работать в нормальном режиме.
Для движения мобов обычно используется определенный шаблон, по которому компьютер может скомандовать «принимай защиту по сценарию А» или «спасайся по сценарию В».
Таким образом, можно максимально снизить количество передаваемой информации, а значит, намного проще будет обеспечить синхронизацию.
Время от времени будут передаваться сигналы, свидетельствующие о том, что объект перешел какую либо клетку игрового поля. Таким протоколом передачи хорошо пользоваться, работая с загруженными каналами, так как они обладают устойчивостью к задержкам.
4. При создании сетевой игры нужно помнить о существовании читеров. Для защиты компьютеров от взлома, нужно иногда менять местами главную и второстепенную машины, это несложно сделать.
5. Если геймеров не двое, а больше, можно также столкнуться с определенными проблемами. Для обслуживания одним ведущим компьютером множества ведомых, нужен достаточно мощный процессор.
Но это не самое сложное, проблемы начнутся, когда между компьютерами резко оборвется связь. Идеальное решение в этой ситуации – аренда сервера, а точнее, выделенного сервера.
6. Помимо этого, можно соединить все ведущие компьютеры. Таким образом, роль ведущего может периодически доставаться каждому компьютеру и если произойдет отсоединение главного компьютера, ничего страшного не случится.
А можно вообще отказаться от «главного» компьютера. Каждая машина будет управлять своими мобами и своими игроками, осуществляя рассылку данных остальным. Эта схема позволяет решить большинство проблем.