Никакой тишины: как создавался первый в Омске квест о библиотеке

Дата публикации: 13.11.2023

Недавно мы рассказали о квесте, посвящённом Молодёжной библиотеке «Квартал 5/1» и созданном одним из её сотрудников. Как никогда не занимавшийся программированием человек смог создать игру, сколько времени это заняло и с какими сложностями пришлось столкнуться, «Трамплину» рассказали создатель игры Владислав Кайль и главный библиотекарь «Квартала 5/1» Анна Запрудская.

 

– Я всё чаще думаю, что ещё лет десять назад мы и представить не могли, что в библиотеках будут проходить квесты и разнообразные активности, а фраза «Тише, вы в библиотеке!» останется только в мемах.

Анна: Это точно не про нашу библиотеку! Мы действительно всеми силами боремся с этой фразой. Над зоной регистрации у нас висит знак «Соблюдайте тишину!», но установлен он в шутку: ну какая тишина в молодёжной библиотеке? Мы хотим, чтобы к нам приходили общаться, учиться новому и самореализовываться, – и готовы поддерживать в этом посетителей! И своих сотрудников тоже.

 

– Владислав, по стартовой странице проекта я поняла, что программирование и гейм-дизайн вообще не ваша специальность. Какое у вас образование? Как вы начали разрабатывать игры и пришли к идее создания квеста?

Владислав: По образованию я библиотекарь, у меня вообще нет технических навыков. Для себя я занимался аудио-, видео- и фотомонтажом, по мелочи осваивал какие-то программы… Играми не занимался вообще, интересовался ими только как игрок. Квест мы решили сделать после обсуждения плана мероприятий библиотеки на следующий год, в прошлом ноябре: когда мы дошли до ноября 2023-го, Анна Сергеевна дала мне выбор: или работать в ночь на «Ночи искусств», или сделать что-то очень крутое.

 

– И работать в ночь вы не захотели?

Владислав: Я готов на что угодно, лишь бы не сбивать режим сна! Даже выучить программирование!

 

– Вот это я понимаю – мотивация! И это ваш первый опыт создания игры?

Владислав: До этого я лет десять назад делал смеха ради крошечный лабиринт, где было два тупика, а в конце верного пути – моё фото. И титры! А если говорить о полноценных играх, то этот квест первый.

Анна: Да, я сказала, что он может делать что хочет.

Владислав: А я как раз накануне этого обсуждения смотрел видео про игровые движки. И я сказал, что подумаю насчёт игры, а на следующий день смеха ради согласился – и сразу же начал делать замеры библиотеки. Вот что я умею – это 3D-моделирование, я и курсы по нему здесь веду. Поэтому вопрос, как сделать локации, не стоял. А вот всё остальное… Были вопросики!

 

– А на каком движке создана игра?

Владислав: Godot. В том видео, которое я смотрел год назад, рассказывали то ли про топ движков, то ли ещё про что… Но я знал, что есть бесплатный и открытый движок, работающий как на Windows, так и на Linux. У меня дома Linux, поэтому я смог бы «брать работу на дом» и разбираться с проблемами. Буквально за неделю до релиза игры пришлось повозиться: движок записал в кэш проекта какой-то баг – и движение камеры перестало работать. Движок путал какие-то свои слои окон, и только после нажатия alt+tab движение камеры возобновляло работу. Я до трёх ночи разбирался, почему так случилось. И хотя всё уже горело, я решил эту проблему.

Помимо обозначенных плюсов Godot простой, что важно: если взять Unreal, Unity или даже Nau, который разрабатывает для игр «ВКонтакте», – они все одинаковые по интерфейсу, и интерфейс этот очень загромождённый.Ты открываешь программу – и у тебя глаза разбегаются: «Что тут происходит?! Куча непонятных окон!» А когда открываешь Godot, видишь всего три окна: свойства импорта, свойства сцены, а между ними – сцена. Всё!

– Такое обнадёживает уже изначально!

Владислав: Да! Смотришь и хотя бы видишь разделение на понятные вещи. Стандарт для игрового программирования – языки C: C++, C или C#, а в Godot свой язык – попроще и попонятнее, как раз для таких, как я. Если на нём написать даже небольшой скрипт, то уже будешь примерно понимать, как он будет работать.

 

