Дневник Разработчика. Часть 1

Приветствую всех жителей всех вселенных! С вами на связи медиа-отдел Eternal Rifts и сегодня мы расскажем, как продвигается разработка игры. В этом файле больше 13 тысяч знаков, на его чтение уйдет примерно 15 минут. Файл разбит на 5 частей: в первой части глава разработки и наш начальник Montece расскажет о работе команды и программировании игры, во второй — мы покажем как создаются статьи о мире Eternal Rifts, в третьей — отдел геймдизайна поделится, какие задачи решались и с какими проблемами пришлось столкнуться, а в четвертой — отдел дизайна расскажет о проделанной работе. Канал связи установлен, шифрование работает, аутентификация пройдена, приятного чтения.

Дневник Разработчика. Часть 1

Часть 1. Как работает команда, а идеи превращаются в код.

Юрий aka Montece, глава Montece Gaming

Приветствую всех читателей! Меня зовут Юра, но я буду подписываться всегда своим ником Montece. Я являюсь одним из разработчиков игры Eternal Rifts на позиции координатора процесса разработки и программиста игровой механики. В этих постах я буду вести свою колонку про написание кода игры, про прогресс ее разработки, про интересные факты, про сложности в ходе создания игры и их решение. Моя колонка поможет вам понять, в каком состоянии находится сейчас игра, а те, кто работал с Unity, смогут узнать подробности про написание кода. Читатели, которые вообще не знакомы с программированием, смогут для себя приоткрыть занавес процесса разработки и частично получат ответ на вопрос — а как же все-таки создаются игры. Мой вступительный текст подошел к концу, но прежде чем перейти к основной части, я хотел бы сказать, что я очень горд своей командой и хочу их поблагодарить за весь вклад, что они внесли в общее дело. Теперь, переходим к делу.

Наша команда разработчиков разделена на пять отделов — "Координирование", "Геймдизайн", "Программирование", "Дизайн", "Медиа". В каждом отделе есть свои задачи по одноименным направлениям. Организована разработка по методике работы Scrum с философией Agile. Мы впервые взялись за серьезный проект, поэтому для нас — все впервые. Но мы стараемся, и, как мне кажется, получается все достаточно успешно. В начале разработки мы пользовались Google Documents для коллективного сбора мыслей и Github для хранения кода всех проектов и постановки задач на доске. Однако, найденная альтернатива Notion оказалась намного приятнее и удобнее, поэтому все документы и задачи переместились туда. Сейчас в Notion находится вся наша инфраструктура разработки. Работаем мы циклами — две недели каждый отдел выполняет поставленные задачи, после этого происходит собрание, на котором подводятся итоги прошедшего цикла работы и ставятся задачи на новый цикл работы. Периодически мы все вместе собираемся в кафе для обсуждения вопросов и принятия решений — следите за нашими социальными сетями, там могут появиться подробности и даже фотографии.

Основная моя задача — программирование всей игры. С одной стороны, звучит, наверное, сложно — в одиночку писать весь код игры — а с другой стороны — игровой движок это Unity, он в принципе достаточно простой. У меня есть практический опыт на нем, хотя, иногда встречаются подводные камни, например, десериализация Upcast объектов на встроенном Json модуле не работает, для этого использую великий Newtonsoft.JSON. В нашей игре можно выделить три основных направления работы — меню, приключение и сражение.

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

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

Сражение — это тот режим, где игрок сражается с другим игроком или ИИ (ИИ пишет другой член нашей команды, Сеня, ему большой привет) в карточном формате. Для простоты понимания — что-то очень похожее на игру Hearthstone. Но, с некоторыми изменениями, о которых вы можете узнать из прошлых постов и, скорее всего, из будущих. Этот режим я делал 4 месяца, и сейчас он полность готов для тестирования. Не буду сейчас вдаваться в подробности принципа его работы, а то это растянется уж слишком надолго, расскажу как-нибудь в следующих постах. Сейчас режим все еще не готов на 100%, потому что визуальное оформление еще дорабатывается. Но, то что уже получается, выглядит намного выше мои ожиданий и очень круто и живо!

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

Часть 2. Как таблицы превращаются в текст.

Савва aka Milord, глава медиа-отдела

Снова здравствуйте! Я главный редактор, текстовик и глава медиа-отдела и все посты про Eternal Rifts написал я. Мой отдел состоит из одного человека, но это не мешает ему быть важной частью процесса разработки и продвижения игры. От моего отдела зависит, сколько людей узнает о проекте и заинтересуется им. В этой главе Дневника Разработчика я напишу, как создаются статьи о мире Eternal Rifts.

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

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

После сбора материалов начинается самый сложный этап — написание текста и его редактура. Обычно я пишу за 1-2 подхода, чтобы сохранить стиль и не потерять идеи. Пост строго разделён на вступление, тело статьи и заключение. Такая структура облегчает задачу, поскольку мне не нужно каждый раз придумывать как начать и как закончить текст. Замечу, что на придумывание вступления и заключения команда потратила достаточно много времени, например, первоначальной фразой приветствия была банальная “Всем привет! С вами Milord и сегодня я расскажу о…”.

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

