Aleks_Vast | Дата: Пятница, 21 Сентября 2012, 21:41 | Сообщение # 21 |
частый гость
Сейчас нет на сайте
| Как - то я нашел для Unity3d серверный исходник, кстате нашел на офф сайт в исходниках, дак вот: могу сбросить и объяснить принцип действия
|
|
| |
cougraAcc | Дата: Понедельник, 24 Сентября 2012, 23:51 | Сообщение # 22 |
Яркая личность GD
Сейчас нет на сайте
| ТС'у нужно понять принцип организации такого типа игр. Не важно на чем и как написан сервер у других, главное понять суть. Попробую объяснить достаточно просто:) (просто готовлю похожую статью для этого сайта).
Quote (Strateg) Мне вот стало интересно, как устроенна серверная часть этих игр? На чём написан сервер? Ну и всё такое! Серверная часть — это программа обрабатывающая данные отправленные клиентом (таких клиентов могут быть сотни). Кроме обработки этих данных сервер в ответ шлет другие пакета, содержимое пакета зависит от запроса.
Давай на примере:
У нас есть игровое поле и 2 шарика. Каждый из шариков - игрок. Есть сервер, к которому подключены эти игроки. Наша цель — создать синхронизацию (без синка игрока, без фанатизма). Да такую, чтобы каждый игрок видел движения другого.
Как реализуется: При движении игрока, программа считывает его координаты (уже отлично!), теперь эти координаты нужно показать другому игроку. Тогда в игру вступает сервер.
Мы отправляем пакет (упакованные данные) серверу, который (пакет) выглядит примерно так:
idpacket, iduser, [x,y] - где, idpacket - номера пакета (нужно для условий отправки данных сервером). iduser - идентификатор игрока, который сменил координаты. [x, y] - новые координаты игрока. Примерно так: 01 + 08 + [00 01 + 00 01]
Сервер получил эти данные, теперь он отправляет этот же пакет всем игрокам (кроме игрока, который сменил координаты). У каждого клиента получившего пакет, фигура того игрока будет перерисована с новыми координатами. И в этом случае мы добьемся мультиплеера:)
Как это делается на практике я опишу позднее (завтра-послезавтра, зависит от свободного времени ).
Сообщение отредактировал cougraAcc - Понедельник, 24 Сентября 2012, 23:52 |
|
| |