Приветствую Вас Гость
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Страница 1 из 11
Модератор форума: Bizunow, Romixal 
Форум » Вопросы и проблемы » Проблема - решение » Есть кто живой? (Боты на сервер. Алгоритм.)
Есть кто живой?
KillduettmДата: Суббота, 30.03.2013, 00:48 | Сообщение # 1
Пишет что-то
Группа: Прибывший
Сообщений: 2
Статус: Offline
В принцип работы 39dll я более-менее въехал. Но вот что делать с ботами? Ладно –ботов создаём на сервере, передаём координаты игрокам, это то понятно. Но как рассчитать
траекторию их движения? Ведь у меня на карте есть стены, коробки и т.д.

Помещать на сервер копию карты не вариант – комнат в игренесколько.

Ну и собственно вопрос – как?
 
zxc76Дата: Суббота, 30.03.2013, 17:03 | Сообщение # 2
Генерал-полковник
Группа: Администраторы
Сообщений: 845
Статус: Offline
Ну как вариант, через сервер давать ботам задания, вроде:
-стоять
-патруль
-огонь
Без координат то есть.  
Цитата
Помещать на сервер копию карты не вариант – комнат в игренесколько.
Как вариант, сделать редактор карт на сервере- и отправлять карту клиентам. Потому что с ботами тут по другому не как((



 
KillduettmДата: Понедельник, 01.04.2013, 01:35 | Сообщение # 3
Пишет что-то
Группа: Прибывший
Сообщений: 2
Статус: Offline
Цитата (zxc76)
Как вариант, сделать редактор карт на сервере- и отправлять карту клиентам. Потому что с ботами тут по другому не как((
Гениально! Спасибо огромное
 
zxc76Дата: Четверг, 04.04.2013, 22:14 | Сообщение # 4
Генерал-полковник
Группа: Администраторы
Сообщений: 845
Статус: Offline
Незачто))) 
Я кэп))))))


 
Abel9Дата: Суббота, 06.04.2013, 14:40 | Сообщение # 5
Пишет что-то
Группа: Прибывший
Сообщений: 6
Статус: Offline
А я сделал у себя так:
На сервере создаются боты, и ограничители их движений.
Потом раз в 2 секунды отправляется переменная директории движения(if (direction=0) navigation = 0; if (direction = 180) navigation = 1;) и скорость(можно добавлять разные переменные, но делать это так, чтобы пореже отправлять и получать меньшую нагрузку).
И раз в 4-5 секунд отправляются координаты бота (для более точной синхронизации). И тогда боты живут за счет переменных, которые приходят с сервера, а дальше уже как бы так сказать... просчитывают сами куда идти и из этих 2 переменных можно даже вытаскивать какой сейчас у нас спрайт)) То есть в начале, когда игрок только присоединился, он создает ботов с координатами, ID их и другое... В зависимости от ID выбирается сборка спрайтов (именно сборка! в переменные задаем спрайты и дальше используем только переменные). После сервер очень редко отправляет переменные и клиент за счет них синхронизируется. Допустим navigation = 1; speed=1; -> бот идет вправо. navigation = 0; speed = 0; -> бот стоит на месте и повернут влево. navigation = 3(это уже можно даже увеличивать данную переменную, все равно байт от 0 до 255 ); speed = 0; -> бот стоит на месте и стреляет вправо... ну и так далее) В общем, думаю меня поняли)


 
zxc76Дата: Суббота, 06.04.2013, 21:11 | Сообщение # 6
Генерал-полковник
Группа: Администраторы
Сообщений: 845
Статус: Offline
Killduettm, для данной ситуации Abel9 написал самый подходящий способ))) Но лучше что бы, карта была на сервере)))

 
Abel9Дата: Воскресенье, 07.04.2013, 06:34 | Сообщение # 7
Пишет что-то
Группа: Прибывший
Сообщений: 6
Статус: Offline
zxc76, Полностью поддерживаю) Но просто иногда бывают ситуации, что на сервер часто заходят, а у карты размер немаленький и тогда идет большая нагрузка -> это может привести к вылету сервера( Ну, а так в остальном это правда хороший вариант)

 
Форум » Вопросы и проблемы » Проблема - решение » Есть кто живой? (Боты на сервер. Алгоритм.)
Страница 1 из 11
Поиск:
Хостинг от uCoz