Как-то в голову пришла мне идея игры: человеку приходят 4 очень похожие друг на друга кнопки и ему нужно выбрать верную за короткий промежуток времени. Так же я любил ходить в рейды в ММОРПГ-играх (я не любитель ПвП, но вот дружные замесы против босса - это по мне). В то время я играл в MMORPG ChatWars в Телеграме и был в ней на руководящих позициях фракции. А ещё у меня за плечами 5 лет опыта в программировании, 3 из них в геймдеве. С этими вводными родился проект “Рагна” - сессионная Телеграм-чатовая игра про походы на огненного рейд босса.
Пост является ретроспективой разработки игры, а также кладезем кейсов и моих геймдизайнерских идей.
Кор-луп (апрель 2017)
Прототип “на коленке” был сделан за день: танк танкует, хил хилит, дд дамажит - классика. Немного баланса в циферках, немного багфиксов и в принципе можно играться: запускаешь, бьёшь босса, побеждаешь. Люди, играющие за дд видели примерно такие 4 кнопки: “Атаковать босса”, “Бить клуши”, “Мочить манту” или “Колотить сахар в кружке”, хилы видели вариации “шутеечек” со словами “хилить\исцелять\лечить”, а танки со словами “дефать, защищать, танковать”. Я использовал сортирный юмор с целевой аудиторией - подростки. Личность Рагны сволочная. На этом прототипе я хотел и закончить разработку - лично мне хватило этого, чтобы повеселится.
Так что сперва разнообразим кор-луп умениями босса. Первыми скилами были архетипичные: “огненная лужа” [?], которая наносит урон, пока с неё не уйдёшь простой кнопкой “уйти из лужи”, “яд” [?], который снимался хилом и “смертельный удар” [☠️], при котором игрока-жертву можно было спасти любым другим игроком кнопкой “спасти от смертельного удара”. Всё за инициативы “группы поддержки” игры.
Моя философия такова: в ММОРПГ есть прогрессия, есть лвл-кап (последний уровень): если он слишком низкий - на нем остановится много игроков, если слишком высоким - это превратится в механическую фармилку. Сессионки (типа МОБА-игр, бетл-роялей и других) в свою очередь не нуждаются в таком балансе и в них играют не из-за “коробки Скиннера”, а просто для души: собраться с пацанами и сыграть каточку-другую, без принуждения (типа пока ты спишь - твой враг качается). Типа пока едешь от дома до работы\учёбы - есть время сиграть короткую партию в Телеграме. Ну вы поняли.
Но всё же хотелось иметь какую-нибудь награду за победу, решили сделать топ-дамага, топ-отхила и топ-сдефаного урона за всё время - теперь “Карьеристы” по Бартлу могли играть ради своего ЧСВ, при этом никто не сильнее другого. Немного причесал UI\UX, сделал простенькую аву в пейнте и можно выходить в бету.
Лут (сентябрь 2017)
Всё же, не хватало какой-то награды за победу над боссом, хотелось лутбоксов, хотелось увеличение урона. Но это всё не мне, это игрокам, мне бы чтобы “новички” всегда могли влететь в каточку против босса с любыми статами и иметь возможность помочь старичкам. Поэтому система шмоток в Рагне такая, что топовые вещи трудно достать, но и увеличение урона относительно игроков без вещей где-то 1:5, игроки довольны - фармят Боссов, улучшают вещи, увеличивается урон и я доволен: новички и старички могут долбить одного и того же босса равносильно. Для названий я использовал вот этот прикрольный генератор. Три типа\слота итемов: оружие, броня и артефакт, - три статы на каждую роль, три части одного итема: префикс, название и постфикс. Несколько вечеров и табличка готова.
Для меня очень важно было сделать автопик - чтобы лучшая вещь надевалась сама на игрока перед боем и ему не приходилось тыкать что надеть. Открыл лутбокс - получил вещь - стартуешь игру уже в ней.
Ачивки (октябрь 2017)
Система ачивок помогает при поражении: игроки ошибались, кликали неверные кнопки, прокачивая этим ачивку, и получали новые титулы. Сначала я даже хотел на основании взаимодействий между игроками во время боя с боссом даже строить отношения типо одним из 4 кнопок во время рейда была бы “пригласить на свидание”, “поцеловать”, “предложить встречаться” и другие романтические фразочки, которые бы потом пререростали в нечто большее, которое бы, например, давало баф при начале каточки.
ПвП (ноябрь 2017)
Тут я столкнулся с такой дилеммой: в Телеграме легко зарегистрировать лишний аккаунт и играть на два окна и больше, нужно было сбалансировать ПвП так, чтобы кучка опытных игроков могла справиться с армией одного ботовода, ведь для меня важно чтобы в ПвП-матчах не было ограничений на количество участников по сторонам, я очень люблю массовые замесы в ММОРПГ. Для этого я сделал поле в виде полосы ячеек, на которых может находится сколько угодно человек:
И дал всем атакующим классам способность наносить больше урона по игрокам на ячейке, если на ней больше людей. Так по идее один игрок класса “архимаг” мог одной кнопкой навесть яд на пачку противников.
Следующей дилеммой была награда за ПвП: поскольку между чатами может играть один ботовод, то давать лутбоксы или что-либо за такие ПвП не хотелось, так что сошлись на том, что награды не будет: просто два чата сражаются между собой ради интереса. Хотя даже на этой стадии, пришлось вносить балансные правки.
Очевидно, был создан потенциал, который хотелось раскрыть, опять же играть в режим без наград не хотелось, было неинтересно. Я создал “Битву недели”. Для защиты от ботоводства, награда разделялась на количество участников. Позже ПвП-механикой заинтересовались и игроки, которые не хотели играть в ПвЕ, чтобы выбить топовые вещи и играть в ПвП на равных, для них была создана “арена”: в этом режиме выставляется одинаковая сила всех игроков. Тогда начались турниры. Когда на кону более ценные призы, чем просто лутбоксы (первое место, нагнуть противников, стать чемпионами турнира), баги и шероховатости вылазят и не дают ПвП-режиму Рагны стать локальным киберспортом. Но, я старался.
Намного позже эволюцией ПвП-режима стали клановые “Битвы за Замок”: там был временной отрезок и игроки воскрешались, пока не достигнут условия победы (атакующие не уничтожат “ворота”, а защищающиеся не продержатся 20 минут), в отличии от обычного ПвП, где “только одна жизнь”.
Монетизация(декабрь 2017)
Имея сильную поддержку игроков, я решил сделать в игре возможность донатить. Увлекаясь тогда криптой и очень переживая о налоговой, я решил прикрутить возможность подкинуть мне монетку Карбо (это украинская анонимная крипта с надёжным ядром). Очевидно, никто мне в ней не донатил, так как это должно быть намного проще для пользователя. Тогда я взялся прикручивать Киви и у меня получилось. Правда, донаты не покрывали даже расходов на хостинг бота, но они были. Позже Киви понизил мой статус и я решил переехать на donationalerts. Не внимательно прочитав правила площадки (запрещено пользоваться ею, если вы не стример), у меня там застряли деньги. Думал о платежных шлюзах, о встроенных в Телеграм способов оплаты, но всюду нужны мои паспортные данные, а мне бы не хотелось иметь потом проблемы с налоговой.
Также потерпел поражение и выбрав “непродажу мощи”: я насмотрелся роликов Extra Credits и там строго-настрого запрещали продавать в магазине бустеры, так что я за донат-валюту (хард-валюту) продавал такие кастомизационные механики. “Триггеры” - это когда бот отвечает нужным сообщением на наличие ключевого слова в сообщении, типа с триггером “Понял/+принял” если кто-то в чате пишет “понял”, бот ему отвечает “+принял”. “Кастомные фразочки” - это неигровые фразы, которые предлагает бот, это для локальных шутеечек внутри конкретного чата. “Переименование вещи” - это по ВоВовски трансмогрификация, когда у вещи статы остаются, но выглядит по-другому.
Позже я решил добавить рекламу: одни платят хард-валюту за размещение, другие смотрят её и получают лутбоксы за просмотр. А позже начал продавать свитки\зелья за хард и за софт, чтобы донатеры могли помогать бедным игрокам, при этом не завышая собственную мощь.
Кстати, для меня важно было чтобы игроки могли менять софт-валюту [?] на хард-валюту [?] чтобы бедные тоже могли себя побаловать, но в итоге люди просто не донатили, даже имея возможность, потому что им проще было заработать игровую валюту и обменять на хард. Немного провтыкал в соотношении обмена, хотя не знаю, может в принципе такая возможность убила всю монетизацию.
Пробовал выдавать софт-валюту за просмотр рекламы на своем сайте (подключив adSence один раз, второй раз прямо сказал игрокам “вот место - покупайте, размещайте”), но просмотров было слишком мало, тогда попробовал adult CPA-сети (оплата за действия) типо Nutaku, но также ничего не заработал. Просто мало игроков было (до 500 MAU и до 50 DAU).
Социалочка и техническая сторона (январь 2018)
Мне кажется я весь 2018 год в игре то и дело добавлял только то, что просили игроки, очень коммуницировал, мы организовывали творческие конкурсы (по рисованию аватарки, по написанию рассказов\лора, по созданию статуэтки Рагны), несколько стикер-паков появилось, игроками даже был создан арт-отдел. Также в игре делал ивентовые механики типо “цоканья яичками” на пасху, обмен любезностями в день св.Валентина и ивент с новогодним настроением. Турниры, кросс-промо с другими играми (с проектом TRUG - Telegram Russian Gaming, Wasteland Wars, ChatHero, Werewolf Moderator, Tower of Heaven), популярность игры росла, поэтому много времени тратилось и на оптимизацию кода, многопоточность там все дела.
Кстати, на мою игру сделали бота для фарма, от него я защищался обфускацией фразочек, вставляя Zalgo-символы в случайные места. Ну и игру, конечно, пытались ддосить и взламывать - без этого не обходился ни один крупный апдейт. Но читеров я никогда не наказывал строго, эти люди - лучшие бесплатные тестировщики, которые налетают - ломают, я чиню и всё рабоатет. Иногда даже выдавал им уникальные титулы за заслуги по крашу бота. А ещё, если кому инетересно, хостинг бота, хостинг бд игры. Клиент игры на C# в виде консолького окошка, либа для связи с телеграм.
Маркетинг и аналитика (январь 2019)
Игре к тому моменту уже два года, некоторые наигрались однотипной механикой, получили награды в конце сезона и ушли на покой, а новички прибывали всё меньше. Тогда я сделал вместо сложночитаемого хелпа, туториал (позже переделал его на использование картинок вместо просто чтения вводной инфы текстом). Сестра у меня дизайнер - сделала эскиз логотипа, друг-художник помог по нему нарисовать красивую аватарку для бота. Также “услышал зов людей” и реализовал игру внутри бота (хотя логи всё также приходили в чат), позже даже сделал возможность бить босса с игровыми ботами (до этого нельзя было начать рейд, не взяв каждой роли по одному человеку). Сделал кстати очень крутую механику с Диким боссом, который спавнился в рандомном чате в рандомное время и только лучшие чаты могли получить публичную ссылку на тот чат чтобы завалить его и получить особый лут. А то есть чаты, которые добавляли бота, но не смогли разобраться в нём и оставляли - тогда врывался дикий босс, врывались топовые игроки и в чате начинался хаос (иногда доходило до банов). Пробовал прикрутить аналитику devtodev, gameanalytics - не получилось, так что сделал свою, собираю просто DAU, WAU, MAU (доступно для просмотра и игрокам).
Теперь я смог точно смотреть как падает онлайн.
Кланы и Замки (май 2019)
Меня очень просили старички сделать кланы, но я всё не знал как их реализовать, поэтому идея варсонгов пришла не сразу. Варсонги (военная песнь, боевой клич, воинственный гимн) - это когда члены клана по очереди говорят части одной фразы и по завершению получают баф. Также кланы было решено не ограничивать по количеству и главе было выдано очень тонкая настройка прав (8 штук каждому члену клана можно индивидуально настроить). А ещё у клана есть свой DAU/MAU.
Ну и классикой бы было сталкивать кланы между собой в битвах за замки. Я посмотрел на существующие механики со статическим количество замков или точек интереса и решил, что у меня игроки сами будут строить себе замки, улучшать их и сражаться за них. Так начался период построек замков и битв за них. Без багов не обошлось, поэтому много битв были начаты и\или закончены нечестно, это отбило желание играть у самых высокоранговых игроков. Что по итогу привело к полному падению онлайна. Да и с замками получился просчёт в плане инкама голды: чем больше игроки вкладывали денег в замок - тем больше он приносил, но никакой сдерживающей механики я не сделал, таким образом по-глупому создал инфляцию. Хорошо, что это не ММОРПГ и олигархичность одних никак не влияет на других.
Крафт (май 2019)
Систему крафта я тоже хотел максимально необычную сделать. Началось всё с кастомных сетов: человек просто выбирает статы и названия вещей (оружия, брони и артефакта), выбирает эмодзи лутбокса и игрокам соответствующего ранга начинают падать эти кастомные лутбоксы внутри которых одна из трёх вещей: собери все - надевай сет. Это, конечно, очень дорого стоит за хард-валюту, поэтому таких сетов не много, но вписаться в историю игры - это круто.
Я продолжал думать о системе крафта и для начала реализовал постройку домов, где бы размещались скрафченные изделия. Я долго ломался чтобы не давать игрокам силу за скрафченные кастомизационные вещи, но всё же игроки настояли - так при прокачанном умении в профессии, скрафченные вещи придавали игроку перки. Система крафта получилось очень сложной и поэтому новички даже разбираться не стали, а старички быстро кланами скрафтили себе нужные им улучшения. Так что одной сложной механикой больше: в игре теперь чувствуется глубина, которая некоторых новичком может отталкивать, поэтому позже я закрыл им доступ к крафту на низких рангах.
Постараюсь объяснить как можно проще и ясней: у каждого игрока есть возможность прокачки трёх карфт-классов: мастер, творец и алхимик. Крафтовые вещи могут состоять из префикса, названия и постфикса. Мастер крафтит предмет (например, “стул”), творец придаёт предмету префикс, (например “чёрный”), а алхимик постфикс (например, “смерти”). У одного игрока в распоряжении все три класса, так что он может собрать себе “чёрный стул смерти”, другой игрок может себе другие словечки сам придумать (да, все эти слова игроки сами себе прописывают). Из комбинации префиксов, названий и постфиксов у вещи определяется перк, который влияет на характеристики игрока в ПвЕ и ПвП.
Монахо-паладин (июль 2020)
Эта игровая арка началась с небольшого криптографического ивента, где игроки раскрыли существование стихий босса. Мне не хотелось просто добавлять боссу скилов или просто добавить ещё один ранг сложности, хотелось расширить существующие ранги новой “плоскостью”: теперь босс в одной стихийной стойке своими скилами делал одно, а в другой другое. Это если вкратце.
Ввёл новые подроли за хард-валюту: игроки начинают игру как обычно и при необходимости могут поставить себе подроль. Паладин - однокнопочный класс, который одной кнопкой и танкует и хилит и атакует, шаман - сложный класс, который смешивая ингредиенты получает большую палитру скилов всех ролей и монах - класс поддержки, который воскрешает, снимает дебаффы, бафает, но не хилит.
Ну и был добавлен новый ранг в игре, во время которого нельзя было использовать свитки и зелья, а только подроли (попытка немного усложнить босса и выдоить немного хард-валюты).
Петы (январь 2021)
Поскольку до этого были созданы боты (чтобы новичкам не приходилось искать пати) и тотемы шамана, петы просто унаследовали код предшественников и стали помогать в ПвЕ, ПвП и крафте. Сделал им разные периоды жизни, где там нужно памперсы менять, где рассказывать “что такое хорошо, что такое плохо”, терпеть подростковые выходки пета и наконец получить полноценного помощника… который каждые 10 часов жрёт хард-валюту.
Разрушение (июнь 2021)
Возможно, последняя арка в игре. Я уже вижу закат игры, потерял надежду вернуть былой онлайн, но не хочу просто отключить сервера и остановить бота, я хочу чтобы игра всё же медленно умирала. Реализовал продажу ранга в обмен на золото, чтобы игроки могли уничтожить свой прогресс и уйти из игры по своей воле. Сделал коррозию вещей: не играешь - твои вещи сгнивают и теряют статы со временем, играешь - они сами чинятся (но можно чинить и за софт-валюту). Разрушение домов и скрафченных вещей самими игроками сделал. Переступил “красную линию” и добавил гача-лутбоксы, где за хард-валюту можешь выиграть себе софт-валюту, лутбоксы, заточки (по итогу никак не повлияло на донаты - их как не было, так и нет). И последняя механика - “Ограбление дедов”. Игроки могут грабить тех, кто давно не играет, перераспределяя софт-валюту от олигархических старичков к возможным новичкам.
Выводы
Мне кажется, нужно было делать так: когда сделал прототип, который нравится людям, нужно постараться сделать его максимально удобным для расширений. Нужно постоянно слушать и поддерживать идеи игроков, но и учитывать как скажется эта механика на новичках и старичках (ведь очередная усложняющая механика может отпугнуть новичков). Важно принимать помощь от других программистов в виде советов: сначала обнова - фиксы - улучшение механики игры - разработка новой обновы. Насчёт доната: да, прямо продавать силу нельзя, нужно продавать силу только тем, кто прилагает усилия для её получения, а не только деньги (если игрок приложил усилия - он получает награду, а если усилия и деньги - больше награды). Стоит создать чат для самых активных игроков (или лидеров кланов) чтобы они присылали о чём говорят игроки. Часто они просят ввести какую-то механику, которая сделает что-то удобнее, но это может быть просьба сделать костыль, лучше посмотреть на эту просьбу шире и увидеть в чём именно проблема. И пытайтесь передавать опыт, не копируя бездумно механики, а перенеся механику через себя, возсоздайте её так, как бы вы хотели. И да, баги будут всегда, после любой обновы будут баги, не нужно “уходить на отдых”, а запланировать день-два на их починку.
Теперь, игра почти мертва. Мне кажется, я почти повторил судьбу разработчика Yandere simulator: я не особо принимал помощь программистов, мой код полон говна, так как изначально не был рассчитан на большой онлайн, хотя сейчас более менее стабилен. Мне немного жаль даже потраченного времени, я так и не сумел разглядеть за игроками личности, познакомиться, подружиться. Да и как меркантильный “выманиватель донатов” провалился: игра никогда не могла окупить свои сервера. Хотя, было весело и я уверен многим старичкам игры смог подарить незабываемые вечера в компании задротов, месящих огненного босса.
Если моя статья кого-то заинтересует, может залететь глянуть, каково оно бить огненного владыку: бот в Телеграме - @ragna_bot, связь со мной там - @Vit2005.