При розробці мережевої багатокористувацької гри, в якій один гравець, а інші підключаються, я знаю дві стратегії:
- Нехай гравець-хазяїн буде авторитетом , а всі інші гравці як німі клієнти намагаються наздогнати поточний стан гри. У коді повинно бути багато особливих випадків, залежно від того, хостинг гравця поточний чи ні.
- Зробіть хост-тупого клієнта, як і всі, запустивши прихований виділений сервер на іншому потоці. Виділений сервер буде авторитетом, і хост підключиться до нього, як і всі інші (через localhost).
Які переваги / недоліки кожного з них? Що використовується найчастіше (чи змінюється залежно від типу / розміру гри)?