«Кровь, пот и пиксели» по-русски, или История создания карточного баттлера без колод

Я делал карточную игру-баттлер около 15 лет, но так и не нашел для нее издателя. И все же я горжусь этим проектом.

Все началось еще в университете с лабораторной работы по искусственному интеллекту, где надо было написать свой ИИ. Но перед этим нужно было ответить на вопрос: «Какую задачу он будет решать?».

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

В моей интерпретации два мага по очереди выбирали заклинание, после чего в зависимости от атаки и защиты наносился урон. Тот, у кого закончились жизни, проигрывал. Сеттинг был самым стандартным — магия стихий. Отсюда и название: F — fire, A — air, W — water, E — earth. FAWE.

Главный экран

В последующие годы я занимался разработкой разного рода софта в различных компаниях, а в свободное время делал новые версии все той же игры. Параллельно я приезжал к другу, который частенько выигрывает городские турниры по настолкам. Компанией мы обычно играли в «Манчкин Квест», а вдвоем в Magic: The Gathering. Сам же я пытался играть в Hearthstone, но довольно быстро самой игре я предпочел просмотр мировых чемпионатов по ней.

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

Второй момент — я не очень люблю играть 1 на 1, мне куда интереснее играть компанией или командой хотя бы из двух человек.

Выбор режима игры

Долгие годы меня не покидала мысль «надо что-то менять». В конце лета 2019 года я развелся с женой, уволился из зарубежной компании и самоизолировался в квартире еще до того, как это стало мейнстримом.

Первоочередной целью было — поставить жизнь на паузу и перевести дух. Второй — сделать наконец нормальную версию своей игры. Благо, за все эти годы у меня уже сложилось хоть и примерное, но представление о том, какой она должна быть. Были даже макеты из ASCII-графики. Оставалось самое простое — сделать игру.

За многие годы в разработке у меня уже накопился кое-какой опыт по оценке трудозатрат. Поэтому я проверил положение Меркурия, сверился с фазой Луны, подкинул кубик и выяснил, что весь проект займёт 2 месяца. Ещё 1 месяц я заложил на тестирование. «Не так уж и много. Сделаю, а потом наконец отдохну», — подумал я.

Следующие 1,5 года я работал примерно по 12–16 часов в день с парой выходных в месяц. Почти все от идеи до реализации делал сам, разве что арт заказал у одной студии. Этот маневр стоил мне большую часть бюджета, после чего игру во что бы то ни стало надо было закончить до конца 2020 года.

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

Тогда я наивно полагал, что если у тебя есть оригинальная игра с крутым артом, то и от издателей отбоя тоже быть не должно. Все оказалось совсем не так. Самой большой проблемой, как ни странно, стал элеватор питч. Когда меня спрашивали, я обычно отвечал, что делаю Hearthstone в 2 клика. Людям этот питч нравился, но с издателями не прокатило, а Google Play и вовсе запретил мне упоминать чужие бренды.

В итоге игра так и не нашла своего издателя и осела в Google Play под названием FAWE: Enchanted Forest 30 декабря 2020 года.

За все это время накопилось достаточно фидбэка, чтобы понять: пытаясь сделать игру для обычных людей, я ориентировался на хардкорных гиков, в результате чего для первых она получилась слишком сложной, а вторых и так все устраивает в существующих баттлерах. Поэтому несколько месяцев назад вышла вторая часть под названием Let’s FAWE!. В ней геймплей полностью переработан с фокусом на обычных игроков. Но издателя я пока так и не нашел.

Технические детали

Наибольший интерес представляют боты. Зачастую, чтобы сделать их интересными и сложными, разработчики просто выдают им читы, например, отсутствие тумана войны или сбор двойных минералов. В своей же игре из академического интереса я сделал честных ботов, которые пользуются только той информацией, которой обладает обычный игрок, и не отличают его от других ботов. При этом, как показывает практика, играть с ними действительно сложно и интересно.

Выбор уровня сложности

Стэк проекта

