doom2d.org

Главная база плоских морпехов
It is currently 03 Nov 2024, 19:54

All times are UTC + 3 hours




Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: 02 Oct 2024, 09:09 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
Эта тема у нас уже поднималась раньше, но теперь мне захотелось обсудить её по существу. Без какого-либо руководства к действию, пока что просто вслух поразмышлять-порассуждать. К тому же последнее время я только и делал что разбирался в графическом стеке Windows и истории его развития с самых первых версий.

А началось это так. Я случайно узнал, что известные программы HwInfo и AIDA64 хоть и с оговорками (раз, два), но до сих пор работают на всей линейке 32-битных Windows, включая Windows 95. Заодно и стало понятно назначение файла kerneld.w9x в папке с Аидой (а вот установщик, зараза, уже не работает - тут только portable-сборку качать, благо на официальном сайте она доступна).

Это навело меня на раздумья, что мы упускаем заметную часть олдгеймеров в качестве аудитории. Да, мы стараемся поддерживать утюги, но по сути нижней планкой для нас сейчас являются Win2k и WinXP, то есть NT 5. Однако к ретрокомпьютингу они относятся постольку-поскольку, так как почти любая программа для них может быть запущена и на современной машине. То есть здесь мы покрываем только тех, кто вынужден по долгу службы или из большой любви сидеть на этих системах. Но не более того. Отсюда следует неодобрительный для нас вывод - проекту в его текущем положении недостаёт подлинно ретрогейминговой аутентичности. Это как vaporwave или фальшивые VHS-помехи из набора видеоэффектов.

Так или иначе, но всё равно мы тоже Doom, а значит нам по определению положено всюду заводиться и везде запускаться. :)
Хотя не скрою, в первую очередь меня интересует теоретическая возможность портирования на Windows 95 (оригинальный, не OSR1 и OSR2). Мне кажется, если игра сумеет заработать на этом чуде альтернативной инженерной мысли, то в дальнейшем её можно будет перенести уже куда угодно.

Собственно, какие здесь вообще видны препятствия:

  • SDL2. Тут добавить нечего, всё и так очевидно. К тому же ему на смену идёт SDL3.
  • FPC дальше 2.6.4. Главное чтобы не было жёстких ограничений по target'ам, как в том же Rust. Остальное технически решаемо.
  • OpenGL. Версия 1.1 доступна для всей линейки Win9x (включена в состав системы начиная с Windows 95 OSR2, до этого поставлялась отдельным пакетом), а также для NT 4. Для NT 3.5 доступна версия 1.0 (самая первая реализация OpenGL в Windows), что может быть интересно в свете его переноса на Power Macintosh. Остальное, вроде NT 3 и линейки 3.x, не проблема если будет сделан GDI-рендерер.
  • FMODex. Думаю, звук будет являться последней из наших проблем здесь. Хотя известно, что до DirectSound в Windows не было вменяемой звуковой подсистемы без кряхтения. По этой причине Кармак в своё время не дал добро на выпуск WinDoom.
  • ENet под системами без встроенного сетевого стека.
  • Зажор памяти. Это надо устранить и без всякого портирования. Вот только причина на данный момент не очень понятна.
  • Архитектурные проблемы кода вроде недостаточного разбиения на подсистемы. То же самое: всё равно ведь исправлять.
  • ООП-стиль как требовательный к памяти и требующий беготни по указателям. Думаю, что на системах типа DOS мы всё равно никуда от расширителя не денемся (тупо в силу размеров игровых ресурсов), а там уже проблема исчезает сама собой.
  • Многопоточность. Придётся писать какую-то обёртку, которая позволяла бы имитировать потоки на тех системах, где их нет.

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


_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 02 Oct 2024, 11:10 
Offline
Приколист
User avatar

Joined: 17 Oct 2009, 19:57
Posts: 4058
Location: Киров
Мне вот интересен вопрос: "А насколько ретрогеймеры заинтересованы в новоделе?".
Как будто им больше интересно ретро железо и ретро игры. Будет ли выхлоп от того, что дф станет заводиться на Win95? Покажешь – они скажут, что круто, конечно, а потом и дальше пойдут играть в какой-нибудь Claw, Duke Nukum и т.д. И даже если, он потратит вечер на прохождение кампании дф, то дальше дело сомневаюсь, что пойдёт, и он начнёт в сетевой игре постоянно рубиться.
Неужели сможем так обрести новых игроков в мультиплеер, мапперов, мододелов?

