Быстро оправдаюсь. Я понимаю, что информация возможно более поверхностная, чем требует того Хабр, но во многом мне не хватает квалификации описать все нюансы работы с PCeM, а на Хабре о нем вообще нет никакой информации по этому эмулятору, поэтому я надеюсь, что может кто-то возьмется в дальнейшем разобрать тему, и показать на сколь глубока кроличья нора…
Как правильно играть в старые игры? Ну конечно, самый лучший способ — приобрести старую железку. На неё накатить старую игру и получать удовольствие! Но старые железки потихоньку выходят из строя и становиться всё тяжелей найти рабочую, да и не каждому захочется под рукой держать Pentium 2 400, просто для того чтобы играть во что-то из детства/юношества/молодости.
Очевидными кажутся следующие выходы:
-
GoG.
-
Врапперы.
-
Эмуляция.
При всей любви к Good Old Games, его можно отмести сразу, по причине того, что не все эмулируется корректно. Крайний пример, Аллоды 1 и 2, с мерцающим курсором под 10-кой.
Да и попытка поиграть в любимых «4-х» героев, обернулась ужасом. А чего уж говорить про более старые игры.
VMware Workstation Pro
Долгое время, это была моя основная виртуальная машина, пока я не начал спускаться в «глубины ада». Конечно некоторые игры работали с «нюансами», некоторые не работали, но это был самый простой и удобный способ держать на компьютере с десяток другой игр эпохи ранних нулевых, и играть в них практически ни в чем не отказывая.
Но проблема VmWare Worksation в том, что это эмулятор своего собственного железа, которое не является полным аналогом компьютеров тех лет, из-за чего далеко не все работает корректно. Я не буду вдаваться в подробности, но вот некоторые из неудобств, которые не удалось ни победить, ни жить с ними.
-
Deus-ex — что-то непонятное с гаммой.
-
Freelancer — постоянные вылеты.
-
Starlancer — отказывается запускаться.
-
Unreal — запускается без Glide.
-
Diablo ½ — только в окне.
-
Петька 3 (только в окне, в режиме дебага). Постоянные вылеты.
-
Warcraft 2 — на скоростях равных скорости света.
-
Аллоды 1 — только со скипом роликов.
-
Аллоды 2 — с иногда непонятными ускорениями до сверхсветовых.
Более того, чтобы заводить некоторые из игр, как бы смешно это не казалось, на виртуальную машину приходилось ставить не «оригинальные образы», а уже «новоделы» из GoG. Которые не заводились на хост машине.
Что по итогу? VmWare Workstation Pro — Хорошая виртуальная машина, и в большинстве случаев её хватает за глаза. Особенно, если вы не хотите сильно заморачиваться с донастройкой игр, а хотите накатить образ и играть.
DDraw Wrapper
Ddraw.dll — это библиотека, связанная с «DirectDraw», частью DirectX от Microsoft, используемой для рендеринга 2D-графики в ранних версиях Windows. Многие старые игры и приложения, разработанные для Windows 95, 98 или даже XP, зависели от DirectDraw для отображения графики.
Конечно, если у вас руки (а не лапки) как у меня, можно взять различного рода wrapper (тот же DDraw) и решить проблемы с частью двухмерных игр. На деле, это практически то, чем занимается сам GoG. Комплектует игры парой библиотек, и позволяет запускаться им.
Но Ddraw Wrapper как и подобные ему, решает проблему только с частью игр. Конечно, не каждый захочет играть в столь древние игры, и возиться с подключением библиотек, и проще будет просто отказаться от их воспроизведения. Но если вы маньяк, или просто хотите поиграть во что-то из глубокого детства, то это ваш путь.
3хмерные игры на современном железе
С 3-х мерной графикой есть определенные проблемы и нюансы.
Вот так к примеру выглядит Need For Speed 3.
Вот так она выглядит на PS.
А вот так она должна выглядеть.
И каждый раз, когда вы пытаетесь с эмулировать что-то на VMware Workstation Pro, Вы с большой вероятностью эмулируете софтверный рендеринг, который хоть и позволяет запустить старую игру, но совсем не так, как она выглядела в те времена на самом деле.
Порой, глядя на старые игры через призму современности, кажется, что и графика там была неказистая, и вообще все было похоже на мыльные пиксели, и просто на TFT мониторах они замыливались, как и наше восприятие…
Но все дело, в том, что до того как Direct3d стал единственным стандартом, каждый разрабатывал 3d во что горазд. И одним из направлений были 3д ускорители 3dfx.
И если вам в те годы посчастливилось стать обладателем Voodoo 2, то безусловно, вы жили в совершенно другом мире, с большим FPS, улучшенной фильтрацией текстур, и графикой опережающей всё, минимум на 3 года!
Glide Wrapper
Глядя на скрины старых игр, и сопоставляя их с собственным восприятием, захотелось воспользоваться Glide Wrapper, который позволяет сегодня насладиться играми так, как они должны были выглядеть.
Да, признаюсь честно… использовать Glide для какого-нить Redguard — извращение. Но вот Unreal, совсем другое дело. Да и старый добрый NFS, хоть и начинает бросаться мылом в экран, все же превращается из набора пикселей во что-то более удобоваримое.
Да-да, я знаю, примеров не так много. Я не упомянул System Shock. Не упомянул Tomb Raider, которые визуально практически не отличаются от софтверного рендера (шутка).
Но проблема в том, что даже имея Nglide, или другие Врапперы, позволяющие запускать игры на современном железе, у нас все равно будет целая тонна проблем с совместимостью.
Здесь, и разность скоростей. И то, что порой его недостаточно. И что не везде Api работает. А где-то картинка все равно идет с артефактами, и не так, как это было тогда.
UPD: С другой стороны. Тот же Nglide для карточек Nvidia умеет творить чудеса, и запускать игры с неплохим таким апскейлингом… Но все ещё не все.
Интерлюдия
А ведь теперь давайте просто представим. Что нам для того, чтобы поиграть во что-то старое, нужно:
-
Виртуальная машина со старой осью.
-
Врапперы.
-
Фиксы.
И под каждую игру, придётся возиться индивидуально. Где-то будет достаточно виртуалки. Где-то дистрибутива с ГОГа, а где-то и всё это вместе не поможет.
А ещё лучше, собрать машину тех лет, и работать исключительно с ней.
Вот теперь точно будем эмулировать все игры! PCeM 17!
Но есть альтернатива… Эмулятор ПК тех лет PCeM V17. На деле, я узнал об этом софте, ещё во времена его 10-ой версии, году в 15-ом. Но то, что хорошо эмулируется на Ryzen 7 5700x, отвратно себя чувствовало на i3 2120.
В общем PCeM — Это эмулятор персонального компьютера на базе X86 (с недавних пор ещё и Сommodore), который умеет полностью воспроизводить поведение компьютера тех лет (вплоть до P4).
В отличие от костылей, вроде врапперов и виртуальных машин, здесь эмулируется поведение самого железа, что позволяет:
-
Установить на него соответствующую ОС.
-
Установить соответствующие Драйвера.
-
Запускать игры, не эмулируя их, а так, как они должны были работать.
Насколько я помню, эмуляция voodoo и даже voodoo в SLI там появилась далеко не сразу.
Как пользоваться PCeM
Я беру фенилуксусную кислоты из бочки с синей пчелой. Суть инструкции
Ну что… надеюсь единственное полезное, что будет в Этой статье.
Берем Эмулятор по этой ссылке.
Дальше нам нужны ROMы железа, которое мы собираемся эмулировать. Его берем, на гитхабе (что-то там как и с другими эмуляторами, нельзя распространять образы реального железа, потому что оно защищено законом).
Драйвера берем здесь.
ОС берем… ну с этим проблем возникнуть не должно.
Дальше все просто… открываем портал в 90-е, и как будто бы мы собрали новый комп, берем и все устанавливаем.
-
Выбираем характеристики машины в PCeM.
-
Накатываем соответствующие ROM.
-
Размечаем виртуальный хард.
-
На него накатываем вполне настоящую ОС.
-
Ставим драйвера… И теперь устанавливаем все игры.
Здесь есть единственный важный нюанс, который может создать определенные проблемы когда вы впервые столкнетесь с PCeM.
Т. к. он эмулирует железо, на которое установлено реальное оборудование и ОС, то в случае, если вас не устроит собранная железка, и вы захотите её поменять, то сделать это на лету не получится… Вы же не можете поменять процессор в рамках одной материнской платы, не переустанавливая Windows?
Ну а дальше, все ограничивается только вашей фантазией и потребностями.
Что могу сказать сразу?
И Starlancer, и Diablo, и Unreal на глайде, и даже… о ужас… Return to Krondor завелись с полоборота.
Конечно, специалисты заметят, что PCeM умеет делать и доисторическое и более свежее железо, и при желании можно собрать что угодно, вплоть до Pentium 2. А можно и первый 8088, с монохромным дисплеем.
Pentium 2, золотая середина, т.к. уже с появлением Pentium 3 многие вещи стандартизировались, и куда легче переносятся на современные ПК без лишних танцев с бубном.
А что DosBox?
DosBox, это безусловно хорошая альтернатива PCeM. Более того, распространенная и работающая даже под ОС Android. Но у неё, как и у VmWare Workstation схожий порядок проблем, и узнать, что и в каком режиме запустится, можно только методом «тыка».
В случае с PCeM вы ограничены только своей фантазией и мощностью железа. Ну и ещё наличием драйверов.
Итог
Со 100% вероятностью я уверен, что найдутся люди, и которые знают где лежат библиотеки под каждую старую игру, и как настроить враппер и/или виртуальную ось, так чтобы на ней все летало. И что вообще PCeM это глупо и избыточно.
При большом желании можно поднять эмулятор первой PS в два клика, и с её помощью закрыть практически всю необходимую библиотеку ретро игр.
Но что самое главное, PCeM — это относительно простой способ заиметь у себя, пускай виртуальную, но ретро машину, позволяющую запускать игры 25 летней давности такими, какими они задумывались, и что самое главное… настроив подобную машину единожды, не придётся возиться с совместимостями и настройками под каждую отдельную игру.
В самом крайнем случае конечно можно собрать несколько виртуальных компьютеров, или вообще заняться каким-то ультраретро геймингом, запуская первый Space Quest в оригинальном режиме.