Golang, Lua, Defold, SQLite.

Любимый кусочек кода

Адаптирует картинку в режиме Projection: FIXED_AUTO под любой размер экрана/окна.

-- sleepy eyes code, but it works :) function M:calc_auto_resize(obj_size) obj_size = obj_size * const.INIT_SCALE_FACTOR local w, h = window.get_size() local wf = w / obj_size.x local hf = h / obj_size.y local factor = math.max(h / (obj_size.y * wf), w / (obj_size.x * hf)) return vmath.vector3(factor) end

Ссылки на игру

Поиграть в последнюю версии моей игры можно прямо на сайте Town Portal.

Предлагаю челлендж: выиграть хардкорных ботов 5 раз подряд в режиме 1х1х1х1.

Для истории оставлю ссылки на оригинальную FAWE: Enchanted Forest: RuStore, Google Play, Steam.

0
16 комментариев
Написать комментарий...
nochnoy.ru

Офигенно. Правила пока не понял, но очень интересно. Давно ищу замену хартстоуну. А почему сетевая игра не работает?

Ответить
Развернуть ветку
Nikita Loskutov
Автор

А что именно не работает? Если показывает, что в комнате вы одни, то значит просто в мультиплеере сейчас никого нет. Многие в этом случае подсовывают ботов вместо реальных игроков, но я так делать не стал

Ответить
Развернуть ветку
nochnoy.ru

А, это корпоративный прокси ьыл виноват. С домашнего компа норм. Да, никого. И боты - зло, согласен. В этой ситуации можно ещё подумать про бои, растянутые на пару суток - типа заходишь в игру и пишется "там у вас бой ещё идёт, сделайте ход".

Ответить
Развернуть ветку
Nikita Loskutov
Автор

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

Ответить
Развернуть ветку
Mr. U

а кто дизайнил интерфейс? или это пак какой-то?

Ответить
Развернуть ветку
Nikita Loskutov
Автор

не пак, все рисовалось вручную студией художников

Ответить
Развернуть ветку
Mr. U

сколько ₽, если не секрет?

Ответить
Развернуть ветку
Nikita Loskutov
Автор

в 2020 году заказывал за $40 в час, сейчас на рубли уже даже боюсь переводить)

Ответить
Развернуть ветку
Mr. U

спасибо!)

Ответить
Развернуть ветку
Manga TV

Ну издатель по большому счету не нужен. Я вот сделал в 2012 году шарики https://play.google.com/store/apps/details?id=com.maxsoft.balls

Накосил на них уже $80000. Игра 800 строк на джаве, сделана за неделю. Маркетингом не занимался. В общем вам надо прокачивать удачу 💪😎

Ответить
Развернуть ветку
Nikita Loskutov
Автор

возможно) на мой взгляд Lines, как и Tetris, раскрутки не требует, их давно знают и любят. а что на счет лицензии? покупали у правообладателя?

Ответить
Развернуть ветку
Manga TV

Да нет конечно. Там и нет правообладателя никакого.

Ответить
Развернуть ветку
Manga TV

Все звуки украдены. Шарик нарисовал в пайнтбраше.

Ответить
Развернуть ветку
Nikita Loskutov
Автор

классика)

Ответить
Развернуть ветку

Комментарий удален автором поста

Развернуть ветку
Лосось хочет дайджест сделать

Вот это ты замахнулся, товарищ товаровед, "Hearthstone в 2 клика", ага. Типа "GTA на одном дыхании, только не вдохнуть". Может, и было в голове что-то стоящее, но гениальность Айнштейна пока не проскакивает, извини. Попробуй крутить идеи с другой стороны, может, прорыв подвернется.

Ответить
Развернуть ветку
Nikita Loskutov
Автор

UPDATE:
✅Вторая часть игры - Let's FAWE! - теперь доступна прямо в Telegram. Просто пишите @TownPortalBot

С наступающим!🎄

Ответить
Развернуть ветку
13 комментариев
Раскрывать всегда