Unity Roadmap @ GDC 2019

Ну че, программисты. Собираю самое интересное (а значит что-то не расскажу) из планов Unity на 2019 год в этом посте. Полную дорожную карту можно скачать тут (~178 МБ).

Unity Hub

Допилят UI, добавят CLI. Сделают более компактным (и похожем на UE4).

Editor UI

Новый интерфейс появится только к концу 2019 года. Никаких планов по вкладкам высокого уровня (как в UE4) пока что нет, и это очень плохо. Новый интерфейс выглядит отлично, то занимает чуть больше места.

Темная тема все еще платная. Никаких планов на бесплатную темную тему пока нет.

В 2019.1 добавят быстрый поиск (как Spotlight в macOS). Доступно уже в качестве бета-пакета (видел на форумах).

Платформы

Адаптивная производительность (та штука, которая автоматически меняет частоты процессора, чтобы понижать температуру и избегать троттлинга — на картинке график показывает как раз это) в 2019.2 в превью.

Динамическое разрешение в iOS и Android подъедет тоже к 2019.2 для LWRP.

Поддержка Google Stadia к концу года для почти всех платформ.

Сервисы для разработчиков

Unity Collab обзаведется новый UI и ветками к концу года (напомню, что ему больше двух лет, и у него до сих пор нет веток). Допилят поддержку Git CLI.

Unity Live Notes — заметки для префабов/ассетов/сцен, да короче для всего, прямо внутри Unity. Синхронизируются между всей командой в реальном времени. Звучит интересно, уже в закрытой альфе, выйдет когда-то.

Data-Oriented Stack

В 2019.1 уже добавят подсцены (можно разбивать сцены на подсцены и спокойно редактировать их там, не боясь задеть общую сцену, полезно для команд). Также подъедет стриминг сцен, наконец-то, и API для конверсии своего кода под DOTS.

В 2019.2 выпустят начальную версию нового ядра движка, базирующегося на DOTS. Также подъедет стриминг ассетов и новый Transform (тоже под DOTS).

Burst Compiler получит версию 1.0 уже в 2019.1, с поддержкой ПК, PS4, XONE, iOS, Android и Linux. В будущем получит поддержку Nintendo Switch и детерминизма (фактор рандома компилятора будет сведен на нет).

Физика от Unity в 2019.1, основанная на DOTS. Как говорят, будет простенькой, но непонятно, где простота будет заканчиваться. Уже готова для сетевых архитектур.

В будущем подъедет вторая система, Data-Oriented, от Havok. Непонятно, будет она платной или бесплатной, но она будет намного сложнее физики Unity, для более тяжелых физических симуляций.

Unity UI

UI (который игровой, не редактор) получит поддержку мешей и частиц. Также улучшится производительность (может его все-таки стоит переписать?).

Input System

Новая система ввода будет готова к 2019.1 (не полностью, конечно жеж). Из удобного — новое API для биндинга клавиш, возможность спокойно из коробки настраивать разные устройства, Action&Action Maps прямо через редактор.

LWRP

Готова для разработки в 2019.1. В 2019.2 добавят возможность стака камер (в одной камере сразу несколько камер: для рендера оверлея, UI и т.д.).

HDRP

Много мелких фич и улучшений в течение 2019.1 и 2019.2. Самое главное, наверное, что улучшат тени (сейчас они неоч).

В 2019.3 HDRP будет готова для разработки. Спустя 2 года после начала. Долго, и надеюсь, что не отложат.

Shader Graph

В 2019.1 уже можно пользоваться на проектах. Там же добавят вложенные сабграфы. Очень странно, что нигде не упоминают про закрытие public API, из-за этого сейчас у создателей ассетов огромные проблемы — их проекты при переходе на 2019.1 больше не работают. Это огромный минус и шаг назад.

В 2019.2 множество QoL-улучшений.

В 2019.3 нативная поддержка VFX-графа и... по сути все, из интересного.

VFX Graph

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

Post Processing

В 2019.1 запилят отдельный и новый PP для HDRP (PPv3, как его сейчас называют). Он будет сделан только для HDRP.

В 2019.3 этот PP допилят до production-ready и сделают все-таки отдельный PP и для LWRP.

RT Raytracing

Ждать придется долго, скорее всего до конца 2020 года. В конце 2019 выйдет только превью.

Свет

Допилят основные фичи освещения. Прогрессивный лайтмаппер получит денойзинг, чтобы ускорять запекалово.

То же самое для GPU-лайтмаппера. Денойз, ускорение работы и допиливание функционала.

Визуальное программирование

Обещали к 2019.2 превью, в итоге превью будет в 2020.1. По срокам не успели, так как переписывали его под DOTS чуть ли не с нуля. Обещаю много фич уже к превью. На деле, уверен, будут допиливать года два.

Аудио

DSP-граф уже в 2019.1 как внутренняя система (довольно резко и без шума). В 2019.2 выйдет отдельным пакетом и до конца года будет улучшаться. Про то, что это такое, я писал прошлой весной (пост на телетайпе есть).

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

Вставлю свои пять копеек: абмиций убавилось, сроки сдвинулись у части проектов (к счастью, не у половины, как я думал год назад), но ничего страшного. Что мне нравится — повышают производительность и делают удобные системы. Что мне не нравится — все еще забивают хуй на workflow (где вкладки, где нормальный редактор behavour-tree?).

March 24, 2019
by Pointy Leaf
0
344

Atomic Heart: что говорят об игре бывшие и текущие разработчики

