НВН и Технология - Амен

Welcome Guest ( Log In | Register )

 
Открыть новую тему
> НВН и Технология, (интересные системы крафта)
{ipb.lang['topic_rating']}
Флэристан
{ipb.lang[ 27 March 2011, 15:27
{ipb.lang['posted_on']} #1


Мастер
*****

Group: Житель
Posts: 749

Раса: Человек
Класс: Sorceror
Уровень: ~
Клан: Алый Маг



Описание «системы крафта» на примере Arcanum’a и возможность перенятия ее положительных сторон под реализацию в НВН.

1. Большая доля интереса в приведенной в качестве примера системе лежит в преподнесении игрового мира игрокам (ее то даже и «системой крафта» назвать язык не поворачивается – скорее это стиль прохождения игры «технологом»). Изюминка Арканума – это представленный вполне традиционный фэнтазийный мир в котором противоборствуют за право стать «двигателем прогресса» классическая для фэнтази магия и альтернативная технология (причем технология несмотря на свои технические достижения действительно альтернативная – в лучших традициях Жюля Верна и Николы Тесла). И технология в этой борьбе постепенно берет верх.
Если сравнить тут мир Арканума с миром НВН – в последнем будет явно бросаться в глаза забитость темы технологии в игровом мире (но оно и понятно – ведь НВН мир исключительно фэнтазийный). Есть те же дварфы роющие руды и уважающие тяжелую промышленность, есть те же гномы любящие замысловатые механизмы и изобретения, есть те же люди средние во всем и стремящиеся к получению большего за меньшие сроки – но ничего сложнее арбалета или баллисты НВН им придумать не дала. Зато прекрасно развита система всяческого зачарования.

В принципе тему технологии в НВН развить возможно и в том числе до уровня влияния на игровую квенту мира подобно Аркануму (кстати говоря в обоих игровых мирах присутствует отсылка на некий город аля «Атлантида» достигший невероятных высот в своем техническом развитии и потерпевший ошеломительный крах и практически полное уничтожение). И тогда в игре появятся «слухи» о неимоверных изобретениях, о чудесных мастерах и мастерских, о таинственной силе «технологии» - и возможно и крафт тогда станет не тяжбой которую предстоит преодолеть игроку на пути к достижению намеченной цели, а стилем игры подобно Аркануму.

2. Подобно школам магии, в Аркануме технология разделена на дисциплины, занимающиеся отдельными вопросами науки (химия, электрика, механика, пиротехника, огнестрельное оружие, кузнечное дело, травничество, терапевтика) по которым можно классифицировать любой предмет из игрового мира.
Каждый изученный пункт такой дисциплины требует определенного значения интеллекта и передвигает «карму» персонажа по отдельной шкале (подобно направленности в НВН) «магия/технология» в сторону технологии, шкала в свою очередь определяет как будет действовать на вашего персонажа магия или технология (поскольку одно в мире Арканума не терпит другого); кроме того изучение пунктов дисциплин: 1) повышает квалификацию персонажа в выбранной специальности (от «дилетанта» до «профессора») что выражается так же численно в абстрактных очках требующихся далее в качестве мерила необходимого уровня знания в дисциплине при сборке изученных схем; 2) каждый изученный пункт в дисциплине открывает для персонажа стандартную схему для сборки уникального игрового предмета который невозможно купить и часто даже добыть каким-либо иным путем, и которые обычно на порядок превосходят качество аналогичных изделий приобретаемых в стандартных магазинах и потому довольно полезен игроку по мере развития.
Причем надо заметить что сами схемы сборки выглядят довольно логично и реалистично, что придает системе некоторую долю интереса – например дилетант в сборке огнестрельного оружия может собрать из ржавой трубки и сломанного кремниевого пистолета неплохой новенький кремниевый пистолет, специалист может собрать из зрительной трубки и точной винтовки снайперскую винтовку, а профессор по сборке огнестрельного оружия может собрать из трубы и охотничьей винтовки «слоновье ружье».
Изучив дополнительно схемы например пуль – можно собрать из селитры и угля запас боеприпасов при достаточном уровне развития в пиротехнике. А изучив например эксклюзивную схему копьемета – из слоновьей пушки и качественного кинжала с помощью недюжих познаний в огнестрельном оружии и кузнечном деле можно соорудить аналог «базуки». В игре надо сказать есть даже аналог «энергетического» оружия ака «пушка тесла» собирающийся с познаниями в электрике и огнестрельном оружии из снайперской винтовки и жезла тесла, которые в свою очередь позволяют собрать в стандартных схемах эти две дисциплины. А так же возможность собирать «силовую» броню и механических «хенчменов» разного сорта.
Разнообразные экзотические схемы находятся разными способами в разных местах игры – некоторые самые распространенные можно купить в лавках ученых-инженеров, некоторые совершенно уникальны и могут быть добыты в процессе прохождения определенного квеста. Все они являются одноразово-применяемым предметом, добавляющим при использовании изученные таким образом схемы в список известных персонажу схем (принцип в общем-то аналогичный изучению заклинаний со свитка визардом в НВН). В описании схемы указанно краткое описание собираемого предмета, требующиеся компоненты (стандартно 2 компонента), и значения очков развития соответствующих компонентам дисциплин (обычно для каждого компонента, реже только для одного – требуя от второго компонента только его наличие).
Обычно в таких схемах ярко выражена дисциплина, к которой относится собираемый предмет и либо требуется определенные познания в смежной, либо реже требование в познаниях смежной дисциплины заменяет редкий эксклюзивный предмет, который не так то просто добыть или имеющийся в игре только в единственном числе.
Разнообразные ресурсы для сбора предметов в игре можно: 1) часто найти на каких-либо «свалках», складах или в мусорках; 2) купить в соответствующем магазине; 3) добыть в природе, обнаружив в местах его распространения; 4) добыть в ходе квеста в единичном экземпляре; 5) собрать.
Естественно что при такой игровой особенности в игре присутствует просто огромная масса разнообразных предметов чисто «бытового» назначения, которые на самом деле являются ничем иным как ресурсом для «крафта» и иногда действительно играют в игре какую-то собственную роль (например в игре есть очки которые добавляют +1 восприятия будучи надетыми персонажем с восприятием меньшим 8 и являются в свою очередь ресурсом для крафта и т.д.).
В игре так же присутствует «институт» в библиотеке которого за кругленькую сумму денег можно неоднократно приобрести весьма увесистые различные технические пособия по дисциплинам повышающие на определенное значение текущие очки развития, будучи в инвентаре персонажа (это удобно например если у вас есть схема на сборку какого-либо интересного устройства и уникальные запчасти для него, но не хватает уровня развития в одной из смежных дисциплин либо вы вообще не планируете ее развитие, однако по случаю нахождения необходимых деталей хотели бы все же воспользоваться возможностью собрать устройство).
Стечение списка этих факторов делают систему «крафта» увлекательной, а именно:
- классификация предметов по техническим дисциплинам (вносящая определенную логику);
- выборочное повышение уровня знаний в технических дисциплинах с возможностью применить их непосредственно или скрещивать для получения уникальных изделий;
- охота за редкими схемами и непосредственное изучение разнообразных схем сборки предметов (часто этим можно даже зарабатывать в игре – собирая из доступных по обстоятельствам дешевых компонентов дорогие вещи);
- охота за редкими компонентами для сборки уникальных вещей и непосредственная добыча разнообразных ресурсов для изготовления предметов для повседневных нужд (раскачанный «крафтер» в Аркануме напоминает эдакого супер мастера-самоделкина который может из подручного мусора, перочинного ножика и пластиковой бутылки собрать и запустить адронный коллайдер, зарядив его батарейками из овощей натыренных из ближайшего сельского огорода).
Созданный таким образом персонаж (с упором на развитие в технологических дисциплинах) получается напрямую зависим в игре от вещей – вся его прокачка это прокачка умения создавать одно из другого; помести его в благоприятную ресурсами среду – и он превзойдет с помощью собранных из них устройств кого угодно, помести в «сферический вакуум» - и он окажется полным нулем в игре…