_________________
Давай, картечью демонов
Размажем по стене.
Давай, берсерком выпустим
Весь ливер сатане!

Сделайте нормальный огнемёт! :evil:


Top
 Profile  
 
PostPosted: 02 Oct 2024, 13:55 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
ar888 wrote:
Мне вот интересен вопрос: "А насколько ретрогеймеры заинтересованы в новоделе?".
Как будто им больше интересно ретро железо и ретро игры. Будет ли выхлоп от того, что дф станет заводиться на Win95? Покажешь – они скажут, что круто, конечно, а потом и дальше пойдут играть в какой-нибудь Claw, Duke Nukum и т.д.
Думаю, что спрос на это есть. Так-то "новых старых игр" больше ведь практически не делают. Ну, если не брать ZX Spectrum всякий

ar888 wrote:
И даже если, он потратит вечер на прохождение кампании дф, то дальше дело сомневаюсь, что пойдёт, и он начнёт в сетевой игре постоянно рубиться.
Неужели сможем так обрести новых игроков в мультиплеер, мапперов, мододелов?
Всё перечисленное есть производная от общего охвата. Его-то и надо повышать в первую очередь, а не пытаться зазывать людей по разным углам.
Старые платформы, не говоря уже о маломощных - это далеко не только один лишь ретрокомпьютинг, но и, сходу:

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

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

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 02 Oct 2024, 14:54 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 354
ВНИМАНИЕ, ТУПНЯК

Почему форевер это про ретро гейминг? Он, конечно, от досовской версии не
далеко ушел, но на сайте рекламируется как современный платформер без намека
на ретро:w:qa!

Поддержка XP это 99% результата и 1% усилий, а все что старше 99% усилий и 1% результата

_________________
В душе я тупорылый школьник-нарцисс, который всегда старается самоутвердиться за счёт других
ВНИМАНИЕ! Сообщение или часть сообщения генерируются с помощью усовершенствованной языковой модели искусственного интеллекта. Содержание, включая любые мнения, советы, заявления, услуги, предложения или другую информацию, выражено на дату, указанную выше, и может быть изменено без предварительного уведомления.


Top
 Profile  
 
PostPosted: 02 Oct 2024, 15:08 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
Макс wrote:
Почему форевер это про ретро гейминг? Он, конечно, от досовской версии не далеко ушел, но на сайте рекламируется как современный платформер без намека на ретро!
Одно другому не мешает. И да, я наоборот здесь пишу, что истинным представителем ретрогейминга мы считаться пока не можем.

Макс wrote:
Поддержка XP это 99% результата и 1% усилий, а все что старше 99% усилий и 1% результата
Не соглашусь. В первую очередь это достоверность, а значит и уважительное отношение к проекту со стороны.
Хороший пример такого - OpenTTD, который поддерживал Win9x вплоть до версии 1.8.0, вышедшей в 2018.
https://www.reddit.com/r/openttd/comments/lef3m6/windows_9x_support_drop/

Ну а ещё это дополнительная мотивация переделать движок, от чего нам и так не убежать в любом случае.

Оффтоп:

Макс» :w:qa
А чего ты говорил, что на emacs пересел, если на самом деле это был vim?


_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 02 Oct 2024, 15:27 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 354
А форевер как начинал со времен XP, так её и поддерживает, разве нет? В чем
"предательство"?

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

Оффтоп:

Чёрный Думер wrote:
А чего ты говорил, что на emacs пересел, если на самом деле это был vim?

Мне удобнее использовать evil-mode, чем его не использовать

> AMERICA!

> LAND OF THE FREE!


_________________
В душе я тупорылый школьник-нарцисс, который всегда старается самоутвердиться за счёт других
ВНИМАНИЕ! Сообщение или часть сообщения генерируются с помощью усовершенствованной языковой модели искусственного интеллекта. Содержание, включая любые мнения, советы, заявления, услуги, предложения или другую информацию, выражено на дату, указанную выше, и может быть изменено без предварительного уведомления.


Top
 Profile  
 
PostPosted: 02 Oct 2024, 15:32 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
Макс wrote:
лучше подумать о веб порте
Я полностью согласен, и на самом деле здесь нет никакого противоречия, потому что
» Мне кажется, если игра сумеет заработать на этом чуде альтернативной инженерной мысли, то в дальнейшем её можно будет перенести уже куда угодно.
Сейчас это пока что сложно осуществить в поддерживаемом виде из-за чисто архитектурных недостатков кода.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 02 Oct 2024, 22:37 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 927
Location: Equestria
Чёрный Думер wrote:
теоретическая возможность портирования на Windows 95
Теоретически сервер можно и на win3, но тут работы ещё больше.
Чёрный Думер wrote:
SDL2. Тут добавить нечего, всё и так очевидно. К тому же ему на смену идёт SDL3.
Надо сделать бэкэнд на винапи. Так будет проще проддерживать кучу систем.
Чёрный Думер wrote:
FPC дальше 2.6.4. Главное чтобы не было жёстких ограничений по target'ам, как в том же Rust. Остальное технически решаемо.
Можно сделать свой вариант рантайма, которого будет достаточно для игры. Обрезать ненужное, вернуть поддержку *A функций из winapi. И память ещё сэкономит!
Чёрный Думер wrote:
OpenGL. Версия 1.1 доступна для всей линейки Win9x (включена в состав системы начиная с Windows 95 OSR2, до этого поставлялась отдельным пакетом), а также для NT 4. Для NT 3.5 доступна версия 1.0 (самая первая реализация OpenGL в Windows), что может быть интересно в свете его переноса на Power Macintosh. Остальное, вроде NT 3 и линейки 3.x, не проблема если будет сделан GDI-рендерер.
Для вин95-утюгов надо дропать опенгл. Во времена вин95 почти не было гл-акселераторов все равно, нормальный софтрендер будет быстрее опенгл-софтрендера. (и это уже проверено на практике через дос-версию)
Чёрный Думер wrote:
ENet под системами без встроенного сетевого стека.
А такие есть (кроме win 3.0/3.1)?
Чёрный Думер wrote:
Зажор памяти. Это надо устранить и без всякого портирования. Вот только причина на данный момент не очень понятна.
Основной зажор - это звук, потом текстуры. Дос-версия работает на 32 мб (8 бит текстуры, нет звука), но впритык. Сервер в renders кушает меньше 16 мб памяти.


Top
 Profile  
 
PostPosted: 03 Oct 2024, 17:32 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 354
Чёрный Думер wrote:
Хороший пример такого - OpenTTD, который поддерживал Win9x вплоть до версии 1.8.0, вышедшей в 2018.
https://www.reddit.com/r/openttd/comments/lef3m6/windows_9x_support_drop/

Но ведь по ссылке на реддит, только один человек заметил прекращение поддержки
этих виндоузов

_________________
В душе я тупорылый школьник-нарцисс, который всегда старается самоутвердиться за счёт других
ВНИМАНИЕ! Сообщение или часть сообщения генерируются с помощью усовершенствованной языковой модели искусственного интеллекта. Содержание, включая любые мнения, советы, заявления, услуги, предложения или другую информацию, выражено на дату, указанную выше, и может быть изменено без предварительного уведомления.


Top
 Profile  
 
PostPosted: 03 Oct 2024, 19:36 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
Макс wrote:
Но ведь по ссылке на реддит, только один человек заметил прекращение поддержки этих виндоузов
Так если уж даже на Reddit'е кто-то заметил, то...

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 07 Oct 2024, 02:24 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7627
Location: \\HULK
DeaDDooMER» Для вин95-утюгов надо дропать опенгл.
Надо добавлять софтвар.
Потому что даже у меня вот лично есть несколько 95-утюгов с вудами.

Макс» А форевер как начинал со времен XP, так её и поддерживает
С 98 он начинал.

Но, действительно, ДФ на 9х - это прекрасно и это респект. И да, "новая ретро-игра".
И приятно мне лично, тк он снова будет жить на моих древнекомпах.

Однако лучше заняться другими аспектами. Редактор моделек, нормальные анимации модели, хад, етс. У всех свой список.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 07 Oct 2024, 04:53 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
Jabberwock wrote:
Однако лучше заняться другими аспектами. Редактор моделек, нормальные анимации модели, хад, етс. У всех свой список.
Одно другому не противоречит. Просто я пока больше всего о переделывании движка думаю, что и ставит подобные вопросы.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 07 Oct 2024, 11:58 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 354
Чёрный Думер wrote:
Jabberwock wrote:
Однако лучше заняться другими аспектами. Редактор моделек, нормальные анимации модели, хад, етс. У всех свой список.
Одно другому не противоречит. Просто я пока больше всего о переделывании движка думаю, что и ставит подобные вопросы.