Привет, я веду телеграм-канал по геймдеву, в котором вчера я опубликовал открытое обращение к разработчикам Atomic Heart с призывом прояснить ситуацию касательно слухов и поделиться информацией. На это обращение откликнулось 11 человек. 10 из них подтвердили причастность к разработке игры, 1 подтвердил частично. Вся рассказанная в этом посте информация была получена от этих людей. Их имена, должности и сроки их работы я разглашать не буду на правах их анонимности. Они об этом попросили очень настойчиво.

Если вы СМИ и хотите перепечатать материал — перепечатывайте без проблем с указанием источника. Если вы захотите запросить у меня данные людей, с которыми я общался, я вам откажу.

Слухи

Несколько дней назад, после нового геймплейного ролика Atomic Heart, в сети появился вот такой вот скриншот. Помимо этого, распространялась информация о том, что этот геймплей — монтаж и рендер.

Пройдемся по основным тезисам очень кратко.

  1. Геймплей из последнего ролика — не монтаж. Это срежиссированный геймплей. Такая практика присутствует у множества студий (например, Ubisoft).
  2. VR-отдел (на самом деле, никаких отделов не было, была одна команда, которая работала то над одним, то над другим проектом), по словам нескольких людей, закрыли еще летом. То есть вся переписка со скриншота датируется летом 2018 года. Забавно, что там фигурирует фраза "кто-то из нвидии сказал что твои кодеры дураки". Именно летом NVIDIA предложила Mundfish сотрудничество, предоставила железо и специальную версию движка. Также NVIDIA консультирует студию в Москве. Именно из московской студии были уволены эти люди. Эта информация подтвердилась. На тот момент в офисе осталось всего 3 человека, из-за чего разработку решили перезапустить (об этом подробнее в тексте).
  3. Есть информация, что 3 программиста ушли сами из-за какого-то внутреннего конфликта. Про конфликт говорит лишь один человек. Добровольный уход подтверждается одним собеседником (часть про перезапуск разработки). Один из ушедших программистов отказался общаться, до двоих других достучаться не удалось.
  4. Информация про некомпетентное руководство подтверждается 9 людьми.
  5. Информация про импульсивные и частые увольнения подтверждается 10 людьми.

Кто стоит за Atomic Heart?

Собеседники отмечают три ключевые фигуры в руководстве Mundfish. Это Олег Городишенин, Артем Галеев и Роберт Багратуни. Евгению Седову упоминают редко в контексте рабочих процессов. Мнение по поводу отдельных людей у опрошенных мною разработчиков разделилось не сильно.

Роберт Багратуни (Максим Зацепин)CEO/Инвестор — хороший рекламщик и маркетолог, который ответственен за весь хайп вокруг Atomic Heart. Считает, что игру продает только картинка, поэтому геймплеем и сюжетом можно принебречь. Плохие слухи подтвердились. Претензии к нему основываются на некомпетенции в области геймдева. Его умение как маркетолога никто не осуждает. Когда в офис Mundfish приходил Антон Логвинов, который еще и друг Зацепина, он удивился, что все его называют Робертом.

Олег Городишенинпродюссер — все, с кем я общался по поводу руководства, весьма нелестно отзываются об этом человеке. Ни одного позитивного отзыва о нем я не услышал. Посмотрев о нем в интернете, наткнулся на один проект, который он релизнул до этого в Steam с другой командой — Heroes of Scene. Во всем поддерживает CEO (Роберта). По мнению собеседников, делает это для укрепления позиции в компании и ради финансовой выгоды. Объяснить CEO как надо делать игру даже не пытается, хотя опыт в геймдеве у него есть. По словам собеседников, является другом Роберта Багратуини, и занимает эту должность из-за дружеских отношений. Присоединился к проекту, когда ему было 19 лет. Сейчас ему где-то 20-21. Также собеседники указывают на то, что именно Олег "похоронил" одну из версий продукта (непонятно, о какой версии идет речь), а также Soviet Lunopark VR.


Артем Галеев — ключевой человек в разработке игры. Ответственен за весь дизайн, сеттинг и все, что людям нравится в этой игре. Почти все отмечают то, что большую часть работы сделал именно он. Можно сказать, что Atomic Heart — его личный проект, который попал в руки предприимчивого Олега Городишенина. Артем — крайне идейный человек, который вынашивал концепт игры долгие годы.

Евгения Седова — на нее зарегистрирована компания. По словам собеседников, является юристом и финансовым директором формально. Официально — владелец компании. Она бывшая модель и владелец модельного агентства. Позже перекатилась в Newmedia Stars и стала руководителем отдела компьютерной графики. Ничего не понимает в разработке, но часто вмешивается в нее и мешает команде. По сообщениям собеседников, она владеет всеми счетами — они находятся за границей. Собеседники не уверены в конкретных странах. Если есть те, кто может все это дело проверить — проверьте. Я компании Mundfish на Кипре не нашел.

Вот описание каждого из них с официального сайта.


Отсюда следует основная проблема: игру делает союз маркетолога и дизайнера, она выглядит красиво и эффектно, но, как говорят разработчики, играть в это неинтересно.

У проекта нет четкого геймдизайна

У игры хорошо все, что касается анимации, графики и эффектов. Есть диздок, которому пытаются следовать, но не всегда получается.

Процесс разработки и добавления фич на начальных этапах проходил в лучших традициях геймдева. Кто-то из руководства поиграл в новую игру, увидел там новую фичу, и пришел в офис со словами: "А давайте сделаем так!". Так, к примеру, после игры в DOOM один из руководителей решил, что игре нужны эффектные добивания.

