Pull to refresh

Попытка выстрелить номер два

Reading time5 min
Views19K
image

Не прошло и полугода со дня констатации клинической смерти моего первого цифрового детища. Камни Лабиринта поосыпались, графики количества установок сползли до позорных непечатных значений, мизерные центы ежедневных прибылей превратились в пыль. Что в такой ситуации делает отважный и неутомимый инди-разработчик? Правильно: он делает выводы. А после выводов не грех вдохнуть жизнь в новый свежий проект — и стрельнуть им прямо по вершине топа. Главное не промахнуться.


Предисловие


Так и не успев толком закипеть, страсти по предыдущей игре окончательно улеглись в виде ползущей по оси X кривой (окей, прямой) новых установок. Окидывая взглядом данные статистики и в сотый раз анализируя свой первый опыт, я пришел к выводу, что уже вполне готов сотворить что-то новое для любителей головоломок — и что-то более прибыльное для себя.

В поисках идеи для новой игры очень хотелось учесть следующие моменты:
  • Степень реиграбельности (replayability) должна быть выше. Если раньше уровни были собраны и отточены заранее (и их было не много), то теперь надо сделать игру со случайно генерируйщимися уровнями. Каждый запуск игры должен быть для игрока так же свеж, как и первый. А лучше вообще без уровней;
  • Дизайн и оформление сократить до минимума. Если в прежней игре мне пришлось потратить несколько недель на 3d-моделирование сегментов стен, настройку шейдера, рендеринг и подкрутку текстур, то в этот раз хотелось бы обойтись минимальным количеством визуального контента, уменьшить время работы над визуалом, причем не в ущерб красоте. То есть, не убивать уйму времени на подготовку текстур. А лучше вообще без текстур;
  • Замороченность и сложность процесса игры. Идея должна быть доступной и понятной сразу же. Если раньше приходилось делать обучающий уровень, чтобы ввести игрока в курс дела, то теперь надо сделать всё проще и очевидней, чтобы идея была понятной без прелюдий. А лучше вообще без идеи.


Было сделано несколько разных набросков. Среди них был прото-прототип гигантской логистической стратегии (сделал красивую карту мира с навигацией и точками городов + море нереализованных задумок), прототип физического паззла на петлях (кусочки мозаики соединены контроллером типа hinge, болтаются друг на друге, как на петлях) и одна игра в жанре «игра в слова».

Логистическая игра с классной картой
image

Логистическая катра мира была красива, но слишком масштабна как проект (географическим фетишистам типа меня кину ссылку на прототип в комментариях, если надо). С физической головоломкой не срослось из-за криворукости (хотя идея реально классная), а вот словесный пазл хорошо вписывался в поставленные условия — да и, казалось, реализуем просто и без особых трудностей. И именно на нем я и сосредоточил свои усилия.

Реализация идеи


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

Задумка показалась довольно веселой, но не хватало какой-то «перчинки». Перчинка пришла внезапно в виде шестигранных клеток. То есть всё поле в клеточку становится пчелиными сотами. Свежо, остроумно, молодёжно.

Первый прототип поля
image

Самым интересным на этом этапе было разбираться в структуре полей, построенных на шестиугольниках. Здесь мне на помощь пришел сборник статей Red Blob Games (читать и тыкать в примеры одно удовольствие). Увлекшись изучением, я даже реализовал поиск кратчайших путей. И только после понял, что он мне не потребуется в проекте.

Вторым этапом реализации было внедрения словаря, по которому игра будет определять, существует ли слово, которое ввёл игрок. На эту тему в нашем сообществе было написано несколько статей и комментариев (например, статьи про игру «Балда»). Спасибо авторам, там много полезной информации.

В своей игре я использовал словари, которые выудил из дампов Wiktionary. Как выяснилось, есть множество проектов, которые занимаются каталогизацией всяческих википедий, они тоже помогли.

