Пользователь
0,0
рейтинг
11 июля 2012 в 16:39

Разработка → Запуск старых игр для Windows recovery mode

Многие из нас время от времени любят поиграть в старые игры. Классика вроде Fallout I и II, Космические Рейнджеры, линейка Command & Conquer и т.д. Однако современные версии Windows не обладают достаточным уровнем обратной совместимости и очень часто многочасовые попытки запустить старую игру обречены на провал.

Одна из наиболее критических проблем — графика. Одни игры не могут работать с широкими экранами, другие, ни о чём не подозревая, пользуются ошибками в старых версиях DirectX или DirectDraw, третьи не могут жить без 16-битного цвета. Зачастую трудно определить конкретную проблему, но многие из них без особого труда сможет решить… Wine

Эта мысль пришла мне в голову ещё в прошлом году, когда уже почти отчаявшись поиграть в свой любимый Yuri's Revenge, я попробовал запустить его под установленной в дуалбуте убунтой. Каково же было моё удивление, когда игра запустилась и заработала без особых проблем! Конечно, не удобно было перезагружаться в Linux для того, чтобы поиграть (!) (так уж сложилось, что моё основное занятие — программирование на F# и C#). И тогда я подумал, а может существуют сборки Wine для Windows, которые решат проблемы с графикой в Yuri's Revenge на Win7 x64?

Как оказалось, всё уже сделано до нас. Вот ссылки на основные проекты в этой области:
Бинарники: www.nongnu.org/wined3d
Инструкция компиляции: wiki.winehq.org/WineD3DOnWindows

Кроме того, я позволил себе перепаковать бинарники для удобства (в оригинале в бинарниках совершенно не было очевидно, какие библиотеки имеют какую битность) и выложить на Dropbox в виде архива: dl.dropbox.com/u/8871833/wined3d.zip

Как этим пользоваться?

Инструкция (на примере Космических Рейнджеров):
— убедиться, что у вас поддерживается OpenGL; Wine реализует DirectX и DirectDraw через него; обычно достаточно скачать последние драйвера для вашей видеокарты с сайта производителя
— скачать архив по ссылке
— распаковать
— определить битность игры 32 или 64 (если игра старая, 99,9%, что она 32-битная)
— скопировать все файлы из соответствующей папки архива в ту папку, где лежит исполняемый файл игры (например, для КР это будет файл C:\Program Files (x86)\Space Rangers 2\rangersNewRes.exe => копировать в C:\Program Files (x86)\Space Rangers 2\)
— запустить игру

Если не поможет, файлы лучше удалить.

