Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Город Мастеров _ Neverwinter Nights Aurora Toolset _ NWN Toolset Extender

Автор: virusman Nov 14 2011, 01:07

Наверное, не все ещё знают, что есть такая штука, как NWNTX - NWN Toolset Extender.
Его разработка началась со встраивания кастомного компилятора в тулсет НВН1. Этот компилятор выдаёт более оптимизированный код и делает это гораздо быстрее стандартного.
Сегодня добавился ещё один плагин - NWNTX Optimizations. Он ускоряет загрузку лок, убирает подвисание при выборе объекта на локе (да, да!) и увеличивает кэш ресурсов до 256 МБ. Думаю, это будет особенно полезно для мапперов.
Имейте в виду, что NWNTX Optimizations вышел только сегодня и может содержать баги, так что делайте бэкапы модуля перед тестированием этого плагина.

Ссылка на оригинальный тред:
http://social.bioware.com/forum/1/topic/188/index/7645830/4#8693901

Ссылка для скачивания последней версии:
http://data.virusman.ru/nwn/nwntx-full-1.0.3.rar

Автор: Melisse Nov 14 2011, 08:38

Спасибо.
Очень полезные штучки, особенно NWNTX - NWN Toolset Extender.

Автор: kiruhs Nov 14 2011, 11:07

Цитата(virusman @ Nov 14 2011, 00:07) *
Ссылка на оригинальный тред:
http://social.bioware.com/forum/1/topic/188/index/7645830/4#8693901


Полезность сабжа понял только после просмотра видео с этого треда. Сначала почему-то подумалось, что ускоряется загрузка лок в игре при переходе между ними. Тем не менее весьма полезная вещь и не только для мапперов. Спасибо

Автор: virusman Nov 14 2011, 13:56

Цитата(kiruhs @ Nov 14 2011, 11:07) *
Полезность сабжа понял только после просмотра видео с этого треда. Сначала почему-то подумалось, что ускоряется загрузка лок в игре при переходе между ними. Тем не менее весьма полезная вещь и не только для мапперов. Спасибо
Так из названия же понятно, что это для тулсепта. smile.gif
Ускорение загрузки лок в клиенте у меня тоже есть, но пока не выпущено (у меня мощный комп, и даже очень навороченные локи грузятся и так довольно быстро, поэтому эффект оценить не могу).

Автор: Ilerien Nov 14 2011, 21:26

Опробовал. Вирю респект, мапперам работу определённо ускорит. smile.gif Правда, без хайлайта в списке объектов на локе довольно непривычно

Цитата(virusman @ Nov 14 2011, 13:56) *
Так из названия же понятно, что это для тулсепта. smile.gifУскорение загрузки лок в клиенте у меня тоже есть, но пока не выпущено (у меня мощный комп, и даже очень навороченные локи грузятся и так довольно быстро, поэтому эффект оценить не могу).
Можно сунуть клиент в виртуалку, скорость загрузки лок упадёт сразу rolleyes.gif

Автор: virusman Nov 30 2011, 11:25

Обновлённая версия, с исправлением одного бага с Access violation:
http://data.virusman.ru/nwn/nwntx-full-1.0.4.rar

Автор: nepejke Nov 30 2011, 11:55

спасибо

Автор: Melisse Nov 30 2011, 12:36

Спасибо)

Автор: Talarasha Dec 6 2011, 21:34

Спасибо, опробуем prankster2.gif

В модуле с подключенным cep24 из списка appereance существ пропали все хаковские, остались только оригинальные. Загружая тот же модуль через оригинальный тулсет - там со списком все в порядке, хаковские есть.

Автор: virusman Dec 6 2011, 21:56

Модуль открывал сразу после загрузки тулсета или сначала открывал какой-то другой модуль?

Автор: Talarasha Dec 7 2011, 08:14

Сразу открывал модуль в обоих случаях.

Автор: virusman Dec 7 2011, 12:52

Версия точно последняя, 1.0.4, а не та, что в шапке?

Автор: Talarasha Dec 7 2011, 12:59

Да, вот эта:

Автор: virusman Dec 13 2011, 02:42

http://data.virusman.ru/nwn/nwntx-full-1.0.5.rar

Автор: Talarasha Dec 13 2011, 08:55

Найс! Теперь все в порядке, и загружается все действительно в разы быстрей. Спасибо good.gif

Автор: Agarwaen Jan 12 2012, 10:08

virusman, действительно респект! Спасибо!

