Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Попинайте архитектуру (2 стр)

Попинайте архитектуру (2 стр)

Страницы: 1 2
monobogdanЗабаненwww12 янв. 201821:10#15
Zab
И кто его перехватит? Чтобы перехватывать пакеты на уровне ОС нужно как минимум иметь права админа.
kiparУчастникwww13 янв. 20185:06#16
monobogdan
Перехватят за время путешествия от компа к компу. Надо ориентироваться на то что весь трафик кто-то перехватывает, соответственно чтобы из него нельзя было полезного получить.

Ну и да, для начала архитектуру может и норм будет, а дальше задолбаешься новые команды вводить. Надо (допустим) новую локацию клиенту закачать, сколько для этого типов пакетов потребуется?

monobogdanЗабаненwww13 янв. 20188:34#17
kipar
Копии локаций будут и на клиенте и на сервере.
Качать ничего не надо, все уже есть.
А скажем переместить игрока из Москвы в Ростов можно одним пакетом типа:
struct MessageScheduleMove {
  unsigned int sess;
  int x;
  int y;
};

Движок от базовой позиции рассчитает сколько надо идти и запланирует таймер, клиент в свою очередь изменит состояние на move и будет сам считать секунды каждые 3 секунды синхронизируя таймер(на случай лагов на сервере)

dred112Постоялецwww13 янв. 201817:36#18
monobogdan
Чем меньше действий надо совершать, для того, чтобы добавить новую команду, тем лучше.
В полюбившемся мне Forge для этого используют кодогенерацию.
для добавления команды в отдельном окне достаточно ввести ее название и параметры, дальше уже просто networkObject.SendRpc(targetPlayer, RPC_RPC_NAME, args);
никакого кода сериализации, проверок из потока байтов.
Страницы: 1 2

/ Форум / Программирование игр / Сеть

2001—2018 © GameDev.ru — Разработка игр