Программист потратил более тысячи часов на реверс-инжиниринг исходного кода Diablo

При этом он повторил все баги и спорные решения для лучшей совместимости.

Программист потратил более тысячи часов на реверс-инжиниринг исходного кода Diablo

Разработчик под ником GalaxyHaxz на днях опубликовал на GitHub версию исходного кода оригинальной Diablo 1996 года, полученную с помощью реверс-инжиниринга — для этого он исследовал уже готовую программу и обрывочные сведения, добытые другими пользователями сети. Подобный метод применяется, когда авторы оригинальной программы не предоставил открытую информацию о её создании.

В общей сложности GalaxyHaxz провёл за работой более 1200 часов на протяжении периода от шести месяцев до года. Сам он заявил, что просто хотел «сохранить» исходный код на будущее.

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

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

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

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

Помимо этого, автор проекта помог задокументировать вырезанный и неиспользованный в игре контент — в самом конце разработка Diablo была ускорена, а от многих идей пришлось отказаться. Куски всего этого можно было найти в коде.

В конце 2016 года сотрудники студии Blizzard сделали полноценную копию оригинальной Diablo в третьей части серии, добавив её в специальном патче. Тогда игроки получили 16 уровней, четырёх главных боссов игры, а также особый графический фильтр, который делал картинку похожей на аналог из 1996 года.

6666
28 комментариев

Люблю такие проекты, не ясно зачем, почему, но проделана титаническая работа, поставил звездочку на гитхабе

53
Ответить

Когда у нас на DTF появится своя веб-версия по аналогии с Думом? :)

5
Ответить

Такой опыт пригодится, например, когда устраиваешься на работу. Многие моддеры также находили работу в геймдеве. Ну, или ему это просто интересно.

6
Ответить

не ясно зачемВо-первых, как уже сказали, это довольно крутой проект для портфолио. Во-вторых, его реверс-инжиниринг облегчит работу ВСЕМУ моддерскому коммьюнити Дьяблы - гораздо легче работать с кодом игры, когда он опенсорс. Готовьтесь к потоку новых модов для Д1)

1
Ответить

Где-то читал, что у него депресуха вроде была, вот так пытался справится с ней

Ответить

"В конце 2016 года сотрудники студии Blizzard сделали полноценную копию оригинальной Diablo в третьей части серии"
Ничего полноценного там не было. Просто фильтр налепили и боссов добавили. Все подземелья генерировались на основе третьей части

10
Ответить

А как игрануть в версию от Близзов для Д3?

Ответить