Движок Авроры вполне позволяет реализовать подобную систему и для НВН (надо отметить так же что дополнительной отличительной особенностью вещей в Аркануме является их изнашиваемость: например при критических промахах оружием, или воздействием на броню особых веществ или явлений - огня, кислоты, взрывов, специфических ловушек, уронов элементальных созданий и т.д.).
Вместо технических дисциплин и их абстрактного уровня развития вполне подойдут определенные навыки (я уже давал подобную возможную их сводку):
Цитата(Флэристан @ 14 March 2011, 18:45) [snapback]42329[/snapback]
…Теперь посмотрим какое разнообразие навыков нам предлагает НВН..:
- крафт брони (сборка всяческой брони и одежды);
- крафт оружия (сборка всяческого оружия и боеприпасов);
- крафт ловушек (очень универсальный на самом деле навык – ведь к ловушкам можно добавить в принципе любые механизмы);
- лечение (почему бы не использовать этот навык для варки зелий и создания лечебных комплектов?);
- знание заклинаний (по аналогии с лечением его вполне можно использовать для создания всяческих зачарованных предметов);
- знание легенд (в принципе можно использовать этот навык для получения разного рода информации о любом участвующем в крафте предмете от требующихся/составляющих предмет компонентов/значениях и типах навыков и до сведений о возможных местах добычи ресурсов/предметов);
- оценка (если для какого-либо вида крафта потребуется создание промежуточных компонентов, я думаю она подойдет не хуже аптекарских весов или глаза-алмаза ювелира);
- поиск (все уже давно поняли что этот навык незаменим при «нахождении» разного рода компонентов для крафта встречающихся в природе);
- разоружение ловушек (по аналогии со сборкой этот навык можно требовать если вы захотите «разобрать» какое-либо механическое устройство на его компоненты для вполне ясных нужд);
- установка ловушек (в принципе этот навык можно отнести по аналогии со своими смежными к умению обращаться со всяческими механизмами а следовательно для их возможного «ремонтирования» или иного вида эксплуатации).
Вместо раздела с изученными схемами пойдет используемая книга с конвертацией в диалог со списком стандартных и изученных схем и активаторами на их сборку с проверкой нужных компонентов в инвентаре.
Вместо прокачки технологических дисциплин можно сделать квесты на получение в «институте» статусов специалистов по достижению определенного уровня навыка и изучения стандартных схем.
Получаемые в процессе «крафта» вещи можно привязать к соответствующему уровню навыков требующихся для их создания (так что бы их не мог использовать персонаж который не смог бы их создать). И сделать их уникальными в игре и превосходящими по всем показателям обычные.
Единственное что требует значительных затрат в введении такой системы крафта – это обеспечение трехкратного разнообразия предметов участвующих в системе: ресурсы распространенные в игре повсеместно; уникальные предметы создаваемые системой крафта; стандартные и экзотические схемы предметов создаваемые системой крафта.

