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

_Призрак_

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

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

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

  • AMKoin

    0 [Подарить AMKoin]

Баланс оценок

11

4 подписчика

О _Призрак_

  • День рождения 20.06.1994

Звание

  • Звание
    Призрак

Контакты

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

Информация

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

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

4 104 просмотра профиля
  1. Привет, если сможешь, оставь свой вк. Нужно кое что спросить, не спрашивай зачем

  2. Используй не game_graph():vertex, а game_graph().vertex (через точку). В этом случае ты делаешь не вызов функции, а обращение к полю объекта
  3. Скорее всего уже задавали, но беглый поиск не помог. Где и когда можно посмотреть это чудо? Я вижу кто то был на закрытом показе - будут ли еще показы и как на них попасть? Трейлер очень понравился
  4. @dsh vector() 1 в 1 транслируется в вызов конструктора FVector (ну или какой там класс). Если в конструкторе по умолчанию (т.е. FVector()) не инициализируются поля то значит там в любом случае будет мусор, хоть ты создал вектор через C++, хоть через Lua. А то что у тебя на одном движке нули, а на другом случайные числа то это легко объяснить - в обоих случаях у тебя мусор в переменных, просто в одном случае у тебя повезло словить 3 нуля, а в другом нет. Или на одном была отключена оптимизация (в этом случае все переменные инициализируются нулем). Почему могло получиться случайно 3 нуля? Потому что если посмотреть на память приложения, то количество нулевых байт будет в сотни раз больше чем любых других из-за специфики программ @drksnc Да, асемблерная вставка означает: pClass->PHGetSyncItem(0)
  5. Тут не все так просто. Если просто передавать позицию и применять ее то движения будут дерганными из-за задержки сети. Для того чтобы это заработало так как нужно, нужно ковырять как в классе CActor реализована интерполяция (файл Actor_Network.cpp). Скорее всего ее можно будет ±копипастой применить к обычным НПС.
  6. _Призрак_

    C++

    @UnLoaded, Скорее всего раньше в скобках было какое то условие, а потом программист поленился удалять if и просто оставил true в качестве условия. Здесь нет никакой магии (Кроме области видимости, но это скорее всего не причина такой конструкции)
  7. Приходит, но все же я бы попросил бы определение "нормально сделанных ботов". ​ Тут я могу поспорить. Да, можно просто сказать что количество пакетов будет большим, но мы можем посчитать насколько. Каждого НПС можно представить как игрока, за которого играет компьютер. Соответсвенно большое число пакетов = (число ботов + игроков) * среднее число отправляемых пакетов в секунду. Итого если мы имеем кооперативное прохождение (сколько это человек? 2-4?), мы можем без проблему заполнить карту еще 30 ботами (а скорее всего и большим числом) без проблем с сетью. К тому же, насколько я знаю, в планах ребят которые делают кооп (или было в планах) - введение системы алайфа в мультиплеер. У нас есть сервер который обсчитывает всех(?) ботов в онлайне, но каждому клиенту отправляет информацию только о НПС в радиусе алайфа. Сколько у нас на пике ботов может быть в радусе алайфа (возьмем стандартный в 150м)? 20? 30? Не думаю больше. Вот и вся проблема большого числа пакетов. Поправьте если я не прав. Какие? Просто если мы говорим про диалоги/передача предметов, то это не является большой проблемой для исправления. Ну для обычных игроков задержки тоже гадят. Поэтому у них происходит предсказывание траектории движения и т.д. Тоже самое включаем для мобов и все, проблема решена.
  8. Тут есть небольшая разница - если в X-Ray уже есть боты (пусть даже в синглплеере) + весь синглплеер сделан по типу напоминающему клиент-серверное приложение. Таким образом для того чтобы перенести ботов в онлайн нужно было заставить мультиплеерный сервер загружать АИ-сетки и запускать соответствующие скрипты, ответственные за поведение ботов (я скорее всего много чего забыл, но не суть). А в Survarium отсутствуют боты в принципе. Вообще. Им все нужно делать с нуля - архитектуру, поведение и т.д. Объем работы совсем другой
  9. Для того чтобы определить есть ли значение в массиве его в худшем случае нужно полностью перебрать (сложность O(n)), а в случае хеша алгоритмическая сложность точно ниже (скорее всего что то типа O(logn), но я точно не знаю, зависит от реализации, сужу по тому как это сделано в других языках/системах. Есть базы данных где доступ осуществляется вообще за константу)
  10. А можно узнать сакральный смысл двойного arg? Почему не local t = arg or {...} ?
  11. А можно ссылку на бенчмарки, исследования по этому поводу?
  12. Кстати, давно интересовал момент - как правильно будет получить количество элементов в ассоциативном массиве? Я помню делал полный перебор массива чтобы получить его размер, но может есть более приятный вариант?
  13. std::function не подойдет? Или я не понял проблему
  14. Это не ответ на мой вопрос. Elz написал что модульность каким то образом связана с производительностью. Про удобство разработки у меня вопросов нет
  15. Может я что то не понимаю, но как модульность связана с производительностью? И что вообще в твоем понимании модульность?
×
×
  • Создать...