– А есть ли для него готовые библиотеки?

Владислав: Не знаю: в старой версии было визуальное программирование, похожее на визуальные ноды в Blender, которые ты просто соединяешь без программирования.

 

– Конструктор.

Владислав: Именно! Но потом разработчики Godot почему-то от него отказались, были какие-то технические сложности. И сейчас, в четвёртой версии, на которой я и создал игру, этого уже не было. Пришлось писать скрипты самому, без библиотек.

 

– Что было самым сложным, помимо разработки 3D-модели библиотеки?

Владислав: Написание скриптов! Я вообще не знаком с программированием и не понимаю его, мне известна лишь примерная логика. Но чтобы взять и написать самому… Потребовался месяц, чтобы освоить их. Некоторые элементы, например управление персонажем, я взял готовые и доработал под себя. Месяца через два-три, когда появилось примерное понимание, что за что отвечает, какие части кода как работают, стало полегче.

Сейчас я могу делать простенькие игры – и сразу вспомнил пример Steam. В какой-то момент там было нашествие одинаковых игр из Greenlight. У них была программа по добавлению игр от пользователей, если за них проголосует сообщество, – и так появились сотни, если не тысячи однотипных игр. Все они представляли собой хорроры, и все завершались после нахождения десяти записок. И оказалось, что они реально легко создаются! Я понял это за полгода разработки игры, и, в принципе, уже готов попробовать сделать и мобильное приложение. Мы думаем о том, что можно было бы сделать познавательные квесты по городу. Но тут, конечно, надо будет постараться.

– А сколько в целом потребовалось времени на освоение Godot и создание квеста? Вы приступили в начале этого года?

Владислав: Нет, с середины ноября 2022-го. Около недели ушло на освоение движка: читал документацию и смотрел видео, чтобы разобраться с интерфейсом. Потом 3–4 месяца я занимался локацией: мебелью, текстурами… И оставшееся время я потратил на саму игру – скрипты, звуки.

Анна: Владислав больше полугода бегал с линейкой по всей библиотеке: выверял, чтобы всё совпадало! Чтобы всё стояло так же, чтобы все предметы совпадали с реальными!

 

– Когда я проходила квест, то обратила на это внимание: обстановка очень точно воспроизведена!

Анна: В этом я и вижу главный интерес: люди, которые физически не могут прийти в библиотеку, могут посетить её виртуально, поиграв в этот квест. Совместить квест с экскурсией по библиотеке.

 

– И для этой цели важно ничего не пропустить!

Владислав: Это было не так сложно. Единственный минус: игра получилась угловатой. Я хотел сделать её такой, чтобы она запустилась на любой машине, поэтому «полигонов» пришлось сделать минимум. Могу сказать, чего я точно не добавил: лампочки над барной стойкой в зале интеллектуального досуга! Было, если честно, уже не до них.

 

– В процессе игры угловатость вообще перестаёт обращать на себя внимание, потому что ты занят перемещениями по библиотеке и поисками картин! Кстати, я правильно понимаю, что игра рассчитана на час с хвостиком?

Владислав: Да, когда в субботу играли дети, они прошли за час.

 

– А сколько времени понадобилось победителям?

Владислав: Час, остальным понадобилось около полутора часов.

Анна: Интересно, что изначально квест предполагался с освещением, чтобы игрок перемещался по светлому помещению. Но когда Влад начал устанавливать игру на компьютеры, мы поняли, что они этого уже не тянут.

Владислав: Да, это связано с особенностями движка: у них есть варианты визуализации рендера, один работает на API Vulkan, другой – на OpenGL. Вторая платформа более старая и открытая, поэтому она практически везде работает, а Vulkan новее, ей лет 10. Она тоже открытая, но её должны поддерживать видеокарты. Поэтому нужно либо обновлять везде драйвера, либо подключать какие-то библиотеки, чтобы при скачивании библиотеки установилось всё что нужно… Не вариант! Поэтому освещение пришлось убрать, а игру перевести на OpenGL и добавить туда фонарик.

 

– А я думала, темнота связана с тем, что игра вышла сразу после Хэллоуина!

Анна: Но нет, это родилось буквально за неделю.

Владислав: Вы можете заметить, что в игре нет теней.

 

