Skills Up School

Нажмите ESC для закрытия

Интервью21 апреля 2026 г.

Как небольшая команда разработчиков создала Net.Attack(), игру-рогалик с элементами программирования

Команда из ByteRockers' Games пришла к нам, чтобы рассказать о Net.Attack(), объяснить механику игры, поделиться источниками вдохновения при её создании, обсудить процесс разработки и то, как они управлялись с настройкой различных узлов.

−85%

Весенняя распродажа

Цены 2020 года

КурсыВидеоуроки
Ещё →
Как небольшая команда разработчиков создала Net.Attack(), игру-рогалик с элементами программирования

Введение

Net.Attack() была разработана небольшой командой из пяти человек. Мы — самая маленькая команда в ByterRockers' Games, и это наш первый групповой проект. Ранее все члены команды работали над Beat Slayer, и именно там родилась первоначальная идея Net.Attack().

Тогда мы создали инструмент, который позволял нам собирать атаки врагов с помощью модульной системы блоков. Это натолкнуло на мысль превратить эту концепцию в игру. Я представил идею внутри компании, и она была воспринята очень хорошо. Однако в тот момент мы ещё не знали, к какому жанру будет относиться игра.

Затем один из моих коллег предложил объединить концепцию с игрой в стиле Vampire Survivors. Я уже был знаком с игрой, но никогда не играл в неё. Я скачал её тем же вечером и долго не мог остановиться. Идея кодирования собственных атак в стиле Vampire Survivors сразу же прижилась.

Я вернулся к команде, собрал коллег, которые были в восторге от идеи, и как только команда была сформирована, мы представили её нашему генеральному директору и получили зелёный свет. Тем не менее, сначала нам нужно было закончить Beat Slayer, прежде чем полностью погрузиться в Net.Attack().

Основные механики в Net.Attack()

Основная механика Net.Attack() — это кодирование на основе узлов. Игрокам предоставляется множество блоков, которые они могут соединять и комбинировать для создания собственных атак.

Как небольшая команда разработчиков создала Net.Attack(), игру-рогалик с программированием — изображение 1

С самого начала мы рассматривали Net.Attack() скорее как песочницу или игрушку, а не как традиционную игру. Наша цель — дать игрокам как можно больше свободы. Основное внимание уделялось созданию опыта для игроков, которым нравится экспериментировать и открывать новые возможности. Если ваша единственная цель — победить, Net.Attack() может не полностью раскрыть свою привлекательность.

Но если вы тот игрок, который составляет сумасшедшую карту в Magic: The Gathering и сразу же хочет собрать из неё целую колоду, то Net.Attack() — это именно та игра, которая вам нужна. Всё дело в экспериментах, пробах и обучении в процессе. На протяжении всей разработки для нас было очень важно поддерживать тесную связь с нашим сообществом и внимательно прислушиваться к их отзывам.

Это сыграло огромную роль в формировании игры. Что касается балансировки, мы обнаружили кое-что интересное. Чем больше мы пытались сбалансировать Net.Attack(), тем больше она теряла своё очарование. После почти каждого обновления мы видели комментарии вроде «старый Net.Attack() был лучше». Поэтому мы намеренно снизили приоритет строгой балансировки. Нашими приоритетами стали:

  1. Позвольте игрокам делать сумасшедшие и творческие вещи.
  2. Было бы неплохо, если бы это было сбалансировано.

Является ли Net.Attack() идеально сбалансированной? Не совсем, но это часть игрового опыта. Конечно, мы продолжим улучшать баланс в будущем, но только до тех пор, пока это не лишит игру того, что делает её особенной.

Как небольшая команда разработчиков создала Net.Attack(), игру-рогалик с программированием — изображение 2

Влияние

Самым большим влиянием стали Vampire Survivors и наш собственный опыт в разработке игр. Одна из идей, которая была частью проекта с самого начала, — это размещение игры на печатной плате. Я видел нечто подобное в студенческом проекте много лет назад и подумал, что это такая классная концепция, что я всё время ждал подходящей возможности использовать её. Net.Attack() оказалась идеальным вариантом.

Как небольшая команда разработчиков создала Net.Attack(), игру-рогалик с программированием — изображение 3

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

Процесс разработки

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

Как небольшая команда разработчиков создала Net.Attack(), игру-рогалик с программированием — изображение 4

Чтобы справиться с такой сложностью, мы в значительной степени полагались на базу данных и использовали внешний инструмент для управления ею. Это стало одним из самых важных инструментов в нашем конвейере, позволяя нам быстро создавать новые узлы и настраивать их значения. Одной из самых больших проблем была свобода действий игрока. Просто невозможно протестировать все возможные комбинации. Мы использовали модульные тесты, чтобы добиться определённого уровня надёжности, но также сильно полагались на сообщество.

Как небольшая команда разработчиков создала Net.Attack(), игру-рогалик с программированием — изображение 5

Интересно, что не каждое сообщение об ошибке было вызвано нами. Иногда игроки сами создавали «баги» из-за неожиданного использования системы узлов. Это всегда было забавно наблюдать. Производительность — ещё одна важная тема. Мы реализовали различные оптимизации, такие как инстансинг и перенос вычислений на GPU, и будем продолжать улучшать производительность в будущем.

Как небольшая команда разработчиков создала Net.Attack(), игру-рогалик с кодированием — изображение 6

Тем не менее, мы также получили много сообщений от игроков, которым было весело, что их машины были доведены до предела их собственными творениями. В некотором смысле это также часть опыта Net.Attack().

Маркетинговые усилия или создание сообщества

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

Поскольку Net.Attack() тематически оформлен как взлом системы, мы ввели небольшие скрытые функции, чтобы продвигать идею «взлома системы» вне нашего игрового процесса. Мы рискнули, что это вообще не будет обнаружено, но в итоге люди обнаружили это и заговорили об этом. Тема скрытого экрана конфигурации системы и того, какой пароль использовать, время от времени возникала в нашем сообществе Discord или в общественном центре Steam.

Как небольшая команда разработчиков создала Net.Attack(), игру-рогалик с кодированием — изображение 7

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

Заключение

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

Реакция сообщества в целом была очень положительной. Многим игрокам нравится игра, и они регулярно делятся с нами своим энтузиазмом. В то же время некоторые критические замечания были связаны с отсутствием строгой балансировки и проблемами с производительностью. Это определённо не игра для всех, но мы постоянно работаем над её улучшением.

Один из самых больших уроков, которые мы усвоили, заключается в том, что разработка игры вместе с активным сообществом — это уникальный опыт, и мы не хотели бы делать это по-другому. Однако это также сопряжено с трудностями. Легко пытаться угодить всем, но это иногда может привести к потере из виду того, что делает игру увлекательной. Так что наш вывод — делиться своей игрой заранее, создавать сообщество, работать с ним, но никогда не терять из виду своё первоначальное видение.

Игры ByteRockers

Интервью проведено Эмбер Резерфорд

Автор: ByteRockers' Games