реклама
разместить

Из теории в практику: как мы создаём движок, который всё изменит

Посвящается всем "экспертам" из комментариев к прошлому посту! Не хотел я об этом говорить, ибо не планировал хвастаться, но, видимо, пришло время показать, что слова не расходятся с делом. Вы тут все рассуждаете о движках, как будто имеете богатый опыт в геймдеве, а я, между прочим, прямо сейчас нахожусь в команде из десяти профессионалов, с которыми мы разрабатываем совершенно новый движок с нуля. Называем его AetherEngine. Это название ещё не окончательно согласовано.

Почему именно "AetherEngine"?
Потому что мы вдохновляемся эфиром — тончайшей, вездесущей субстанцией, которая пронизывает всё вокруг, объединяя и связывая. Наш движок призван стать таким же: он будет универсальным, лёгким и мощным, предоставляя разработчикам именно то, что нужно, без излишеств и ненужного мусора.

Чем наш движок уникален?
1. Модульность: Мы сразу решили, что ключевая особенность AetherEngine — это модульность. Каждый элемент движка может быть адаптирован и улучшен в зависимости от нужд проекта. Не нужно ломать голову, как встраивать в проект неподходящие инструменты. Вы просто берёте то, что нужно, и строите свою игру, как конструктор.
2. Оптимизация: Да, да, я уже слышу ваше нытьё про сложность оптимизации на Анриле и Юнити. В AetherEngine мы делаем акцент на производительность с первых строк кода. Оптимизация заложена в архитектуре, а не пришита к ней задним числом. Благодаря нашей новой системе "Dynamic Threading," движок автоматически перераспределяет задачи между ядрами процессора, что позволит даже на средненьком железе вытягивать серьёзные проекты.
3. Интуитивный интерфейс: Сколько я слышал стонов от разработчиков, пытающихся разобраться в нагромождениях интерфейса современных движков. В AetherEngine всё иначе. Мы разработали интерфейс, в котором легко разобраться даже новичку. Визуальные подсказки, адаптивное меню, быстрый доступ к ключевым функциям — это не просто "удобно", это элементарно.
4. Адаптивные материалы и шейдеры: Мы создали систему "Adaptive Shading", которая позволяет создавать один универсальный шейдер, который адаптируется под разные ситуации, исключая необходимость компиляции сотен дублей. Прощай, часы ожидания и гигабайты ненужных файлов.
5. Кроссплатформенность: AetherEngine поддерживает все основные платформы, включая консоли, ПК и мобильные устройства. Но главное, мы делаем акцент на лёгкости переноса проектов между платформами. Не нужно будет переписывать половину кода, чтобы ваша игра заработала на новом устройстве.

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

6767
1111
33
22
22
реклама
разместить
87 комментариев

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

Его не будет существовать? Гениально!

55
8

один универсальный шейдер, который адаптируется под разные ситуации, исключая необходимость компиляции сотен дублейШейдер это программа которая выполняется на видеокарте. У вас один шейдер для партиклов, PBR и UI? Кек.

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

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

Зачем воздух сотрясать лишний раз - непонятно.

39
2

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

А вот этот твой момент с «одним шейдером для всего» особенно веселит. Ты, видимо, считаешь, что если у кого-то голова работает, то это повод для смеха? Универсальные решения, как тебе видимо не дано понять, как раз и нужны, чтобы не тратить время на сотни дублей и тумблеров.

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

В общем, понятно. Когда глубины мысли нет, можно всегда отмахнуться: «Да что тут вообще вчитываться, ясно, что тут только название есть». Конечно, зачем тебе вчитываться, ведь твоя задача — оставлять саркастические комментарии и размахивать своей псевдо-осведомлённостью.

Так что не напрягайся, продолжай сотрясать воздух своим «кек» и не забывай, что мир движется дальше, даже если ты застрял где-то на уровне 2005 года.

22
5
3
2

Очередной гойда ответ на вопрос который никто не задавал? Движок смутный 2.0

25
2

О, очередной эксперт выполз из тени! Вижу, ты из тех, кто любит сыпать пустыми фразами вместо того, чтобы реально что-то предложить или сделать. Про "смутный 2.0" — это, конечно, мощный аргумент, достойный уровня детского сада. Если тебе не по зубам создание чего-то нового, то это, конечно, не моя проблема. А вот для тех, кто действительно стремится двигать индустрию вперёд, AetherEngine станет глотком свежего воздуха. Так что продолжай троллить дальше, а мы тем временем будем создавать инструменты для реальных разработчиков.

20
2
1
1

Экспертное мнение:уж хз что у вас там за движок, но подход к маркетингу "вы все тупые, а мы умные"-не ну в целом рабочий, конечно. Но крайне мерзкий.

27
2

Сейчас наша команда активно трудится над альфа-версией AetherEngine. Мы уже внедрили базовые функции и готовим закрытое тестирование для небольшой группы разработчиков.

Что бы убедится что движок "работает" - на нем нужно сделать игру.
Все создатели "движков" с нуля об этом забывают. А потом удивляются почему движок никому не нужен.

Даже у Юнити когда то была игра головоломка которая настолько не окупилась, что они решили барыжить движком
А Анрил изначально делался из расчета что сделают игру Анрил, и за счет нее к ним в Эпик геймз потянуться люди.
Про Технодемку Крайтеов в 2007 под именем Крайзис все помнят?
Она продалась миллионом копий .

А какой жанр, какая игра - может быть создана на твоем движке?

Так вот - те же эпики создают апдейты своего движка не на основе волюнтариских решений - а на основе сотрудничества с кучей других студий. Так после сотрудничества с СДПР у них появятся плагины/инструменты для РПГ игр. А на основе штормгейта - появится решение для борьбы с пререыванием пакетов и работы с уровнями в РТС.