– Я не заметила, тем более когда погружена в процесс, внимания на такое не обращаю.

Анна: Когда мы поняли, что у игрока не получится бегать при свете и искать предметы, мы стали думать, что делать. Я предложила Владу добавить фонарик – и он нас спас!

Владислав: Как только я узнаю, что они реализовали на OpenGL тени, я пересоберу игру. Сделаю правильную локацию и добавлю тени.

– Я как раз хотела спросить, какие у вас есть планы по доработке игры!

Владислав: Фишка в том, что у нас есть готовая игра, которой можно вертеть как угодно: можно сделать новый квест, можно сделать шутер и пустить в библиотеку зомби – как раз на Хэллоуин, а можно сделать визуальную новеллу! Вариантов много, и их можно предлагать на те же «Библионочи», приглашая людей в учебный зал. Возможностей теперь полно, осталось разобраться, как выложить её в VK Play.

 

– Будем теперь каждый год ждать новые релизы!

Анна: Скорее всего, ближайший будет на «Библионочь». Обычно мы задействуем на этом мероприятии все залы, а теперь есть возможность привлечь и тех,кто остался дома, и предложить им какое-то задание, связанное с «Библионочью».

 

– Вообще мы уже так привыкли к живым квестам, что когда я прочитала, что квест компьютерный, то удивилась. Это уже, как мне кажется, подзабытый жанр – и уже этим игра интересна. Но это не главное: ведь у нас, как я посмотрела, нет компьютерных игр, связанных с Омском!

Владислав: Есть локация Омска в «Симсити» – я сам её делал! Построил и музыкальный театр, и ДК Малунцева. Только эту территорию постоянно Иртышом затапливало…

 

– Полноводный Иртыш – это большое отличие от реальности!

Анна: В принципе, аналогов этой игре – о библиотеке и придуманной библиотекарями – нет. Она уникальна!

 

– В субботу, во время первого запуска игры, вы собирали у игроков отзывы. Нашли ли первопроходцы какие-то баги? Были ли неожиданные отзывы?

Владислав: Больше всего я порадовался, что скримеры работают!

Анна: Да, игроки пугались! А мне понравилось, что когда дети пришли играть, им ничего не надо было объяснять: они надели наушники – и вперёд! Сразу разобрались, где и что!

Владислав: Я, конечно, не старался делать их слишком страшными – иначе игру бы не пропустили, но что-то внезапное всё-таки было необходимо! А так я убедился, что все звуки и скримеры работают, а на одном из прохождений даже отловил пару багов. И понял, что идея с расстановкой картин, которые сливаются с интерьером, – это то, что надо! Вроде и интерьер от руки нарисован, и картины – реальные фотографии прежней библиотеки, но игроки воспринимали их как часть фона. Почти все игроки, бродя по учебному залу, в упор не замечали одну из них!

 

– Интерьеры старой библиотеки я тоже оценила. Вообще, когда ты хорошо знаешь пространство, то проще перебирать места, где ты ещё не побывал. У меня было другое затруднение: я привыкла, что в квестах есть отдельное окошко с найденными предметами – и до меня долго доходило, что картины сами появляются на стенах галереи.

Одному из библиотечных котиков нашлось место в игре.

Владислав: Да, я сначала хотел сделать инвентарь таким, чтобы каждый предмет можно было переносить в какое-то место, но потом понял, что это много возни: нужно создать базу, которая будет глобально работать, игроку нужно будет перемещать предметы – а беготни в игре и так много… Физически проще – и мне, и игроку, – когда этот предмет появится сам. Это такая игровая условность.

Многое дорабатывалось в последние дни. Например, стикеры с частями пароля: нынешний вариант с их автоматическим перенесением в заметки я сделал за день до презентации игры.

 

– И это очень удобно! Я помню старые квесты, в которых все эти данные нужно было самому держать в голове…

Владислав: Я подумал, что если люди будут ещё и с листочком и ручкой сидеть, это будет перебор. Нужно было упростить этот момент.

 

– Ещё мне очень понравился момент с правилами библиотеки – я даже на всякий случай полностью их прочитала.

Владислав: Вот для этого я их и добавил!

 

– Было же сказано: будьте внимательными и ищите подсказки всюду!