P.S. С помощью этого набора библиотек я без проблем завёл КР2 (был чёрный экран с курсором) и Yuri's Revenge на Win8 x64
Милованов Виктор @lostmsu
карма
0,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (115)

  • 0
    VirtualPC c WinXP (наиболее совместим с Win7) не достаточно совместим со старыми играми?
    А бесплатный VMware Player?
    • +2
      VirtualPC по-моему, вообще не поддерживает DirectX, а VMware Player в сравнении с Wine — чрезвычайно тяжеловесное решение.
      • +2
        А как насчет VirtualBox? 2d|3d для клиентской windows он передает.
        • +2
          Ага через тот же libwine!
          • +1
            не без того, конечно, но танцы с бубнами несколько более предсказуемы для виртуальной машины, чем для среды исполнения
        • 0
          VirtualBox, если не путаю, не держит 7-й директ.
    • 0
      Эм. Вроде как виртуальные машины плохо поддерживают ускорение 3D и 2D графики.
      Т.е. это выражается в невозможности запуска абсолютного большинства современных игр.
      • +3
        это выражается в невозможности запуска абсолютного большинства современных игр.

        Так ведь речь идет о старых играх.
        • 0
          L.A. Noir в Windows 8 не идет.
          Сегодня приду домой, попробую рецепт автора.

          Так вот, вроде как игра и не старая, а проблема озвученная в топике имеется.
          • 0
            The Sims Medieval тоже. Sims 3, который сделан на том же движке, не проверял.
      • 0
        CivilizationV, хост WinServer RC2 (т.е. win 7), WMWare workbench, гость — Win7
        Работало на ура, без лагов вообще (ну абсолютно ни одного лага), с максимальными настройками на fullHD. Прекрасно там 3D ускорение поддерживается (железо — Nvidia GT 555M).
        • 0
          Вы побывали запускать в VMware Player?
          Просто у меня денег не для покупки полноценной. -((
          • 0
            Хм, я а разве player — не равносилен workbench? Вроде workbench Отличается только возможностью редактирования виртуалок
            • +1
              Извините, конечно workstation а не workbench
            • 0
              Да, в плане производительности должно быть одно и тоже
        • 0
          Есть только одно НО: ускорение в VMWare работает только начиная с Windows XP (имеется в виду гостевая ось), а очень старые игры могут не работать уже и в XP.
          • +1
            Есть мнение, что такие игры современный комп и без ускорения потянет.
            • 0
              Дело не в тормозах, а в том, что DirectX вывод (какой-нибудь 5-ой версии) вовсе не поддерживается из-за чего получается «чёрный экран» Типичный пример — NFS 4 — в windows XP он не запускается (хотя вроде есть неоф. патчи), а в win98 нет поддержки виртуалкой d3d.
            • НЛО прилетело и опубликовало эту надпись здесь
              • 0
                Ускорение на красоту (вроде) не влияет, просто многие эффекты могут отключаться, т.к. даже на самом современном процессоре с параллельными вычислениями проблемы.
                Хотя, не уверен. :)
                • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Я вам больше скажу, даже по rdp удаленно играть можно.
      • 0
        Единственная проблема — не работал DX11, это да. Но DX9 уже во всю демонстрирует схожую производительность.
        Так что топик интересный, но не слишком полезный — виртуалку многие могут позволить
  • 0
    >Win8 x64?
    • +2
      Ну да, 64-битный Release Preview Windows 8
      • –8
        Я спросил просто, минус то за что, сам вчера ISOшник только скачал)))))))
        Люди, вы такие агрессивные))
        • –1
          И я таки прав)) (к сожалению)
          Но, в общем, приятно, что чувство «коллективного бессознательного» у многих достаточно развито, и есть с кем лавинообразно взойти на баррикады, в случае необходимости.
          Есть еще индивидуальность. Это сложнее, но престижнее.
          • +4
            У вас есть хоть одно сообщение по теме топика, или продолжите дальше монолог о бренном существовании бедного флудера на хабре?
            • –3
              По первой части вопроса — нет, ни по теме «чем Wine лучше VMware», ни по теме данного топика, которая не совсем отвечает содержанию. Просто потому, что у меня нет проблем ни с перечисленными играми, все идет под Win7 64 (после соответствующей мантры, конечно), ни со Старыми играми, которые здесь не перечислены, разве что nojoke намекнул)
              По второй части — ну… что сказать, удачи Вам) тематическое соответствие постов конечно крайне важно в обществе, в жизни, в принципе, особенно в Сети, как и цветовая дифференциация штанов.
              Вы мне чем-то Мизулину напомнили, ну, не Вы лично, Ваш пост, тоже тверд в убеждениях, целеустремлен, энергичен, крайне озабочен цензурой… Жесткий, как удар молотом, и резкий, как серпом по яйцам — живой советский герб. (с)
              Ну, не болейте там.
              • +1
                все идет под Win7 64

                С помощью этого набора библиотек я без проблем завёл КР2 (был чёрный экран с курсором) и Yuri's Revenge на Win8 x64

                А теперь обясните мне, кому какое дело до того, что в Win7 у вас все работает, если сказано про Win8? Мало того, что у вас один оффтопик, так еще и монолог с самим собой. Теперь понятно, за что минусы, или мне еще яснее написать, обяснив каждое ваше предложение из вышеизложеных?
                • –4
                  Во-первых — успокойтесь.
                  Во-вторых — прочитайте еще раз статью, где «Win 8» встречается только 1 раз и то в постскриптуме. Прочитайте название статьи. В середине статьи недвусмысленная преамбула: «И тогда я подумал, а может существуют сборки Wine для Windows, которые решат проблемы с графикой в Yuri's Revenge на Win7 x64?» — Win7 тоже встречается в тексте только 1 раз.
                  Отсюда мой первый вопрос по теме — >Win8 x64?

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

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

                  На этом и закончим.
  • +17
    Для СТАРЫХ игр — DosBox
    • 0
      Использую DosEmu для Master of Orion 2 — можно конечно и wine, но для win версии игры нет некоторых патчей и русификатора.
      п.с:
      Вообще DosEmu поначалу «прикрутил» для работы старого Dos-овского ФРС от Искры и БД msm mumps — а уж потом были игры :)
    • +2
      А как же быть с CCS64 и Z80Stealth Spectrum emulator? Они для ИСКОПАЕМЫХ игр? :)
  • +5
    Не знаю что вы там чудили, но КР2 у меня преспокойно запускается на Win7 x64. Правда, я еще поставил мод от разработчиков, который увеличивает максимальное разрешение и добавляет кучу других плюшек. Но запускалось и без него. А «чёрный экран» — это просто невозможность проиграть стартовый ролик (звук есть, картинки нету). Достаточно Esc нажать, когда он начинается.
    • 0
      Это косяк интерполяции программной, за это отвечает старый как дедушкины панталоны, кусок VirtualDub, который для этого использовали ребята из EG.
    • 0
      На Win7 x64 он у меня тоже запускался…
    • 0
      А можете сказать какой мод вы ставили?
      • 0
        Я немножко перепутал.

        Resolution patch + мод «Революция». Resolution patch, собственно, добавляет поддержку более высоких разрешений. Мод «Революция» фанатский, и вот он уже добавляет вагон и тележку изменений в геймплей. Информацию легко найти в Гугле.

        Если решите качать с интернетов, то поищите по запросу «Космический рейнджеры 2: доминаторы. Революция» — в такой пак обычно включен и патч, и сам мод.
        • 0
          Спасибо.
  • 0
    Расслабьтесь, КР спокойно работает на современном железе, за вычетом некоторых гибридных конфигураций.
    С выходом HD-переиздания всё будет работать вообще везде.
    • 0
      Жду, кстати, HD-переиздание с нетерпением.
      • +2
        Большая часть уже закончена, на самом деле, сейчас занимаемся интеграцией со Steam и прочими второстепенными вещами.
        • 0
          Не подскажите, планируется ли версия под Mac/Linux? Под вайном и сейчас более-менее работает, но хочется оф версию через steam :)
          • 0
            Нет, не планируется — и не в последнюю очередь по техническим причинам; очень ощутимый шмат игры написан на Дельфи с примесью ассмеблера. Переписывать около 70% кода придётся.
        • 0
          В российском Steam'е она будет? А то 1С-ные игры по большей части там отсутствуют (или все?)
          • 0
            Будет.
            И 1С-ные игры в Steam'е есть, масса их.
            • 0
              И почти все только на английском.
          • 0
            У меня куплены Space Rangers и Space Rangers 2 в русском стиме. И на этом игры от 1С не заканчиваются.
        • 0
          А воз и ныне там?
    • +1
      Ох, ёлки-палки. А я и не знал. Что ж вы так тихо, без анонсов?
      • +1
        Как это без анонсов?
        games.1c.ru/space_rangers_hd_rev/?type=news

        Я уже не говорю, что это на AG, Игромании и Канобу.
        • 0
          А, я уж обрадовался что первую часть обновят.
          • 0
            Исходники первой утеряны, и смысла браться за неё нет.
            • НЛО прилетело и опубликовало эту надпись здесь
              • 0
                Есть шанс, что после выхода HD, нам разрешат опубликовать её исходники под чем-то Апача.
              • +11
                Угу, вместо нецензурных законов о цензуре лучше бы приняли закон, обязующий для любого платного софта публиковать исходники после отказа от поддержки.
            • 0
              Ну не знаю, первая действительно была шедевром, а вторую я так и не осилил.
              • +1
                Поверьте, она ничуть не хуже. Образцовый сиквел — убрали шероховатости, добавили разнообразия, и, главное, не сломали в геймплее то, что работало.

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

                  Бои напрягают своей тупостью. Боты вручную выносятся влёт, но когда направлений много то бой превращается в метание между строениями.
              • НЛО прилетело и опубликовало эту надпись здесь
                • 0
                  Это да. Раньше можно было там вещичек добыть ценой пары игровых дней.
        • 0
          Блин, здорово. Буду ждать с нетерпением. Космические рэйнджеры — это гордость отечественной игровой индустрии.
          • +1
            Перенесли б их на Android…
  • 0
    О как, оказывается, вайн нужен и в винде =)
    Спасибо за инфу!
    • 0
      Ну, для примера, указанного в топике, не нужен.
  • 0
    Буквально сейчас использую VMWare для запуска «Шкатулки Пандоры» и «Outcast». Первая вообще отказалась запускаться на Вин7, а во второй не устраивала поддержка широкоформатных мониторов (картинка обрезается).
  • +12
    Ахахахаха! Перезагрузиться в Linux (!), чтобы поиграть! Еще пару лет назад на человека, произнесшего такую фразу, смотрели бы, как минимум, как на ополоумевшего. Ай маладца, мелкомягкие! :D
    • –6
      Вы что-то путаете с перезагрузкой. Речь про Wine для Windows.
      • –2
        Всё-таки пытаться понять логику хабра — занятие крайне разрушительное для здоровой человеческой психики. Ув. линуксосексуалисты, ну прочитайте в конце концов уже топик ) Там ни слова нет про линукс ёпт.
        • 0
          я попробовал запустить его под установленной в дуалбуте убунтой

          Убунта не линукс? Ок.
          • 0
            Какой подлый удар со стороны ТС :D Приношу извинения, был неправ. Видение мне было :)
        • 0
          Я виндофил, но еще я топики стараюсь дочитывать: там есть не только слово Linux, там даже слово Убунта есть.
    • +3
      Лет 15 назад на моём компе под виндой тормозил Квейк, а под линуксом он летал.
      И да, я перезагружался в линукс, чтобы поиграть.

      Сейчас, правда, ситуация обратная — под линуксом (Убунту) на стареньком компе жутко тормозит всё, от браузера, до проводника — контекстное меню открывается с задержкой секунд в пять. Зато под виндой (ХР) всё летает, а семёрка хоть и нетороплива, зато компом можно пользоваться.
      • 0
        Значит, не я один заметил, что линукс в последнее время стал прилично подтормаживать… :(
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            Проблема, скорее, не в оболочке (i3wm, awesome, fluxbox и прочие замечательно работают), а в прикладном ПО, оно становится все прожорливей и прожорливей. Браузеры в этом отношении — это вообще отдельная тема.
            • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            На самом деле Линукс — это только ядро :) А вот уже всякие GNU/Linux…
            </Torvalds-mode>
  • 0
    Полноценная виртуалка зачастую предпочтительнее ещё по одной причине: многие игры запакованы древним InstallShield, который в принципе не желает работать на Windows 7 (не помогает ни режим совместимости, ни права администратора, ни выключение UAC).
    • 0
      Это если вы задумали лицензию ставить. А так, если она (лицензия) имеется, то с чистой совестью можно и репак воткнуть.
      • 0
        Проблема в том, что репаки обычно есть у всяческих «популярных и культовых», типа того же Фаллаута или Плейнскейпа. А вот менее популярным играм обычно хуже: тот же Republic или Hearts of Iron при попытке поставить их на 7-ку, вызывают море веселья.
        • +1
          Есть метод, стаивте что-то вроде wintools, делаете отпечаток на виртуалке, например, winxp(98). Затем там ставите игру, проверяете что изменилось — реестр смело переносите уже на живую систему и копируете файлы — в большинстве случаев может помочь. мне с Diablo 2 помогло.
          • 0
            Спасибо за отличную идею. Надо будет попробовать с рядом старых игрушек.
  • +1
    У меня просто VMware с ХР на борту для fallout =)
  • +4
    У меня Fallout и RA2YR прекрасно идут на Win7 x64.
    • +1
      Аналогично.
      Но Вас, похоже, не слышат))
  • +3
    Есть же прекрасный gog.com. Там, конечно, есть не все, но очень многое.
    • 0
      Там далеко не всё имеет реальную совместимость с новыми осями. Тот же Dungeon Keeper I/II или Disciples II там весьма глючны.
      • +1
        Вы наверное не в курсе, чем занимается gog.com — их фишка (до недавнего времени) в том, что они берут старые игры и делают так, чтобы они работали под новыми ОСями без всяких костылей. Поэтому я про них и написал :)
        • 0
          Я в курсе. Именно поэтому я привел примеры халтуры. Нормально работают только DOS игры, которые упаковываются в досбокс.
          • +1
            хм, странно. у меня с десяток тайтлов там куплен (включая DK) и вроде без особых нареканий все работает
            • 0
              DK I там рабочий, но досовская версия, у нее графика хуже.
              • 0
                надо было уточнить — я имел ввиду оба DK. ну, да черт с ним, в общем-то. а то мы куда-то совсем в оффтопик залезли :)
      • 0
        DK2 спокойно идёт на вин7 (32), сейчас играюсь.
        • 0
          А у меня не идет, причем на четырех конфигурациях.
        • 0
          имеется ввиду оригинальный DK2
          • 0
            Расскажите, как у вас это получилось, ибо у меня ни под каким соусом не удалось заставить его работать стабильно — часто падает без причин.
  • 0
    У меня нет такого опыта по запуску старых игр, но когда я хотел запустить Heroes III на Windows 7, я просто зашёл в «Свойства» исполняемого файла и выбрал режим «Совместимости» с ранней версией ОС. Всё заработало.
    • +1
      Они и так запускаются, без режима совместимости. Правда, иногда крешатся. Хорошо хоть, что есть автосейвы в начале хода.
      • 0
        Только что раскопала диск с третьими «Героями» и безуспешно пытаюсь запустить под M$Win7 — настройка совместимости не помогает. Попробую Wine…
  • 0
    Я хотел бы отметить, что проблему 16-битного цвета Wine не сможет решить, если на компьютере стоит видеокарта от ATI.
  • 0
    Ух. Ну то есть понятно, что второй Space Rangers есть на gog.com, а Yuri's Revenge запускается под чем угодно через C&C: The First Decade с фанатским патчем.
    Но это все скучная проза жизни, а ваш размах мысли оценил.
  • 0
    > я без проблем завёл КР2 (был чёрный экран с курсором)
    у них же вышел патч с поддержкой широкоорматников и HQ текстурами, который на Win 7 x64 работает на ура?
    • 0
      Уже спрашивали выше, но повторюсь. У меня стоит этот патч и всё прекрасно работало на Win7 x64. Но на Win8 x64 по непонятной причине — чёрный экран.
    • 0
      HQ-текстур там нет, йеп.
      • 0
        а да показалось
  • 0
    Перезалейте куда-нибудь с дропбокса, вам на сутки паблик отключат за хабраэффект.
    • 0
      Не страшно. Плохо только, что файл будет недоступен.
      • 0
        Ну так что мешает залить на rghost.ru/ или какой-нибудь медиафайр? :)
        • 0
          Так работает же пока, а уже почти сутки прошли.
  • +1
    1) Я не хочу покупать windows XP для запуска из под виртуалки, для работы со старыми играми(я не буду говорить про всякие пиратки — это отдельная тема)
    2) Ускорение везде резаное.
    3) Проброс видеокарты полноценен только при использовании некоторых моделей NVIDIA Quadro(в случае полноценной работы). С остальными проблемы.
    4) Wine неплохо может комплектоваться другими библиотеками, а так-же учтены баги. Хуже скажу — некоторые старые игры, реализовывали математическую модель, с учетом ошибок с плавающей точкой, которые были в первых пентиумах. Тогда это было актуально.
    5) Насчет ATI и wine. К сожалению, этот вопрос стоит для разработчиков драйверов(и с переключением работы в 16-битный режим в настройках). И о поддержке openGL в драйверах ATI (не в обиду ATI и её пользователям). nvidia на этом точку поставила еще в 2003 году, тотально взявшись, за переделку работы openGL в видеокартах, начиная от geforce 6-го поколения (ну которые 6xxx). На данный момент как дела идут — не могу сказать, возможно что всё исправлено.
    Сведение 32 бит к 16 бит, очень для wine ресурсоемко, поэтому они эту задачу перенесли на плечи драйвера еще с давних времен.

    Извините, что большой и может местами невнятный коммент. Я когда то интересовался вопросом полной 3d акселерации, баловался со всякими qxl, spice, vnc и пр. Всё это не то(то энергосберегающие режимы не возможно использовать, что из-за fallout 1-2 ноутбук жарит как печка). Остановился на wine. Не так уж много мучений, если использовать нативные библиотеки. Может мне так везет =)
    Вполне можно найти сборки wine с присобаченными ему библиотеками от win98se.
  • +1
    я обычно наоборот, перезагружаюсь в винду, чтобы поиграть
    • 0
      А многие, наоборот, перешли на консоли, чтобы больше никогда не загружать винду :)
  • 0
    Ахаха, дожили! Вайн под виндой!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.