Идея
Всем привет! Не так давно, я решил, что хочу написать простую игру. У меня уже были проекты, был даже один который я уже выкладывал в google play, он даже насобирал неплохих отзывов на мое удивление, однако разошелся тиражом в 3000 копий. В этот раз решил, что хочу написать простую игру, очень простую, такую, чтоб потратить не больше месяца, выложить в маркет и радоваться положительным отзывам, ну и конечно копеечке с рекламы.
Долго думал, какой же выбрать жанр, сеттинг, механику... Что выбрать за главную фичу? Чем игра должна заинтересовать пользователей?
Решение пришло совершенно неожиданно, как это обычно и бывает. Я смотрел видео на ютубе и увидел ролик, как люди ловили предметы, которые падали из башен. Что поймал, то и унес домой. Вроде звучит достаточно просто. Не так ли?
Какого же было мое удивление, когда я смотрел видео и переживал за игроков! В этот момент меня осенило, и уже на середине ролика я горел идеей написать быстрый проект на такую тематику!
За пол часа я накидал простой прототип. Ничего сложного. Есть 2 башни, из которых падают квадраты. Другим квадратом ты ловишь эти квадраты. Выглядело это примерно так.
Начало разработки. Прототип
Выглядит так себе, понимаю. Но главное ведь идея? Я горел желанием все сделать быстро и качественно, чтобы не перегореть раньше времени. Я понимал, что идея по сути-то так себе, но мне было интересно ловить эти пиксельные предметы, и моим друзьям идея тоже зашла, на мое удивление)
Первые проблемы
До тех пор, пока предмет был один, простой квадрат, все казалось простым. Я думал выпущу игру за неделю, ну может две, так как еще графику рисовать, нюансы всякие.. Ага, как же..
Выделив какое то время рисованию предметов я задумался: - "А как мне их теперь хранить в игре??".
На этом вопросе я залип надолго. Так как не хотел все переделывать, когда будет уже очень много предметов, скажем 500.
Самым адекватным решением было создать mySql базу и работать с ней, но раньше в играх я их не использовал, поэтому были еще варианты. Например, создать структуры классов, собрать в массивы и каким то образом их сохранять куда либо.. Но пришлось бы пилить свой редактор.. Были и еще какие то мысли, в общей сложности я решал этот вопрос 2 дня (по вечерам после работы).
Было решено разбираться в базах данных. Точнее как с ними работать из под Unity.
Посмотрел пару видео, прочел пару статей. Да вроде не сложно, подумал я и начал делать. Скачал нужные библиотеки, написал примитивный код. Работает! Но не на телефоне, тут меня ждало разочарование. Библиотека, которую я скачал из того видео, не работала на телефоне ни в какую. Я скачивал ее их разных источников, разных версий. Одна из 10 заработала! Я был счастлив и добавил все свои 10 предметов в базу.
Разработка в самом разгаре
Далее я начал разрабатывать инвентарь и его "дизайн". Первые наброски, были выполнены из стандартных плашек и кнопок.
Далее был долгий процесс подгонки всего, настройки окон и т.д. После чего я начал делать систему коллекций. Все точно так же работает через базу данных. Ничего интересного так же нет.
Хотя тут я немного забежал вперед. Я так же нарисовал машины, сделал небо градиентным и нарисовал предметов побольше. На тот момент, кажется, их было порядка 20.
Пора бы нарисовать персонажа
Шла 3 неделя, я понимал, что уже ну ни как не укладываюсь в сроки. Код становился все монструознее, так как я хотел сделать все быстро, пришлось жертвовать и костылять, костылять...
Пришло время рисовать персонажа.
Город тоже бы не помешал
Время шло. Мы, с моим другом Ильей, сидели у меня и делали игру, я писал код, рисовал графику, а он составлял мне компанию и писал музыку (Он первоклассный музыкант😉), подсказывал какие то идеи и т.д. Параллельно мне помогал с рисовкой предметов Саня, в тот момент он находился в армии и рисовал прямо от туда!)
В этот момент на работе появились проблемы, завалы и так далее. Игру пришлось отодвинуть на второй план и ей я занимался меньше. Шел уже второй месяц.
Через неделю или даже две я нашел еще сил и продолжил разработку. Город расширялся, дорисовывался и менялся.
Как всегда, все сложнее, чем кажется
Начались проблемы с масштабированием проекта, мелкими правками, доработками и всякими мелочами. Очень сложно было правильно настроить баланс экономики в игре. Каждый раз приходилось с самого нуля прокачивать персонажа и проверять - "а интересно ли это в данный момент??".
Я добавлял и убирал различные фичи. Что-то пришлось удалить, так как я уже вышел за границы своего выдуманного дэдлайна.
Так же сложно было придумать как встроить рекламу, так, чтоб она не бесила, часто показывалась и была актуальной. То есть человек хотел ее смотреть, а не я его заставлял.
Готовность номер 1! Опять проблемы
Третий месяц подходил к концу, время летело очень быстро. Я решил, пора выкладывать. Некоторые друзья залипали по несколько часов в ловле предметов и это был хороший знак.
Подготовка проекта к выпуску заняла примерно 5 дней, я делал скриншоты, рисовал иконку, придумывал описание, название и бла бла бла...
В этот момент я понял, что многие игроки не понимают что делать. Было решено написать некий туториал. Обучение, простое и понятное. За вечер система была написана и почти отлажена.
Еще несколько дней я тестировал готовый продукт, ну как готовый, играбельный. И он проходил по всем тестам, все хорошо работало. Пора выпускать.
Я собрался с мыслями и... выложил проект в стор. Но стор решил иначе и уведомил меня, что я обязан сделать игру как для 32 бит, так и для 64 бит. Времена такие, телефоны все мощнее и мощнее..
Да ладно, поставить галочку тут, там, ну и здесь. Готово! Выкладываем!
Игра прошла модерацию и спустя сутки появилась в магазине! Я был рад и хотел расслабиться и отдохнуть. Но тут выяснилось, предметы в игре перестали падать! Я был в панике. Как так могло случиться? Я ведь тестировал все несколько дней, и не один я. Все работало!
Проверив логи, было выявлено сообщение о нехватке прав. Ну юнити, не смогла сама попросить нужные разрешения на запись (я обленился). Ладно сейчас сделаем. Однако это не помогло.
Долгие поиски в интернете не давали результатов, я ходил вокруг одного и того же места. В 32 битах игра работает, а в 64 пишет, что недостаточно прав. Бред какой-то!
И тут я понял. Не работает библиотека для взаимодействия с базой данных! Немного погуглив, я нашел старую тему на оф. сайте sqlite. Там говорилось о том, что библиотека не поддерживает 64 бита и пока не планирует.
Как же это так?? И все? на этом все закончено? или переписывать всю систему предметов заново? Да бред!
Я пошел искать дальше и вздохнул с облегчением, она все же обновилась и теперь поддерживает 64 бита! Еще 2 дня танцев с бубном и оно заработало! За это время игру скачали 20 человек..и сразу ее естественно удалили, ведь она не работала..обидно.
Запушил обновление. Проверил все еще несколько раз. Оно заработало. Я выдохнул и решил передохнуть.
Итог
Играбельная версия готова, игра находится в магазине приложений и ждет пользователей. В данный момент идет стадия рекламирования и развития. Конечно же, параллельно ведется разработка и самой игры, в частности я добавил метрики, что бы лучше понимать пользователей. Продолжение будет уже с отчетом через пару месяцев.
Игру можно скачать по ссылке: Google Play