1

Своя игра под Android за ночь

Давно хотел написать простую игрушку на телефон для себя, да и так, чтоб можно было друзьям показать, потыкать.
В мобильной разработке довольно давно, так что как делать хорошо понимаю, а вот что делать… С этим всегда проблемы. Обычно работает так: есть люди, которые говорят: «Давай сделаем так для того, чтобы что-то». Потом приходят дизайнеры и говорят: «Выглядеть оно должно вот так». Ты садишься и делаешь. Довольно часто в голове проскакивают мысли из разряда:

  • А почему мне не сделать свое приложение?

  • Зачем мне все эти промежуточные звенья?

  • Хочу сам решать как и что

И вот тогда, полный энергии и запала ты садишься и… И все. Упираешься в то, что у тебя нет идей. Появилась идея? Тогда ты понимаешь, что дизайнер из тебя никакой. Приходит осознание, что наверно, все эти люди есть не просто так. Возвращаешься на работу и делаешь чужой проект дальше, и так по кругу.

Несколько дней назад я ложился спать и подумал, что слишком часто в последнее время вижу, что знакомые играют в игры по типу «отгадай что за слово за N попыток», как у желтого банка была игра «5 букв» или что-то такое. И тут я понял, что сделать ее - не стоит ничего. Тут же взял ноутбук и начал.

План написания приложения был примерно следующий:

  1. Найти в открытом доступе файл с существительными на английском языке, из которого, собственно и будут браться слова

  2. Написать свою клавиатуру - главный по сложности виджет в этом приложении

  3. Написать форму для ввода слов

  4. Добавить элемент монетизации (конечно, куда же без этого)

  5. Выложить в открытый доступ

Итак, поехали. 1 этап прошел довольно быстро и безболезненно, но со своими приколами. Я нашел список слов, состоящий примерно из 1800 существительных, но как оказалось позже, в нем очень много пробелов и довольно часто нет очевидных слов. Но и ладно, для старта подойдет.

Идем дальше. Чтобы написать клавиатуру, надо понять, в каком состоянии могут быть буквы. В целом, достаточно посмотреть пару примеров и Делаем вывод, что состояния может быть 3:

  1. Эту букву мы еще не пробовали

  2. Пробовали, но в загаданном слове такой нет

  3. Пробовали и да, такая буква есть

Выбираем цветовую палитру. Мне лично, очень нравится, как выглядят салатный и оранжевый на сером фоне. Так давайте так с сделаем. С ними еще и голубой будет норм смотреться. Для клавиатуры основным цветом выбираем салатовый. Главной кнопкой аля SPACE сделаем проверку введенного слова. Если букву не угадываем - убираем обводку, если угадываем - добавляем цвета в фон. Получается что-то такое, вроде даже смотрится.

Клавиатура

Клавиатура

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

  1. Еще не проверяли

  2. Такой буквы нет в слове

  3. Буква есть, но она не на своем месте

  4. Да, ты угадал! Ровно эта буква и ровно здесь!

По цветам, в целом, возьмем все те же, но добавим еще немного серого для букв, которые нам не подходят. Смотрите, получается что-то такое:

О, это конец?

О, это конец?

Казалось бы, готовая игра. Но нет, давайте добавим немного информации для пользователя, не всем же очевидно, что эти цвета вообще значат. В процессе написания, кстати, название просто всплыло в голове и начальный вариант я оставил без изменений: "Worder World". Как вам? Типа Wonder - WORDer, ну вы поняли. Отвлеклись, итак, добавляем кнопку инфо и немного разъяснений в виде попапа. Получается так:

Немного понятней стало

Немного понятней стало

Так, а в чем моя игрушка будет отличаться от большинства других? У меня есть словарь, но правда ли я буду использовать в нем только 5-и буквенные слова? А зачем? Давайте добавим возможность пользователю самому выбирать какой длины слово он хочет. Добавляем стартовый экран с выбором длины. От 5 до 8 как будто должно хватить. А вот и идеальное место, где можно получить профит. 5, 6 - бесплатно, хочешь сложнее - плати)) Почему бы и нет, да и все равно игрушка моя, хочу так и все тут.

Выбираем сложность

Выбираем сложность

Получается вот так. Вкладка магазина возможно получит жизнь в будущем, если есть идеи что туда добавить - пишите.

Финальный штрих - добавим стартовый экран загрузки с простой анимацией и немного рекламы (Правда совсем чуть чуть, да и почему нет, все равно с нее заработок измеряется в десятых частях центов). Сделаем попапы о выигрыше или проигрыше да и в целом все, игра готова.

Ну что ж, пошли выкладываться в стор. Аккаунт разраба есть, название есть, описание накатаем, скриншот наделаем, формочки необходимые заполним, отправляемся на модерацию. Что по времени? Прошло часа 3, а внутренний владелец собственной игрушки рад) Всем спасибо, если вдруг захотите посмотреть - вот ссылочка https://play.google.com/store/apps/details?id=com.agamatech...., если находите слова, которых нет в моем не очень большом словаре, или вы придумали, что крутого можно туда добавить - пишите, сделаем!

А как проходят ваши ночи?

Больше постов читайте по тегу «Онлайн-курсы». А если сами хотите изучить новую профессию, посмотрите актуальные курсы от проверенных школ на сайте Пикабу Курсы.
0
Автор поста оценил этот комментарий

Фронт на котлине для приложения на андроид?
Я так понимаю в этом случае, вы не имеете ввиду фронт в классическом понимании: фронтенд в браузере?

А есть ли какие-то фреймворки в котлине, для быстрой разработки таких игр?
Я думал, лучше использовать юнити с C# для таких игр.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Под фронтом я имею в виду полностью само приложение, если ему нет необходимости стучаться на бек для получения данных
в целом сейчас почти все прилы под Андроид пишутся на котлине, если это не мультиплатформенные аппы
Для игр сложнее конечно уже нужен другой стек и движки специальные, но приложения такого рода без проблем пишутся на котлине без особой магии
0
Автор поста оценил этот комментарий

А какие инструменты использовали для разработки?

Я из мира бекенда. Но, эта тема мне интересна. И как раз такие приложения.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Фронт только на котлине, бек я писать не умею, так что пока много идей по доработкам в это упираются)
показать ответы
0
Автор поста оценил этот комментарий

А код на Гитхабе, например, можно посмотреть?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
В закрытом репозитории висит

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества