Перейти к публикации

Рекомендованные сообщения

Опубликовано:

Всем привет.

Не первый раз замечаю критические посты, на разных форумах, что дескать у Il-2:GB движок старый и поэтому... (далее подставляем обсуждаемую проблему)

Я бы хотел объяснить, любителям подкреплять критику (обоснованную или нет, не важно) подобными высказываниями то, что относительно Il-2:GB, устареванием движка объяснять те, или иные проблемы глупо.

И так, давайте разбираться.

Общее описание, что такое игровой движок

Теперь от себя:

Когда говорят, что движок устарел и из него, дескать невозможно выжать ничего больше, имеют ввиду популярные движки, которые не привязаны к одной игре, а существуют в виде некоторого API, на базе которого можно разработать свою, ту или иную игру, яркими примерами таких движков являются- Unreal Engine и Unity. Да, если разработчики данных движков перестают поддерживать версию движка, на которой написана ваша игра, взамен этого выпуская новую версию движка то, ваша игра будет считаться работающей на устаревшем или устаревающем движке. Почему? Потому, что вы как разработчик игры, можете обновить свою игру (только свой код), но сам движок обновить не можете (у вас нет доступа к исходным кодам движка, вы получаете доступ к функционалу движка посредством API). Только поэтому вы не в силах добавить какие-то новые штучки-дрючки, которые есть в новейших разработках.

Но! Зачастую, как и в случае с Ил-2: Великие сражения, разработчик игры и движка, это одно и то же лицо (имеется ввиду студия, которая имеет все права на внесение правок не только в код игры, а вообще во все, что касается игры). Это значит, что, если завтра выйдет какой-нибудь DirectX25, разработчик такой игры вправе добавить поддержку данного интерфейса в свою игру. Тем самым он обновляет свою игру, вместе с тем и игровой движок, внезапно, да? И такие перемены разработчик (правообладатель) вправе выполнять по всему спектру кода, какое бы назначение он не носил, до тех пор, пока в этом есть целесообразность, собственная заинтересованность, финансирование и т.п. вещи.

Обновив игру до поддержки DirectX25 разработчик сможет использовать те, или иные, преимущества графического API, а пользователи в свою очередь получат улучшение графики. Разработчики Ил-2 могут и что самое интересное, постоянно развивают движок симулятора.

У меня все.

  • Нравится 4
  • Спасибо! 3
  • ХА-ХА 3
  • Поддерживаю! 4
Опубликовано:

Угу. Только на практике оказывается, что для того чтобы прикрутить "какой нибудь dx25", зачастую требуется переписать исходники настолько, что гораздо проще написать заново, или использовать "некоторое API" перенеся туда контент. 

Опубликовано:
1 час назад, -DED-Zlodey сказал:

:o: Чего?

Человек наверное говорит про то что даже в более простых случаях бека для сайтиков бывает просто API библиотеки меняется, например вот https://github.com/neomerx/json-api, настолько что проще смириться с использованием старой версии. Особенно если кодовая база большая.

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

Опубликовано:
2 часа назад, Sentoki сказал:

Человек наверное говорит про

:russian_ru: Да? А мне показалось, будто бы ему, для того, чтобы добавить поддержку DirectX12, проще взять и перенести (к примеру Ил-2 в его текущем состоянии) все на Unreal, вместо того, чтобы просто реализовать рендер с новым API DX12. Разве это не так выглядит?

Опубликовано:
19 минут назад, -DED-Zlodey сказал:

:russian_ru: Да? А мне показалось, будто бы ему, для того, чтобы добавить поддержку DirectX12, проще взять и перенести (к примеру Ил-2 в его текущем состоянии) все на Unreal, вместо того, чтобы просто реализовать рендер с новым API DX12. Разве это не так выглядит?

ну, по крайней мере про анрил речи не было.

Опубликовано:
18 минут назад, Sentoki сказал:

ну, по крайней мере про анрил речи не было.

хД А про бэк сайтиков в стартовом сообщении что-нибудь есть? Или это не важно?

Опубликовано:
27 минут назад, -DED-Zlodey сказал:

