Опыт разработки текстового квеста для мобильных платформ
Когда 10 — дольше, чем 90.
В этой статье я расскажу, как разработать и опубликовать игру в жанре текстовый квест. Всё изложенное в материале основано на опыте работы над Mr. President — сатирическим симулятором президента Африканской республики.
Расскажу об инструментах, которыми пользовалась наша команда, оставлю ссылки на полезные ресурсы и прикреплю пример дизайн-документа.
С чего начать?
Допустим, у вас уже есть интересная задумка. Начните с построения сюжетного дерева. Для этого идеально подойдет программа Microsoft Visio. Переставляя блоки, вы можете менять игровые события местами, не теряя при этом центральную нить повествования.
Рекомендую прочитать книгу, которая лично мне помогла написать сценарий игры. Это «Анатомия истории» Джона Труби.
Я изучил и протестировал наиболее распространенные программы для создания диалогов, и лучшей, на мой взгляд, является Twine. Она позволяет использовать переменные и экспортировать диалоги в JSON.
Twine позволяет создавать простые формулы типа
set: $shotgun to 1
И проверять условия:
if: $shotgun is 1 go-to: «B50»
Вы можете создать сложный сюжет, в котором учитываются любые предыдущие действия игрока. В начале игры персонаж подобрал дробовик? Будет из чего застрелить босса в финальной сцене. Главное не запутаться. Лучше сразу документировать все переменные, описывать, где они применяются и на что влияют.
Талант или мастерство: что важнее?
Каким бы крутым автором вы себя не считали, найдите хорошего редактора. Со временем взгляд замыливается и бывает трудно заметить, что с предложением «она люибла игарть на роляе и кормлиа голбуей с руки» что-то не так.
Любой текст, который вы пишите, проходит через призму субъективного восприятия. Многое кажется очевидным вам, но совсем не очевидно игроку. Мозг заполняет пустоту в описании своим личным опытом, и когда мы слышим словосочетание «вкусная еда» — у нас возникают разные ассоциации. И если это важно по сюжету, постарайтесь конкретизировать образ.
Редактор — это ключевая фигура на этапе написания сценария, и если вы найдете такого человека, считайте, что вам крупно повезло.
Рекомендую прочитать книгу замечательного литературоведа Норы Галь «Слово живое и мертвое». Это по-настоящему полезная книга, изучить которую должен каждый уважающий себя автор.
При сохранении материалов пользуйтесь системой управления версиями. Абзац, который вы выбросили неделю назад, может внезапно понадобиться вам сегодня.
Порядок превыше всего
При работе в одиночку я допускаю некий творческий беспорядок, но в команде с материалами должен быть полный порядок. Приучите себя и других автоматически синхронизировать рабочие файлы в облаке. Для этого подойдет Google Disc с установленным на компьютере Google Sync. Это позволит избежать ситуации, когда макеты накроются медным тазом после того, как дочка дизайнера прольет молоко на ноутбук (да, увы, был такой печальный опыт).
Я писал дизайн-документ, используя Google Docs. Возможно, что для более сложных проектов вы захотите использовать вики-сервисы. Как вариант: бесплатный движок Dokuwiki, который можно развернуть на собственном веб-сервере. Дизайн-документ, а также другие полезные ссылки вы найдёте в конце статьи. Надеюсь, кому-то они помогут начать собственный проект.
На этапе программирования синхронизируйте проект с Git — например, Bitbucket. Опытным разработчикам мои советы покажутся очевидными, но я уверен, многие пилят проекты локально, а потом обмениваются исходниками через файлообменник. Или я ошибаюсь? Напишите в комментариях, кто как работает с файлами проекта.
Где искать художника?
Самый очевидный вариант: опубликовать объявление на фриланс. Максимально сузив категорию проекта до «Рисунки и иллюстрации», я ждал что мне начнут писать художники, но нет. Откликнулись видеодизайнер, проект-менеджер и даже веб-программист.
Я много работаю с фрилансом и без проблем нахожу технических специалистов, но подобрать толкового художника я не смог. И когда я почти отчаялся, то наткнулся на ресурс Artstation. Здесь люди выставляют свои работы и открыты для сотрудничества. Если вы, как и я, столкнетесь с проблемой поиска художника — отправляйтесь на Artstation.
Выбор движка
Очень долго я рассматривал в качестве кандидата Corona. Из плюсов: движок кросс-платформенный. Минус: не самая дружелюбная среда разработки. Обсудив вопрос с программистом, мы решили разрабатывать на HTML5, а потом с помощью PhoneGap портировать на мобилки. Спорное решение, но конкретно в нашем случае мы сумели нивелировать недостатки этого фреймворка.
Написанные в Twine диалоги можно экспортировать в JSON. Для этого есть готовые скрипты (ссылка в конце статьи), но нам пришлось доработать обработчик, чтобы он корректно форматировал формулы и переменные.
При публикации игры в Google Play мы использовали новый формат Android App Bundle (с расширением .aab). С его помощью можно существенно уменьшить размер приложения. При установке игры на телефон загружается только то, что нужно конкретному устройству.
Этапы принятия игры
Этап новых фич. Когда игра готова на 90% и вам кажется, что осталось «вот совсем чуть-чуть», возникает неотвратимое желание добавить в игру новую фичу (ведь без неё игроки точно не поймут всей крутизны задумки).
В этот момент ответственный за релиз должен проявить себя как супер-адекватный человек. В начале разработки мы закладываем 10-15% на введение новых функций. Это нормально. Но лучше сто раз подумайте, прежде чем переписать одну из ключевых механик.
Этап отторжения. Затем начинается фаза, когда перестаёт нравиться абсолютно всё — от интерфейса до диалогов. Я начал выбрасывать из игры целые сюжетные ветки и в очередной раз переделывать иконки.
Этап багов. Если после предыдущей стадии от игры ещё хоть что-то осталось, то добро пожаловать на этап багов.
И вот вы провели внутреннее тестирование, собрали актуальный билд и решили показать игру небольшой группе тестировщиков. Показали? Ловите новую тонну багов и замечаний по самому святому — геймплею. Вы, как геймдизайнер, можете отмахнуться и сказать — такая задумка, либо прислушаться к замечаниям игроков. И здесь вы столкнетесь с очередной дилеммой: поскорее выпустить игру или сделать всё на совесть.
Я считаю, что у инди нет права на ошибку. Инди-разработчик, как сперматозоид, движется в потоке ему подобных. Чтобы достигнуть заветной цели, вы должны быть упорнее и требовательнее к себе. Если вы решитесь и примете замечания, то всё пойдет по кругу: правки — баги — тестирование — замечания — правки.
Если вы прошли через все круги производственного ада, то публикация игры в App Store или Google Play покажется вам летней прогулкой в парке. Просто честно отвечайте на вопросы, особенно те, что касаются возрастного рейтинга.
Кстати, вот такая интересная особенность регионального рейтинга.
Если Австралия дала нам «18+» за намёки с сексуальным подтекстом, то для Европы и России это «12+».
Мы могли бы ещё полгода переписывать реплики, добавлять шутки и в очередной раз переделывать иконки, но я понимаю, что мы попали в круговорот перфекционизма. Пора остановиться. Что получилось в итоге, вы можете оценить сами, поиграв в нашу игру.
Как обещал, вот перечень полезных ссылок:
Mr. President — наша игра в Google Play
Twine — редактор диалогов
Artstation — поиск художников
PhoneGap — кросс-платформенный фреймворк
DokuWiki — вики-движок
vk.com/nambiarepublic — будем рады поделиться опытом
"Инди-разработчик, как сперматозоид, движется в потоке ему подобных." ©
Платиновая цитата.
Комментарий недоступен
или вся работа в жопу
Поделюсь и я своим опытом (автор Lost Crew) - делать текстовую игру под мобильные смысла нет вообще (во всяком случае на гугл плей). Немного перспективнее делать под ПК. Как ни странно, аудитория того же, например, стима гораздо лояльнее к такому жанру как текстовая игра. Как бы это ни казалось странным. Наверное, причина в том, что чтение игры, как и чтение книжки, не терпит суеты. Что до технической части - совершенно неважно на чем делать. Мне, например, не подошел ни один существующий узкоспециализированный движок для разработки текстовых игр. Хотя мне, программисту, проще. Многим авторам приходится втискиваться в рамки движков для разработки текстовых игр, но вообще стоит сразу задумываться над разработкой на универсальном движке, если программирование по плечу.
Вообще, про текстовые игры можно сказать то же, что и про книги - их стоит делать для души, из любви к писательскому мастерству, каких-то приличных денег не заработать.
Не согласен. По большему счету рецепт успеха на мобайле это функция от 3х переменных - качественный продукт, наличие аудитории которая готова играть и самое сложное - user acquisition (в народе так-же известный под словом "маркетинг"). Проект может быть успешным, только когда все 3 составляющие работают. И чтобы подкрепить мои доводы, скажу что в прошлом году мы выпустили текстовый квест, набрали 3М установок и прилично заработали.
Поделись опытом продвижения)
Если сделать игру с хорошим удержанием, гугловые роботы ее сами подкинут наверх (на иос не так, там люди решают).
Другие способы "продвижения", кроме покупки траффика, на мобилах неэффективны, по нашему опыту.
Взрослые люди, да, обычно покупают новеллы только в Стиме и читают за компьютером.
Но дети любят планшеты, ведь так удобнее, а еще за игры платить не нужно.
Посмотрите на "Бесконечное лето", версию под андроид, установок больше миллиона, очень неплохо для инди-игры.
Lifeline вышла в Steam, но как-то не зашла игрокам. Там все писали, что это мобильная тема)
Я люблю квесты, новеллы, IF и прочее, но, пожалуй, следует заметить, что продукцию отечественных разработчиков я не покупаю и даже не скачиваю. Потому что качество подобного продукта часто просто ужасно, ужасно с литературной точки зрения - достаточно зайти в раздел "Творчество" и почитать рассказы, которые там пишут люди, чтобы понять, что я имею ввиду. Не хочется говорить, что я не верю в наших разработчиков, просто с зарубежными им трудно соперничать.
Если даже не скачиваете, то как можете судить, что качество ужасно? Я сам признаю, что отечественные писатели-фантасты пишут лютую графомань, но, справедливости ради, периодически почитываю (пытаюсь) самых популярных, т.к. мое мнение в любой момент могло устареть. И даже тут бывают исключения - например, Олди с их Ойкуменой. Если говорить про квесты, чем плох, например, Lost Crew?
Вопрос - отсутствие 99% мобильных игр на ПК (без эму) и игровых платформах - это сложность переноса, отсутствие веры в фин успех или глобальный заговор?
Это благословение господне!
Комментарий недоступен
У всех игр по разному, в некоторых жесткая привязка к апи мобилки, у некоторых по финансовым соображениям и тд, у кого то по техническим, у кого то времени мало, в общем на самом деле сделать игру на всех платформах тот еще гемор.
а почему статья написана не в разделе Инди, а в Геймдеве?
Для тех кто интересуется инструментами по созданию разветвленного нарратива. Самый продвинутый инструмент, imho, это ink - https://www.inklestudios.com/ink/
Зависит от типа игры и от целевой платформы. Диалоги в ink писать легко и приятно, а игры целиком — не очень. Чтобы воспроизвести на ink, например, Seedship или Voyageur, придется залезть в движок очень глубоко и написать массу служебного кода — ну или делать игру сразу на Unity, но это уже совсем другой уровень компетенций.
Ребят, вашу игру найти по названию в гугл плее отдельный квест. Очень много конкурентов со схожим названием. В целом спасибо за подробное описание, тоже пилим игру в похожем жанре и всегда интересно почитать про чужой опыт. Интерфейс с закосом под старые мобилы прикольный)
Почему после нескольких диалогов приходится ждать минут 10? Это просто худшее что вы могли добавить в текстовый квест.
Типа реализм)
а если главного персонажа убили?
тогда включается турбо-режим
нужно было сделать что бы телефон превращался в кирпич, типа умер ))))))))
если игрок проходит одну игровую ветку, то переиграть он может уже без пауз
У меня была идея текстовой игры, основанной на уведомлениях, типа тебе пишет чувак периодически из параллельного мира и его смс ки принимает только твой телефон.
Там тоже думал сделать как будто в реальном времени он пишет. Т е Сидишь ты на собрании на работе, а тебе игра шлёт уведомление типа "Чувак срочно помоги", что то похожее на тамогочи вырисовывалось, только за место питомца реальный чувак.
Мне практически в самом начале попался момент где никак не оправдано ожидание
Эх, люблю писать под Corona, но пока дальше прототипов дело не шло.
Автор, если возникнут идеи для простых игр, пиши.
А зачем тогда минусуете если не разбираетесь в теме?
https://dtf.ru/indie/29910-prodolzhenie-skaza-o-tom-kak-izdateli-investory-igry-otzhimayut-chast-2-otvet-na-nashu-pretenziyu
У меня 5 лет опыта в разработке игр.
Я писал про разработку именно под Corona, на котором я хочу попробовать разработать полноценный продукт.
ну сори тогда, вы реально думаете что в хорошую игру нужно что-то вкладывать чтоб в нее играли? (Именно играли а не чтобы заработать)
Мы тоже решили попробовать себя в текстовых квестах на андроиде. Если кому-то будет интересно, то ищите "Остаться в живых - текстовый квест". Правда за основу взяли движок LibGdx, он тоже кроссплатформенный.
Сергей, привет! В чем именно была недружелюбность среды разработки Corona и как давно? Если дело в том, что Corona не поставляет IDE, то этому есть объяснение. Мы не ограничиваем пользователя в выборе своего любимого редактора. Но если совет нужен: наиболее функциональные это Sublime Text 3 с официальным плагином от Corona, а также ZeroBrane Studio неплох. Это может выглядеть как недостаток среды разработки, потому что в документации так сразу не найдешь, но на деле – не минус
Редактор уровней тоже отдельно ставится)
Самое недружелюбное, это lua в 2018. Ладно там лет 10-15 назад ещё более-менее, но явно не сейчас.