3vtiger | Дата: Пятница, 29.01.2016, 09:04 | Сообщение # 1 |
«Sigerous 3.0» – глобальный отчет. Глобальный отчет - 2 часть Ну а это для тех кто желает подробно изучить все новшества АПДЕЙТ 26.01.2016 от GeJorge Всем привет. В связи с тем, что с октября месяца я провел полную перепись всего и вся в моде, и достиг определенных, на мой взгляд, шедевральных успехов, было решено поделится ими с Вами. В двух словах не получилось, вышло много текста. Изменения геймплея: 1. КПК. Раздел "Рейтинг". Аналог того что было в ТЧ. Изначально вся 20-ка ненастоящая, но в процессе игры туда будут попадать реальные участники рейтинга. Их можно будет найти и уничтожить. После начала новой игры, спустя время, игрок получит квест, который будет напоминать, что мы должны занять место в 20-ке. Для ускорения этого процесса, при наличии участников поблизости, задание будет обновляться и указывать на них, дабы игрок устремил свою огневую мощь на конкурента. Все участники рейтинга обладают хорошей защитой, модернизированным оружием (случайная линейка механических апгрейдов) и за их уничтожение игрок повышает ранг и получает опыт. Награда за участника описывается в самом квесте. 2. КПК. Раздел "Персонаж". Место для приобретения способностей. Каждый раз при получении нового уровня развития, игрок получает 1 очко возможностей, которое можно обменять на интересный навык. Как и в любой РПГ, каждый новый уровень развития требует больше опыта чем предыдущий. Опыт можно зарабатывать выполняя квесты и за некоторые из ряда вон выходящие действия, как-то убийство ножом. 3. КПК. Раздел "Заметки". На скринах экспериментальное содержание. В процессе игры туда будут попадать новые статьи, с картинками или без. Реализация заметок такова, что это не заранее определенный набор заметок (таблица-простыня), который просто при получении инфопортаций раскрывается, а динамически расширяемый массив, который можно наполнять (insert) до бесконечности. Один раз добавил статью, и она всегда в КПК. 4. Заряд C4 с блок-детонатором. То же что было в 2.2, но теперь можно устанавливать задержку перед детонацией, устраивая цепочку последовательных взрывов. 5. Противопехотная мина. В игре будут только мины созданные ГГ. На квестовых НПС не реагируют, но в случае взрыва цепляют. Обезвреживание (по шансу) мин было вырезано. 6. Сканер артефактов. В ЗП было нечто подобное. Устанавливаем в аномалию или любое другое место сканер, и он отслеживает в своем радиусе присутствие артефактов. Если появились, метка становится зеленой, и приходит сообщение, что сканер номер такой-то обнаружил артефакт. Лимит установки 2, радиус 50м, стоит очень дорого и редко встречается. 7. Жетон модернизаций. Выполняя задания местных мастеров, можно будет иногда получать такие жетоны. Их принимают любые механики, для проведения одного бесплатного улучшения (обмен). 8. Набор техника. Будет ли в игре, еще не решено. Предмет для установки модификаторов на оружие и броню. Сначала нужно купить этот набор (наверное у механика, пока не решено), а потом отыскать или где-нибудь купить сами модификаторы, так как без них этот предмет бесполезен. Модификаторами можно повышать урон, точность, улучшать магазин и т.д, для бронекостюмов - повышать переносимый вес, защиту, регенерацию и т.д. Также после изучения спец.навыка можно будет эти модификаторы снимать. 9. Сборочный модуль. Экспериментальный предмет, пока не решено будет ли использован в игре. Грубо говоря верстак, на котором при наличии схем можно будет собирать нечто из неких компонентов. Также приходит на ум ассоциация с кубом харадрига из диаблы. 10. Личный ящик, предмет. Лимит установки по одному на локацию. Очень дорогой, демонтировать нельзя. Принцип как в диаблах и других РПГ, если ложишь предметы в один такой ящик они будут лежать и в других на иных локациях. Избавляет от необходимости таскать предметы из одного убежища, в другое. В самом ящике лежит предмет 'Личный сейф', в котором можно хранить денежку. 11. Частотный сканер. Предмет изначально в рюкзаке и считается квестовым. Будет ли использоваться пока не решено. Суть в том, что можно в скриптах настроить его на определенную цель и если ГГ к ней близко, тогда на экране появляется индикатор приближения. Чем мы ближе, тем больше зеленых палочек, как на телефоне. 12. Ухудшение FOV и RANGE обзора в ночное время суток для всех НПС. Чем светлее тем лучше видят, и наоборот. 13. Уровень торговли ГГ. Чем выше, тем лучшее ассортимент у обычных торговцев типа Сидоровича. 14. Странствующие торговцы. На каждой локации будет по одному отряду в числе которых будет торговец (как в фаллоуте). Найти будет не просто, потому что выяснить что это торговец можно только вступив в диалог. Ассортимент будет случайно сгенерирован, цены в два раза дороже обычных и скупает в два раза дешевле. Но так как предметы в продаже могут быть уникальными, то придется платить дорого и сразу, так как потом отряд придется снова искать, и в следующий раз ассортимент уже будет иным. Если убить, в трупе ничего не будет. 15. Персональные схроны. Вместо персональных флешек из 2.2, используется выдача тайника при обыске тела любого важного персонажа. Сам тайник для спауна выбирается случайно из уже готовых, созданных в СДК. Это пеньки, бензобаки, кусты, ёлки, щитки, коробки и прочие объекты. В среднем на локацию, специально под эти схроны, выделено по 35 мест. Предметы в этих тайниках если это оружие или броня, имеют по одному случайному мех.апгрейду, и если это оружие то есть 10% шанс что будет какой-то один обвес. Также предметы будут иметь случайное состояние. На скрине пустой тайник. 16. Подзадачи (обджективсы, как в ТЧ). На каждом этапе выполнения квеста могут быть промежуточные задачи которые нужно выполнить чтобы задание обновилось. Они будут выводиться при зажатии TAB на активном задании с такими подзадачи, если они предусмотрены. 17. GUI-инвентарь мутантов. Если после смерти зверушки сработает шанс выпадения, тогда тушку можно будет использовать и извлечь все ценное. При срабатывании особого шанса, внутри можно будет найти и еще "кое-что". 18. Получение информации у НПС. Для квестов часто нужно получать информацию расспрашивая обитателей. Специально для этого придуман динамический диалог, из которого при определенных обстоятельствах ГГ может выведать интересующую его информацию. Сама система позволяет назначить шанс того, что информацию нам дадут. Можно назначить стоимость информации, может ли НПС нам её продать за сумму денег или в обмен на предмет. Поддерживается рандом. Каждую фразу можно сделать случайной из перечня заранее определенных, чтобы НПС не повторялся. Также можно сделать чтобы НПС случайно требовал у нас либо предмет, либо деньги, либо рассказывал бесплатно. 19. Торговля НПС предметами. Динамический диалог. Доступен после получения спец. способности. В диалоге НПС может предложить нам случайный предмет из заранее определенных в конфиге. 20. Продажа предметов НПС. Динамический диалог. Можно сделать чтобы сталкер, или любые сталкеры покупали у нас что-либо, например все хвосты собак, или квестовый предмет (когда он уже не нужен, но не удалился как это было в ЗП). Также присутствует возможность указать шанс того, что НПС заинтересуется тем, что мы ему впариваем. 21. Заказ предметов. Динамический диалог. Пока не используется, но полностью рабочий. 22. Генератор побочных квестов. Шедевр. Позволяет назначить любому НПС или бродячим отрядам, линейку квестов, в том числе и бесконечных. Бесконечность не означает, что будут снова те же квесты, так как цели заданий выбираются случайно из перечня возможных. На данный момент, каждый обычный НПС (командиры отрядов) имеет по одному квесту, но только если сработает два шанса, один на появление ветки "Мне нужна работа. Есть что на примете?", а второй на наличие самой работы. Награды за выполнение две, одна базовая, вторая та, что мы назначим. Базовая зависит от дальности цели, времени выполнения (если у задания есть лимит выполнения) и самой цели задания, в неё входит опыт, деньги и случайные предметы. У Сидоровича изначально доступно сразу три задания, если их выполнить или отменить или провалить будет еще два, затем следует 12 часов на перезагрузку и будет снова 5 новых заданий. Получается что у Сидоровича очередь 3, а количество 5. 23. На длинных участках сюжета, где нужно долго идти предусмотрено окошко выбора, будем мы идти своим ходом или телепортируемся поближе к месту назначения. Если в задании участвует союзник, то телепорт осуществляется из диалога, НПС предлагает нам пропустить путешествие и телепортироваться или пройтись вместе с ним (но мы то знаем, что эти походы бывают утомительны) 24. Бессмертие (там где нужно) важных персонажей работает в одну сторону. Его может убить только ГГ, остальные нет. Основные скрипт возможности: 1. Relation Group. Каждому персонажу в игре можно назначить некую именнованую группу. Таким образом можно делать врагами две группы НПС из одной и той же группировки, без необходимости изменять отношение каждого персонажа по отдельности скриптами. Кроме того если один из участников группы заимел врага, тогда это отношение передается остальным участникам группы. Например имеем отряд из двух долговцев и монолитовцев. В оригинале этот отряд завидев ГГ, будет реагировать наполовину - только монолитовцы начнут огонь по ГГ, так как он их враг по-умолчанию. Но если всех участников отряда занести в одну именнованную группу, тогда они будут атаковать ГГ синхронно. Из скриптов такие группы можно сорить и мирить в любое время. 2. Динамическое изменение ассортимента продажи любого НПС или глобально. Благодаря стандартному LUA методу create_ini_file(), для создания виртуального конфига. 3. Контроль выпадающего оружия из НПС после смерти. Если ГГ новичок, то он не должен найти G36 и прочее. В конфиге перечисление секций и кондлист условие доступности выданчи. Также на разных уровнях сложности действует удаление патронов в обойме дропнутого оружия. В character_desc_general.xml не прописано оружие персонажей, оно подбирается автоматически в зависимости от профиля персонажа, локации на которой спаунится НПС и кастомных условий. 4. Все текущие квесты (в том числе и для генератора побочных квестов) в игре управляются не из секции в конфиге, как это было в ЗП, а из одной пользовательской функции в скриптах. Которая сама решает выполнился квест или нет, и выбирает текущие цели и описание. В ней же производятся все связанные с квестом манипуляции: спаун участников задания, старт лимита времени, запуск катсцен, контроль выполнения и прочее. Такая реализация позволяет избавиться от безразмерных кондлист-предложений, в которых легко было заблудится и уйти в запой. Если нужно запустить обычный квест с секцией, просто не указываем второй аргумент Task:Add(task_id, script_name) 5. Локации и предметы регистрируются в одном конфиге. 6. Переделанная с 2.2 технология хранения данных игры. Шедевр. Теперь используется сериализация, и каждый раз сохраняя игру параллельно с обычной сохранкой в C:\Users\Public\Documents\COP\savedgames, создается или обновляется два файла в gamedata\configs\storage\data, которые называются так же как и сохранение, но имеют разные расширения. Первый хранит данные актора, второй хранит данные объектов. Удаляя сохранку из главного меню эти файлы тоже удаляются. Есть также глобальное хранилище несвязанное с сохранками, в котором можно хранить что-то независимое. Благодаря сериализации, можно сохранять не просто ключ->значение, а ключ->массив, и этот массив может содержать другие массивы со значениями и так далее. 7. Отсроченное выполнение функций (планировщик задач). Шедевр. Есть класс, который имеет метод Queue:Add. В него можно пихать любую функцию или ссылку на неё, строку с LUA кодом, или имя функции, чтобы впоследствии по истечении игрового или реального времени, или при возвращении true прекондом - выполнить функцию, с возможностью передать в неё аргументы кроме 'userdata'. В любой момент такое действие можно отменить, зная имя задачи. Можно также сделать симуляцию локального апдейта, repeat выполнение функции каждый интервал времени. 8. HUD таймер (обратного отсчета или наоборот). Можно запускать без всяких рестрикторов, например из функции управляющей квестом (так как она на апдейте). 9. Динамический туториал. Без рестрикторов и регистрации в game_tutorials.xml. Основа на get_hud():AddCustomStatic и так как в моде используется xrGame.dll с перехватчиком клавиш, получилось перехватить нажатие клавиши действия и следовательно выполнять таким образом действие закрепленное за туториалом. Например нужен туториал который при подходе к точке высвечивает на экране надпись "Установить заряд (нажмите F)". Создаем туториал методом Tutorial:Add, привязывая его к координате. Теперь если ГГ подойдет к точке и что важно посмотрит на неё, появится искомая надпись. Все добавленные туториалы сохраняются до тех пор пока не будут выполнены. Туториал в любой момент можно убрать, зная его ID. 10. Предметы можно спаунить с заранее определенным состоянием, случайными или указанными апгрейдами (или всеми сразу), и с обвесами, случайными или указанными. В том числе спаунить в рюкзаки, ящики, или в НПС. 11. Отряды можно спаунить в случайный или определенный смарт, или на позиции. Если спауним в смарт, можно прикрепить отряд к смарту, чтобы было так словно в конфиге указан target_smart параметр. Назначенный смарт закрепляется за сквадом навсегда, и он его не покидает. 12. Любому НПС одиночке (находящемуся вне сквада) можно назначить смарт в любой момент времени, даже если он уже состоит в другом смарте или находится под какой-то логикой. Также можно вернуть НПС его старую логику. Для доведения НПС-одиночки к месту работы были сделаны правки xr_reach_task 13. Кастомдату можно динамически изменять в любое время. Например чтобы не удалять НПС который уже отработал какую-то логику, с тем чтобы сделать его копию но с другой секцией. Реализовано благодаря стандартному xr_logic и манипуляциям с db.storage[npc:id()]. 14. Смена и назначение story_id в любой момент для любого объекта зная его ID. 15. Схема обхода аномалий. Если тип аномалии NONE DEFAULT RESTRICTOR, вешается add_restrictions, благодаря которому НПС обходит аномалии как будто там нет АИ-сетки. Но если тип рестриктора аномалии другой, используется схема точечного обхода. Выстраивается маршрут из трех точек огибающих аномалию и НПС обходит её в walk состоянии. 16. Схема подбора артефактов НПС. НПС, если видит артефакт, подходит на некоторое расстояние, приседает или стоя с детектором, засвечивает его через target:get_artefact():SwitchVisibility(true) и затем подбирает. Так как артефакты в игре редкость, то и сама схема будет малоприменима. 17. Амортизация предметов. Есть функция, которой можно плавно ухудшать или улучшать состояние предмета каждый интервал времени, с прекондом или без. Например вошли в аномалию и оружие покрылось плесенью вызывающей коррозию. 18. Динамическая катсцена. Без рестрикторов и прочей мишуры. Спаунится фейковый ГГ и смотрит и делает то что указано. Когда камера долетает он удаляется и мы появляемся и смотрим куда нужно (или если не смотрим то взгляд плавно поворачивается, благодаря стандартному db.actor:actor_look_at_point). 19. Установка партикла со звуковым сопровождением. Партикл можно повесить на любой объект, или на вайпоинт маршрут или на маршрут из указанных level vertexов, с возможностью сохранить этот маршрут и текущее положение после загрузки игры. 20. Любой объект можно перевести в оффлайн и вывести от туда когда это нужно используя конфиг параметры или параметры логики. 21. Конструктор диалогов. Шедевр. Позволяет формировать сложнейшие диалоги в секции конфига, через параметры, заместо традиционно-тягомотных xml диалогов. Встроенные проверки и трансфер денег и предметов, а также работа с таймерами и необычайная гибкость преконд условий. 22. GUI аналог обычного ПЫС диалога, но без привязки к НПС. Шедевр. Доступные диалоги читаются из специального конфига, в котором все построено отчасти так же как и в моем конструкторе диалогов. Таким образом можно реализовать оффлайн общение между ГГ и персонажами. Но в моде это вряд ли будет использовано. 23. Аномалии цапают сталкеров. Симуляция благодаря спауну невидимого физического объекта в аномалию с автоудалением через 2 сек. (для визуальной реакции) и нанесением в этот момент хита. 24. Полоска жизней НПС на HUDе ГГ. Как во многих играх, в сватках с боссами, или как это было в конце ЧН. Пример на скринах пункта 19. 25. Схемы управления НПС, рестриктором, физическим объектом. 26. GUI заметка. Можно выводить любой текста, предусмотрены скроллбар и адекватный перенос строк. Скриншоты: Ссылка на примеры конфигов и всякие инструкции |
|