Как я сделал геолокационную RPG за две недели
Часть первая: от скучной прогулки до открытой беты
Началось всё с того, что я разозлился сам на себя.
В будний вечер закрыл ноутбук и вышел пройтись, проветрить голову. Маршрут у меня один и тот же уже года три: до перекрёстка и обратно, минут двадцать. Иду на автомате.
Уже на обратном пути поймал себя на вопросе: а я вообще что-то видел за эту прогулку? Попробовал вспомнить хоть одну деталь - не смог. По факту просто подвигал ногами, в голове тот же шум.
И вот это меня зацепило. В городе тысячи мест, где я ни разу не был, а хожу по одному и тому же кругу. Не потому что неинтересно - просто нет повода свернуть куда-то ещё.
Профессиональная деформация
Я пятнадцать лет делаю игры: мобильные, онлайновые, было и MMO. За это время хорошо усваиваешь, что возвращает человека в игру на следующий день, а что заставляет удалить её через десять минут.
Побочный эффект такой работы - перестаёшь видеть мир нормально. Стоишь в очереди и думаешь, как бы её геймифицировать. Так что по дороге домой мозг сам разложил ситуацию по полочкам: прогулка - это игровой цикл без прогрессии. Тратишь время, перемещаешься по локации, а взамен ничего не накапливается - и завтра нет ни одной причины пойти другим путём.
Отсюда и мысль: а что если дать городу игровую надстройку? Не выдуманную карту, а вот эти самые улицы, дворы и парки сделать игровым полем.
Первая версия идеи была скромной: сайт с картой, на карте точки, пришёл - закрыл точку, получил галочку. Собирается за пару вечеров. Но судьбу такого проекта я знал заранее: «зашёл раз в месяц, позакрывал точки, забыл». В него незачем возвращаться, и вокруг него не соберутся люди. А мне хотелось обратного: собрать коммьюнити и превращать идеи игроков в механики. Я так работал в онлайн-проектах раньше, и это лучшая часть профессии: игрок предлагает штуку, ты её делаешь, через неделю ею пользуются все.
Значит, сайтом с галочками не обойтись. Нужна игра.
Рецепт: покемоны, Path of Exile, Throne and Liberty и RP-серверы
Первая ассоциация понятна - Pokémon GO. Я в неё играл, и меня хватило недели на две. Ходить по улицам весело, но за самим действием ничего не стоит: подошёл, кинул шар, поймал, пошёл дальше. Нет глубины, ради которой в RPG люди живут месяцами.
Поэтому свою игру я собирал из того, во что играл сам и что делал сам.
Геолокация и сама идея «игра происходит на реальных улицах» - от покемонов, тут без вопросов. Работа с предметами, крафт, сеты и боссы, которых хочется бить снова и снова, - из Path of Exile и Throne and Liberty: я наиграл в них достаточно, чтобы понимать, почему тамошний лут вызывает такую здоровую жадность. А квесты пришли из неожиданного места - с ролевых RP-серверов. Там я когда-то заметил: люди обожают, когда выдуманные задачи вплетаются в почти настоящую жизнь. Оставался шаг до мысли, что вплетать можно и в настоящую: вот музей, вот набережная - иди и сделай.
В итоге всё смешалось в одно: реальный город как игровое поле, нормальные RPG-механики с прокачкой и лутом, и задания как повод выйти из дома.
Ночь, заметки в телефоне и слово «барубу»
Я не умею долго сидеть в состоянии «было бы неплохо». Либо идея остывает за пару дней, либо цепляет так, что я сажусь делать в тот же день.
В тот же вечер я лежал в кровати и набивал структуру игры в заметках на телефоне. Выглядело нелепо, но остановиться не получалось.
Спутника игрока назвал барубу - слово показалось тёплым и ни на что не похожим. Классов пять: воин, плут, маг, следопыт, шаман. Достаточно для настоящего выбора - и не так много, чтобы утонуть в балансе на старте. Важно было, чтобы у каждого был характер, а не набор цифр: медведь-воин, лиса-плут, сова-маг, обезьяна-следопыт, енот-шаман. К такому спутнику привязываешься, а привязанность держит в игре сильнее любой механики.
Дальше список рос быстрее, чем я печатал. Подземелья - чтобы было чем заняться и дома. Арена - потому что RPG без соперничества выдыхается. Городской босс - общий враг, которого весь город бьёт сообща. Часа в два ночи я перечитал заметки и понял, что описал не прототип, а целую вселенную.
Знакомые отреагировали одинаково: звучит здорово, но один не потянешь, тут команде работы на год. Я их понимал. Год назад я бы согласился.
Две недели и нейросети
Код игры я писал эти две недели один, в паре с ИИ-ассистентами вроде Claude и ChatGPT. Весь арт, от портретов барубу до обложек подземелий, генерировал нейросетями и отбирал руками.
Сейчас принято либо стыдливо прятать использование ИИ, либо кричать, что программисты больше не нужны. По-моему, и то и другое ерунда.
За две недели невозможно принять решения, на которые обычно уходит год, - если этих решений нет в голове заранее. У меня они были. Я знал, как устроить боёвку, чтобы она не развалилась на десятом уровне. Знал, где в игровой экономике появляются дыры. Знал, что радиус чекина по GPS - это не одна цифра, а компромисс между честностью и удобством. Нейросеть этого за тебя не знает. Она быстро превращает твои решения в код, но решения остаются твоими. И когда она ошибается (а ошибается она регулярно), нужно заметить это раньше игроков.
Про бессонные ночи - не для красного словца. Эти две недели я спал по четыре-пять часов без всякого режима, а ел то, что можно держать одной рукой. Здоровым подходом это не назовёшь, просто азарт оказался сильнее здравого смысла.
Параллельно с сайтом собирал мобильную версию. Хотелось, чтобы проект с первого дня выглядел по-взрослому - и в браузере на большом экране, и на телефоне в кармане, где игра, по правде, и живёт большую часть времени. Потому что играют в неё ногами, на улице.
С артом отдельная история. Со стороны кажется: написал запрос, получил картинку. На деле за каждым портретом барубу в игре - папка отбракованных вариантов: то лапы не те, то взгляд пустой, то стиль уехал. В какой-то момент я поймал себя на том, что разговариваю с генератором как с художником-стажёром: «уже лучше, но посмотри, что у тебя с левым ухом». Зато когда из сотни вариантов появляется тот самый енот-шаман с хитрым прищуром - реально радуешься.
Почему мы выпустили сейчас, а не «когда будет красиво»
Тут стоит сказать, что я уже не совсем один. Разработка - на мне, но вокруг проекта собрались люди: дизайнер и ребята с опытом в маркетинге и продуктах. И мы честно понимаем неудобную вещь: нейросетевой визуал в его нынешнем виде до качественного продукта не дотягивает. Мы люди работающие, у каждого своя основная жизнь, так что на старте пришлось пойти на эту жертву.
Но доводить проект до ума мы, конечно, будем. План уже расписан: заменить нейросетевые арты нарисованными руками, добавить нормальные спецэффекты, анимировать персонажей - чтобы игра ощущалась живой и выглядела как современный продукт.
Почему тогда не сидеть тихо, пока не станет красиво? Потому что это не коммерческий продукт с инвесторами и дедлайнами. Мне нравится показывать то, что я делаю, по мере того как оно делается. Кому-то это интересно, кто-то покрутит пальцем у виска - нормально и то и другое. А игрокам открытая бета даёт то, чего не даст полированный релиз: возможность повлиять на игру, пока она ещё гибкая.
Пара историй из процесса
Часа три ночи. Почти час не могу понять, почему чекин срабатывает через раз. Оказалось, перепутал знак в формуле расстояния между координатами: игра одновременно считала, что ты рядом с точкой - и на другом конце города. Сейчас смешно, а тогда я всерьёз злился на себя за ошибку, которую сам же внёс полчаса назад.
Потом был выход «в поле». Полночь, стою во дворе с телефоном, хожу кругами вокруг невидимой точки, проверяю, на каком расстоянии засчитывается чекин. Мимо идёт сосед с собакой и смотрит так, как смотрят на человека, который что-то замышляет. Пришлось уткнуться в экран и изобразить проверку почты. GPS в ту ночь врал метров на пятнадцать, и весь следующий день ушёл на возню с погрешностью: какой радиус честный, как не заставлять игрока стоять на одной плитке тротуара - и при этом не давать чекиниться с дивана через дорогу.
А на пятый день был кризис. Красные глаза, бесконечный список несделанного и навязчивая мысль: может, зря я не остановился на сайте с галочками? Открыл карту, посмотрел, как барубу уже ходят по экрану, и решил: ладно, ещё один вечер. «Ещё один вечер» повторился девять раз подряд.
Что получилось
К концу второй недели у меня была не демка, а работающая игра.
Выглядит это так. Выбираешь барубу, выходишь на улицу - и на том же маршруте до перекрёстка вдруг появляются дела. Вон в том парке точка, до которой ты не доходил три года. На набережной - ежедневное задание. Рядом с музеем - чекин, который откроет новое подземелье. Вечером дома добиваешь босса, точишь снаряжение, а в выходные весь город наваливается на общего врага, и награда делится по вкладу каждого.
Под капотом всё по-взрослому: карта с GPS-чекинами в реальных местах, пять классов барубу с деревьями навыков, арена с рейтингом, больше сорока подземелий с боссами, крафт, сеты, заточка - та самая лутовая жадность, за которую я люблю PoE. И ежедневные задания, чтобы каждый день была причина выйти из дома.
Сейчас WorldQuest в открытой бете. Регистрация бесплатная, игра работает прямо в браузере - без установки из магазина, с телефона или компьютера.
Зачем мне это
Мне нравится смотреть, как люди пользуются тем, что я сделал. Открываю ленту активности: кто-то дошёл до места, до которого я сам не добрался. Кто-то ночью, в дождь, закрыл чекин ради погодного бонуса. Кто-то написал идею, о которой я не подумал, - и я уже прикидываю, как её реализовать. Игрок предлагает, я делаю, через неделю этим пользуются все. Ради этого цикла всё и затевалось.
Ну и пощупать новые технологии на реальном проекте тоже приятно.
Что дальше
Планы большие: дополненная реальность, чтобы наводить камеру на улицу и видеть игровой слой поверх города, и соревнования между городами - ваш против соседнего, чей общий счёт за месяц выше. Остальное подождёт анонса.
А во второй части расскажу техническую кухню: геолокация, защита от читеров с фейковым GPS и то, как ведут себя нейросети на длинной дистанции.
Если вам стало интересно, можете попробовать потрогать то что вышло.
Спасибо за внимание!