Для упрощения представления такой системы в работе, можно привести пример создания серии однотипных вещей и всех требований к ним:
- Серия: «Самодельный меч->Отличный меч->Зачарованный меч->Громобой»;
- Дисциплина: «создание оружия/создание ловушек»;
- Ресурсы: «заготовка для меча, руда, точило, серебро, кварцевый кристалл»;
- Последовательность:
1) прокачка навыка «создания оружия» до +10 и получение в изученные стандартные схемы схему изготовления «Самодельного меча» (находим немного руды в ближайшей пещере, покупаем заготовку для меча у местного кузнеца, используем нашу книгу со схемами и получаем в результате длинный меч с мощными критическими ударами - 1д8, радуемся что благодаря прокачке крафта мы теперь не хуже ВМа с его улучшенным множителем критического удара);
2) прокачиваем навык до +20 и получаем по квесту у нашего мастера в изученные схему изготовления «Отличного меча» (покупаем у какогонить хитрого дварфа-оружейника точило, берем наш любимый Самодельный меч, используем нашу книгу со схемами и получаем в результате длинный меч с мощными критическими ударами - 1д8 + острый, радуемся что благодаря прокачке крафта мы теперь вообще как ВМ с его улучшенным множителем критического удара и расширенным диапазоном);
3) качаем навык до +30 (скиллпоинтами, характеристикой, вещами фитами – как угодно в общем) и получаем в изученные схему изготовления «Зачарованного меча» (долго и упорно ищем в горах и пещерах серебряную жилу и добываем немного серебряной руды, берем наш ненаглядный Отличный меч, используем книгу со схемами и получаем в результате длинный меч с мощными критическими ударами - 1д8 + острый +1 Бонус Зачарования, радуемся что благодаря прокачке крафта мы теперь можем охотиться на оборотней и всякую нечисть с посеребренным мечем совсем как какойнить ведьмак-бард или маг);
4) изучаем немного смежную дисциплину «создание ловушек» и получаем возможность собрать простейшие ловушки (долго и упорно ищем по миру схемку сборки «Громобоя» - наконец находим ее и учим использовав и получив соответствующую схему в свою книгу, находим у ближайшей скалы залежи кварца и подбираем парочку, создаем набор электрической ловушки, используем нашу книгу со схемами и получаем в результате длинный меч с мощными критическими ударами - 1д8 + острый +1 Бонус Зачарования + 1д8 электро, радуемся что благодаря прокачке крафта мы теперь вообще немеряно круты с таким мечем и пойдем теперь с ним хоть на дракона).
и т.д. и т.п...
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Replies
Yalini
{ipb.lang[ 28 February 2012, 17:39
{ipb.lang['posted_on']} #2


Мастер Клинка
Group Icon

Group: Координатор
Posts: 2,292
From: Москва

Раса: Человек
Класс: Ghost Sentinel



Ali Daydreamer, зачем их кэшировать, если давно добавлен параметр в настройках ini файла, отвечающий за кэширование 2da таблиц? Потом, даже если их и кэшировать, то процесс нахождения нужного параметра в таблице довольно длительный процесс. А еще нужно посчитать стоимость каждого бонуса. Потом сложить, и снова обратиться в таблицу, дабы узнать, какой же уровень имеет вещь (IMG:style_emoticons/default/smile.gif) По мне проще написать библиотеку, отвечающую за превращение числовых данных в строковые значения, чем обращаться в таблицу с конкретным бонусом, узнавать его стоимость, потом складывать, обращаться со следующим бонусом, снова складывать, и т.д. Ведь лучше работать с одним объектом, чем с данными, хоть и кэшированными. Нет, конечно, можно поступить совсем просто. Для бонусов, которые еще не нанесены на вещь, выводить информацию в токен, используя обычные локальные переменные, как я это делал с рецептами в свое время. Но тут нельзя забывать про то, что вещь может уже быть созданной, и игрок просто желает ее улучшить. Также на вещи некоторые бонусы могут повторяться.

Сейчас я делаю что. Создаю вещь и перехожу к изменению названия и описания. Залезая в 2da таблицу, используя стоимость вещи, узнаю ее уровень. Собранную информацию формирую в описание и копирую вещь из временного хранилища, в котором производились все операции над вещью, в оборудование, с которым работает игрок.

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

Причем, чтобы функции создания вещи и нанесения бонусов не запускалась дважды, при нажатии кнопки "Создать" можно использовать уже созданную копию вещи. Таким образом избегаем двойное создание одной и той же вещи и, соответственно, выполнение остальных действий. Удалить ее недолго, а вот вторично выполнять весь цикл создания вещи, процесс длительный и ресурсоемкий.

Единственное, что стоило бы оптимизировать, это обращение в таблицу за уровнем. Т.е. при первом обращении в таблицу надо создать массив данных, при обращении в который сразу будет выводится уровень вещи. Иначе же каждый раз приходится прокручивать таблицу из 2da файла. Массив очень простой:

1-0001000;2-0001500;3-0002500 и т.д.

Нули нужны для поиска нужного количества знаков. Максимум 7 знаков, т.е. 1 млн.

Что мы делаем? Считываем стоимость вещи (с нанесенными бонусами). Далее, залезаем в массив, и используя тот же цикл перебора уровней, коих в таблице 60, (в принципе можно обрезать и на 30 уровне; все быстрее будет; учитывая потолок в 23 уровня) ищем нужный уровень вещи по ее стоимости.

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

Если есть идеи, как это сделать иначе, предлагайте.



Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ali Daydreamer
{ipb.lang[ 29 February 2012, 01:43
{ipb.lang['posted_on']} #3


Посвященный
**

Group: Житель
Posts: 91
From: Хабаровск

Пол: Парень
Раса: Халфлинг
Класс: Rogue
Уровень: 23



Цитата(Yalini @ 29 February 2012, 01:39) [snapback]44932[/snapback]

Т.е. при первом обращении в таблицу надо создать массив данных, при обращении в который сразу будет выводится уровень вещи. Иначе же каждый раз приходится прокручивать таблицу из 2da файла. Массив очень простой:
1-0001000;2-0001500;3-0002500 и т.д.

ну собственно это я и имел под словом "кэшировать", кстати, я вспомнил, галка о кэшировании 2да все-же субъективно у меня было ощущение что работала медленней чем записанные при старте модуля псвдо-массивы уже разнесенные по типам (кстати да еще эти пляски с переводом из стринга) и т.п.

(IMG:style_emoticons/default/smile.gif) , вообще это скорее мечта - чтоб все характеристики вещи можно было получить с помощью математической функции без ее(вещи) создания (IMG:style_emoticons/default/smile.gif) .. да и в душе то знаешь что поидее все это не не возможно, и мечту можно "сбыть".


Цитата

1-0001000;2-0001500;3-0002500 и т.д.
Если есть идеи, как это сделать иначе, предлагайте.
А если например эту таблицу написать в каком-нибуть инклюде имеенно в самом коде, столбик текста типа swich,case. мне кажтся что подобную "табличку" по другому чем в скомпилированном скрипте уже не как эффективнее не сделаешь.
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Posts in this topic
- Флэристан   НВН и Технология   27 March 2011, 15:27
- - kiruhs   Флэр, пословица "краткос...   27 March 2011, 21:35
- - Флэристан   Краткость все-таки не всегд...   27 March 2011, 23:40
- - Ali Daydreamer   Это могло бы быть фишкой от...   23 April 2011, 11:41
- - Флэристан   Я вот думал над этим: дело в ...   23 April 2011, 14:01
- - Ved   Собственно тема актуальна ...   27 February 2012, 10:41
- - Yalini   Подробное описание по краф...   27 February 2012, 11:53
- - Ved   По поводу улучшения от 1 до 5...   27 February 2012, 13:34
- - Yalini   Эм, ну можно, конечно, прове...   27 February 2012, 19:06
|- - Ali Daydreamer   Цитата(Yalini @ 28 February 2012, 03...   28 February 2012, 03:33
- - Ved   Это сильно бы облегчило жиз...   27 February 2012, 19:24
- - Yalini   Ali Daydreamer, вот уж сложности. Д...   28 February 2012, 10:25
- - Флэристан   Формулы и не будет – зависи...   28 February 2012, 11:16
- - Yalini   Флэристан, проще создавать ...   28 February 2012, 15:06
|- - Ali Daydreamer   Цитата(Yalini @ 28 February 2012, 22...   28 February 2012, 16:11
- - Флэристан   Цитата(Ali Daydreamer @ 28 February 201...   28 February 2012, 20:02
Set Invisible (Unapprove Post)  
Открыть новую тему
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



//
Lo-Fi Version Time is now: 27 May 2024 - 19:59
IBR Beige Style V.2.1 by: Fisana (IBR Team) © 2005