1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Вопросы совместимости Windows 9x и новых игр

Тема в разделе "Мастерская", создана пользователем Nil, 14 окт 2009.

  1. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    Не говори ерунды. Особенно если не разбирался в этом вопросе. Современные игры очень даже СЛОЖНО сделать работоспособными под win98, сейчас объясню почему.
    1) Устаревшие версии библиотек, причём официально компания Майкрософт обновлений библиотек не выпускала(она что, с ума сошла? ей это невыгодно, скажется на продажах, значит все разговоры о том, что можно обновится - просто разговоры. С такими рассуждениями можно и сейчас требовать совместимости с DOS, win3.11 и прочим барахлом.
    2) изменнёные правила некоторых функций. код, нормально работающий на NT может не работать в 9x, причём таким образом, что он как-бы будет работать, но всегда будет шанс, что перестанет. Виноваты в этом глюки Win98, ничего не поделаешь. Аналогичный пример можно привести и в обратную сторону - Игры, написанные для win98 отказываются работать на NT. Потому что глюки, которые были в 9x, были исправленны, спецификации ужесточились, контроль над ресурсами усилился. Если раньше можно было рисовать на удалённых холстах, писать в чужую памятьи вызывать функции, требующие хендлов при помощи констант, в надежде, что такие хендлы системой созданы заранее, то дальше можно и не продолжать.
    3) Обновления различных SDK. В win98 нет огромной кучи всяких полезных функций связанных с потоками, пайпами, рисованием, сетью и много чем ещё. Да, без этого можно как-то попробовать обойтись, когда делаешь вручную, но вручную сейчас никто не делает. берут готовый набор инструментов, для, например, звука типа fmod, и этот fmod под 9x не поддерживается. Или SDL. или ещё кучу других примеров. В некоторых поддержка win98 объявлена, но на практике работает нестабильно, или создаёт ошибки, которые очень сложно выявить. или вылетает только на нескольких функциях, которые вызывать надо, но относительно редко, из-за чего поведение программы становится хаотичным. Оно разработчикам надо?
    4)Windows 95,98,me,2k и XP больше не поддерживаются Microsoft. Это значит, что производитель не особо заинтересованы создавать драйвера(а без новых дров новые игры работать не будут. Игры всегда делали с рассчётом на новые видеокарты, что в 2000 году, что сейчас)
    5)ограничения win98. Например, без некоторых извращений не понимает большие объёмы памяти, не понимает новые файловые системы, не понимает много чего полезного. если программа для работы требует 2gb памяти, то делать её работоспособной под win98 смысла нет никакого. то-же произошло в своё время с ms-dos, когда появилась необходимость работать с памятью большей 32 мегабайта и с 3d ускорителями, все забыли dos как страшный сон, ибопрограммировать для горы костылей с трупом посередине просто стало сложно. Сейчас сложно для win98
    6) 7) 8) я могу придумать, надо просто больше времени.
    Это достаточно веские основания, чтобы при работе над программой вопрос об её совместимости с win98 решать отрицательно.
    Насчёт написания того, что "програма под 98 не идёт". С одной стороны ничего плохого не вижу. Но с другой, это несколько нелогично. Ведь тогда надо писать, что игра не идёт и на me, 95, 3.11,3.0 2.0 1.0 Dos 7.0 Dos 6.22 Dos 5 4 3 2 1,FreeDOS, ReactOS, Uinx,Linux, FreeBSD, MacOS Всех, И на многих многих других операционных системах. наверное, всё-таки логичнее написать, на чём она идёт, не находишь? А искуственное ограничение , что на 9x не идёт потому что мы так хотим это да, зло.
     
    SMArt и Awasaky нравится это.
  2.  
  3. kreol Старший офицер Чёрной Гвардии

    kreol

    Администратор

    Регистрация:
    2 июл 2007
    Сообщения:
    115.209
    Nil, когда ты научишься вежливо разговаривать и внимательно читать?

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

    Windows - это одна линейка операционных систем. Да, у 9x и NT приличные отличия, можно даже сказать, что сильные (и я прекрасно знаю, в чём они заключаются), но другие ОС (Mac OS и прочее) - это ДРУГИЕ ОС. Понимаешь? Другие. Это то же самое, что спрашивать, какой текст русскому человеку проще прочесть (перевести) - на старославянском или на китайском.

    Почему надо писать, идёт там игра или нет? Да потому, что Windows 98SE, в отличие от Me, 95 и прочего, есть операционная система незаменимая и неустаревающая для любителей играть в игры. Я не говорю о том, что она обязательно должна быть единственной, но, нравится это кому-то или нет, ей всё-таки ещё пользуется приличное количество людей.

    И, кстати, если бы ты внимательно читал, то обратил бы внимание, что речь шла в первую очередь о тех играх, системные требования у которых (по железу) вполне совместимы с Windows 98SE (ибо такие иногда и до сих пор выходят). Могу привести примеры игр, в которых вроде бы даже как и не заблокирована поддержка 98SE, однако же они там не идут (а на том же самом компьютере с 2000 или XP - идут).
    Понятно, что игра, которой для работы надо 3 (или даже 2) гигабайта ОЗУ, под эту категорию не подпадает. Но - для меня и это плохо. Как и плохо и то, что Windows 98 больше не поддерживается, - уж раз перестали поддерживать, будьте любезны сделать так, чтобы новая ОС, которую вы продвигаете, позволяла запускать всё, что было раньше [если что - я прекрасно понимаю, что это "никому коммерчески не выгодно", я говорю о том, как должно было бы быть].

    Смотрим сюда: http://ru.wikipedia.org/wiki/Windows_XP, читаем блок "Состояние".

    По большей части Windows 98SE и имеющиеся эмуляторы (нормальные) вполне позволяют запускать игры для этих платформ, не требуя лишать себя чего-либо. А нормального (действительно нормального) эмулятора Windows 98SE до сих пор нет.
    И мне, признаться, непонятно (и уже очень и очень давно), зачем же ты посещаешь сайт и форум олдгеймеров, если для тебя DOS - "барахло". Решительно непонятно.
     
    Awasaky и Lissandr нравится это.
  4. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Ладненько, пробежимся по диагонали.

    Пример не выдерживает критики. Старые правила ведь никто не отменял?
    И там, и там поддерживается (хотя ведь никто не заставляет, правда?).
    Так это не Windows 98 виновата. И вообще, это голословно — а что, в новых ОС всё работает абсолютно стабильно? То-то нынешние игры ни разу не падают.
    Виртуальную память никто не отменял...
    ...играм это нафиг не надо — что, где-то используются NTFS-потоки, например?...
    ...вообще-то переход на Windows произошёл по совсем другим причинам, и задолго до того, как 32Мб в домашнем компьютере стало нормой.
    А 3D-ускорители в лице 3dfx Voodoo прекрасно работали и в DOS, кстати.

    Так что не всё так однозначно.

    Понятно, конечно, что какой-нибудь Crysis, которому нужны новейшие драйвера, на Windows 98 не пойдёт по определению. Но обычно неработоспособность связана с какой-нибудь мелочью — вот как в Doom 3.
    И не стоит кивать в сторону Microsoft — да, формально они Windows 98 не поддерживают (и то — когда поддержка была прекращена? то-то), но вот тот же Application Compatibility Toolkit с кучей фиксов для 9x — зачем оно им надо?


    Да. С темой это всё, в общем-то, никак не связано...
     
    Eraser, kreol и Awasaky нравится это.
  5. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    MisterGrim, Ну опять-же, и твои придирки не выдерживают особой критики ;)
    Старые правила не действуют для многих функций. Можешь почитать MSDN на досуге. fmod stable может и поддерживает(но кривовато), а вот fmodex уже нет. SDL тоже давно никто особо для win98 не проверяет, может stable ещё и работает, но я не смотрел. Насчёт заставляют - ЗАСТАВЛЯЮТ. Написание игры это не просто "привет, чуваки, давайте накатаем крайзис, пусть народ удивится!" Везде есть свои стандарты .свои наработки и правила. И эти правила могут как мешать, так и помогать поддерживать совместимость. Но всё больше и больше разработчиков отказывается от старых стандартов в пользу новых.
    Виртуальная память - не панацея. если игре нужно 1 GB памяти под свои нужды, то виртуалка не спасёт, если конечно тебя не устаревает 1fps в пару-тройку секунд и загрузки по полчаса. Виртуалка неплохо справляется с ситуацией, когда фоновые задачи захватили помногу памяти, а работают с ней мало, тогда эти страниицы отправляются на ЖД, а память освобождается для актуальных задач. Но если этим актуальным задачам не хватает оперативной памяти, они начинают изматывать ЖД запросами десятков разных страниц, а пока страница не загружена - простаивают. А если оперативы не хватает много, то задачи начинают простаивать часто и подолгу.
    Новые файловые системы нужны потому, что fat32 на дисках большой ёмкости работает плохо. А современные игры требуют под свои текстуры , музыку и прочие ресурсы довольно много места, значит, ЖД нужен большой. в итоге упираемся в fat, который, конечно, в теории работает с томами максимум в 8 ТБ,(очень фигово из-за размера кластера, но в теории должен), но на практике только 127,53 ГБ - ограничения реализации win98. нужно просто смирится, что это тоже мёртвая файловая OS, которая мешает нормально работать win98 с новыми играми. http://support.microsoft.com/kb/184006/RU/
    Именно из-за 3d и перестали игры для DOS писать. Потому как в досе только Glide, работающий через раз и большими проблемами. А за него ещё и платить надо было. сейчас в win98 такая-же ситуация. дров нет и не будет, что есть - старые. И никто это менять уже не будет.

    Ну Doom3 вышел довольно давно и его явно изначально делали совместимым с 98. Но Microsoft видимо доплатила, и поддержка исчезла. Но надо просто опять, что в будущем будут использоваться функции из winapi, которых не было в win98, и поэтому простыми патчами это будет уже не исправить.
    Насчёт оффтопа - создайте тему и перенесите это всё туда, думаю это не менее важно обсудить.
     
    Последнее редактирование: 15 окт 2009
    Awasaky, dSidr и VorteX DrAgON нравится это.
  6. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Ну а я смотрел, DOSBox работает только в путь.
    Я знаю, как работает виртуальная память. И там всё не так страшно — как-то же люди играют на машинах с 1Гб в тот же Crysis и FEAR 2. Об 1 fps речи уж никак не идёт.
    Кроме того, такие объёмы памяти (2Гб) стали обиходными совсем недавно, а возникла обсуждаемая ситуация намного раньше.

    Про FAT32 вообще не понял. То есть, всё правильно, но игры-то тут при чём? Что, любая современная игра не поставится на FAT32 (исключая случай файлов >4Гб)? ФС вообще не имеет никакого значения для приложения, пока дело не доходит до её ограничений.
    Насчёт 8Тб, кстати: пусть кто-нибудь попробует тот же NTFS сделать больше 2Тб для начала (хинт: Partition Table).

    Вообще-то из-за необходимости унификации, которую Microsoft со своим DirectX худо-бедно, но обеспечила.
    А Glide-only игры были и под Windows, причём очень немало.

    Ещё раз: я согласен с некоторыми доводами, но не надо всё грести в одну кучу.
     
    kreol нравится это.
  7. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    35.153
    Про SDL Nil конечно лохонулся:) на то он и кроссплатформенный, что он везде работает, даже под Amiga OS, вот насчет Доса сложнее - но при желании тоже можно (только нафиг?) во всяком случае Аллегро, которое основано на SDL, поддерживает MSDOS.

    Что касается остального, то Nil скорее прав. Но это очень зависит от программиста - если использовать везде функции WinApi, то надо смириться с тем, что придется через года 2-3 все менять, с приходом например новой винды.
     
  8. kreol Старший офицер Чёрной Гвардии

    kreol

    Администратор

    Регистрация:
    2 июл 2007
    Сообщения:
    115.209
    После этой фразы (хотя не только, конечно, но в первую очередь, - ибо [ну, вы поняли]) дружно предлагаю (как отчасти сам его начавший, хотя я не предполагал такого обсуждения, а просто упомянул об этом) оффтоп про совместимость с 9х свернуть, Awasaky не для того эту тему создавал.

    Единственное - маленькая ремарка для Nil'а: раньше игры делали не ПОД новые видеокарты, а С ИХ ПОДДЕРЖКОЙ.
    Между этими понятиями, разумеется, можно поставить знак равенства, но только возможности запуска на чём-то старом никто не отменял (а сейчас ситуация - ровно наоборот). Если бы ты знал историю действительно старых игр, то помнил бы, что иногда бывали игрушки с поддержкой пяти или даже более адаптеров (а трёх-четырёх - очень часто), некоторые из которых на момент выхода игры были уже очень сильно устаревшими.
    Из более современных примеров можно вспомнить The Movies и Star Wars: Empire at War. NVidia GeForce 256/Radeon 7200 (7000 - тем более) для 2006 года - древность? По-моему, вполне, даже более чем. Однако же эти карты официально поддерживается этими играми, вышедшими в 2006 году, пусть и на минимальных настройках. А в The Movies ещё и Windows 98SE поддерживается, поддержку которой на момент её выхода уже сворачивали. А есть примеры и более новых игр: Battlefront (2007), Mount and Blade (2008), Gobliiins 4 (2009), Age of Decadance (ещё даже не вышла!) - где эта поддержка вполне себе есть.
    Это наглядно показывает нам, что всё зависит от разработчика/издателя и его отношения к делу.
     
    Awasaky нравится это.
  9. Zyel

    Zyel

    Регистрация:
    22 июн 2009
    Сообщения:
    148
    Извините, что вклиниваюсь в ваш разговор, но можете мне объяснить, кому надо делать новые игры совместимыми с Win98SE ? Сейчас максимум они стоят либо на компах олд-геймеров для запуска старых игр (таких фриков - единицы), либо на старых компьютерах, которые по определению новые игры не потянут. Разработчики ориентируются на современные декстопы обычных юзеров, среди которых я думаю найти систему с win98 нереально (к.о. :)). Так зачем тратить время ещё и на такое неблагодарное занятие?
     
  10. Newbilius Программуль

    Newbilius

    Регистрация:
    24 авг 2007
    Сообщения:
    4.602
    Zyel
    Вот буквально только что, постом выше kreol перечисли игры, которые вышли недавно, но запускаются и работают на старом железе. А если игра способна работать на старом железе - то и на старом софте должна идти, т.к. старое железо новый софт (ОС) может не тянуть. Вродь всё логично....
    Offtop
    А тут упоминали Doom - там единственный косячек был в одной функции, определяющий объём то ли оперативной, то ли видео памяти. Проблема была в том, что старая функция даёт инфу в байтах, а новая - в килобайтах... Так что несовместимость - штучка тонкая :)
     
  11. kreol Старший офицер Чёрной Гвардии

    kreol

    Администратор

    Регистрация:
    2 июл 2007
    Сообщения:
    115.209
    Nubilius, ты прав отчасти (и снова подбил меня на оффтоп...).

    Да, там GlobalMemoryStatus/GlobalMemoryStatusEx, но попробуй-ка проделать то, что рекомендуют для разблокирования, с русской лицензионной версией (то есть просто обнулить эти два значения) - получится ли что-нибудь? Ничего. Потому что в "1С" ввели два дополнительных уровня блокировки (я справился с обоими, затем распаковал всем известные файлы с известным расширением, отключил через консоль все эффекты и без тормозов прошёл несколько уровней лицензии на профильном компьютере под 98SE, в тот же день перед этим пройдя несколько уровней в первом, а потом и во втором Doom и получая невероятнейший кайф оттого, что играю во все три части, притом в оригиналы и без эмуляции, на одной системе).
    В Quake IV сделано то же самое - правда, мне удалось разблокировать только английскую пиратскую версию на трёх CD, лицензию я ещё не покупал. Да и не запустить мне эту игру толком на профильном - даже с 3D-Analyzer'ом и распаковкой файлов очень сильное торможение при выстрелах из бластера (именно из бластера, почему - непонятно), поэтому даже первое задание - привести медика к раненому - мне приходится там на ЛЁГКОМ уровне (!) выполнять с хирургической точностью по специальному алгоритму действий [на современном компьютере это и на высшем уровне легко делается, но ощущения совсем не те!]).

    НО GlobalMemoryStatus - это далеко не единственный способ блокировки ОС, изобретённый тварями! Например, в Thief 3 всё сделано совсем иначе - там не функция, а "злая иконка", то есть, с одной стороны, всё проще, с другой - в каком-то смысле даже более извращённо!

    А вот что сделано в FEAR - я просто не могу понять (если кто объяснит - буду очень признателен). То же самое и с Age of Empires III/Star Wars: Empire at War: они у меня под 98SE не идут, а под 2000 на том же компьютере - нормально идут (но что там сделано, я не понял).

    Надо потом всё-таки выделить это в отдельную тему, да.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление