Сетевой мод

Пробовал ли ктонибудь связать два игровых мира разных клиентов? 

Там скриптовый язык питон - есть модуль сокетов.

Базовый алгоритм такой:

1. Игра загружается и запускает сервер как задание с обновлением через определенный интервал.

2. Клиент подключается и синхронизирует с сервером базовые переменные квестов - запускает задание по отправке своих координат на сервер и обьектов 

3. При получении координат от клиента - сервер отправляет состояние бижайщих обьектов клиенту.

 

но боюсь скриптовых функций може  не хватить для этого.

Вопросы читерства не рассматриваю - просто фанатский кооперативный мултиплеер.

Пока что можно связать лишь по таймеру и некоторые callback.

 

Думаю клиенту нужно получать список NPC с сервера при загрузке карты и синхронизировать локальных NPC - убитых удалять суть в  том чтобы играя за разных героев можно было наблюдать действия друг друга. Тоесть ты будешь в команде своего друга - можно обьединить события атаки, убийства(так как элемент случайности в атаке не даст результата в один момент времени), посадки в машину, движения машины и общий лут.

1. Загрузка - клиент сообщает серверу за кого играет и параметры своего персонажа, получает от сервера его персонаж, получает список NPC, лут, переменные data("zone")

1. Атака - один игрок начинает атаковать - срабатывает on_attack() и у другого игрока вызывается attack().

2. Убийство - нужно просто выполнять синхронизацию хп по событию on_hit() - приоритет оставить за сервером - как быть с хедшотом на стороне клиента не ясно...

3. все функции on_xxxx() из скрипта синхронизируюся между клиентом и сервером с подменой "ALTER_EGO" на ид аватара

4. дополнительно синхронизируются положения обьектов раз в секунду

5. Даже игровой чат можно сделать через консоль

 

NeiroN 25.08.2017 | Комментарии (0)













Разработка Sergey A.Zhukov 2007-2012