Из-за этого многие механики бесконечно менялись и переделывались, придумывались новые, а геймдизайнеры менялись. До сих пор, спустя более чем год после старта разработки, у руководства нет понимания, что у них получится в конце. Сначала хотят DOOM, потом Dark Souls, потом Prey.

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

Из-за непонимания руководства (Роберта) за геймдизайн отвечали обычные сотрудники — художники, программисты и аниматоры. Роберт мог спокойно выругать в грубой форме за плохие идеи, несмотря на то, что это даже не в компетенции работника. У проекта на момент декабря 2018 года, по словам собеседников, отсутствовали ключевые позиции — геймдизайнер, нарратив-дизайнер, саунд-дизайнер, моушен-дизайнер и сценарист.

Один из собеседников отмечает, что геймдизайнера, скорее всего, не будет. Это он связывает с личной неприязнью Роберта к ним.

Команда ставила руководство в известность, что это вредит разработке и так работать нельзя. Никаких ответов со стороны руководства не последовало.

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

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

The map that appears at the end of the trailer certainly implies an open-world setting and, while not a true confirmation, Bagratuni does explain that “the map is huge”. It’s converted from a real-world USSR chart and encompasses the Arctic Circle, plains, forests, and mountain passes, and is connected by a usable railroad system. He also points out that it’s layered, with “a surface level and abandoned underground departments of ‘3826’” He also mentions Bunkers, “very detailed locations with a special Soviet atmosphere”.
"Atomic Heart was conceived as an open-world game," said Mundfish CEO Robert Bagratuni. "We want to enable players to choose the sequence of actions themselves instead of limiting them to a linear path. The world of the game is in fact the entire Soviet Union—a vast circle, the borders of which reach the Arctic in the north, Altai mountain in the south, and with plains, lakes and much more in the middle.

На данный момент вся игра — это ходьба по локации и редкие стычки с врагами. Никакого нарратива и проработки сюжета пока что нет.

Катастрофическая нехватка качественных программистов

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

По некоторым данным, игра работает примерно при 20-40 FPS на, цитата, "топовых пк".

Кстати, уже можно посмотреть что из себя представляет VR-проект Soviet Lunapark VR в Steam.

Наем джуниоров и быстрые увольнения

Опять же, почти все, с кем я общался, подтвердили практику частых увольнений в Mundfish. Типичный алгоритм выглядит так: в команду нанимают несколько зеленых ребят (бывших студентов, джуниоров, то есть людей без/с небольшим опытом), которые делают всякую работу, которую им кидают сверху. После этого кому-то из руководства что-либо не нравится (мне рассказывали о совсем пиздецовых случаях, но в целях сохранения анонимности собеседников я их рассказать не могу), и дальше следует мгновенное увольнение. Людей могут уволить за мелкие ошибки, либо за то, что человек не нравится руководству.

Например, вас могут пригласить на позицию Junior Level Designer, в итоге вы будете вручную переименовывать сотню гигабайтов ассетов. Потому что в проекте бардак. Как мне объяснили другие собеседники, сотни гигабайтов хаотичных ассетов накопились за период разработки в 2017 году из-за джуниоров без опыта разработки и отсутствия гайдлайнов от руководства.

Из-за частых увольнений и смены разработчиков страдает и качество игры. Увольняют чаще всего программистов, 3D-артистов и левелдизайнеров.

На текущий момент, 28 января 2019 года, по заверениям одного из разработчиков игра готова на 20%.

В мае 2018 года на IGN вышла статья, в которой журналисты пообщались с Робертом. Из статьи известно, что тогда в Mundfish было 20 человек и планировали расширить штат до 40 за полгода. По сообщениям разработчиков, штат сотрудников сейчас составляет не более 20 человек.

Несколько человек подтвердили, что работники студии никак не трудоустроены по ТК. Зарплаты получают в конвертах. Из-за этого и возможны такие частые и необоснованные увольнения. Несколько человек были оформлены как ИП. Хотя все равно нарушение ТК. С некоторыми уволенными людьми прощались не выплачивая зарплаты. Отпусков почти никому не дают. Нет выплат отпускных.

За 2018 год было уволено более 12 человек (при размере команды в пару десятков людей).

Кранчи и бесконечное откладывание релиза

Несколько собеседников подтвердили практику кранчей по выходным на этапе разработки в 2017 и начале 2018 года. Но, из-за крайне плохого менеджмента и малого количества качественных разработчиков, результатами кранчей становился ступор в разработке. Программисты несколько недель пытались разобрать то, что они делали за выходные. Вскоре от такой практики отказались. Кранчи никто не оплачивал.

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

Soviet Lunapark VR вышел в релиз без согласия команды

Изначально руководство хотело сделать Atomic Heart VR-игрой. Об этом свидетельствуют ранние вакансии в Mundfish и набор Олегом людей на "VR-проект на UE4". Далее, по информации собеседников, проект стал шутером от первого лица, но потом снова VR-игрой с запланированным релизом под PSVR в декабре 2017 года. Руководство видело, что качество сильно не дотягивает, и, по словам собеседников, СЕО (Роберт) хотел видеть прибыль. Но ничего не получалось. Именно тогда, в конце 2017 года, по словам собеседников, случилась первая заморозка проекта.

Через небольшое время, как отмечают собеседники, в целях извлечения прибыли было принято решение сделать VR-проект на существующих ассетах. Так появился Soviet Lunapark. Также отмечается, что основная проблема игры — не ее закрытие, а то, что выходила она в Early Access, и обещала множество фич. Одна из таких фич — сюжетная кампания. Обещания, конечно же, выполнены не были. Разработку закрыли в раннем доступе. Как отмечается источниками, из-за низкой прибыли проекта. Через SteamDB можно проверить, что тэги Early Access там действительно были. Их сняли с игры 23 июля 2018 года.