Теперь вы знаете, как в недрах Montece Gaming создаются статьи про Eternal Rifts. В конце дневника я покажу вам, как выглядят собрания разработчиков, не переключайтесь!

Часть 3. Как хаос становится порядком.

L1nkorra, глава отдела геймдизайна

Разработка началась спонтанно и из большой идеи — показать, что российский геймдев тоже может выдать хороший продукт. Благодаря мотивации от этой мысли, в проект начали собираться все самые удачные идеи. Нашли секрет успеха некоторых ККИ и пошаговых стратегий, доработали некоторые механики известных игр, успешных в этом жанре.

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

Сейчас команда активно работает над проработкой лора, чтобы связать всё, что мы придумали. В один момент меня очень переклинило. Я сопоставляю факты, примеры наших разговоров и всё это складывается в: "Чёрт, да это же как в вархаммере (война молоток, молот войны)". В итоге работа над лором выглядит как большое штудирование знаний из области 40к. Наши Рифты это Варп-зверьё, бесконечные вселенные и там и там, уникальные технологии и там и у нас. В общем и целом, типичная работа геймдизигнера над лором — смотреть видосики на ютубе по лору, общаться с реальным экспертом по лору вахи и при этом имплементировать это в игру, как лучшее видение некоторых вещей.

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

MisterZaga, геймдизайнер

Пишет разработчик по геймдизайну Mister Zaga (геймдизайнер низшего ранга, в команде 8 человек, а у меня два начальника). Недавно было совещание нашего отдела с руководителем проекта. Мы обговорили текущее состояние дел по элементам геймдизайна (в частности, по предметам и постройкам с сеттингом 3000 года). Все свелось к тому, чтобы мы, раз уж ничего не сделали за неделю, за оставшееся время цикла (неделя) доработали базовый сеттинг по режиму приключение, а также начали разработку веток талантов. Кайф! Очень интересно работать над этим, хоть и не всегда удается найти время на наш любимый ER ❤

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

Больше всего жду момента, когда придется все переделывать, а потом еще раз переделывать😃😃😃👍👍👍 С уважением, разработчик ER

Часть 4. Как нарисовать то, чего нет.

Иван aka Kitiky, дизайнер

Вступление

Привет! Меня зовут Ваня, и я дизайнер Eternal Rifts. С начала разработки ER прошло более полугода, за это время я вместе со своей командой много трудились, придумывали много оригинальных и амбициозных идей, чтобы создать игру, которая будет приносить игрокам удовольствие.

Расширение состава дизайнеров, и каково работать над дизайном игры в одиночку и в команде

В начале разработки игры я был единственным дизайнером игры, а учитывая, что это мой первый серьёзный проект, встречалось много моментов, когда приходилось учиться чему-то новому: к примеру, UI/UX дизайн интерфейса и работа в Unity. Требовалось много сил и усидчивости, чтобы наша игра выглядела красиво и свежо. Позже к нам в команду присоединился Артём, и теперь мы в вдвоём начали серьёзную работу. Я был очень рад этому событию, так как после этого уже в команде мы лучше справлялись с решением вопросов дизайна, появлялось больше необычных и интересных решений.

Проблема выбора общего стиля внешнего вида игры

Наша игра позиционирует себя как смесь двух стилей: pixel art и реализма. Это необычное решение должно сделать игру более узнаваемой и красочной.

Кооперативная работа с геймдизайнерами

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

Как работать и не выгорать

Работа над дизайном игры требует много времени и духовных сил. Беря во внимание то, что я студент, это выглядит непростой задачей. Я стараюсь заниматься ER в своё удовольствие, гонясь с горячим сердцем за мечтой — связать свою жизнь с творчеством.

Вывод

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

Часть 5. Внутренняя кухня

Савва aka Milord, глава медиа-отдела

Соскучились по мне? С вами на связи снова я, а это значит, что пришло время для небольшого фотоотчета!

Дневник Разработчика. Часть 1

Во время собрании нас приютило антикафе Jeffrey’s Coffee

Montece соединяет дизайнера Asocka с командой по сети
Montece соединяет дизайнера Asocka с командой по сети
Геймдизайнеры обсуждают устройство мира
Геймдизайнеры обсуждают устройство мира
Новые идеи
Новые идеи
Как бублик
Как бублик

Заключение

Это была первая часть Дневника Разработчика. Команда поделилась своими успехами и планами и будет и впредь это делать с интервалом в 1.5-2 месяца, чтобы успело накопиться побольше интересного. На сегодня всё! Подпишись на наши соцсети, чтобы не пропустить новые подробности и первым начать покорять мир Eternal Rifts!

Начать дискуссию