В 2017 году я начал реализовывать свою давнюю задумку, а именно – создание приложений в виде книги-игры на мобильные устройства. Так как я собирался делать всё сам – передо мной стояли следующие задачи: 1) изучить программирование; 2) изучить какую-нибудь программу для рисования иллюстраций; 3) решить вопрос с созданием звуков и фоновой музыки.
Я понимал, что изучение новых вещей без конкретной цели – закончится для меня тем, что в какой-то момент я всё брошу. Ведь на момент обучения меня никто не освободит от работы, командировок, семейных забот и быта. Забегая вперёд скажу, что моё обучение было очень неравномерным во времени. Бывало, что обучение приостанавливалось на недели, а то и на месяцы. Например, в командировках или при авралах на работе.
В качестве цели мне надо было выбрать уже существующую на этом сайте книгу-игру, которая станет основой для моего первого приложения. Критерии выбора книги-игры для меня были такие: короткая, с простой механикой, интересная лично для меня.
Из всего разнообразия я выбрал две книги-игры: «Генезис» Рея Гарда и «Silent School» Романа Островерхова. Теперь надо было получить разрешение одного из авторов на использование его книги. Каждому автору написал личное сообщение с просьбой разрешить использовать его книгу-игру как основу для создания мобильного приложения. За возможность сохранения прогресса игры (закладка на параграфе с сохранением всех параметров) нужно будет посмотреть рекламу. Гард не дал на это согласия. Он сказал, что у него уже есть договорённость с другим разработчиком по поводу Генезиса. Либо тот разработчик до сих пор пилит приложение, либо что-то не срослось. А вот Роман Островерхов дал разрешение. У «Silent School» есть один очень большой плюс – болгары перевели его на болгарский язык. Я связался с одним из участников болгарского сообщества, который периодически заходит на наш форум, и попросил его пробить контакты переводчика. Он дал ссылку на страницу переводчика в Facebook. Переводчиком оказалась Нина Огнянова. После короткой переписки я получил у неё разрешение на использование её перевода на болгарский язык.
Дальше начинается самое интересное.
Добавил через 3 минут 20 секунд:
1) Изучение программирования.
На тот момент я был абсолютным нулём в программировании, даже в школе и универе нам не преподавали программирование. Компьютер был для меня просто устройством, на котором я играл, смотрел фильмы и по необходимости пользовался вордом и экселем.
Сначала надо было определиться с движком, на котором будут делаться игры. Вариант написать движок самому я отбросил сразу, ибо, как говорилось выше, в программировании я полный ноль.
После не долгих поисков я выбрал в качестве движка Unity. Во-первых, он кроссплатформенный, то есть, сделав игру один раз – её можно будет собрать под почти любую платформу. В моём случае на Android и IOS (эппл). Во-вторых, в интернете есть очень много информации и уроков по Unity в свободном доступе.
Поковырялся немного в Unity и мне стало ясно, что без знания программирования я не смогу создать полноценную игру. Хоть в Unity и представлен очень большой набор инструментов – всё равно многие моменты нужно прописывать скриптами.
Скрипты в Unity пишутся на языке C# (си шарп). Поэтому мне пришлось начать изучать этот язык.
Таким образом, я параллельно изучал C#, функционал Unity и потихонечку пилил игру. Временами, попадая в тупик и не зная, как решить ту или иную задачу, я бросал это дело, считая себя не готовым к такой деятельности. Позже успокоившись, опять продолжал работу.
Работа шла не без трудностей.
Сделал 1-ую версию игры, пока без картинок. Архитектура приложения была очень сложная, громоздкая и путаная. Стал разбираться, как внедрить возможность сохранения игры. Оказалось, что нужно переделывать практически всю игру. Виной тому была негибкая архитектура.
Когда практически вся текстовая часть 2-ой версии игры была готова – у меня вышел из строя жёсткий диск, на котором хранился проект с игрой. Узнав примерную стоимость восстановления данных со сломанного жёсткого диска (8-10 тыс. руб. как минимум) я решил делать игру сначала. Третий раз делать ту же игру было намного быстрее. И ещё я понял, что нужно сохранять свой проект на разных носителях.
2) Изучение фотошопа.
Когда я начал делать игру на Unity, встал вопрос о том, в какой программе создавать иконки кнопок для интерфейса. Да и наличие иллюстраций в книге-игре не помешало бы. Почему-то в тот момент (да и сейчас тоже) я считал, что всё это нужно делать самому. Ибо надёргав из интернета готовых картинок можно было нарваться на претензии правообладателей этих картинок.
Скачал фотошоп и стал разбираться как там и что. У меня была уверенность, что когда я изучу все инструменты фотошопа – смогу в нём хорошо рисовать (глупец!).
Основные инструменты фотошопа получилось изучить относительно быстро. И даже какие-то мелкие иконки, кнопочки и прочую мелочёвку получалось рисовать по урокам в ютубе. А вот полноценные иллюстрации к определённым параграфам давались мне тяжело. На одну иллюстрацию могли уходить недели(!). Качество нарисованного тоже оставляет желать лучшего. Но я не художник, поэтому оставил как получилось.
3) Звуки и фоновая музыка.
Создание звуков для меня проблем не составило. Я просто записывал нужные звуки на микрофон смартфона (звук перелистывания страницы, звук перемещаемого листа бумаги и т.д.).
А вот с музыкой проблема. Я абсолютно не представляю, как её делать.
Два дня смотрел в YouTube, что такое ноты, полутона, октавы, диезы, бемоли и т.д. Стало понятно из чего «состоит» музыка. Но не понятно как самому её писать.
Чтобы сделать хоть какую-нибудь фоновую музыку я в качестве основы взял программку Audacity. В ней склеил несколько звуков нажатия клавиш пианино. Получился простенький шестнадцатисекундный трек, который в игре будет проигрываться по кругу. Возможно, позже сделаю его длиннее, чтобы не так сильно наскучивал.
Добавил через 5 минут 8 секунд:
Когда дело шло к завершению игры – решил зарегистрироваться в Google Play как разработчик. Оплатил $25, отправил все необходимые документы и после проверки официально стал разработчиком.
Примерно в середине января 2021 года 3-я версия игры в принципе была готова и я начал разбираться, как залить её в Play market. Оказалось, что Google может заблокировать приложение, если хоть одно из их многочисленных правил будет нарушено. Причём опыт некоторых разработчиков показывает, что получив 3 предупреждения от Google за серьёзные нарушения – они получают пожизненный бан от Google и всех его сервисов. Такое в мои планы не входило. Мне очень не хотелось бы нарваться на такое. А эти мысли у меня возникли из-за того, что моё приложение не оптимизировано для планшетов. При соотношении сторон экрана 3:4 часть текста и некоторые кнопки с выбором варианта действия будут выходить за границы экрана. Сейчас я знаю, как сделать игру под любое разрешение экрана. Но когда я начинал её делать – я этого не знал. То есть игра будет корректно отображаться на большинстве смартфонов, а на планшетах – некорректно. Я побоялся того, что владельцы планшетов закидают меня жалобами и Google заблокирует моё приложение.
«Измени игру так, чтобы она нормально отображалась на планшетах!» – скажете вы. Всё не так просто. Я, как новичок, создал приложение, которое в принципе очень сложно изменить и доработать. Фактически, нужно ВСЁ переделывать, чтобы добиться корректного отображения игры на планшетах. Да и когда приложение было готово – я был им недоволен, потому что многому уже научился и понимал, что многие вещи в нём можно сделать по-другому и лучше.
В голове у меня уже созрела новая архитектура приложения, поэтому я решил пока не выкладывать приложение в Play market, а переделать его полностью.
Вот примерный перечень того, как должно было улучшиться приложение, написанное в новой архитектуре:
1. В 3-ей версии приложения не было возможности менять размер шрифта текста, т.к. на тот момент я не знал, как это сделать. Теперь знаю, так что размер шрифта можно будет менять.
2. В 3-ей версии приложения есть возможность игры только при вертикальном положении телефона. Теперь же будет возможность игры, как в вертикальном, так и в горизонтальном положении смартфона, как у Tin Man Games. Да и вообще во многом я брал пример с них.
3. Новая версия приложения подойдёт к мобильным устройствам с ЛЮБЫМ разрешением экрана.
4. Новая версия приложения будет сделана с тем расчётом, что я смогу без проблем изменять, править и дополнять её в случае необходимости.
5. По моим расчётам новая архитектура приложения позволит сократить время разработки.
6. Новая (4-я) версия игры будет весить раза в 2 меньше. У 3-ей версии игры загрузочный APK-файл весит 50 Мб, а после установки на смартфон она занимает 75 Мб.
Добавил через 3 минут 35 секунд:
Сейчас апрель 2021 года. Готова 4-я версия игры. Получилось реализовать все мои задумки по улучшению архитектуры и интерфейса игры. Теперь не стыдно выложить такую игру на общее обозрение.
На данный момент игра загружена в Play market. Она находится на стадии закрытого внутреннего тестирования. Если есть желающие поучаствовать в тестировании – скиньте мне в личку адрес электронной почты. Туда пришлю ссылку для скачивания игры. Перейдя по ссылке – попадёте в Google Play. Соглашаетесь стать участником внутреннего тестирования и скачиваете игру по первой ссылке. (Вторая ссылка на скачивание перекинет на скачивание общедоступной версии, но она с мелкими недочётами, поэтому лучше первая ссылка.)
Очень нужна обратная связь!
Свои замечания можете написать в произвольной форме или в той форме, пример которой я выложу ниже. Как вам удобнее, так и пишите.
Пример формы отзыва.
1. Модель мобильного устройства, на котором играете (например, смартфон Samsung Galaxy A01 (SM-A015F/DS)), разрешение экрана (например, 1520×720 пикселей) и версия андроида. Тут важнее разрешение экрана. Модель телефона указывать не обязательно.
2. Ваше мнение по поводу дизайна игры. Плюсы/минусы дизайна. Что по вашему мнению лучше исправить и как? Что можно добавить?
3. Удобно ли управление? Управление интуитивно понятное или нет? Что можно улучшить в управлении?
4. Проблемы и ошибки в работе приложения: опечатки, некорректное отображение интерфейса, неработающие кнопки, некорректное обрезание текста, некорректное сохранение игры и т.д. Желательно указать в каком параграфе возникла ошибка и при каких обстоятельствах (например, при нажатии кнопки, или при свайпе вниз, или при изменении настроек игры и т.д.). Можно со скриншотами.
5. Что-то ещё (пожелания, советы, предложения, вопросы).
Отзыв по игре можете отправить мне по электронной почте (та почта, с которой придёт ссылка на скачивание) , в личку или написать комментарий к этому посту.
{"1":[[6138,"Kadena"],[13,"\u0410\u043b\u0435\u043a\u0441"],[8059,"theCheetah"],[11975,"\u0412\u0430\u0434\u0438\u043c \u041c\u0430\u0437\u0443\u0440\u0435\u0432\u0441\u043a\u0438\u0439"],[3114,"\u042e\u0440\u043a\u0438\u0439\u0421\u043b\u043e\u043d"]],"143":[[8059,"theCheetah"]]}