Автор: Melisse Mar 16 2012, 08:07

При запуске выдает ошибку, энибади хелп) - Что в чем вопрос. Уже все по 10 раз переустановленно - все равно

Цитата
Сигнатура проблемы:
Имя события проблемы: BEX
Имя приложения: nwtoolset.exe
Версия приложения: 1.3.36.4
Штамп времени приложения: 00000000
Имя модуля с ошибкой: MSVCR100.dll
Версия модуля с ошибкой: 10.0.40219.325
Штамп времени модуля с ошибкой: 4df2be1e
Смещение исключения: 0008af3e
Код исключения: c0000417
Данные исключения: 00000000
Версия ОС: 6.0.6001.2.1.0.768.3
Код языка: 1049
Дополнительные сведения 1: cf58
Дополнительные сведения 2: a0e9a85e32ffb5c116b8fb408a7e2757
Дополнительные сведения 3: 42d8
Дополнительные сведения 4: 58dc9cb159f03d34e59a0682d761d608

Автор: PaiNt Mar 16 2012, 08:13

Вирусмэн накосячил biggrin.gif

Автор: Melisse Mar 16 2012, 11:35

Все было нормально, а потом бах и такая ошибка. Самое интересное что переустановка нвн или с++ не помогает...(как с пакетом, так и без него только с теми библиотеками какие в архиве даны)
Возможно это как-то связано с прелоадом хак паков? Потому что того как я попыталась это сделать все вроде шло отлично и даже с прелоадом было нормально, а потом бах..см. выше =)

Автор: virusman Mar 16 2012, 12:57

MSVCR100.dll может быть некошерный. Я в одном из архивов случайно x64-версию положил. Попробуй заменить этот файл на другую версию или удалить из папки с НВН.

Автор: Melisse Mar 16 2012, 13:12

Цитата
MSVCR100.dll может быть некошерный. Я в одном из архивов случайно x64-версию положил. Попробуй заменить этот файл на другую версию или удалить из папки с НВН.

C++ 2010 Redistributable Package стоял и не использовала что в архиве.

Автор: Ilerien Mar 16 2012, 17:44

Значит, можно попробовать кинуть в папку с нвн тот, что в архиве. smile.gif

Автор: Melisse Mar 17 2012, 00:13

блин, да я и так и так уже...

Частенько наблюдается разница между запуском через NWNTX и просто тулсет в замене стандарных ресурсов. При NWNTX не всегда заменяется, если прелоадом или в овверайде, бывает даже не заменяет 2да или модели которые в хак паке. Неоднократно такое случалось, не всегда, но бывало. У меня на ХР и Виста )

Автор: Desan Jun 13 2012, 18:31

Скачал прогу, поставил ее запустил... но так и не врубился че она делает.. т.е. я читал что делает но на примере как то не ощутил разницы. Может кто то скажет на примере как она оптимизирует тулсет

Автор: virusman Jun 13 2012, 21:29

Значит, скорее всего, тебе она пока не нужна. smile.gif

Автор: Desan Jun 14 2012, 10:48

Но почему, я часто работаю с тулсетом и меня напрягает его медлительность, долго грузит локи и еще скриптовый редактор и обратно тоже долго переходить... и т.д.
Жаль нету исходников самого тулсета тогда люди бы его улучшили до не узнаваемости

Автор: denis0k Jun 14 2012, 17:45

На самом деле это мало кому нужно, иначе бы давно сделали smile.gif Как для игр на движке кваки - там несколько тулсетов и несколько компиляторов уровней. Так что наработки Вирусмана для нвн - лучшее, что может быть в принципе.

Я недавно имел опыт разработки тулсета для игры (с нуля) и могу сказать, что нет никакой проблемы сделать альтернативный тулсет для нвн на любом открытом графическом движке - форматы файлов биовари выкладывали, остальное - дело техники. Мой тулсет грузил сконвертированные из нвн модели, причём где-то за секунду открывал локу 100х100 тайлов. Но потом я забил, жалко тратить время на то, что оценит 2-3 человека smile.gif

Автор: virusman Jun 14 2012, 18:25

Цитата(denis0k @ Jun 14 2012, 17:45) *
На самом деле это мало кому нужно, иначе бы давно сделали smile.gif Как для игр на движке кваки - там несколько тулсетов и несколько компиляторов уровней. Так что наработки Вирусмана для нвн - лучшее, что может быть в принципе.
Ну сколько уже можно объяснять, что Quake 3 полностью принадлежит компании id Software, и они вольны были распоряжаться исходниками как угодно, а NWN содержит IP от WotC, Hasbro, Atari, Bioware и фиг знает кого ещё, что делает релиз исходников невозможным, как бы кто ни хотел.