Движок не может существовать без игр. Потому что само понятие Игрового движка появилось в середине 90х как термин для обозначения дум клонов. Переделок Опенсорс решения от ID Softworks. А как модульное решение под передачу другим студиям и компаниям только в первом Анриле и движке квейка 3го в 98/99м. Только тогда понятие Движка сформировалось. Это минимальный набор "базы" кода который отвечает за рендер/звук/физику + набор инструментов(редактор) для работы с базой и создания уровней.

Любой движок должен быть Жанрово зависимым - иначе "допиливать" под себя его придется долго. То есть всегда должен быть "жанр" в котором можно сделать игру - стоит закинуть ассетов.

Для гейммейкера - это изометрические РПГ про чибиков, Для RenPy - это ВИзуальные новеллы. Для Анрила - это шутеры от 1/3го лица.
Для юнити - гиперказуалки на мобилки.

Для какого типа игр -нужен ваш движок? Какие игры на нем можно будет печь как пирожки? Просто добавь воды, в смысле контента?

13
2
Раскрывать всегда
Что же лучше: собственные игровые движки студий или фирменные вроде UE/Unity?

Когда уникальность и контроль перевешивают универсальность

Что же лучше: собственные игровые движки студий или фирменные вроде UE/Unity?
1010
66
реклама
разместить
Почему Unreal Engine на самом деле отличный движок для игр, а главная беда - разработчики

Привет, DTF.
Я главный (и единственный) разработчик средневековой RPG-Strategy игры Mainland, аналога Mount and Blade, но с кооперативом.
Кстати, демо будет доступно уже в феврале
Последние 5 лет я занимаюсь разработкой в Unreal Engine в свободное время.
За это время у меня сложилось очень хорошее отношение к этому движку и сейчас я вам объясню, почем…

Каков красавец
112112
2525
66
44
22
11
11
Против UE не имею ничего абсолютно, но пост - херня. Ты точно разработчик? Почему про движок написана только хвальба? Я видел посты от реальных разработчиков - у них всегда были те или иные претензии к движку. А тут в минусах: "движок слишком для этого мира".
☹️ Главные проблемы игровых движков: с чем сталкиваются все разработчики?

Создание игры начинается с главного вопроса: на каком движке ее делать? Участники студенческой инди-студия Bear Head Studio разобрали популярные инструменты, чтобы ты смог найти идеальный вариант для своего проекта.

55
22
11
Механики, которые хотелось бы видеть в РПГ почаще.

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

9595
77
33
33
11
11
11
Когда ДАО вышла, мы узнали про эти прологи, и один мой товарищ решил их все последовательно пройти, чтобы выбрать тот, что ему понравится больше всего. В итоге, он действительно прошел их все и уже на этом задушился и бросил игру. А из недавнего - нам же предлагали уникальный пролог в КП2077. Правда, вышло уныленько.
Как я разрабатывал хоррор-стратегию на Game Maker, что из этого вышло и пара советов
8080
88
22
Dagor Engine как ещё одна «Смута»

На днях Gaijin Entertainment опубликовали сравнение движка Unreal Engine и своего Dagor Engine, который они решили сделать открытым. Компания создала похожую на de_dust карту и продемонстрировала её работу в UE и DE. Как оказалось, Dagor Engine обеспечил более быструю обработку карты, а также субъективно лучшее качество визуального исполнения.

33
Я 2 года писал свою игру на Unreal Engine и он меня ******

Вот уже почти 2 года я наяривал этот треклятый анриал, пытаясь создать оптимизированный открытый мир. И знаете что? Стоковый Unreal Engine вообще не рассчитан на так называемый Open World, который они с таким усердием продвигают последние годы. И сейчас я вам расскажу почему.

Гугл докс шарит!
172172
1111
88
22
11
11
11
Unreal Engine - это не волшебный движок с кнопкой "Сделать збс", опенворлды на анриле имеют кучу проблем, ряд из которых остался со времен четверки. 1. HLOD в целом запекатеся нормально, но может выжрать тонну памяти и ресурсов (в зависимости от чанка). Если проект крупный, то этим вообще занимается отдельная выделенная машина, которая пересобирает дальние лоды. После чего на финальном этапе разработке игры их еще и ручками лучше перерисовать. 2. World Partition все еще имеет ряд болячек с World Composition, о котором я писал когда-то статейку + о ряде болячек рассказывают на выступлениях, посмотри последний Unreal Fest, в том числе от CDPR. Как это лечится? Берется движок и переписывается стриминг, регистрация экторов или вообще отказ от экторов для статики и т.д. 3. Да, не надо делать сложной логики на констракшене и BeginPlay особенно у того, что стримится, пачка экторов появляется одновременно и бьет по производительности. Нужно следить за тем, что делаешь. 4. Да, работа в редакторе и в билде разнится. Потому финальную производительность нужно смотреть только в билде, и билды нужны регулярные. 5. Да, систему сохранений надо писать самому, ровно как и разбираться с возможностью перемещать объекты между чанками и чтоб это сохранялось и т.д. На эту тему тоже когда-то рассказывал, как подобное делать. 6. Про люмены и наниты, они жрущие, причем как для разработчика так и для игрока, нужно собирать сцену с учетом таргет железа и следить за тем, что загружено единовременно, что и как влияет на производительность. В общем внезапно да, если собираешь что-то более менее сложное, с движком нужно работать. Если нет возможности менять исходники, значит следить за ограничениями и стараться не делать чего-то, что за эти ограничения вылезает (не пихать кучу логики на спаун, следить за тем что стримится и когда, за распределением ресурсов, количестве экторов в радиусе стриминга и т.д.)
[]