Здесь стоит упомянуть, что, занимаясь исследовательской работой в областях, смежных с основным делом, открываешь огромное количество «засасывающих дыр». И здесь очень важно контролировать себя, не поддаваться соблазну утонуть в этом море чрезвычайно интересной информации (именно так я залип в гексагоны с головой на месяц). Пускай многие сочтут это своеобразным приветом Капитану, но всё же я посчитал необходимым упомянуть этот момент.

Ориентируясь в первую очередь на русскоязычных игроков, я решил добавить так же и английский словарь. С тем, чтобы его найти, проблем не возникло (те же дампы и многочисленные исследовательские группы с материалами в открытом доступе). Единственное, всякие академические и оксфодрские словари пришлось дополнить современными английскими словами а-ля selfie. Применять такие процедуры к русскому словарю я не стал. Великий и могучий пускай и живой, но всё-таки чуточку более инертный, — и неологизмы у нас часто спорны, так что было не так существенно пополнять ими словарь.

Так же очень интересно было заняться исследованием так называемой «частотности букв» — вероятности встречаемости конкретной буквы в языке. Этот показатель влиял на то, как часто должна попадаться на поле та или иная буква. Перерыв кучу статей и работ на эту тему (опять зависнув на несколько дней), я пришел к выводу, что наилучшим решением будет просто высчитать этот показатель на основании своего словаря. Казалось бы, простое до банальности решение, но даже к самым очевидным вещам порой приходится идти долго.

Интересно, что полученные мной значения существенно отличаются от данных wiki:

Сравнение частотности букв
image

Или мой словарь так беден, что в нем даже нет буквы «Ё», или одно из двух.

Оформление


Если в программировании меня вполне обоснованно можно считать профаном, то касабельно графики и визуального оформления дела обстояли немного получше, хотелось бы так думать.

Как было сказано выше, на сей раз дизайн должен был следовать модной нынче тенденции минимализьма и скудости. С одной стороны это позволило ему реализоваться с кратчайшие сроки — с другой даёт игроку возможность легко и полностью погрузиться в игру. Мол, ничто не отвлекает от процесса. Я считаю, этим вполне можно объяснить лень пилить тонны текстур, по одной на каждый элемент интерфейса.

Минималистичное меню
image

Пример игрового уровня
image

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

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

Реклама


Никакой рекламы в игре нет. Не потому, что я не верю в её чудодейственное влияние на жирность получаемого по факту реализации игры бутерброда на самом деле верю, а потому, что стандартный баннер Admob попросту не умещается в отведённое ему место внизу, неэстетично перекрывая, во-первых, слишком много фоновых диагональных полосок (а они классные), и, во-вторых, важный текст под полем.

На самом же деле, было решено протестировать мало популярную на мобильных устройствах модель монетизации Shareware. То есть, игроку, установившему приложение, предлагается сыграть несколько раз в игру безвозмездно. А уже по ознакомлении с игрой он в праве решать, нравится ли ему игра и готов ли он её приобрести.

В условиях современного мира мобильных игр, когда разработчик выкачивает из пользователя деньги ставшим уже традиционным способом free-to-play, была предпринята попытка очеловечить отношения «потребителя» и «производителя». Уникальный случай в истории, не проходите мимо.

Примечания для самых стойких (Disclamer)


Автор не придумал ничего нового. Лишь вдохновлялся уже существующими аналогами, среди которых игра Shapefold (физический пазл), восхитительная игра Reiner Knizia's Labyrinth, игра Ticket to Ride Online и…

Где-то на этапе оформления было выяснено, что описываемая игра, беспощадно скопированная с никому неизвестной случайно встреченной флешевой Wordblocks (название может быть другим, я запамятовал), оказывается, является-по сути клоном известной среди англоязычных пользователей iOS-устройств игры Spell Tower. После выявления этого факта было решено перенять из Spell Tower всё самое лучшее, дополнив новыми особенностями, в том числе и название. Честно.
Tags:
Hubs:
+10
Comments26

Articles