ДИ ЕГО знает: как это было сделано
Классический рассказ о разработке, сразу после конкурса.
В этот раз во время разработки записывал в блокнот некоторые моменты из разработки. Так что хоть какой-то план по рассказу у меня есть.
Очевидно в тексте будут спойлеры к сюжету, и даже сверх сюжета. Поэтому лучше перед этим либо поиграть (скачать), либо посмотреть прохождение (запись стрима), но конечно необязательно.
Конкурс
Внезапно на Gamin проводится конкурс текстовых квестов, визуальных новелл и прочего, где акцент именно на текст. Однажды уже участвовал в подобном — КРИЛ-2015, тогда это был новый опыт для меня и вынес простую истину: текстовые игры даже сложнее, чем классические аркадные экшн развлечения. Внёс и вынес. Спустя почти 10-ть лет мысль эта улетучилась и я, воодушевлённый возвращением в этот жанр, пошёл участвовать в конкурсе What?IF2.
Со старта конкурса, а вернее даже анонса его, были чёткие моменты определены лично для меня: хочу стереотипную, избитую и штампованную нуар историю в сеттинге будущего И при этом всё это на RenPy. Что этот за РенПай я не знал. Т. е. конечно я слышал, что это игровой движок для визуальных новелл, используется там Python, а ещё что он достаточно простой для новичков и мощный для старичков.
Старт. Берусь за перо
Началось мероприятие. В голове всплывала старая затея, как раз ещё со времён КРИЛ-2015: «детективная игра, где герой ищет пацана, который сбежал на корабль из этой(теперь предыдущей) текстовой игры». То есть всё достаточно просто. Это стало основной моих размышлений. Но перед этим я засел в Google и дня четыре искал информацию для чайника «как писать сюжеты». Конечно я что-то слышал про Трёхактную систему, круг Хармона, который на самом деле Кэмпбелла (мономиф). Но стоило освежить в голове, а то и новые вещи найти.
Собрал себе даже небольшой документ с, так сказать, bullet-строчками о чём каждый акт, что должно происходить и т. д. Документ, как мне кажется, помог и смог выстраивать структуру. Конечно во время написания документа-истории увлёкся и даже какие-то мелкие эпизоды пытался впихнуть в ту же самую трёхактную систему, словно это матрёшка.
А суть трёхактной простая, крайне сильно упрощаю конечно, но:
- Завязка. Экспозиция. Обрисовка мира, героев. Какая-то проблема.
- Конфликт. Само действие, решение проблемы и\или новые проблемы. Занимает 2/4 от всего времени фильма\серии\игры. Под конец финальное «столкновение».
- Разрешение. Или же последствия решений в 2 (это я так представил)
Точно берусь за цифровое перо
Время писать. С основной определился, выбрал движок, изучил теоретический материал. Писал текст аж в трёх разных местах: Google Docs, где писались итоговые текста, которые пойдут прямо в игру; Notepad++(txt) - тут писались заметки, локации, персонажи; Obsidian хоть и предназначен для текстовых документов, но я использовал для "рисования" графа повествования, чтобы одним взглядом смотреть на ветвистую историю.
История менялась во время писательства. Не очень серьёзно, но всё же. Изначально планировался сюжет о поиске некоторого молодого человека, но ещё 10 лет назад было придумано, что пойдёт искать его именно сестра. Так и получилась ветка "Брат и Сестра". Именно так и обозначал в своих документах этих персонажей, потому что а зачем называть их? Так лично мне было проще ориентироваться. Имя главного героя тоже было надумано больше для потенциального игрока. Д в имени Диего отсылает к его профессии т.е. детектив.
Помимо стабилизации этой ветки появлялись и другие, собственно, поэтому и используется слово "ветка". Достаточно забавно вышло, что как начал с истории про Брата, так и закончил игру только с ней -- другие две банально не успел. Сейчас будет большой-небольшой спойлер, вот так выглядел граф ВСЕЙ истории этой игры:
А вот так "отношения" персонажей:
Придумывая сюжет пытался делать всё по порядку "Завязка-Конфликт-Развязка", так и по советам "придумай сначала конец". Честно говоря, получалось так себе. Усомнился в своих писательских возможностях.
Время идёт, гремит наковальня
Дальше у меня в документе с историей идут записи прямо по датам. Это было весьма важно, уже и не вспомню, но события записаны такие:
- 9 ноября 2023 - Закончил рисовать граф взаимосвязей сюжета. Приступил к написанию сценария в ГуглДок.
- 10.11.23 - Почти дописал первый акт.
- 13.11.23 - Ничего не делал толком.
Здесь отметка, что "пару дней поделал ночью".
- 19.11.23 - Сел снова делать. Сокрушался, что 5 дней ничего не делал по проекту.
- 22.11.23 - Открыл РенПай. Начал изучать и перекидывать текст.
- 23.11.23 - "Что-то гуглил". Очень важная информация. Возможно, это были имена персонажей, не вспомню.
- 25.11.23 - Закончил перекидывать текст в движок. Нарисовал картинку.
По датам и непонятно когда закончил все 3 акта. Дедлайн конкурса был 26.11.23. Это привело к кранчам и значительные вещи были выкинуты. Т.е. логично, что из 3х сюжетных веток, которые были связаны, выкинул сразу 2, но и оставшуюся одну кое-как успел реализовать.
Игра завершена, в каком-то роде
Дедлайн. Игра сдана. И сейчас напишу чем же мне пришлось пожертвовать, чтобы успеть в срок доделать то, что имелось на руках.
Пойдём по первой ветке т.е. сценарию с Братом и Сестрой. Опять же, это спойлеры, поэтому вот так:
По задумке исследование локаций должно было быть куда интереснее. Ладно, я вру. Примерно такими они и должны быть, какими и задумывались: приходим, опрашиваем, получаем словесного пинка. В локациях должны были быть "авто-триггеры событий", что по сути сеть и сейчас -- придём и тут же наш герой вспоминает, что оказывается у него есть знакомый в охране. Неважно.
Вот что важно. Одна полу-реализованная вещь с локациями это счётчик хождения. Предполагалось, что если игрок будет много ходить туда-сюда, то есть тратить "время", то в конечном итоге сначала за кадром умирает "Близнец", а затем и Брат (Мирослав). И собственно в каких-то локациях можно было бы найти трупы этих персонажей. При этом, если бы это было тело близнеца и при этом с нами в напарниках была Сестра (Амелия), то она определила бы, что это не брат. Такой сценарий по сути отрубал бы весь третий акт оригинальной ветки.
Это был весьма важный момент в игре, который множил варианты всего, от чего под конец мне было сложно это держать в голове. Нужно было учитывать всех трёх НПЦ, их состояние, локации и комбинации всего этого. Совсем "голова пухла" от местных боевых сценариев, где это боль из головы уходила в точку ниже пояса. По итогу "внезапна смерть брата за кадром" была выкинута и не реализована, хотя какие-то коды до сих пор имеют проверку на состояние жизни.
Более общий аспект, который был, так сказать, выкинут и упрощён: боевые стычки. Предполагалась мини-игра или хотя бы действительно игра, где есть параметр здоровья (его нам даже портят в первом акте, если выбрать "неправильный" вариант диалога), снаряды, урон, враги и т.д. Но всё это сократилось до банального "выбери единственно верный порядок выбора в диалогах". Мда.
Чтобы разбавить текст, держите скриншот ... с текстом:
А вот теперь интересности, которые совсем не попали в игру, а именно другие две истории. Ух, ну и намучился бы я сними при реализации. Поэтому расскажу кратко о чём они:
Задание выдаёт ревнивый муж, который говорит проследить за его женой, мол, по ночам куда-то ездит и ему не говорит. Мы следим и выясняем, что действительно она встречается с кем-то в Мотеле. Ночью. Ну Толстяк был прав! Или же нет? Совершается нападение (и боевой геймплей), потом погоня. Экшн! Во время всего этого мы спасаем жену и она выкладывает нам правду.
Правда заключается в том, что ... а хотя знаете, может не стоит вам рассказывать? Вдруг завершу игру?! Ах, ладно! Вероятно завершения примерно 0, так что вот. Выясняется, что она шантажирует корпората, и вот их решили устранить. Двух зайцев, так сказать. Концовка правда дурацая до нельзя: во время погони главный герой с дамой падают в воду, пытаются отогреться в доме, скидывают свои одеяния, НО ТУТ влетает Толстяк! И говорит "Ага! Попались!". Собственно тут развилка с уговором и попытками объяснить всё толстяку-мужу. Скажу лишь то, что есть вариант "а потом они все умирают".
Здесь всё куда проще. Незнакомец оказывается корпоратом, который прячется в Мотеле. Прячется почему? Его хочет ликвидировать его же корпа т.к. он допустил слив данных. Ну как допустил. Он его и устроил -- выкрал данные и продал хакерской группе.
Задача героя в этом задании "сопроводить" корпората к выходу из города, должны будем обращаться к старым знакомым, где конечно же нас сдают за солидную кучу денег. Корпорация даже предлагает нам сделку -- мы сами сможем устранить его и получить вознаграждение. Вот так вот.
В игру не вошли и графические элементы. Вернее, всё что я успел это задний фон для текста и того места, где должны были рисоваться картинки. Это же визуальная новелла. ВИЗУАЛЬНАЯ. Не вышло. В голове были какие-то редкие образы сцен, героев и прочего, но ничего из этого не успел совсем. Действительно лишь текстовая игра получилась.
О звуках даже не задумывался -- очевидно не успел бы. Музыку тоже сразу откинул, но тут мне помогли: razzle_dazzle откликнулся на запрос "может кто сделать какой-нибудь трек для киберпанк нуара?", и вот получилось. Благодарен ему за это.
А под конец образовалась такая карта локаций:
Вместо итогов
В результате можно округлить игру до 1/3 от задуманного. Спасает то, что это более-менее законченная история. А ещё я хочу побухтеть, что игра на ренпай, где 1мб текста, меньше 1мб картинок, весит в итоге 100мб. Что туда напихано!?
Мощь РенПая мне не далась т.к. поздно начал изучать его, посматривал какие-то видел, знал какие-то совсем базовые возможности. Питон я тоже не знаю, поэтому осложнялось дело и этим. При должном упорстве и паре итераций, думаю, можно из этой моей вещицы реализовать именно то, что я планировал изначально. Но буду ли я это делать? Вопрос.
Всем спасибо за внимание!
- 01 декабря 2023, 19:11
- 07
Комментариев пока нет