Plutonius Опубликовано 29 октября, 2025 Опубликовано 29 октября, 2025 Возникла пара мыслей о квестах и ещё кое о чём, подумал, может быть есть смысл их сформулировать. Во-первых, про версию мода Crystalmoors: сейчас не работаю над ней. Но, возможно, работа будет продолжена. Собственно, есть в разработке на базе FT одна неприятная проблема: прикручивание текстов к диалогам требует очень много времени. Хотя, казалось бы, редактор FT предоставляет все возможности для встраивания нужного вам текста, но на деле это не совсем так. Чтобы добавить фразу в диалог, нужно сначала её придумать и записать в виде текста в обычный текстовый файл (ну, это и ежу понятно), а дальше надо создать в скрипте ключ, то бишь триггер, создать там же объект (контейнер для будущей ноды диалога), надо привязать к этому объекту нашу фразу, которую мы ранее записали в файле, а затем ещё связать ключ-триггер с этим объектом, к которому привязана наша фраза, которую мы перед этим придумали и записали в текстовый файл. Да, и сам файл, кстати, тоже надо предварительно связать с файлом локации, на которой происходит диалог, но ходя бы это действие над сделать только один раз. Зато для фраз диалога надо каждый раз повторять всю цепочку действий заново для каждой фразы. Прямо как в том самом стишке: "Вот старый, ободранный пёс без хвоста, который за шиворот треплет кота, который пугает и ловит синицу, которая часто ворует пшеницу, которая в тёмном чулане храниться, в доме который построил Джек". Короче, как-то раз, ещё в прошлом году, создал я большой квест, с множеством диалогов, но в итоге понял, что не хватит у меня решимости снова прокручивать вот это всё "которое в тёмном чулане хранится". И на этом как-то всё остановилось. Однако, если пораскинуть мозгами, то вообще-то можно и отказаться от диалогов FT; можно сделать полностью отдельный диалоговый процессор, вообще не связанный с движком FT. В этом случае, конечно тоже потребуется немало времени на эти диалоги, однако, это время сократится в 2-3 или даже 4 раза по сравнению с FT-эшной механикой. И, думаю, я к этой разработке ещё вернусь. Но меня интересуют некоторые особенности... квестов. А именно, кого какие квесты больше устраивают? Например, обдумывая сценарий Crystalmoors, я ориентировался на максимально усложнённые квесты. В частности, задания типа "пойди принеси бутылку самогона/книгу/батарейку и т. д. и т. п." есть только в самом начале самой первой локации. А затем все квесты приобретают совсем иной характер. Например, нужно спасти наследницу старейшины племени неких злых пигмеев из лап крайне жестокой банды каннибалов. При этом вам не известно ни точное число этих каннибалов, ни их вооружение, ни точное место их дислокации. По сути, всё что известно, это примерное направление, в котором ушли каннибалы. А чтобы выяснить всё остальное, придётся поработать следопытом и преодолеть немало препятствий. Например таких, как снежные завалы, скалы, токсичные вулканические источники и скрывающиеся в пещерах хищные звери-мутанты. При этом никаких подсказок, как убить того или иного монстра, как залезть на скалу и т. д. - не будет. Какой-нибудь НПС может упомянуть в разговоре, что такой-то монстр боится например огня, и на этом всё, других подсказок не будет. Также в описании верёвки будет сказано, как её использовать, однако, когда вы пойдёте на горный перевал, вам никто не скажет, взять с собой верёвку. Брать её или нет, решать только вам самим. И этот пример ещё не самый сложный квест, он как раз ближе к начальным, или средним по сложности. А самые сложные, это например расследование убийства, когда вам придётся разговаривать со многими НПС, и искать в их словах зацепки, которые помогут раскрыть дело. При этом не будет таких эпизодов, как например было в Fallout2, в Реддинге. Когда заходишь в шахтёрский барак, видишь какого-то буйного бухаря, говоришь ему что-то типа: "Ага, сукин сын! Я знаю, что это был ты! А ну признавайся!". И он такой "Твоя взяла, шериф! Это я убийца. Оформи мне добровольное чистосердечное!". Нет, в моём квесте убийца ни за что не признается, а может и пистолет выхватит неожиданно, и грохнет вас на месте. А может и вообще так получиться, что вы ловили не того, а настоящий убийца давно свалил, пока лох-шериф путался в ложных следах. Вот такие особенности национальной индейской охоты. Но есть одна только штука, которую мне бы хотелось узнать: насколько вообще такого рода квесты могут быть интересны? Раньше мне приходилось общаться с людьми, которые говорили примерно такое: "А зачем нам кузнец?"... То есть, а зачем мне такие сложности? Мне нравится старый добрый Тактикс, где я мог легко подойти к рейдеру, приставить к его заднице дробовик, и выстрелить с расстояния в одну клетку. И рейдер разлетался ошмётками по всей карте. А вот чё-то там искать, расследовать, под пули бандитские лезть - этт не для меня. Слишком напряжно. Мне надо чтобы бах-трах, и все враги быстро померли, а меня все дикари дружно хвалят и Братство Стали новые звёздочки на погоны даёт. В общем, вопрос такой: нужен кузнец или не нужен? Что лучше, квесты как сложные логические головоломки, или квесты "принеси, подай, пшелнах не мешай"? 1
Lone_Wolf Опубликовано 29 октября, 2025 Опубликовано 29 октября, 2025 10 hours ago, Plutonius said: Чтобы добавить фразу в диалог, нужно сначала её придумать и записать в виде текста в обычный текстовый файл (ну, это и ежу понятно), а дальше надо создать в скрипте ключ, то бишь триггер, создать там же объект (контейнер для будущей ноды диалога), надо привязать к этому объекту нашу фразу, которую мы ранее записали в файле, а затем ещё связать ключ-триггер с этим объектом, к которому привязана наша фраза, которую мы перед этим придумали и записали в текстовый файл. Да, и сам файл, кстати, тоже надо предварительно связать с файлом локации, на которой происходит диалог, но ходя бы это действие над сделать только один раз. Зато для фраз диалога надо каждый раз повторять всю цепочку действий заново для каждой фразы. Ни хрена себе. Я удивлён, что с такой морокой кто-то вообще к этой игре делает моды с диалогами)) 10 hours ago, Plutonius said: Но есть одна только штука, которую мне бы хотелось узнать: насколько вообще такого рода квесты могут быть интересны? Раньше мне приходилось общаться с людьми, которые говорили примерно такое: "А зачем нам кузнец?"... То есть, а зачем мне такие сложности? Мне нравится старый добрый Тактикс, где я мог легко подойти к рейдеру, приставить к его заднице дробовик, и выстрелить с расстояния в одну клетку. И рейдер разлетался ошмётками по всей карте. А вот чё-то там искать, расследовать, под пули бандитские лезть - этт не для меня. Слишком напряжно. Мне надо чтобы бах-трах, и все враги быстро померли, а меня все дикари дружно хвалят и Братство Стали новые звёздочки на погоны даёт. Не игрок в Таксикс и его моды, но всуну свои пять копеек. Я думаю, такие квесты могут быть интересны игрокам в рпг, если не перемудрять со сложностью. Например, в том твоём "несложном" примере у меня сомнение вызвало это: 10 hours ago, Plutonius said: ни точное место их дислокации. По сути, всё что известно, это примерное направление, в котором ушли каннибалы. Такое cработает только если есть адекватные подсказки. Эти подсказки, учитывая, что это старая изометрия, не должны быть слишком мелкие, слишком неявные, находимые только если будешь со страшной силой пылесосить каждый сантиметр окружения. 1 Oh, he might have went on living but he made one fatal slip, When he tried to match The Courier with the big iron on his hip.
Plutonius Опубликовано 13 ноября, 2025 Автор Опубликовано 13 ноября, 2025 On 10/30/2025 at 12:44 AM, Lone_Wolf said: Ни хрена себе. Я удивлён, что с такой морокой кто-то вообще к этой игре делает моды с диалогами)) С точки зрения программирования, там как раз правильный подход, просто в редакторе нет по сути нормального конструктора диалогов, а есть вместо него одни костыли. Недоделаный редактор просто, как и сама игра. Так что я скорее удивлён, что никто так и не попытался всё это доделать. Хотя, сам я тоже не доделал. Но, может, ещё что-нибудь получится. On 10/30/2025 at 12:44 AM, Lone_Wolf said: Такое cработает только если есть адекватные подсказки. Эти подсказки, учитывая, что это старая изометрия, не должны быть слишком мелкие, слишком неявные, Ну, у меня во-первых, немного другая философия построения сюжета. А во-вторых, в том квесте не подсказки, там один карлик специально показывает, куда идти, прям идёт и пальцем показывает: вот туда чапай! Ну как в сказке: пойдёшь по дороге из жёлтого кирпича, найдёшь волшебника Изумрудного города, и "Элли возвратится с Тотошкою домой". Но у меня злая игра, а не добрая сказка, поэтому новый Избранный домой, скорее всего, не возвратится. А если всё-таки возвратится, то для этого придётся проявить чудеса хитрости, ловкости, удачи и прочего. Там и дорога непроходима будет, и даже после расчистки ничего хорошего на ней героя не ждёт. Но в случае квеста с каким-нибудь расследованием, подсказок конечно не будет, будут только улики, а как их найти, это уже будет зависеть от уровня интеллекта игрока (реального). 1
Plutonius Опубликовано 16 января Автор Опубликовано 16 января Появились некоторые новые решения с разработкой диалогового модуля. Пробуя различные способы организации диалога в Тактикс, я в итоге пришёл к такому выводу: наиболее функциональным решением будет встраивание в доп. оболочку игры диалогового окна, которое будет работать независимо от самого Тактикса. Есть, правда, некоторое небольшое неудобство: нужно всё же реализовать связь между окном диалога и движком Тактикса. И это сделать можно. Однако, из окна Тактикса нельзя вытащить читаемый текст и передать его своему окну. Поэтому потребуется небольшой костыль, но я думаю что это не будет каким-то значительным неудобством. Значит, механизм работы диалога будет такой: при встрече с НПС вы как обычно кликнете на него мышкой, он произнесёт реплику, например, "Я Флик, продаю здесь всякие вещички!". Внизу экрана, под стандартной панелью Тактикса будет несколько дополнительных кнопок, в том числе кнопка "начать диалог". После нажатия этой кнопки откроется небольшое окно поверх окна Тактикса. В этом окне по центру будет арт НПС (возможно, это будет небольшая анимация, хотя на анимации потребуется больше затрат времени). Внизу окна будут текстовые поля, где и будет происходить диалог. Справа будут чекеры, кнопки; будет поле названия миссии и поле имени нпс. В поле имени вы вводите имя того НПС, с которым говорите в данный момент (в данном случае это будет "Флик"). Жмёте ОК, и в текстовых полях появятся фразы диалога с Фликом, затем порядок действий примерно такой же, какой всегда был в 1-2 Фоллаутах. В результате диалога вы о чём-то договариваетесь (или не договариваетесь) с НПС, нажимаете кнопку "завершить диалог", при этом результат вашего диалога возвращается окну Тактикса, окно диалога закрывается, а вы возвращаетесь непосредственно к локации, которую исследуете. Мне будет интересно узнать мнение кого-нибудь из заинтересованных пользователей: насколько такая схема будет для них удобной? Я думаю, в необходимости вводить имя НПС вручную есть небольшое неудобство, но всё же это не требует ни времени, ни особого внимания, и в целом это не должно как-то существенно сказаться на удобстве пользования интерфейсом программы. Думаю, достаточно скоро смогу добавить видео, где будет вживую показано действие системы. 1
Генерал Максон Опубликовано 16 января Опубликовано 16 января @Plutonius, приветствую! Ознакомился с темой. Я так скажу, идея с введением имени собеседника, в принципе, хорошая. Не думаю, что это будет напряжно при игре. В общем, поддерживаю, но, желательно всё же посмотреть как это будет на практике. 1 Egon Spengler - Classic Games (форум)
Plutonius Опубликовано 16 января Автор Опубликовано 16 января 7 hours ago, Генерал Максон said: @Plutonius, приветствую! Ознакомился с темой. Я так скажу, идея с введением имени собеседника, в принципе, хорошая. Не думаю, что это будет напряжно при игре. В общем, поддерживаю, но, желательно всё же посмотреть как это будет на практике. Привет! Демонстрация работы формы будет через несколько дней, может даже раньше. Ещё надо будет подумать, как придать системе универсальность, чтобы использовать определённую стандартную схему для любого диалога. Но думаю, это решится в процессе, и много времени не потребует. 1
Plutonius Опубликовано 17 января Автор Опубликовано 17 января Это внешний вид окна с дополнительными кнопками, но сегодня я ещё нашел библиотеку Tesseract https://github.com/tesseract-ocr/tesseract Она распознаёт текст на экране. Попробую сначала поработать с этой библиотекой, если получится считывать текст, то можно будет более гибко всё сделать, с более удобными функциями. Ну, если не выйдет, то сделаю просто ручной ввод имени НПС. Но думаю, что-то должно получиться с этой библиотекой. 1
Генерал Максон Опубликовано 17 января Опубликовано 17 января Так, то есть надо кликнуть "Диалог" и всё, правильно понимаю? А что насчёт вышеупомянутого введения имени собеседника? 1 Egon Spengler - Classic Games (форум)
Plutonius Опубликовано 17 января Автор Опубликовано 17 января 33 minutes ago, Генерал Максон said: Так, то есть надо кликнуть "Диалог" и всё, правильно понимаю? Да, общий порядок будет такой: сначала клик на НПС, и он скажет первую фразу диалога, которая появится в родном окне Тактикс. После этого жмём кнопку "диалог", и дальше диалог продолжается уже в нашем окне. И надеюсь, что удастся вообще обойтись без ввода имени НПС. Нашёл сегодня библиотеку tesseract, с её помощью я смогу сделать в программе распознаватель текста. Пока ещё только добавил библиотеку в свой проект, сегодня-завтра буду проверять, насколько вообще эффективно она работает. Если верить описанию, она может прочесть и распознать текст с любого изображения на экране. Если это действительно заработает, тогда никакие имена вручную вводить не придётся. Программа сама будет читать имя с помощью tesseract, из текста первой фразы НПС в окне Тактикса, и диалог с этим НПС откроется автоматически. Если это будет работать, то есть почти 100% шансы сделать работу программы, как единого целого. Тогда для пользователя всё, происходящее на экране будет восприниматься как одно целое, несмотря на то, что диалог уже будет на самом деле проходить не в Тактиксе, а в отдельной, написанной мной программе. 1
Генерал Максон Опубликовано 17 января Опубликовано 17 января Хорошая идея, желаю удачи в освоении и реализации! 1 Egon Spengler - Classic Games (форум)
Plutonius Опубликовано 18 января Автор Опубликовано 18 января (изменено) On 1/17/2026 at 7:09 PM, Генерал Максон said: Хорошая идея, желаю удачи в освоении и реализации! Спасибо! Сегодня удалось заставить tesseract работать в моей программе. Она действительно может конвертировать буквы из картинки с экрана в обычный текст. Благодаря этому можно сделать программу, которая сама будет читать имя нпс с экрана, и откроет соответствующий диалог. Хотя есть и некоторые проблемы: tesseract читает текст только в том случае, если это будут буквы на чисто белом фоне, без посторонних изображений. Если фон не белый, или на картинке есть что-то ещё, кроме букв, то вместо текста будут кракозябры, или вообще не прочтётся. И ещё русский язык пока не смог туда прикрутить, только в английском читает. Впрочем, учитывая, что нужен белый фон, русский наверно и не нужен. Я сделал тег-нейм на английском, подсунул белый фон под них, и это в общем нормально работает. На этом видео тестовая форма. Сначала в Тактиксе выводятся слова НПС, а на белой полоске в левом углу окошка с текстом выводится его имя на английском. Это имя передаётся в форму диалога. На видео можно заметить, как после нажатии кнопки в белом текстовом поле появляется Great Bear (имя вождя, Большой Медведь). Так работает tesseract - вытаскивает текст из битового изображения. В общем, это даёт много новых возможностей. Хотя, наверно, тем кто далёк от программирования, не особо ясно, в чём тут вся соль и где тут собака порылась. Но это на самом деле очень круто. Теперь буду постепенно перерабатывать уже готовую первую миссию Crystal Moors под новую систему диалогов. Это займёт время, месяц, или может чуть больше. Но думаю, что результат будет впечаляющим. По внешнему виду вроде тоже неплохо: небольшое белое поле в окошке с текстом в Тактиксе вроде бы не сильно бросается в глаза, и не должно вызвать ни у кого проблем. Изменено 18 января пользователем Plutonius 1
Plutonius Опубликовано 31 января Автор Опубликовано 31 января Пробую делать визуальное оформление общения персонажей. В целом, работает. По имени нпс запускается соответствующая выборка данных. Нейросетями можно делать видео персонажей. Но конечно, с бесплатными версиями изображение маленькое и отрезками всего по 5 сек. Хотя, в общем-то, может быть хватит и небольших анимаций? С длительными по времени пришлось бы дольше возиться, генерировать. Короче, думаю, есть определённые перспективы сделать достаточно красочную медийную часть диалогов, хотя и времени это потребует немало. https://youtu.be/EIFeHYkQ-d4
Plutonius Опубликовано 10 февраля Автор Опубликовано 10 февраля Работа над проектом продвигается не быстро, но я бы сказал, успешно. Новые функции в целом показывают неплохую работоспособность. Конечно, всё ещё будет подгоняться и доводиться в процессе. Диалоговое окно будет выглядеть так: https://youtu.be/u3y7B_9Krtg Всякие мелкие окошки на форме, это для отладки, в окончательном варианте их не будет. Будет только видео в левой части, и два поля для диалога в правой части. Верхнее поле - это слова НПС, а в нижнем варианты ответов. Думаю, такая компоновка окна будет оптимальной. В таблице планирую сделать до 8 ответов одновременно. Больше 8 вряд ли понадобится, в большинстве веток будет 2-4 варианта ответа.
Plutonius Опубликовано 25 февраля Автор Опубликовано 25 февраля (изменено) Разработка постепенно продвигается, дизайн окошка в итоге решил сделать ближе к классике, с чёрным фоном и зелёным текстом. https://youtu.be/BJ8Mrmzk_qk Изменено 25 февраля пользователем Plutonius
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти