![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#111
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
Можно мне видео того, как 1000 мобов не вылетают в тми и не ложат сервер? Это же 1кк одних только перцепшенов. Вот, я уже считал тут статистику старого шарда: гоблинская пещера порядка 80 гоблинов; эльфийсуий дефенс около 60 лучниц; големник, болото, озеро - примерно 20 рыл; шахты - 13 охранников + прораб + 3 рабочих. Итого в среднем на обитаемых локациях по 30 мобов. Онлайн 28 игроков, по 2 игрока на локации. Итого 28/2*30=420 мобов. Плюс локации с Лидером и Смертью (которые не паузятся без игроков) и их охрана соответственно. Получается около 500 мобов: 500 хитбитов, 500 эндраундов, 2000 персепов в раунд. Держится нормально. Ещё хитбиты на плейсах нужно прикинуть, но их чуть меньше. Сообщение отредактировал Anakondar - Oct 23 2012, 23:07 |
![]()
Сообщение
#112
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата которые не паузятся без игроков Это ты так думаешь (IMG:style_emoticons/kolobok_light/smile.gif) Скрипты запускаются, это видно по логам, но вот половина функций не срабатывает. У меня вот пока без оптимизаций мобы должны ходить даже без игрока, но делают это через раз - они заходят в другую локу, там шуршат скриптами, но даже если зайти через 5 минут, как правило все или все, кроме одного, начнут идти прямо от двери, т.е. скрипты вроде как запускались, но эффекта не оказывали. Оптимизация-с.Цитата Получается около 500 мобов: 500 хитбитов, 500 эндраундов, 2000 персепов в раунд. Держится нормально. Я-то думал... (IMG:style_emoticons/kolobok_light/smile.gif) 1000 мобов как 1000 мобов и 1000 мобов по десятку в локе - это две совершенно разные вещи. С разницей раз в сто. Но не спорю, 30 игроков столько тоже не накрутят.К слову, если так хочется, систему под игроков переписать можно будет. |
![]()
Сообщение
#113
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
У меня тут столб с оптоволокном упал. И, судя по логам, придавил dhcp-сервер в километре от него (IMG:style_emoticons/kolobok_light/smile.gif) А потом через день пропал и аплинк, надеюсь это кто-то из монтажников на моей витой паре повесился. Инет дали только сегодня, ибо девушка на ресепшене долго не могла поверить жене, что 3 компа и роутер не могут одновременно поломаться, пока я сам не дошёл до их коморки и не объяснил всё на пальцах, после чего они 4 дня тянули провод через 3 этажа (IMG:style_emoticons/kolobok_light/sad.gif)
Итак. Что есть: просто модуль из 3х локаций, по которому гоблины ходят как тараканы (IMG:style_emoticons/kolobok_light/smile.gif) Они спавнятся утром, бродят по целям, запускают единственный скрипт на точках интереса, уходят домой вечером и удаляются. Без игроков в локации неписи удаляются, но система по-прежнему продолжает считать положение мобов и спавнит их в локациях с игроком. Что можно/нужно добавить: скрипты точек интереса. Поскольку это чистый кастом, я написал одну бессмысленную болванку и поставил на все точки. Но даже без них выглядит забавно. Что я хотел бы добавить: нормальная генерация неписей, реакция на погоду, врагов, игроков, других неписей. Это должно быть сердцем системы. Проблемы: - Основная: на вин8 у меня нвн нещадно вылетает - на загрузке (50%, иногда по 5 раз подряд), на сворачивании, на потере фокуса в оконном режиме и на выходе. Последние три - с шансом 100%. - Неосновная: из-за того, что пути проходят через разные локации, приходится проверять положение неписей и на модульный хб, и на вход в локацию. Впрочем, по профайлеру модульный хб с нехилым циклом срабатывает за пару милисекунд. Ссылка (33 кб, мод + дамп базы) |
![]()
Сообщение
#114
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Мне кажется такие эксперименты попросту нужно ставить не в НВН, для последнего нужны системы по принципу «все гениальное – просто» (с) иначе будет неиграбельно от лагов. (IMG:style_emoticons/kolobok_light/smile.gif)
Однако:.. Что я хотел бы добавить: нормальная генерация неписей, реакция на погоду, врагов, игроков, других неписей. Это должно быть сердцем системы. - генерация – в моем варианте есть «менеджер популяции» жестко привязанный к локации и моделирующий раз в сутки подконтрольный респ (для 1 конкретного НПС тут все может свестись просто к проверке существует ли объект в модуле и в случае, если нет – его воссозданию; для респа мобов им контролируется еще и прирост/текущее значение популяции на своей локации), сами же НПС/мобы не удаляются на момент «сна», а используют EffectDisappearAppear с длительностью эффекта равной длительностью «сна» криттера; - реакция на врагов ИМХО не должна быть универсальной и прописываться согласно «квенте» криттера ибо АИ – это то по чему его будут «провожать» после встречи (например у меня крысы при ощущении врага на локации в пределах радиуса «обоняния» включают режим поиска, повышая свой шанс на обнаружение того, при обнаружении визуально или «обонянием» оценивают тактическую обстановку в радиусе обзора и если перевес на стороне крыс – нападают, отдавая команду об атаке своим в радиусе обзора, если перевес на стороне врага – бегут за помощью к своей точке респа ака «норе» и суммонят подкрепление, если смогут и это позволяет текущая популяция норы +/- мелкие нюансы… для другого вида хищников я буду писать новый АИ, лишь опираясь на этот как на пример, иначе все мобы будут различаться только аппеаренсом); - реакция на погоду, дружественных созданий – это уже должно быть на самом заднем плане как последние штрихи уже готовой картины, ибо не основное но важные детали (например те же крысы имеют некоторые прописанные реакции на определенные условия – боятся света факела или дневного, впадая от первого во временную от последнего в постоянную прострацию… реагируют на разные типы мяса валяющиеся на земле как на приманку… при наступлении дня стремятся вернуться в свою нору на «сон»). В общем это не сердцем системы должно быть, а сердцем модуля – как его автор сможет передать в деталях различные особенности игрового мира. Иначе будет просто еще одна тупая АИ-болванка. P.S.: "ESET Smart Security заблокировал доступ к веб-странице. Страница находится в списке веб-сайтов с потенциально опасным содержимым." (с) (IMG:style_emoticons/kolobok_light/wacko.gif) Сообщение отредактировал Flaristan - Nov 7 2012, 14:07 |
![]()
Сообщение
#115
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Neutral Раса: Хафлинг ![]() |
Flaristan, что такое "криттер"?
|
![]()
Сообщение
#116
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
denis0k
Скрипт на входе в локацию... почему там ты используешь GetObjectByTag ? |
![]()
Сообщение
#117
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Neutral Раса: Хафлинг ![]() |
denis0k, печально но посмотреть вживую навернео не смогу еще минимум неделю (IMG:style_emoticons/kolobok_light/smile.gif)
но в ходе небольшого просмотра в тулсете возникли некоторые вопросы которые не понял. 1. Точки интереса Neverwinter Script ExecuteScript(sPOIScript, oNPC); в функции хождения по вейпойнтам - что это? имеется ввиду по смыслу что должен делать этот "sPOIScript"?2. Планируется, или есть ли чтото типа "обертки" стандартных функций движений типа ActionMoveToObject(), ActionMoveToLocation() и т.д. которые будут использовать твою "сетку вейпойнтов" в просчете пути и движении? Сообщение отредактировал PaiNt - Nov 7 2012, 15:59 |
![]()
Сообщение
#118
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
|
![]()
Сообщение
#119
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата иначе будет неиграбельно от лагов Не лагает... Загрузка проца 0% почти всё время. Даже хб спустя 5 часов всё те же 6 секунд.Цитата генерация – в моем варианте есть «менеджер популяции» Я имел в виду генератор внешности (IMG:style_emoticons/kolobok_light/smile.gif) Раса, пол, одежда, имя, работа, цели и т.п.Цитата сами же НПС/мобы не удаляются на момент «сна», а используют EffectDisappearAppear с длительностью эффекта равной длительностью «сна» криттера; Ну тогда весь "сон" (при двухминутном игровом часе это с полчаса времени реального) продолжают шуршать скрипты, некрасиво.Цитата ESET Smart Security заблокировал доступ к веб-странице. Страница находится в списке веб-сайтов с потенциально опасным содержимым. И касперский. Домен-то корейский, хацкерский (IMG:style_emoticons/kolobok_light/smile.gif) Цитата Скрипт на входе в локацию... почему там ты используешь GetObjectByTag ? Это самый простой способ пробежаться по всем нужным объектам во всём модуле.Цитата ExecuteScript(sPOIScript, oNPC); в функции хождения по вейпойнтам - что это? имеется ввиду по смыслу что должен делать этот "sPOIScript"? Это хертбит точки интереса. Непись приходит в точку и там каждые 6 секунд и до отмены исполняет этот скрипт. У меня он падает ниц и молится пару раундов (IMG:style_emoticons/kolobok_light/smile.gif) Тут же могут быть заказы в таверне, сон под осиной, прополка грядок и прочее. Потом скрипт возвращает управление основной системе, и непись уходит.Цитата Планируется, или есть ли чтото типа "обертки" стандартных функций движений типа ActionMoveToObject(), ActionMoveToLocation() и т.д. которые будут использовать твою "сетку вейпойнтов" в просчете пути и движении? Даже не думал, если честно. В концепте системы им не нашлось места (IMG:style_emoticons/kolobok_light/smile.gif) Если на мобе висит пара локалок (старт, цель, текущее положение, путь), он и так на хертбите идёт куда надо. В принципе, нет ничего сложного в написании этих функций - нужно ими просто правильно выставить локалки, и моб сам пойдёт. Даже можно в качестве цели объект/локацию указать и внутри поискать путь до него/неё через точки. Надо?
|
![]()
Сообщение
#120
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Это самый простой способ пробежаться по всем нужным объектам во всём модуле. На вход в локацию каждый раз бегать по всем НПС в модуле - не напряжно? Это ведь не GetNearestOjectByTag() Я к тому, что обычно на входе в локацию висит в скрипте куча всяких штук типа удаление багов аое и тд. и тп. в Краю лесов там погода висела и всякие эффекты субрас. Сообщение отредактировал Melisse - Nov 7 2012, 19:58 |
![]()
Сообщение
#121
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
О чем речь – модуль из трех локаций же. (IMG:style_emoticons/kolobok_light/smile.gif) Просто после такой загрузки неписей скриптами получится как у буржуев: для каждого полноценного РПшного игрового города нужно выделять отдельный сервер.
Генератор внешности – это уже ММОшные извраты пошли. о_О Могу порекомендовать сходить на Амен и посмотреть фасоны доспехов на рынках где ассортимент генерируется случайно вместе с внешностью. Где-то процентов 95% из них напоминают разнообразных пародистых попугаев. (IMG:style_emoticons/kolobok_light/biggrin.gif) Это все из той же категории вещей которые должны быть исключительно кастомными. Никакие скрипты не шуршат при отсутствии игрока. Да и не думаю вообще что дисаппеар чем-то шуршит пока идет задержка. А если существо потеряется где-то в лимбо по дороге – трагедии там никакой не случится ибо на то есть «менеджер популяции» который постепенно восстанавливает численность респавна после геноцидов. |
![]()
Сообщение
#122
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Цитата если существо потеряется где-то в лимбо по дороге при дисаппере-аппере оно не в лимбе, оно высоко поднимается вверх и там висит. Это можно и по анимации отследить в максе. Просто идет задержка перед падением - имитация для полетов драконов. |
![]()
Сообщение
#123
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата О чем речь – модуль из трех локаций же. Неважно количество локаций, важно количество городов и бродячих неписей в них. У меня их в районе 10, что неплохо для небольшого виртуального посёлка. Без труда можно и 20, и 30, если город большой, и они не будут по 5 штук у точки крутиться.Цитата Просто после такой загрузки неписей скриптами получится как у буржуев: для каждого полноценного РПшного игрового города нужно выделять отдельный сервер. Это фича нвн - собери кучу игроков в одном месте и получи лаги. Подобные скрипты на несколько порядков слабее ИИ боевых мобов, не вижу проблемы как бы.Цитата Могу порекомендовать сходить на Амен и посмотреть фасоны доспехов на рынках где ассортимент генерируется случайно вместе с внешностью. Где-то процентов 95% из них напоминают разнообразных пародистых попугаев. Лучше порекомендуй скриптеру амена выпрямить руки (IMG:style_emoticons/kolobok_light/smile.gif) Цитата Никакие скрипты не шуршат при отсутствии игрока. Поставь вывод в лог в скриптах и запусти сервер без игроков. Будешь приятно удивлён.
|
![]()
Сообщение
#124
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Neutral Раса: Хафлинг ![]() |
Даже не думал, если честно. В концепте системы им не нашлось места (IMG:style_emoticons/kolobok_light/smile.gif) Если на мобе висит пара локалок (старт, цель, текущее положение, путь), он и так на хертбите идёт куда надо. В принципе, нет ничего сложного в написании этих функций - нужно ими просто правильно выставить локалки, и моб сам пойдёт. Даже можно в качестве цели объект/локацию указать и внутри поискать путь до него/неё через точки. Надо? Я думаю это так или иначе понадобится каждому кто будет юзать твою систему (IMG:style_emoticons/kolobok_light/smile.gif) , может он не захочет использовать все ее возможности(типа самопроизвольного хождения НПС и т.д.) а только "эффективное" перемещение между локами. Лучше порекомендуй скриптеру амена выпрямить руки (IMG:style_emoticons/kolobok_light/smile.gif) чтож ты так, ведь у скриптера Амена сегодня день рождения (IMG:style_emoticons/kolobok_light/smile.gif)
Сообщение отредактировал PaiNt - Nov 8 2012, 14:14 |
![]()
Сообщение
#125
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Количество локаций неважно, если модуль рисовался по принципу «нужно чтоб по карте все было» - когда локации делаются исключительно для того, чтоб они были, по логике вещей между пунктом «А» и пунктом «Б» (полная чушь для РПГ на самом деле). А если каждая локация – игровая сцена, наполнение ее соответствующее, а следовательно от числа таких локаций загрузка модуля зависит прямо пропорционально.
10 неписей на деревню – это даже не деревенька, так перевалочный пункт какой-то. А если ко всем этим локациям добавить по несколько слоняющхся в них игроков (когда все будет работать и шуршать скриптами), а еще вспомнить что АИ слоняющихся в городах НПС это вообще система чуть ли не из ряда последних которыми украшают такие игровые сцены – то обязательно встает вопрос, стоит ли такая система своих ресурсов. Игроки на моей памяти лагали исключительно своим числом только при активной боевке и заклинаниями/лошадями. В том же РП-городе нет ни первого ни второго к примеру. Если проблемы не видно – это не значит, что ее нет. Я вот с ней сталкивался при игре с подобными системами изнутри и, делая для себя, 10 раз подумаю «стоит ли оно того» и «нет ли варианта попроще/лаконичнее», прежде чем что-то подобное делать. Скриптер Амена там не при чем – такова учесть («мертвый неживой труп») любой системы которая пытается заменить случайностью упорядоченность. Что проще посчитать ящики с цементом путем складывания их в уме или путем складывания их в углу? Не шуршат, потому что в спящем режиме без игрока они. |
![]()
Сообщение
#126
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Если в воскресенье не будет пейнтбола, попытаюсь добавить пару новых фич (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]() ![]() |
Текстовая версия | Сейчас: 7th July 2025 - 12:13 |