Первый отчет о разработке.
За эту неделю у меня почти не было времени заниматься игрой, в связи с занятостью в ИРЛ. Я буквально смог выделить пару пар часов предыдущей ночью, и за это время успел дописать диалоги. Так как показывать мне больше нечего, расскажу про диалоги в игре.
Со многими персонажами в игре вы сможете поговорить, а это значит что мне требовалась гибкая и удобная система создания диалогов. В результате я пришел к этому:
Для работы с csv мне понадобился сторонний плагин для движка. Плагин хороший, всем рекомендую.
Дальше я создал класс объектов, с которыми может оперировать игрок (любые объекты на которые можно активировать клавишей действия.) После активации эта семья запускает установленную callback функцию, а там, что хочешь, то и делать дальше. Хоть диалог открывай, хоть любые другие игровые действия.
Диалоги построены по простой системе кросслинковок с включением и выключением нужных и не нужных тем. Каждая тема может запускать callback функцию до фразы NPC, и после всех его фраз (я и называю phase). Также каждый топик при выборе может включать в игре другие ранее выключенные топики и выключать уже доступные, чтобы нельзя было поговорить на одну и ту же тему несколько раз (например, это важно для квестовых и скриптовых диалоговых реплик). У каждого топика может быть до 4 ответов (я специально внес это и некоторые другие ограничения). А каждый ответ может ссылаться на другие топики, либо на корневой раздел персонажа (назад).
На этом пока все. Увидимся на следующей неделе =)
Ред. alexprey
P. S. Картинка шикарна)