Параллельно этому есть история от других собеседников. В тот момент (момент релиза Soviet Lunapark) планировалось еще 2 месяца дорабатывать игру: добавлять фичи, фиксить баги и полировать ее для релиза в Steam. CEO (Роберт) и продюссер (Олег), ничего не сказав команде, зарелизили игру в Steam. Разработчики узнали об этом случайно — когда увидели уже опубликованный проект.

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

Летом 2018, по словам разработчиков, VR-отдел Mundfish закрыли, а уже в сентябре появляется сайт District Zero, их офис находится в 15 минутах ходьбы от офиса Mundfish.

В материалах РБК есть такая интересная цитата:

Mundfish уже удалось продать небольшой сайд-проект — VR-игру Soviet Lunapark, на которой тестировали технологию VR, используя некоторые материалы Atomic Heart. В 2017 году проект был продан за несколько десятков миллионов рублей российской компании District Zero, VR-парку развлечений.

А теперь внимание: работа над VR-проектом Soviet Lunapark велась Mundfish как минимум до лета 2018 года. Это подтверждают все собеседники. В 2017 году не было никакого готового для продажи проекта. Роберт просто хвастается? Возможно.

Сайт District Zero был зарегистрирован 29 сентября 2017 года, а открыт, как я уже сказал, в сентябре 2018.

Домен District Zero зарегистрирован на голландскую компанию Minerva VR Group BV. Компания была зарегистрирована только 28 мая 2018 года. Записана она на имя некоего Николая Валерьевича Волкова. На сайте компании можно купить билетики на VR-арену.

Даже в новостях в Steam, несмотря на то, что разработчик игры все еще студия Mundfish, указывается ссылка на District Zero.

You can still visit the free move VR Arcade version of the Soviet Luna Park in Moscow. See details here: https://district0.com/. In 2019 free move VR Arcade version will be available in all major cities around the world, that is London, Berlin, Los Angeles, New York and others.

Но что по итогу? Уже первого марта 2019 года все сервера Soviet Lunapark VR будут закрыты. То есть те, кто купили игру, больше не смогу в нее играть.

Знаете, сколько по итогу Mundfish поддерживала VR-проект после релиза? Ровно 221 день.

Soviet Luna Park VR servers will be shut down starting with March, 1, 2019, so the game will not be available for playing.


Первый трейлер Atomic Heart — по большей части фейк и изначально создавался для Electronic Arts

Параллельно с разработкой Soviet Lunapark, неназванный аниматор и Артем Галеев делали, по словам собеседников, полностью фейковый трейлер с использованием механик отмененного проекта. В трейлере использованы рендеры Maya-проектов вперемешку с рендером на движке UE4 (скорее всего имеется в виду Sequencer UE4). Моменты с рендерами я выбрал из видео по описанию собеседников. Звук полностью наложен, как отмечают источники.

Трейлер, по словам собеседников, делался для Electronic Arts. Делегация от EA приезжала в офис Mundfish, но после осмотра реальной игры пришла в недоумение и уехала.

После этого трейлер показали широкой публике. Он выстрелил, и Роберт перезапустил разработку игры (датируется сентябрем 2018).

Помимо этого, собеседники расширили доступную информацию по поводу последнего геймплейного видео.

Последний геймплей — реальный геймплей на движке. Но:

  1. Звуки, скорее всего, наложены поверх видео на этапе монтажа. Так делали во всех предыдущих случаях.
  2. Последние месяцы работа велась для создания трейлера. Многие геймплейные моменты из ролика не готовы. Их делали прототипами для того, чтобы было что показать.
  3. Многие роботы ходят по карте по заранее прописанным путям. Если к ним подойти, они никак не будут реагировать.
  4. Высказывается предположение, что все надписи в последнем ролике (найти ключ от дома) — просто надписи. На движке, в интерфейсе, но за ними нет никакой программной логики и квестов.

Разработка Atomic Heart перезапустилась 5 месяцев назад

По данным собеседников, все старые программисты уволились. Помимо всего было уволено 4 человека и в компании осталось 3 работника. По сути, 5 месяцев назад разработка началась с нуля. Собеседники указывают на то, что это случилось по вине руководства. Проект, начиная с 17 года, менялся несколько раз, а кодовая база не переписывалась (она велась на Blueprint). Из-за этого разработчики настаивали на том, что игре необходим перезапуск на C++. Разработчики пытались уговорить руководство месяцами.

Летом 2018 года игра была более законченной, чем сейчас. Из-за перезапуска разработки она откатилась назад в геймплее. Собеседники указывают, что откат в геймплее произошел очень сильный.

Старая версия Atomic Heart представляла из себя коридорный шутер, где ты ходишь по комнатам и убиваешь врагов. Игра проходилась за 15 минут.

Atomic Heart — скам?

После прочтения всей этой информации вы можете решить, что Atomic Heart — это попытка срубить бабла на наикрутейшем артдирекшине. Но нет, не все так просто.

Все перечисленные проблемы, по словам разработчиков, вытекают из-за абсолютного отсутствия менеджмента и плохого руководства, приправленного огромными амбициями. Многие разработчики искренне хвалят старания Артема и его желание сделать проект мечты. Кроме него из руководства разработчики не хвалят никого.

Большая часть собеседников уверена, что проект доведут до конца — существуют обязательства перед инвесторами. Некоторые собеседники отмечают, что у компании не получилось найти издателя. Из-за этого Роберт связался с венчурными фондами, взяв обязательства на возврат средств с релиза в 2019 году. Компанию обязали сделать soft-launch проекта в 2019 — именно поэтому за предзаказы обещается бета в 2019 году. По сути, никто особо и не хочет выкидывать недоделанную игру.

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