Владислав: Сперва я хотел сделать коварнее и спрятать формулу прямо в текст документа, а не в виде карандашной надписи, как сейчас. Но это было бы сильно жестоко!..

 

– Можете добавить это в следующих релизах!

Владислав: Отдельным уровнем сложности.

 

– Да, для тех, у кого уже много лет есть читательский билет. Ранее вы упомянули VK Play. Расскажите об этом подробнее.

Владислав: VK Play – это игровой магазин «ВКонтакте», и изначально я планировал выложить игру там. Но там столько уровней модерации! Сначала проверка личности, потом – платёжных данных (для бесплатной игры!); когда ты собираешь игру, они проверяют билд – и ещё куча всего. Поэтому сейчас я опубликовал игру на Itch.io, а VK Play займусь в ближайшее время. Мне интересно, какое к ней будет внимание там, потому что сейчас у неё хорошие скачивания, а на VK Play игр в принципе мало, а бесплатных особенно.

– То есть у вас уже есть статистика по скачиваниям?

Владислав: Да, игру посмотрели больше ста человек, из них больше тридцати скачали её.

 

– Неплохая конверсия! И вы же продолжите про неё рассказывать?

Анна: Да, сейчас доработаем, поправим – и начнём активно продвигать. Возможно, подадим связанную с квестом заявку на грант, чтобы перенести игру на более толковый движок…

Владислав: Движок-то хороший, просто не у всех есть компьютеры за сотни тысяч! Тогда я бы вообще не заморачивался по поводу «полигонов» и сделал бы текстуры один в один! Снял бы текстуры с каждой книги и добавил в игру. А чтобы улучшить игру и устранить лаги – а они есть и на хороших машинах – нужны технические знания. Чтобы оптимизировать код – из тысячи строк сделать сто – нужны технические знания, а у меня их нет. Потратить год на разработку такой игры – это, по-моему, много. Если ты минимально знаком с программированием, ты подобную сделаешь за три месяца.

 

– Но вы-то делали с нуля! И вообще, мне кажется, вы слишком строги к себе.

Владислав: Когда в субботу к нам пришли дети, я думал, что мой опыт замотивирует их создавать игры самостоятельно или они захотят присоединиться к нашей разработке.

Анна: Ничего, они же будут ещё приходить! Вообще, я думаю, раз Владислав самостоятельно освоил 3D-моделирование и уже обучает ему, то он сможет сделать и курс по обучению разработке игр на том же самом Godot. Было бы желание – а мы поддержим!

 

– И участникам, создавшим свою игру, подарить фигурки кота из квеста, напечатанные на 3D-принтере!

Владислав: Вообще, я думаю, что если разобраться с 3D-моделированием, то делать игру будет намного проще. Год назад я рассказал другу, что делаю игру, – и он позвал меня в свою команду рисовать 3D-модели для игры. Так что с таким навыком можно уже присоединиться к какой-то команде разработчиков. Вот ВК обещает, что у них будет визуальное программирование, то есть от пользователя потребуется только знание 3D-моделирования. Главное, найти заинтересованных людей!

 

– Мне кажется, с этим проблем не будет: это же не только интересно, но и приятно – быть частью большого процесса. А если это какая-то образовательная игра, то круг заинтересованных ещё шире.

Анна: Да, в перспективе можно привлекать старшеклассников.

Владислав: Да и финансово интересно: на подобные игры можно получить хорошее финансирование от нашего государства, потому что оно поддерживает исторические и патриотические проекты. Недавно на игру «Смута» выделили крупную сумму, и она сейчас продаётся на VK Play больше чем за полторы тысячи рублей. Хотя это игра класса Б.

 

– Вот куда может привести необходимость долгосрочного планирования!

Анна: А ведь сейчас снова приближается время годового планирования! Поэтому я жду от Влада предложений – таких, чтобы ему было интересно. Может, снова что-то изучить и сотворить.

Владислав: Вероятно, это будет мобильное приложение.

 

– Значит, будем ждать приложения!


Беседовала Анна Подоляк.

Фото: Александр Румянцев

Поделиться:
Появилась идея для новости? Поделись ею!

Нажимая кнопку "Отправить", Вы соглашаетесь с Политикой конфиденциальности сайта.