Автор: PaiNt Jun 15 2012, 02:54

Цитата(virusman @ Jun 15 2012, 02:25) *
Ну сколько уже можно объяснять, что Quake 3 полностью принадлежит компании id Software, и они вольны были распоряжаться исходниками как угодно, а NWN содержит IP от WotC, Hasbro, Atari, Bioware и фиг знает кого ещё, что делает релиз исходников невозможным, как бы кто ни хотел.

Цитата("Альберт Эйнштейн")
Все с детства знают, что то-то и то-то невозможно. Но всегда находится невежда, который этого не знает. Он-то и делает открытие.
crazy.gif

Автор: virusman Jun 15 2012, 15:56

Здесь не нужны открытия, достаточно всего несколько сотен миллионов долларов. smile.gif

Автор: denis0k Jun 15 2012, 17:10

Цитата
Ну сколько уже можно объяснять, что Quake 3 полностью принадлежит компании id Software, и они вольны были распоряжаться исходниками как угодно, а NWN содержит IP от WotC, Hasbro, Atari, Bioware и фиг знает кого ещё, что делает релиз исходников невозможным, как бы кто ни хотел.
Исходники Кармак выкладывает спустя 5 лет после релиза, а весь инструментарий был готов почти сразу. Там код не нужен, нужны только спецификации файлов, а они и в кваке (а это собсно кваки, хл, кс и ещё десятки игр), и в авроре открыты. Есть инструментарий для просмотра нвновских бифов, персонажей, тайлов, моделей и прочего, нет никаких проблем сделать и тулсет, который тупо загрузит эти файлы, отредактирует и сохранит. Просто не сочли нужным, этот же работает. И в меру удобен. В отличие от тулсета нвн2, к примеру smile.gif

Вот, к примеру, один из самых первых скринов:


Моделька внутреннего формата, но ничто не мешает сделать загрузку прямо из нвновского мдл. Да, работа в общем непростая (там редакторы локаций, диалогов, персонажей, скриптов и т.п.), но реальная. Никакого внедрения механики, аи, сети и прочих сложностей, чистая рутина.

Автор: Flaristan Jun 15 2012, 18:21

Изобретательство велосипеда…
То что обычно тормозит в тулсете – тормозит и в игре, так что ИМХО это является своеобразным индикатором и в починке не нуждается. На хорошем компе и то и то работает вполне быстро, а то что не работает быстро – не играбильно.

Автор: virusman Jun 15 2012, 20:45

Ну да, тулсет НВН1, в общем-то, хорош и всех устраивает. Что меня не устраивало - я допилил с помощью NWNTX. smile.gif

Автор: Desan Jun 15 2012, 22:40

че за тулсет, саморобный вроде?? нвн1?

Автор: denis0k Jun 16 2012, 07:09

Цитата
То что обычно тормозит в тулсете – тормозит и в игре, так что ИМХО это является своеобразным индикатором и в починке не нуждается. На хорошем компе и то и то работает вполне быстро, а то что не работает быстро – не играбильно.
Ага, удаление итема из палитры в игре тоже тормозит по полгода smile.gif
Цитата
че за тулсет, саморобный вроде?? нвн1?
Да, самоделка. Но не нвн1, а нечто своё.

Автор: Flaristan Jun 16 2012, 20:29

Цитата(denis0k @ Jun 16 2012, 07:09) *
Ага, удаление итема из палитры в игре тоже тормозит по полгода smile.gif
Цветочки по сравнению с ожиданием создания нового звукового объекта, но все это отлично решается покупкой нового ПС. smile.gif

Автор: virusman Jun 16 2012, 22:59

Покупкой хоть самого забубенистого PC это не решается. А вот установкой NWNTX решается. smile.gif (звуки не проверял, но удаление точно)

Автор: denis0k Jun 17 2012, 07:33

Цитата
но все это отлично решается покупкой нового ПС
Страшно даже подумать, что за ПС надо купить, если при немаленькой палитре на 3,6ггц он тупит минут 10 с каждым итемом. Это не считая того, что с несколькими ядрами он в принципе не работает, так что анонсированные как-то 128-ядерные процы тут не выход, ибо одно ядро остаётся всё таким же "медленным".