Это больше простая глупость, чем запланированная хитрость.

Другой, более странный вопрос, на который я не смог получить четкого ответа — ситуация с предзаказами еще не готовой игры. Если Atomic Heart готов на всего лишь 20%, то правильно ли вообще открывать предзаказы? Это единственный момент, который заставляет лично меня смущаться.

Собеседники утверждают, что счета компании находятся за рубежом. Помимо этого, они отмечают, что рефандов за предзаказы игры не будет.

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

На предзаказах Mundfish получают очень хорошие деньги.

Интересная цитата из материала РБК:

Но на англоязычной версии сайта в документах, касающихся пользовательских соглашений и правил коммьюнити, фигурировала компания Mundfish Media с адресом в городе Роквилл, штат Мэрилэнд. В реестре округа Монтгомери, к которому относится Роквилл, такой компании нет. Тем удивительнее, что полный адрес, который Mundfish указала на сайте, полностью совпадает с адресом компании ZeniMax Media, владельца Bethesda — разработчика серии игр Fallout и The Elder Scrolls. После вопросов о том, что означает эта информация, Mundfish удалила все данные, касающиеся Mundfish Media из Роквилла (скриншоты старых версий сайта есть в распоряжении РБК). Люди из индустрии сообщили РБК, что среди инди-разработчиков практика использования документов крупных компаний как шаблона не редкость. Багратуни не прокомментировал ситуацию. В ZeniMax не ответили на запрос РБК.

В данный момент в офисе компании работает 4 человека. Остальные — на аутсорсе. В общей сумме, по подсчетам других собеседников, над проектом работает не более 8-12 человек (команда разработчиков без руководства).

Заключение

Atomic Heart мне искренне нравится. Я летом даже назвал эту игру одним из самых стильных проектов следующих лет. И это даже выглядело настолько круто, что хотелось сразу же искать подвох. Но на тот момент его не было. Но, как мы знаем, чудес не бывает. И летний трейлер Atomic Heart — это чудо, которое не могло не иметь двойного дна.

Для полноты картины я хотел бы услышать официальный комментарий Mundfish на все вышесказанное. Конечно, я догадываюсь, что ответ будет в духе "это все слухи". Но все-таки.

Помимо этого я хотел бы получить ответы на следующие вопросы:

  1. Почему VR-проект был продан другой компании и для чего VR-проект вообще создавался? Как он мог быть продан в 2017 году, если вы его выпустили в 2018?
  2. Что из себя будет представлять Atomic Heart на релизе? Если одиночная игра, то в каком жанре, в чем будет состоять основа геймплея? Почему до сих пор, спустя столько времени, при готовом геймплейном трейлере, мы не знаем об игре ничего? Если же игра будет с элементами мультиплеера, то какими? Как команда представляет себе мультиплеер в Atomic Heart?
  3. Под какие системные требования разрабатывается игра? Уверены ли вы в том, что сможете создать заявленный открытый мир при достойном техническом исполнении, если даже недавний геймплей в закрытых помещениях страдает от падения частоты кадров?
  4. Сколько людей работает над Atomic Heart в данный момент?
  5. Почему вы нигде не пишете про эпизодическую систему игры? В интервью на DTF вы ее упоминали.

Официальный ответ Mundfish:

Автор канала анонимен и преследует цель — набрать подписчиков в свои группы, при этом работает не по правилам профессиональной журналистики, где необходимо перепроверять поступающую информацию и связываться со всеми сторонами, прежде чем что-либо публиковать, а по правилам максимально жесткого кликбейта. Связи ни по одному официальному каналу от него мы также не получили. Все вышеописанное — домыслы и жонглирование слухами на фоне растущей популярности игры Atomic Heart. Легитимность данного «расследования» будет изучена юристами Mundfish и соотвествующие меры будут приняты по итогу анализа текста, его содержимого и источников.
По поводу проекта: Soviet Lunapark. В его разработке участвовали несколько джуниор UE4-программиста, которые не владели языком C++ и не писали код. Всю разработку они вели на визуальном языке программирования UE4 Blueprints.

Ответ от бывших разработчиков (рерайт по их просьбе):

Это неправда, уволенные разработчики не были джуниорами и были единственными техническими специалистами компании. Собеседники отмечают, что в компании не было других специалистов для объективной оценки компетенции программистов.

Также следует отметить, что в компании действует строгая внутренняя политика конфиденциальности и джуниор-разработчики никогда не видят всей картины происходящего.
В определённый момент было принято решение подготовить проект к эксплуатации на площадке District Zero. Для успешного запуска игры в режиме Free move Vr Arcade необходимо было внести ряд существенных правок в проект, а также реализовать поддержку технологии трекинга Antilatency.
К сожалению, техническая команда проекта не смогла существенно продвинуться в данном процессе, поскольку от них требовалось работать на ином уровне, требовавшем навыков C++ программирования, работы с алгоритмами и математикой. Команда сильно затянула сроки реализации, а также в процессе начала терять субординацию, что привело к агрессивному поведению, и ряду деструктивных ситуаций. В связи с этим было принято решение расстаться с данной командой и обратиться за поддержкой к более опытным коллегам.

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