хД А про бэк сайтиков в стартовом сообщении что-нибудь есть? Или это не важно?

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

Опубликовано:
37 минут назад, Sentoki сказал:

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

При чем тут бюджет на обновление? Где ты тут видишь про бюджет на обновление? Не понял о чем речь? Переспроси.

А так, нафига ты лезешь с иллюстрациями, бюджетами, бэками для сайтиков и т.п.?

 

  • Поддерживаю! 1
Опубликовано:
32 минуты назад, -DED-Zlodey сказал:

А так, нафига ты лезешь

 

Хм, вы не из хамовников проездом?

Опубликовано:
6 минут назад, Sentoki сказал:

Хм, вы не из хамовников проездом?

Странно что вы об этом не знали.

Опубликовано:
1 час назад, Sentoki сказал:

Хм, вы не из хамовников проездом?

Откуда я и проездом ли к теме не относится.

 

Тебе по теме есть, что сказать?

 

Опубликовано:

Гладко было на бумаге...

Раз уж речь конкретно за бзс, напомни пожалуйста, на каком dx сейчас игра? В каком году осуществился переход на эту версию? 

Сделать можно всё и всегда. Только весь вопрос в ресурсах. 

  • Поддерживаю! 1
Опубликовано:
4 часа назад, =2ndSS=temkatt сказал:

Гладко было на бумаге...

Раз уж речь конкретно за бзс, напомни пожалуйста, на каком dx сейчас игра? В каком году осуществился переход на эту версию? 

Сделать можно всё и всегда. Только весь вопрос в ресурсах. 

Рукалицо.

Как версия DX может объяснить устаревание движка? DX к движку и его устареванию не имеет ни какого отношения. Разработчик может совершенно осмысленно оставаться на предпоследней версии API (как в нашем случае на 11-ой) по одной простой причине - аудитория мала. Не все видеокарты поддерживают крайнюю версию. Следовательно, выделив человекочасы на поддержку крайней версии DX, эти человекочасы будут бездарно просраны, с точки зрения рационального использования ресурсов.

Ты еще скажи, дескать лучей нет, значит движок устарел.

Пойми - разработчик, если сложится конъюктура, если будет целесообразно, он сам добавит новые плюшки (DX12, лучи и т.п.) не дожидаясь, пока кто-то обновит игровой движок, андерстендт? Этим и отличается "собственный" движок от "стороннего", ты всегда можешь его обновить пока остается желание, финансирование и т.п.

 

Чтобы тебе и Sentoki было понятней, давай я вам на "бэке для сайтиков" проиллюстрирую, раз уж вам нравится эта тема:

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

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

 

  • Нравится 1
  • В замешательстве 1
  • Поддерживаю! 2
Опубликовано:
6 часов назад, -DED-Zlodey сказал:

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

 

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

Опубликовано:
26 минут назад, Sentoki сказал:

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

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

Ты же мне предлагаешь перечитать сообщения, которые изначально не по теме. Понимаешь? Изначально! Зачем их перечитывать? Чтобы понять, что они не по теме? Я это уже и так понял.

 

Человек говорит о недостатке ресурсов. И что? Ну нет у тебя ресурсов в текущий момент времени, ты уже график на два года вперед распланировал и в этот график ни как не вписывается "внедрение новых графических фич на DX12".

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

А ты отвечаешь: потому, что движок устарел, что вы хотите от старой технологии?

Это как? По твоему адекватный ответ? Отражает ли он действительную ситуацию?

А если, по прошествии двух лет, ты взял и добавил в график, а после и вовсе реализовал поддержку DX12, ты как это объяснишь? Внезапно движок помолодел, посвежел, да?

 

Если у тебя нехватка ресурсов, людей или чего-то еще, это совсем не значит, что движок устарел. Это значит, что у тебя нехватка ресурсов и все.

 

  • Нравится 1
  • Поддерживаю! 1
Опубликовано:

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

Опубликовано:

Четких критериев устаревшего или нового движка нету. Тут совокупность разных факторов, можно Ладу девятку выпускать и поддерживать долго на уже устаревших движках морально и технически, это же не будет означать что движек новый, хоть и есть поддержка. Можно поддержать одну функцию из dx25, но это так же не будет означать, что движек новый, ибо поддерживает dx25?! А если рассматривать отдельные части движка, то файловый обмен при сетевой игре между сервером и неким сторонним генератором, то это вообще технологии 80х (где какие то файлики логов падают куда то на диск и их нужно подхватывать и вычитывать там что-то ?, новизной и технологичностью просто прет). Плюс есть множество уже почти стандартных фишек, как пример мастер настройки управления. Зато какие то отдельные графические части могут быть вполне современны. Я бы сказал что движек Ил2 старо-новый, ибо есть поддержка и развитие, но и есть в нем технологическая древность.

  • Спасибо! 1
Опубликовано:
3 часа назад, Sentoki сказал:

. Вам бы ещё софт-скилл в плане культуры общения прокачать, и вообще красота будет.

У него в никнейме можно сказать дисклеймер на эту тему)) 

  • ХА-ХА 4
  • Поддерживаю! 1
Опубликовано:

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

 

А так понятно, что движок не новый, но регулярными усилиями поддерживается и допиливается.

Самой проблемной частью остаётся неумение движка в текущем виде распараллеливать процессы на более чем два (три) потока.

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

 

Если судить по старым сообщениям 2015 года от @=FB=LOFT, в своё время (2007-2009 годы, эпоха Core Duo и Quad) способность движка задействовать два-три ядра - уже была прорывной, и потребовала высоких трудозатрат, в том числе прямых консультаций с "ребятами из Интел":

Скрытый текст

 

 

Со времён написания ядра движка прошло более 12 лет. Ещё был короткий буст после перехода на DX11, который вроде бы (по слухам) дал возможность вычленить ещё и четвёртый поток, оптимизировать графику.

Но в целом предполагаю, что в нынешних реалиях найти так же как в 2008 году доступных "ребят из интел" (или амд) уже гораздо сложнее. Ну и сама теоретическая база распараллеливания процессов (и уже после обработки в процессоре - синхронизация потоков в единое целое) явно не стала проще.

 

А так было бы круто, если бы нынешнюю структуру SPS ("симуляционная" частота кадров, которая включает в себя вообще все вычисления: аэродинамика ФМ, коллизии ДМ, термодинамика ДВС и тд) смогли "раздробить" и раскидать по ядрам. Но для этого явно требуются очень серьёзные затраты времени, квалификации, консультаций и тд.

 

Основные претензии к движку в нынешнем виде, что он начинает сильно тормозить, если в сцене задействованы большие группировки управляемой (или просто хорошо проработанной) техники. Начинает захлёбываться SPS, а если игра по сети, то накладываются и проблемы "архаичного сетевого кода" © @Han

Людям хочется не просто современной картинки, но визуальной масштабности моделируемых событий, как это было в старом Ил-2, где не было АФМ, где сотни упрощённых объектов не сильно грузили даже одноядерные процессоры.

  • Нравится 4
  • Спасибо! 3
  • В замешательстве 1
  • Поддерживаю! 4
  • 3 года спустя...
Опубликовано:


 

29.01.2022 в 04:56, -DED-Zlodey сказал:

Обновив игру до поддержки DirectX25

Ну как вы там, потомки? Обновил игру разработчик? Переехали на dx12? Получили поддержку dlaa и dlss? Быть может, хотя бы fsr?

гагарин.jpg

  • ХА-ХА 2
  • Поддерживаю! 1
Опубликовано: (изменено)
19 часов назад, Drunky сказал:


 

Ну как вы там, потомки? Обновил игру разработчик? Переехали на dx12? Получили поддержку dlaa и dlss? Быть может, хотя бы fsr?

гагарин.jpg

Докладываю.

Поддержку получили, товарищ Гагарин. Но лично мне это не помогло. Как был я лохом, так им и остался. Сбивают несмотря ни на dlaa, ни на dlss.

И даже  fsr не помогает. :cray:

А что это, кстати? Кто расшифрует?

Изменено пользователем Kirill

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...