LINUX.ORG.RU

Нативная Diablo II в Linux

 abyssengine, , diablo2, opendiablo2


1

3

Немного поизучал вопрос нативного запуска Diablo в Linux.

С первой частью проблем нет, есть прекрасный проект DevilutionX, который позволяет нативно запускать Diablo I и Diablo I Hellfire. Я даже полностью смог перепройти Diablo I. Для запуска Diablo II я нашёл два проекта: OpenDiablo2 и AbyssEngine. Первый написан на Go и заброшен, репозиторий на Github readonly. Второй – проект на языке C, вроде как живой, но это не точно.

Что получается по итогу:

  • OpenDiablo2 (скриншот 1,2 слева направо) – удалось собрать и запустить. Есть звуки и музыка, можно походить по карте но никаких взаимодействий с окружающим миром. Не получается принять задание, с кем-то поговорить, открыть сундук, войти в подземелье, врагов тоже нет.

  • AbyssEngine (скриншот 3 слева направо) – так же собирается и запускается. Заставка, звук – есть, но дальше титульного экрана не пройти, т.к. нет кнопок выбора игры.

Оба проекта работают только с оригинальными mpq-файлами, благо у меня есть дистрибутивы Diablo II и Diablo II LoD. Все тесты проводил на Debian 12. Если кто-то знает полностью рабочий проект, пожалуйста, поделитесь! Очень хочется перепройти Diablo II.

З.Ы. В Diablo II Resurrected играл на приставке, очень понравилось. Но оригинал всё же более ламповый и родной.

>>> Просмотр (3840x1024, 2901 Kb)

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Ответ на: комментарий от ConLenov

О, большое спасибо! Мне этот проект не попадался. Сегодня же попробую его завести)))

nuxster ★★★
() автор топика
Ответ на: комментарий от ConLenov

Да, так и есть. Разрабы одни, судя по гиту.

nuxster ★★★
() автор топика

UPD: Создал issue на гитхабе AbyssEngine об отсутствии кнопок меню, но потом увидел, что подобная проблема уже подсвечена и со стороны разработчиков реакции нет. Видимо проект заброшен. Буду исследовать DGEngine, который любезно посоветовал комрад @ConLenov.

nuxster ★★★
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Всем устраивает. А чем не устраивает нативный порт?

nuxster ★★★
() автор топика
Ответ на: комментарий от xfilx

Для чего? Лично меня интересует только одиночная игра в Dibablo.

nuxster ★★★
() автор топика
Ответ на: комментарий от qshiroe

Через proton или обычный wine всё прекрасно работает. Мне интересно не просто запустить её в Linux, а найти рабочий порт.

nuxster ★★★
() автор топика
Ответ на: комментарий от kirill_rrr

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

DumLemming ★★★
()
Ответ на: комментарий от kirill_rrr

Не могу сказать. Я в двойку играл лет 15 назад. Уже ничего не помню. А требование сети это не проблема. Проблема это требование подписки, чтобы получить весь контент. Я купил диск и был неприятно удивлён, что ещё нужно башлять сверху. Пока что играю без подписки. Лень с платежами возиться.

ox55ff ★★★★★
()
Ответ на: комментарий от nuxster

Не ищи, его нет. Подобное событие не могло бы пройти незамеченным, его значимость была бы больше чем релизы всего того мусора что они делают сейчас.

И сразу скажу, что в виде «давайте сделаем универсальный движок а потом натянем на него ресурсы игры» оно не выйдет, там практически вся игровая логика захардкодена и эти сотни тысяч асм-строк (местами использующие побочные эффекты Си-арифметики) надо реверсить.

С Diablo I сравнивать не надо, там разные «весовые категории».

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от ox55ff

Обязательно её попробую, уже куплена на Xbox))) Но со 2й частью сравнивать не стоит. Даже 3я уже совсем не то, хотя тоже неплохая.

nuxster ★★★
() автор топика
Ответ на: комментарий от firkax

Это крайне печально, у меня всё же была надежда найти рабочий проект…

nuxster ★★★
() автор топика
Ответ на: комментарий от ConLenov

Попробовал я DGEngine.

  • Diablo I - всё отлично, запустилась и работает.
  • Diablo II - сперва попробовал AppImage. Зачем-то требуется файл DIABDATA.MPQ от Diablo I, ну ок. Запускается, но вылетает с ошибкой, что не может воспроизвести неподдерживаемый формат аудио.
    При сборке из исходников наткнулся на отсутствие libsfml-dev 2.6 в репозитории, в Debian 12 версия 2.5. Пока на этом остановился, нужно собрать нужные версии библиотек.
nuxster ★★★
() автор топика

Нормальная нативная Diablo II сможет появиться только отсюда: https://github.com/ThePhrozenKeep/D2MOO; остальное – от лукавого. Но реверсерам нужно время. Главное что самые важные части типа Drlg уже имеем.

Среди «самостоятельных» реализаций дальше всего похоже продвинулся Diablo II Reimplemented делаемый на C++ / SFML (прямо как у DGEngine). Но разрабатывается одиночкой и исходники закрыты.

Из «самостоятельных» и при этом свободных, наиболее «успешный» был riiablo, делаемый на Java / libGDX.

А результаты OpenDiablo2 и AbyssEngine были довольно скромны. Эти проекты умерли большей частью из-за волатильности главного автора, постоянно менявшего языки программирования туда-сюда, залочивавшего репу другим контрибьюторам и в конце удалившего без предупреждений / объяснений Дискорд-сервер проекта…

iXuta
()
Последнее исправление: iXuta (всего исправлений: 7)
Ответ на: комментарий от iXuta

О, вот это крутой анализ, большое спасибо! Буду смотреть D2MOO

nuxster ★★★
() автор топика
Ответ на: комментарий от nuxster

Он вообще не собирается в привычном смысле этого слова, это проект по реверсу игрового кода. Когда его завершат (лет через 10), уже можно будет думать как собирать под разные платформы. Но да, он наверно имеет больше всех шансов таки закончиться успехом (потому что его авторы этим реверсом занимались почти с начала существования игры и за прошедшие больше 20 лет накопили много наработок и знаний по этой теме). А пока что его можно собрать в виде пачки патчей под оригинальную игру версии 1.10f для упрощения моддинга.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Понял, понял! Ну что ж, пожелаем удачи проекту, надеюсь они доведут работу до логического завершения!

nuxster ★★★
() автор топика
2 ноября 2024 г.

В Diablo II Resurrected играл на приставке, очень понравилось. Но оригинал всё же более ламповый и родной.

Resurrected это ведь та же дыбла новой версии патча но с графикой, которую купят в 2021 и позжее дети родившиеся с 2010го и позжее + фанаты серии. Оригинал как он есть. Diablo IV - вот это порочное дитя маркетологов механик WoW и зависти к успеху PoE.

PS: жду PoE 2, но релиз теста отложили до декабря ибо интересно как вывезет железо моё графоуни от PoE

dengolius
()
Ответ на: комментарий от dengolius

Ещё бы знать, что вы подразумеваете под PoE. Path of exile? Это же вроде какая-то онлайновая история? А тут речь идёт об однопользовательской локальной игре.

nuxster ★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.