В результате была реализована сложная техническая задача в короткие сроки. На данный момент проект полностью завершен, стабилен, и запущен в коммерческую эксплуатация на площадке District Zero на заводе Arma в режиме Free move Vr Arcade на базе трекинга Antilatency. Кстати, это первое коммерческое внедрение данной технологии, и любой желающий может оценить данный проект.
Про Atomic Heart: ядро нашей команды составляют опытные разработчики, участвовавшие над AAA-проектами зарубежных компаний. Их опыт сейчас является основной движущей силой и локомотивом компании. В скором времени мы начнём серию англоязычных стримов с разработчиками.
Мы будем готовы показывать и рассказывать больше о внутренней кухне проекта. О различных технологических решениях, используемых в компании, например, для захвата движений тела и лица, о деталях внедрения технологии RTX и DLSS от Nvidia и о многих других сложных аспекта игровой разработки в общем и проекта Atomic Heart в частности.
Данная информация будет также раскрыта на планируемых митапах по UE4 в наших офисах. Но совершенно точно мы не будем идти в разрез с нашими планами и делать этого раньше только из-за того, что кто-то нас шантажирует и распространяет клевету в медиа в целях самопиара.

Комментарий Роберта Багратуини (Максим Зацепин)

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

Материал подготовлен специально для канала @korovany.

January 28, 2019
by Pointy Leaf
24
67 931

Будущее Unity в 2019

Осенний Unite 2019 прошел. Самое важное было показано вне стрима, поэтому подборка основана преимущественно на информации с закрытой презентации Product Roadmap. И да, подписывайся на Геймдев, который мы заслужили.

Visual Scripting

Да, в конце 2019 года Unity получит инструменты визуального программирования. Лучше поздно, чем никогда. Превью планируется во втором обновлении 2019 (ориентируемся на лето).

  • Расширяемые ноды. Обещается просто создавать кастомные пакеты нодов (что, кстати, довольно сложно делать в UE4).
  • Умный контекстный поиск, заметки и цветовая группировка.
  • Визуальный трейсинг для помощи в восприятии.
  • Live-editing (возможность редактировать во время игры).

По моему скромному мнению выглядит намного красивее Blueprint. Какие у вас мысли? Единственная ложка дегтя — стабильная версия будет в конце 2019 года (а, зная Unity, возможен и 2020).

Package Manager

Первое обновление пакетного менеджера будет уже в этом году в стабильной версии Unity 2018.3. Обновят интерфейс и UX, добавят поиск по имени, версии или статусу (preview, stable, etc.). Также можно будет ставить локальные и кастомные пакеты.

2019 год принесет чуть более полезные нововведения в менеджер пакета. Наконец-то пакеты можно будет ставить напрямую из git-репозитория — больше никаких скачиваний архивов.

Также теперь для мелких и больших студий будет готовое решение для развертки собственного сервера и хранения там пакетов для ваших проектов.

Package Manager получит, в кой-то веке, нормальную систему зависимостей, которая будет показывать вам, что требуется для того или иного пакета.

Также в конце-середине 2019 года до ума доведут систему публикации пакетов в Asset Store. Судя по всему, теперь это станет основным способом (и самым удобным) для разработки ассетов и плагинов.

Unity Hub

Оригинальный лаунчер Unity все. Вместо него, начиная с 2019.1, будет Unity Hub. Ушла эпоха, так сказать.

Unity Hub получит новый дизайн в начале 2019 года, а также интерфейс командной строки (CLI). Выглядит, кстати, неплохо.

В конце-середине 2019 года добавят продвинутые темплейты для проектов. Возможность сортировать их по категориям, искать нужные, а также добавлять свои собственные (очень и очень полезно для всяких джемов).

Список проектов также получит кое-какие улучшения:

  • Поиск
  • Сортировка
  • Возможность добавлять проекты в избранное
  • Вариант просто убрать проект из списка или удалить навсегда

Помимо этого для проектов можно будет без труда настроить VCS, сервисы Unity и кеш-сервер.

Редактор Unity — UX

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

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

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

А вот это действительно вкусно и, если сделают как и обещали, очень, очень улучшит жизнь разработчиков. Собираются полностью переписать пайплайн импорта ассетов: завезут параллельный импорт, генерацию графа зависимостей (чтобы у вас не тянулось с диска все подряд и беспорядочно) и импорт on-demand (чтобы просто не тянулось все с диска).

Что, в перспективе, это может изменить? На самом деле многое. Наконец-то пропадет одна из главных проблем Unity — открывание тяжелых проектов по полчаса (или зависание и краш на середине импорта, хех).

Будем наблюдать, чего они там намутят.

Новый интерфейс редактора (йеее бой)

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

Из вкусного:

  • минималистичный дизайн (БЕЗ ГРАДИЕНТОВ)
  • новые иконочки с поддержкой HDPI
  • Roboto как новый шрифт для лучшего скейла

Из мелкого: изменяемый размер текста редактора обещают подвезти к концу 2019. Какой-то Improved Keyboard Access просто обещают с маркером "когда-нибудь в 2019".

Project Tiny для tiny девелоперов

Tiny Mode уже в декабре 2018. Про это я рассказывал пару месяцев назад. Вкратце напоминаю.

Unity делают специальный runtime, который позволит укладывать мелкие игры (в основном на HTML5) в 100КБ-5МБ размеры. Для чего? Либо для легковесных проектов, если вам очень важен размер, либо для instant apps. Юзкейс: вам нужно сделать в магазине гугла кнопку, которая позволит загрузить уровень вашей игры без скачивания самой игры, чтобы человек поиграл и понял, интересно ему или нет.

Tiny Mode можно будет скачать через менеджер пакетов.

  • Подходит для размера бюджета в 100КБ-5МБ.
  • Новый модульный рантайм, который использует архитектуру ECS (Entity Component System).
  • Оптимизированный workflow редактора (хз че они под этим подразумевают).
  • Хорошая производительность на широком спектре мобилочек.
  • Поддержка 2D HTML5 и даже 3D и AR в будущем.

