Difference between revisions of "Учебник Bethesda Продвинутые диалоги"
Jump to navigation
Jump to search
Учебник Bethesda Продвинутые диалоги (edit)
Revision as of 11:25, 29 April 2012
, 11:25, 29 April 2012→Специальные темы
imported>Vitamant m (→Special Topics) |
imported>Vitamant |
||
Line 20: | Line 20: | ||
=Специальные темы= | =Специальные темы= | ||
Раньше мы писали только обычные диалоги, которые персонаж произносит при обращении к нему игрока. Это бесспорно очень важный аспект, однако для создания реалистичного живого мира, нужно наполнить диалогами окружение, бои, научить персонажей реагировать на появление игрока, и т.д. | |||
После изучения главы [[Bethesda_Tutorial_Quest_Loose_Ends/ru|о хвостах]] предыдущего учебника, у тебя уже появилось некоторое представление о специальных темах. Вместо того чтобы создавать отдельную тему в меню диалога, мы привязали монологи НИП к событиям взаимодействия. На вкладке Misc окна квеста (там, где мы создавали Приветствие и Прощание) ты можешь увидеть список всех событий, которые могут инициировать начало того или иного монолога. | |||
Все подобные диалоги в игре подразделяются на типы по вызывающему событию. Каждому типу соответствует огромный банк данных, содержащий диалоги. Когда игра вызывает специальную тему, для того чтобы определить - что персонаж должен сказать, начинается перебор '''всех''' соответствующих данному типу монологов, определенных в запущенных квестах, связанных с говорящим. Движок помещает каждую найденную тему в стек, в порядке определенном приоритетом квеста (тема, определенная в квесте с приоритетом 70 всегда будет выше темы в квесте с приоритетом 50). После тогда, как создание стека будет завершено, начнется перебор тем сверху вниз до тех пор, пока не найдется первая из них, все условия которой истинны. | |||
Если игра дойдет до основания стека, а тема, удовлетворяющая условиям найдена не будет, персонаж ничего не произнесет. | |||
{{Template:InDepth| | {{Template:InDepth|Если ты программист, то успокойся, отпусти мышь, перестань скрипеть зубами и царапать стол, сделай пару глубоких вдохов и успокойся. Из описания и вправду получается очень не эффективное решение. Не волнуйся, в недрах движка всё намного сложнее, а решение намного эффективнее, но на концептуальном уровне все выглядит именно так.}} | ||
=Reset Timers and One-Time Lines= | =Reset Timers and One-Time Lines= |