Когда-нибудь движок ДФ станет настолько продвинутым, что на нём можно будет
сделать Террарию (с) Stas'M

P.S А форум стал настолько "продвинутым", что начал съедать мои сообщения. Я
пытаюсь мемы отправить в "Юмор", а они пропадают через несколько часов

_________________
В душе я тупорылый школьник-нарцисс, который всегда старается самоутвердиться за счёт других
ВНИМАНИЕ! Сообщение или часть сообщения генерируются с помощью усовершенствованной языковой модели искусственного интеллекта. Содержание, включая любые мнения, советы, заявления, услуги, предложения или другую информацию, выражено на дату, указанную выше, и может быть изменено без предварительного уведомления.


Top
 Profile  
 
PostPosted: 07 Oct 2024, 18:56 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
Оффтоп:

Макс wrote:
P.S А форум стал настолько "продвинутым", что начал съедать мои сообщения. Я пытаюсь мемы отправить в "Юмор", а они пропадают через несколько часов
Потому что прямые нападки на других пользователей здесь не приветствуются, как и попытки высмеивания.



Top
 Profile  
 
PostPosted: 07 Oct 2024, 19:20 
Offline
User avatar

Joined: 27 Apr 2020, 20:02
Posts: 354
Оффтоп:

Чёрный Думер wrote:
Макс wrote:
P.S А форум стал настолько "продвинутым", что начал съедать мои сообщения. Я пытаюсь мемы отправить в "Юмор", а они пропадают через несколько часов
Потому что прямые нападки на других пользователей здесь не приветствуются, как и попытки высмеивания.

Нифига себе проекции. Почему я об этом только сейчас узнаю? И да, зато называть
человека больным, потому что сам себе в голове выдумал версию что он и РАСКЛАД,
и Макс - нормально

_________________
В душе я тупорылый школьник-нарцисс, который всегда старается самоутвердиться за счёт других
ВНИМАНИЕ! Сообщение или часть сообщения генерируются с помощью усовершенствованной языковой модели искусственного интеллекта. Содержание, включая любые мнения, советы, заявления, услуги, предложения или другую информацию, выражено на дату, указанную выше, и может быть изменено без предварительного уведомления.



Top
 Profile  
 
PostPosted: 14 Oct 2024, 18:36 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
DeaDDooMER wrote:
Основной зажор - это звук, потом текстуры. Дос-версия работает на 32 мб (8 бит текстуры, нет звука), но впритык. Сервер в renders кушает меньше 16 мб памяти.
Засада ещё и в том, что у нас попросту нет даже самого примитивного asset manager'а в движке - с подгрузкой ресурсов по необходимости, выгрузкой ненужных, закреплением на месте часто используемых и т.д. Сейчас в памяти, например, содержатся ресурсы всех монстров как таковых, даже если их нет на карте или игра вообще идёт без них.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 27 Oct 2024, 14:45 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
Внезапно понял, что есть ещё и проблема с многопоточностью. Сейчас она у нас не используется (за исключением нескольких точечных мест вроде UPnP), но очень хотелось бы. Поэтому со временем придётся решить: либо закатать губу, либо написать какую-то оснастку, которая по вызову функции где-нибудь в основном цикле передавала бы управление потокам на тех системах, где нет их поддержки. Дописал в первое сообщение.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 29 Oct 2024, 21:04 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 927
Location: Equestria
потоки не нужны.


Top
 Profile  
 
PostPosted: 29 Oct 2024, 21:21 
Offline
Принципиально неуничтожаем
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 6894
Location: Владивосток
DeaDDooMER wrote:
потоки не нужны.
Как только дадут иной способ избежать простоев по вводу-выводу - я первый буду рад от них отказаться. Потому что возможность достучаться из программы к планировщику операционной системы - это по сути протечка абстракций. Но пока так.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 29 Oct 2024, 22:02 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 927
Location: Equestria
если у игры задержка между игровыми циклами меньше условных 10 мс, то потоки уже не нужны, а если больше - уже не спасут, зато создадут проблемы и кто-нибудь обязательно взорётся на мине не учев эффектов многопотока.

кстати, опенал в многопоточном режиме полуполоматый и иногда падает (или музыку не может загрузить?)



Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 21 posts ]  Go to page 1, 2  Next

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
doom2d.org, since 2007