Программисты тут?

Все на месте. Обновления завезли — получайте.

Судя по всему, ECS, Burst и Job System обзавелись некой стабильностью внутри Unity, поэтому они решили переписать очень много внутренних систем под эту архитектуру. В течение всего 2019 года нас ждут всякие вкусности.

  • Scene-streaming, который должен был быть уже как пару лет, но лучше поздно, чем никогда.
  • Entity Scene Editing, боюсь предположить, что это такое. Возможно, что "оптовое" редактирование сцен.
  • Промежуточный рендеринг для ECS
  • Релиз проекта MegaCity в течение 2019. А это очень крутая штука, посмотрите на видео снизу (Начиная с 1:39:12).

Для тех, кто не хочет смотреть, рассказываю. В видео показан огромный город, в котором в реальном времени и в 60FPS (верим на слово) рендерится огромное количество всего. Немного цифр:

  • 100 000 источников звука
  • 5000 динамических машин, управляемых ИИ, которые избегают столкновений друг с другом и игроком
  • 4 500 000 меш-рендереров
  • 200 000 объектов (отдельных объектов) на каждое здание

А потом они берут и запускают все это дело на iPhone X.

Середина 2019 принесет нам первый стабильный релиз Burst. Обещают поддержку подо все платформы.

К концу этого года завезут memory profiler. Помимо этого обновят PhysX с 3.3 до 3.4 (там есть существенный прирост производительности), добавят Job System для физики.

Фреймворк для написания и расширения интерфейса редактора выйдет в середине 2019 с релизом 2019.2 и будет какое-то время допиливаться. С помощью этого фреймворка очень легко писать расширения и свои окна редактора, так как вся логика разделена на три категории: отдельно делаем окошки, отдельно стили под них, отдельно поведение. В общем, все как в вебе. Вместо HTML будет UXML, вместо CSS — USS, а вместо JS — C#.

Человеческая система ввода придет в 2019.1. Нативная поддержка action map, action sets, bindings, combos (да, из коробки можно прописывать цепочки действий через WYSIWYG-редактор). Будет идти в качестве пакета и в опен-сорс. Если что, можно будет расширять своими силами.

Плюшки для аниматоров

В 2019.2 выйдет C# Animation System, основанная на C# Job System и ориентированная на производительность. Ну че, может теперь Тарков перестанет тормозить, у них же там из-за анимаций спайки, как они говорят?

В 2019.3 выйдет Kinematica. Штука позволяет не делать вручную анимации, а заставляет ИИ делать их за вас. Выглядит, по-моему, как глупый гиммик.

Не забыли и про 2D. Анимации 2.0 приедут в конце этого года. Завезут работу с multi-sprite и костную анимацию из коробки.

Важные обновления для 2D

В конце года добавят поддержку изометрических тайлов для тайлмапа.

Но самое интересное будет в начале 2019 года: наконец-то, спустя столько лет, 2D обзаведется нативной системой освещения и тенями. Это, действительно, очень полезная вещь, которая давно напрашивалась. Ура!

Из мелкого — улучшат генерацию коллайдеров для спрайтов.

Улучшения аудиостека (dolbit normalno)

Во-первых, в начале 2019 года добавят C# Audio System (опять же основанная на C# Job System) и DSP-граф в стадии экспериментальной версии. По заверениям разработчиков, новый аудиостек будет работать в 100 (!!!) раз быстрее, чем старая система. Стек сможет с легкостью декодировать 1000 vorbis-файлов одновременно.

Стриминг и декодинг аудио будет lock-free и больше никогда не сможет блокировать основной поток.

DSP-граф будет низкоуровневым API. Работать он будет просто: каждый нод графа либо производит звук, либо обрабатывает его. Все эти ноды — обычные C# Jobs. Сам граф — направленный ациклический, то есть все ноды выполняются по порядку слева-направо и выводят свой результат в следующий нод, пока в конце не дойдут до вывода. Вывод может быть перенаправлен в новый граф или даже в другую библиотеку аудио. Интересно, можно ли будет направить вывод на VST-плагин?

В общем, система выглядит очень интересной, крайне расширяемой и гибкой. Ближе к 2019 будем смотреть, что там получится.

В принципе, дорожая карта Unity на 2019 год выглядит крайне амбициозно и интересно. Но, зная Unity, некоторые фичи могут либо отложиться, либо вообще не выйти. Хочется верить, что все это будет реализовано, ибо потенциал крайне велик.

October 27, 2018
by Pointy Leaf
5
2 565

Академичность головного мозга на примере Swift, Golang, Rust и Kotlin

Знаете, у меня есть одно интересное правило, которого я придерживаюсь последние 3 года. Выглядит оно так:

Если я хочу посмотреть новый язык программирования, то я начинаю писать на нем эмулятор. Простенький, типо CHIP-8.

Почему? Потому что это лучший "бенчмарк" языка по многим параметрам: I/O, работа с файлами, работа с графическими библиотеками и звуком, типы данных, классы/структуры, циклы, и все-все-все.

Написав простенький эмулятор ты сразу для себя закрываешь огромное число вопросов уровня "а как тут делать что-то?".


Мне часто советуют всякие новые языки, и сам я интересуюсь развитием Rust, к примеру. Я часто гляжу на Go, Swift, Kotlin, Crystal, Nim и другие интересные для меня ЯП, слежу за их развитием и прочим.

И знаете, я выделил для себя один очень странный тренд, который я не могу объяснить: если кто-то может, то скажите и объясните.