К слову, с палитрой выход есть, мы нашли его лет 5 назад - можно удалять напрямую файлы и делать апдейт. Но геморрой.

Автор: Flaristan Jun 17 2012, 09:04

Цитата(virusman @ Jun 16 2012, 22:59) *
Покупкой хоть самого забубенистого PC это не решается. А вот установкой NWNTX решается. smile.gif (звуки не проверял, но удаление точно)
Ну не знаю как у вас, а у меня этим все решилось.
Все стандартные звуки перед открытием списка например на старом компе обрабатываются минут за 5-10 (точно не засекал) – а на новом за 9 секунд. Приблизительно так же обстоит дело с удалением скриптов из списка кастомных. Удаление итемов и объектов из палитры происходит моментально (ну тут видимо палитра еще маленькая). Пока в общем сколько работал - не замечал чтоб компьютер задумывался над чем-то сильно долго. pardon.gif

P.S.:
Цитата(denis0k @ Jun 17 2012, 07:33) *
Страшно даже подумать, что за ПС надо купить, если при немаленькой палитре на 3,6ггц он тупит минут 10 с каждым итемом.
Core i3-530/2.93GHz/3,45 ГБ ОЗУ smile.gif

Автор: virusman Jun 17 2012, 13:45

У меня Core i7-2600 / 3.4 GHz / 8GB оперативы + SSD. Хотя от предыдущего апгрейда и перехода на Win7 был эффект, на чистом тулсете многие операции всё равно жутко медленные и занимают от нескольких секунд до минуты.
Вероятно, у тебя просто модуль небольшой.

Автор: Desan Jun 17 2012, 18:14

Как то открыл модуль нордока и прикрутил к нему хаки СЕП2.4....думал что загнусь ждать пока он все перепроверит или что он там делает. Комп амд 4200 2 ядра 3гб озу винда семерка х64. Утилиту себе тоже поставил уже работаю с нее хотя эфекта еще не заметил

Автор: Fimko Jun 17 2012, 19:48

В NWNTX есть фишка, которую по достоинству в состоянии оценить только мапперы. Причем, не те локоделы, мнящими себя таковыми, у которых за один вечер с конвейера сходит десяток «отличных локаций».
Дело в том, когда на одной локе установлено более 500 плейсов, установка каждого последующего занимает все больше и больше времени. К примеру, в локации 5х6 с 750+ плейсами, при попытке сдвинуть с места любой из них происходит задержка около 10 секунд. Что как бы выводит из себя!
Собственно, за излечение одного только этого недуга я не устану говорить Вирю спасибо! smile.gif

Автор: Melisse Jun 17 2012, 20:14

Самая главная штука NWN Toolset Extender это улучшенный компилятор.
Есть такая ошибка в обычном биоваровском тулсете, в скриптах, при компиляции: ПОЛНЫЙ СПИСОК ИДЕНТИФИКАТОРА.
Как мне объяснил в свое время Ilerien - у дефолтного компилятора ограничен размер списка идентификаторов (кажется, максимальный размер - 8192) в скрипте, всех подключённых библиотеках и файле nwscript.nss. Биовари в последних патчах добавили в файлик nwscript.nss тучу констант, но размер списка не увеличили.
Так вот когда вы встаете в вопросе что код перестает компилится, особенно при использование всяких nwnx инклюдов - без этой таблетки не обойтись никак.
Кроме того, - как мне опять же мне объяснили - код компилится более хороший.
Поэтому, конечно, большое ариготошечко за него.

Автор: PaiNt Jun 18 2012, 04:07

virusman, а большой прирост производительности скрипта при компиляторе NWNTX?

Автор: denis0k Jun 18 2012, 07:20

Цитата
К примеру, в локации 5х6 с 750+ плейсами, при попытке сдвинуть с места любой из них происходит задержка около 10 секунд.
А теперь прикинь, какая задержка происходит при загрузке локации по сети и в память smile.gif Для подобных вещей делаются кастомные тайлы. Размер 5х6 в принципе позволяет замоделлить целую локу, порезать на куски и объединить их группой через тайлсет.
Цитата
а большой прирост производительности скрипта при компиляторе NWNTX?
Виртуальную машину самой игры (которая как раз тормозит) он не переписывал smile.gif Компилятор просто создаёт байт-код из исходников, скорость компиляции со скоростью работы никак не связаны.

Автор: Fimko Jun 18 2012, 09:47

