XaiJu
Muffin Projects
Muffin Projects

boosty


Techlog #5. Обычный набор вопросов для всех персонажей [ru]

Как вы могли заметить, в роадмапе на обновление есть пункт о Common questions poll. Сейчас попытаюсь рассказать что это, и как я это реализовал. Совсем ничего не сложного, но вероятно этого придётся убрать из обновления, так как выйдет сыро :c
Это код, который генерирует обычные вопросы (menu) в диалоге.
Сам класс SequenceStep довольно примитивный. Он ничего особо не умеет. Просто чтобы не писать кучи куда в самом диалоге - я решил собрать это таким образом.
Вот так выглядит бойлерплейт для инициализации диалога с каждым персонажем в игре. Секвенции бывает основные (те что сюжетные), бывают второстепенные (типа занятия у Мирины), и теперь ещё есть common.
Для программного вывода этих вариантов в меню - используется конструкция из документации RenPy.

$sequence_menu_line = search_sequence(astra_main_sequences, astra_sequence_step) - по сути просто проходится по массиву и забирает секвенции которые доступны для персонажа (по полю requirments из класса SequenceStep).
Для того чтобы персонажи описывали внешний вид героя - я ориентируюсь на тэги, которые я заранее прописывал для одежды. Тэги - просто лист из названий. Например: кроптоп у персонажа имеет тэги ["casual", "femine"].
Чтобы узнать, сколько каких тэгов по количеству у героя - написал следующую функцию.
Сначала превращаем предметы на нашем персонаже в лист. Потом записываем все значения tags в другой лист и после делаем этот лист плоским. Возвращаем словарь (dictionary) значений. 
Получаем примерно такой результат. 
На основе этих значений - пишу диалоги для каждого персонажа. Но понял, что кажется - это довольно большое количество диалогов. Поэтому не уверен на 100%, стоит ли из-за этого задерживать релиз ещё.

Techlog #5. Обычный набор вопросов для всех персонажей [ru] Techlog #5. Обычный набор вопросов для всех персонажей [ru] Techlog #5. Обычный набор вопросов для всех персонажей [ru] Techlog #5. Обычный набор вопросов для всех персонажей [ru] Techlog #5. Обычный набор вопросов для всех персонажей [ru]

Comments

<div ><div><span class="text">wrongway, Согласен</span></div></div>

Cyber M

<div ><div><span class="text">Идея крутая, но мне кажется (меня конечно никто не спрашивал, но все же) лучше спокойно доработать эту фичу к следующей обнове, чтоб эта вышла побыстрее :3</span></div></div>

wrongway


More Creators