Вы никогда не задумывались, почему вы пишете именно так, как вы пишете? Почему существуют стили синтаксиса?

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

Объясню на простом примере синтаксиса Golang и других языков.


Присваивание

Go

var i int = 2 //явно

var i = 2 //неявно вне функции

i := 2 //неявно, но только в функциях

Swift (тут вообще полный пиздец)

var myVariable = 42 //обычная переменная

myVariable = 50 //обычная переменная (???)

let myConstant = 42 //константа

let explicitDouble: Double = 70 //константа с явным типом

var myVariable: String = "Hello" //переменная с явным типом

Rust

let x = 5; //константа 

let x: i32 = 5; //константа с явным типом

let mut x = 5 //изменяемая переменная

Kotlin

val c: Int = 5 //явно, неизменяема

val c = 5 //неявно, неизменяема

var c = 5 //неявно, изменяема

Да, Rust безопасный язык, и я не говорю, что mut — это плохо. Плохо излишнее let и тип данных в конце. Зачем? Зачем Golang и var, и int в одной строке? Зачем Swift вообще существует с таким переусложненным объявлением переменных?

Ведь можно сделать это аккуратно и лаконично — и не надо ничего изобретать. Обычное присваивание переменной с указанием типа:

int i = 2 //явно

var i = 2 //неявно

Константа и изменяемое (для Rust)

const i = 2 //неявно
const int i = 2 //явно

mut i = 2 //невяно, изменяемо
mut int i = 2 //явно, изменяемо

Сравните сами два примера и их читаемость

var i: Float = 5.0 // Swift

float i = 5.0 //классический C-style

Да, у константы букв больше, но читаемость намного лучше. Сразу видно и тип данных, и изменяем он или нет.

У Golang, в принципе, все еще не так плохо, но избыточность прослеживается. Зачем она здесь нужна, чем так плох C-style? Почему все современные языки хотят казаться такими элитными и пытаются следовать неудобному академическому стилю?

Что интересно, все выдумывают максимально уебанские конструкции и умудряются соединять в одном языке var и val (Kotlin, привет).

Кто вообще додумался писать тип переменной после ее имени, а вначале еще и var/val/let добавлять?


Зато у Swift можно использовать ЭМОДЖИ

let 🐶🐮 = "dogcow"

Функции

О да, сейчас вы просто охуеете, если еще нет. Без прелюдий сразу в пекло.

Go

func sqrt(x float64) string {
   if x < 0 {
      return sqrt(-x) + "i"
   }
   return fmt.Sprint(math.Sqrt(x))
}

func вначале, после скобок возвращаемое значение. Аргументы в порядке "имя -> тип переменной".

Swift

func greet(person: String, day: String) -> String {
    return "Hello \(person), today is \(day)."
}

-> -> -> смотри сюда и не пропусти возвращаемое значение, ты же такой тупой <- <- <-

Rust

fn add_one(x: i32) -> i32 {
    x + 1
}

Kotlin

fun double(x: Int): Int {
   return 2 * x
}

Заметили, как их уебищный синтаксис похож? Это ключевые слова func, fun, fn, лишь бы ты не перепутал функцию с чем-то еще (когда, блять, такая проблема вообще была?) и возвращаемое значение после скобок, убогие типы данных через двоеточие.

Давайте напишем простую функцию в C-style, который эти замечательные языки послали нахуй ради АКАДЕМИЧНОСТИ.

int double(int x){
  return 2*x
}

Сравним, еще раз, со Swift

func double(x: Int) -> Int {
  return 2*x
}

Лаконично, ничего не скажешь, ебать.

Кстати, вы никогда не задумывались, насколько вам удобно набирать -> каждый раз при написании функции?

Массивы

Напоследок покажу вам ебаный ад

Go

var a [2]string //пустой массив

primes := [6]int{2, 3, 5, 7, 11, 13} //создаем и инициализируем

Swift

var someInts = [Int]() //пустой массив

let oddNumbers = [1, 3, 5, 7, 9, 11, 13, 15] //создаем и инициализируем неявно (статический)

let oddNumbers: [Int] = [1, 3, 5, 7, 9, 11, 13, 15] создаем и инициализируем явно (статический)

var shoppingList: [String] = ["Eggs", "Milk"] //создаем массив и инициализируем два значения через литералы

Rust

let array: [i32; 3] = [0; 3]; //создаем массив и три раза вносим значние 0

Kotlin

val x: IntArray = intArrayOf(1, 2, 3) //эту ебалу я даже комментировать не хочу

Посмотрим, что так не понравилось уникальным АКАДЕМИЧЕСКИМ языкам в классическом C-style

int balance[5]; //просто создаем

int balance[5] = {1000, 2, 3, 70, 50}; //создаем и инициализируем

int balance[] = {1000, 2, 3, 70, 50}; //можно даже так

Сравним с великолепием, которое предлагает Swift (для удобства сравнивайте последнюю строчку верхнего блока с нижней).

let balance: [Int] = [1000, 2, 3, 70, 5] //создаем и инициализируем

Я сначала хотел написать код для статического массива, чтобы точно сравнить с C-style, но я с удивлением для себя обнаружил, что Swift не дает возможности создать массив фиксированного размера. Зато мы всегда можем использовать эмоджи 😂😂😂😂😂😂😂😂😂😂😂

Не понимаю

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

Возможно, что я консервативен, но я искренне не понимаю, почему нам твердят о большей читаемости и лаконичности кода, и суют такие монструозные конструкции с избыточными словами?

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

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

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

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

July 22, 2018
by Pointy Leaf
37
3 340
Programming Languages
Show more