Цитата(denis0k @ Jun 18 2012, 07:20) *
А теперь прикинь, какая задержка происходит при загрузке локации по сети и в память smile.gif Для подобных вещей делаются кастомные тайлы. Размер 5х6 в принципе позволяет замоделлить целую локу, порезать на куски и объединить их группой через тайлсет.


Как показывают тестовые запуски, задержка незначительна. Я бы сказал, даже, едва заметная, по сравнению с загрузкой «чистых» локаций. Возможно дело в оптимизаторе работы сервера, мейд бай вирусмен.

Делать кастомные тайлы, дабы не загружать локу плейсами – метод хороший, но имеет очень много издержек и недостатков.

Автор: PaiNt Jun 18 2012, 15:37

Цитата(denis0k @ Jun 18 2012, 15:20) *
Виртуальную машину самой игры (которая как раз тормозит) он не переписывал smile.gif Компилятор просто создаёт байт-код из исходников, скорость компиляции со скоростью работы никак не связаны.

просто я предполагал - что "Х-компилятор" оптимизирует написанный код - следовательно "убыстряет" байт код, лучше чем стандартный вот и спрашиваю - на сколько кривой стандартный компилятор smile.gif.

Автор: virusman Jun 18 2012, 17:08

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

Автор: denis0k Jun 18 2012, 17:12

Цитата
Как показывают тестовые запуски, задержка незначительна. Я бы сказал, даже, едва заметная, по сравнению с загрузкой «чистых» локаций. Возможно дело в оптимизаторе работы сервера, мейд бай вирусмен.
В локалке - да. У меня как-то был лес из плейсов (на тайле рурал), грузилось долго на 3м пентиуме и 2м жефорсе, но не тормозило. Но каждый плейс - это игровой объект, который занимает килобайты памяти и сети и передаётся при заходе игрока в локацию (которые, в отличие от ммо, хранятся на сервере).
Цитата
вот и спрашиваю - на сколько кривой стандартный компилятор
Активно ковырял 2 шарда и 1 сингловый мод. Ни разу не было проблем со стандартным smile.gif Один фиг проблема не в нём по большей части. По-хорошему, надо менять виртуальную машину на сервере.

Автор: Ilerien Jun 18 2012, 19:55

Цитата
В локалке - да. У меня как-то был лес из плейсов (на тайле рурал), грузилось долго на 3м пентиуме и 2м жефорсе, но не тормозило. Но каждый плейс - это игровой объект, который занимает килобайты памяти и сети и передаётся при заходе игрока в локацию (которые, в отличие от ммо, хранятся на сервере).
А именно целых два. Пятьсот плейсов - 1 метр.

Проблема стандартного компилятора прежде всего в коротком списке идентификаторов. В своё время до появления NWNTX мне пришлось комментировать некоторые константы в nwscript.nss, чтобы код моего монструозного спеллхука таки скомпилировался.

Кстати, хинт: при использовании NWNTX нужно перезапускать тулсет каждый раз при открытии модуля, поскольку он безжалостно кэширует ресурсы вроде того же nwscript.nss. smile.gif

Автор: virusman Jun 18 2012, 21:04

Цитата(denis0k @ Jun 18 2012, 18:12) *
В локалке - да. У меня как-то был лес из плейсов (на тайле рурал), грузилось долго на 3м пентиуме и 2м жефорсе, но не тормозило.
У кого в наше время третий пень и 2-й жефорс? Такой хлам еще поискать надо. smile.gif
Цитата(denis0k @ Jun 18 2012, 18:12) *
Но каждый плейс - это игровой объект, который занимает килобайты памяти и сети и передаётся при заходе игрока в локацию (которые, в отличие от ммо, хранятся на сервере).
Кого в наше время волнуют килобайты трафика по сети? smile.gif
Цитата(Ilerien @ Jun 18 2012, 20:55) *
А именно целых два. Пятьсот плейсов - 1 метр.
Кого в наше время волнуют мегабайты памяти? smile.gif

Hint: Клиенту о каждом плейсе достаточно знать Id, номер модели и его расположение. Итого несколько байт на плейс + сжатие zlib-ом.

Автор: denis0k Jun 18 2012, 21:52

Из-за того, что никого ничего не волнует, у нас 4-ядерные телефоны и тормозят smile.gif Вообще, у меня много друзей с фиговым инетом, не позволяющим им играть в свеженькие ммо. Я с ними гоняю в дьяблу smile.gif

Автор: Ilerien Jun 18 2012, 22:26

Цитата
Кого в наше время волнуют мегабайты памяти?

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)