Перейти к контенту

_Призрак_

Жители
  • Число публикаций

    788
  • Регистрация

  • Последнее посещение

О _Призрак_

  • Звание
    Призрак
  • День рождения 20.06.1994

Контакты

  • MSN
    Skype: rus_phantom
  • Сайт
    http://
  • ICQ
    464307676

Информация

  • Город
    Тамбов

Недавние посетители профиля

960 просмотров профиля
  1. C++

    @UnLoaded, Скорее всего раньше в скобках было какое то условие, а потом программист поленился удалять if и просто оставил true в качестве условия. Здесь нет никакой магии (Кроме области видимости, но это скорее всего не причина такой конструкции)
  2. Курилка программистов

    Приходит, но все же я бы попросил бы определение "нормально сделанных ботов". ​ Тут я могу поспорить. Да, можно просто сказать что количество пакетов будет большим, но мы можем посчитать насколько. Каждого НПС можно представить как игрока, за которого играет компьютер. Соответсвенно большое число пакетов = (число ботов + игроков) * среднее число отправляемых пакетов в секунду. Итого если мы имеем кооперативное прохождение (сколько это человек? 2-4?), мы можем без проблему заполнить карту еще 30 ботами (а скорее всего и большим числом) без проблем с сетью. К тому же, насколько я знаю, в планах ребят которые делают кооп (или было в планах) - введение системы алайфа в мультиплеер. У нас есть сервер который обсчитывает всех(?) ботов в онлайне, но каждому клиенту отправляет информацию только о НПС в радиусе алайфа. Сколько у нас на пике ботов может быть в радусе алайфа (возьмем стандартный в 150м)? 20? 30? Не думаю больше. Вот и вся проблема большого числа пакетов. Поправьте если я не прав. Какие? Просто если мы говорим про диалоги/передача предметов, то это не является большой проблемой для исправления. Ну для обычных игроков задержки тоже гадят. Поэтому у них происходит предсказывание траектории движения и т.д. Тоже самое включаем для мобов и все, проблема решена.
  3. Курилка программистов

    Тут есть небольшая разница - если в X-Ray уже есть боты (пусть даже в синглплеере) + весь синглплеер сделан по типу напоминающему клиент-серверное приложение. Таким образом для того чтобы перенести ботов в онлайн нужно было заставить мультиплеерный сервер загружать АИ-сетки и запускать соответствующие скрипты, ответственные за поведение ботов (я скорее всего много чего забыл, но не суть). А в Survarium отсутствуют боты в принципе. Вообще. Им все нужно делать с нуля - архитектуру, поведение и т.д. Объем работы совсем другой
  4. Скриптование

    Для того чтобы определить есть ли значение в массиве его в худшем случае нужно полностью перебрать (сложность O(n)), а в случае хеша алгоритмическая сложность точно ниже (скорее всего что то типа O(logn), но я точно не знаю, зависит от реализации, сужу по тому как это сделано в других языках/системах. Есть базы данных где доступ осуществляется вообще за константу)
  5. Курилка программистов

    А можно узнать сакральный смысл двойного arg? Почему не local t = arg or {...} ?
  6. Рефакторинг: _g.script

    А можно ссылку на бенчмарки, исследования по этому поводу?
  7. Скриптование

    Кстати, давно интересовал момент - как правильно будет получить количество элементов в ассоциативном массиве? Я помню делал полный перебор массива чтобы получить его размер, но может есть более приятный вариант?
  8. Редактирование движка X-Ray

    std::function не подойдет? Или я не понял проблему
  9. Редактирование движка X-Ray

    Это не ответ на мой вопрос. Elz написал что модульность каким то образом связана с производительностью. Про удобство разработки у меня вопросов нет
  10. Редактирование движка X-Ray

    Может я что то не понимаю, но как модульность связана с производительностью? И что вообще в твоем понимании модульность?
  11. Редактирование движка X-Ray

    А зачем?
  12. С Днюхой тебя, чувак!

  13. Язык Lua. Общие вопросы программирования

    Прости? Очень интересно высказывание, почему ты так решил?
  14. Скриптование

    Возвращаясь к вопросу о получении имени сохранения. Есть способ проще. Даже два. 1) Мы можем сохраниться двумя способами - через меню или через консоль/квик_сейв. Через меню мы можем отследить (как это сделать все понятно надеюсь). А в игре можно попробовать отследить статик, который показывается после сохранения - на нем как раз написано имя сохранения. Сложность алгоритма минимальна 2) Можно при старте игра при помощи FS класса считать все файлы в папке saves (точнее считать имена файлов и дату изменения). Как только мы в биндере актора происходит вызов метода save() то мы взводим флаг и на следующем апгрейде опять просматриваем папку с сохраниениями на предмет изменений. Сложность алгоритма зависит от количества файлов в папке
  15. [CoP] Ковыряемся в файлах

    klesov1407 Можно. Но это затратно и по времени написания кода и затратно по ресурсам процессора
×