- PVSM.RU - https://www.pvsm.ru -
Не прошло и полугода со дня констатации клинической смерти моего первого цифрового детища. Камни Лабиринт [1]а поосыпались, графики количества установок сползли до позорных непечатных значений, мизерные центы ежедневных прибылей превратились в пыль. Что в такой ситуации делает отважный и неутомимый инди-разработчик? Правильно: он делает выводы [2]. А после выводов не грех вдохнуть жизнь в новый свежий проект — и стрельнуть им прямо по вершине топа. Главное не промахнуться.
Так и не успев толком закипеть, страсти по предыдущей игре окончательно улеглись в виде ползущей по оси X кривой (окей, прямой) новых установок. Окидывая взглядом данные статистики и в сотый раз анализируя свой первый опыт, я пришел к выводу, что уже вполне готов сотворить что-то новое для любителей головоломок — и что-то более прибыльное для себя.
В поисках идеи для новой игры очень хотелось учесть следующие моменты:
Было сделано несколько разных набросков. Среди них был прото-прототип гигантской логистической стратегии (сделал красивую карту мира с навигацией и точками городов + море нереализованных задумок), прототип физического паззла на петлях (кусочки мозаики соединены контроллером типа hinge, болтаются друг на друге, как на петлях) и одна игра в жанре «игра в слова».
Логистическая катра мира была красива, но слишком масштабна как проект (географическим фетишистам типа меня кину ссылку на прототип в комментариях, если надо). С физической головоломкой не срослось из-за криворукости (хотя идея реально классная), а вот словесный пазл хорошо вписывался в поставленные условия — да и, казалось, реализуем просто и без особых трудностей. И именно на нем я и сосредоточил свои усилия.
Итак, с идеей определились: словесная головоломка. Игровой уровень представляет собой поле в клеточку, в каждой из которых находится по одной букве. Последовательно выбирая соседние буквы, игрок составляет слово. Как только слово составлено, буквы, его составляющие, удаляются с поля, а образовавшиеся пустоты заполняются буквами, которые находились выше: поле как бы осыпается, — как обвал засыпает подземный грот.
Задумка показалась довольно веселой, но не хватало какой-то «перчинки». Перчинка пришла внезапно в виде шестигранных клеток. То есть всё поле в клеточку становится пчелиными сотами. Свежо, остроумно, молодёжно.
Самым интересным на этом этапе было разбираться в структуре полей, построенных на шестиугольниках. Здесь мне на помощь пришел сборник статей Red Blob Games [3] (читать и тыкать в примеры одно удовольствие). Увлекшись изучением, я даже реализовал поиск кратчайших путей. И только после понял, что он мне не потребуется в проекте.
Вторым этапом реализации было внедрения словаря, по которому игра будет определять, существует ли слово, которое ввёл игрок. На эту тему в нашем сообществе было написано несколько статей и комментариев (например, статьи [4]про игру «Балда»). Спасибо авторам, там много полезной информации.
В своей игре я использовал словари, которые выудил из дампов Wiktionary. Как выяснилось, есть множество проектов, которые занимаются каталогизацией всяческих википедий, они [5] тоже помогли.
Здесь стоит упомянуть, что, занимаясь исследовательской работой в областях, смежных с основным делом, открываешь огромное количество «засасывающих дыр». И здесь очень важно контролировать себя, не поддаваться соблазну утонуть в этом море чрезвычайно интересной информации (именно так я залип в гексагоны с головой на месяц). Пускай многие сочтут это своеобразным приветом Капитану, но всё же я посчитал необходимым упомянуть этот момент.
Ориентируясь в первую очередь на русскоязычных игроков, я решил добавить так же и английский словарь. С тем, чтобы его найти, проблем не возникло (те же дампы и многочисленные исследовательские группы с материалами в открытом доступе). Единственное, всякие академические и оксфодрские словари пришлось дополнить современными английскими словами а-ля selfie. Применять такие процедуры к русскому словарю я не стал. Великий и могучий пускай и живой, но всё-таки чуточку более инертный, — и неологизмы у нас часто спорны, так что было не так существенно пополнять ими словарь.
Так же очень интересно было заняться исследованием так называемой «частотности букв» — вероятности встречаемости [6] конкретной буквы в языке. Этот показатель влиял на то, как часто должна попадаться на поле та или иная буква. Перерыв кучу статей и работ на эту тему (опять зависнув на несколько дней), я пришел к выводу, что наилучшим решением будет просто высчитать этот показатель на основании своего словаря. Казалось бы, простое до банальности решение, но даже к самым очевидным вещам порой приходится идти долго.
Интересно, что полученные мной значения существенно отличаются от данных wiki [7]:
Или мой словарь так беден, что в нем даже нет буквы «Ё», или одно из двух.
Если в программировании меня вполне обоснованно можно считать профаном, то касабельно графики и визуального оформления дела обстояли немного получше, хотелось бы так думать.
Как было сказано выше, на сей раз дизайн должен был следовать модной нынче тенденции минимализьма и скудости. С одной стороны это позволило ему реализоваться с кратчайшие сроки — с другой даёт игроку возможность легко и полностью погрузиться в игру. Мол, ничто не отвлекает от процесса. Я считаю, этим вполне можно объяснить лень пилить тонны текстур, по одной на каждый элемент интерфейса.
Как видно по скриншотам, хотелось свести к минимуму всё, что только можно к нему свести, убрать всё лишнее и даже немного полезное. Если бы не протесты чувства эстетической полноты, я убрал бы даже диагональные полосочки и полупрозрачные пустые шестиугольники на фоне.
Да, эпоха диктует свои нормы. Это отражается и в дизайне. Например, для чего, по-вашему, прямо посередине внизу экрана выделена пустая область? Правильно: для рекл
Никакой рекламы в игре нет. Не потому, что я не верю в её чудодейственное влияние на жирность получаемого по факту реализации игры бутерброда на самом деле верю, а потому, что стандартный баннер Admob попросту не умещается в отведённое ему место внизу, неэстетично перекрывая, во-первых, слишком много фоновых диагональных полосок (а они классные), и, во-вторых, важный текст под полем.
На самом же деле, было решено протестировать мало популярную на мобильных устройствах модель монетизации Shareware. То есть, игроку, установившему приложение, предлагается сыграть несколько раз в игру безвозмездно. А уже по ознакомлении с игрой он в праве решать, нравится ли ему игра и готов ли он её приобрести.
В условиях современного мира мобильных игр, когда разработчик выкачивает из пользователя деньги ставшим уже традиционным способом free-to-play, была предпринята попытка очеловечить отношения «потребителя» и «производителя». Уникальный случай в истории, не проходите мимо.
Автор не придумал ничего нового. Лишь вдохновлялся уже существующими аналогами, среди которых игра Shapefold (физический пазл), восхитительная игра Reiner Knizia's Labyrinth, игра Ticket to Ride Online и…
Где-то на этапе оформления было выяснено, что описываемая игра, беспощадно скопированная с никому неизвестной случайно встреченной флешевой Wordblocks (название может быть другим, я запамятовал), оказывается, является-по сути клоном известной среди англоязычных пользователей iOS-устройств игры Spell Tower. После выявления этого факта было решено перенять из Spell Tower всё самое лучшее, дополнив новыми особенностями, в том числе и название. Честно.
Автор: fondemzel
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/unity3d/71407
Ссылки в тексте:
[1] т: http://habrahabr.ru/post/212665/
[2] выводы: http://habrahabr.ru/post/216599/
[3] Red Blob Games: http://www.redblobgames.com/grids/hexagons/
[4] статьи : http://habrahabr.ru/search/?q=балда
[5] они: https://ru.wikipedia.org/wiki/Викисловарь#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B2.D0.B8.D0.BA.D0.B8.D1.81.D0.BB.D0.BE.D0.B2.D0.B0.D1.80.D0.B5.D0.B9_.D0.B2_.D0.B7.D0.B0.D0.B4.D0.B0.D1.87.D0.B0.D1.85_.D0.B0.D0.B2.D1.82.D0.BE.D0.BC.D0.B0.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.B9_.D0.BE.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B8_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.B0_.D0.B8_.D1.80.D0.B5.D1.87.D0.B8
[6] встречаемости: http://en.wikipedia.org/wiki/Letter_frequency
[7] wiki: https://ru.wikipedia.org/wiki/Частотность
[8] Источник: http://habrahabr.ru/post/239237/
Нажмите здесь для печати.