LINUX.ORG.RU

Starcraft портирован на ARM

 , , ,


1

2

Notaz, участник проекта OpenPandora, провёл реверс-инжиниринг игры StarCraft и портировал её на ARM-платформу. Ему удалось это сделать несмотря на отсутствие исходного кода в открытом доступе.

В репозитории выложен перекомпилированный бинарник для установки которого на игровую приставку «Пандора» нужно еще скопировать несколько файлов с ПК-версии игры.

Автор порта говорит, что он дизассемблировал игру в IDA, затем конвертировал код на C с помощью инструментов собственной разработки (их пришлось написать в процессе работы специально для этой задачи), потом скомпилировал в нормальную программу и связал с библиотекой winelib, которая работает с Win32 API из-под ARM-версии wine. Задача поначалу казалась простой, но в реальности проект занял почти полгода: вылезло очень много неожиданных проблем. Так или иначе, но автор довёл дело до конца.

Теоретически, он мог бы выложить код C в открытый доступ, чтобы кто-нибудь скомпилировал версию под Android. Сейчас StarCraft запускается на Android-планшетах и смартфонах с помощью Winulator. Видео запуска
Взято с хабра.

>>> Топик автора



Проверено: Shaman007 ()

Ох, надо будет связаться с автором :3

Zidane ()

Автор порта говорит, что он дизассемблировал игру в IDA, затем конвертировал код на C

Если он задизассемблил её, то почему потом просто не собрать под ARM нативно, зачем какие-то wine-костыли ещё?

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

Почти невозможно. Notaz очень не любит отвечать в личку. Всем gcw-dev ему писали.

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

Он это сделал для портативной приставки pandora, через wine эмуляция мыши реализована.

ZUKMAN ()

Пофиг, кто в это говно щас играет! Что 1й говно, что 2й говно. Близзард мертв для меня.

anonymous ()

всегда интересовало - зачем RTS на телефоне

mos ★★☆☆☆ ()

Сейчас StarCraft запускается на Android-планшетах и смартфонах с помощью Winulator

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

wota ★★ ()

А он не хочет под линукс сделать то же самое? Что бы без вайна можно было использовать «старик»?

novichek01 ()

Ох, мне кажется, что юристы blizzard потирают руки сейчас

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

Странно, мне он отвечал. Причём на достаточно тупой вопрос, касающийся запуска Ginge на ненавистном ему Android'е.

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

Спасибо, прочитал.

Видел ещё заметку о портировании Heroes III, там аналогичный способ использовался, с IDA, но без Hex-rays. IMHO проще и надёжнее было написать парсер инструкций x86, а оптимизацию переложить на компилятор.

i-rinat ★★★★★ ()

и что дальше? новость интересная, но почему ее подтвердили?
исходников нет, под linux тоже нет, на ведроиде запускается с костылями. Я тоже могу сказать, что портировал Dangerous Dave и предложу запускать через dosbox. Что дальше-то?
Стыдоба.

reprimand ★★★★★ ()

Годно. Надо будет на hackberry запустить.

fero ★★★★ ()

Давно пора, но Blizzard всегда были копирастами, а после слияния с Activision у них, похоже, кроме упоротых юристов и маркетологов в команде вообще никого не осталось. Так что, я думаю, ничего хорошего из этого не выйдет.

Nebuchadnezzar ★★★★ ()

Более трушно будет сделать свободную реализацию с старкрафтскими ресурсами. Можно будет попутно кучу новых юнитов напихать, или даже целую расу-две запилить.

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

ничего хорошего из этого не выйдет.

А что может получится хорошего из дизассемблирования игры 16-летней давности при существовании куда более крутой версии? После выпуска ск2, ск1 не стоит даже ностальгии.

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

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

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

Ты что, это ж настоящий hackerский девайс. Все элитные красноглазики о таком знают.

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

Объяснить как его утилитами и в какой последовательности пользоваться, чтобы тоже самое проделать для UrbanAssault. А также чтоб подумал на счет публикования полученного исходника, чтоб можно было под другие системы собрать.

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

Объяснить как его утилитами и в какой последовательности пользоваться, чтобы тоже самое проделать для UrbanAssault.

Ну как пользоваться IDA с Hex-Rays он тебе точно рассказывать не будет. А его собственные утилиты писались под конкретную задачу и игру. И в реверс-инжиниринге UrbanAssault вряд ли помогут.

А также чтоб подумал на счет публикования полученного исходника, чтоб можно было под другие системы собрать.

Вот это вряд ли, так как у Blizzard есть возможность довести дело до судебного разбирательства. Я на 98% уверен, что в лицензиях Blizzard есть пункт, запрещающий обратную разработку их продуктов.

Ты плохо знаешь Notaz'а. Он давно уже заопенсорсил такие проекты как PicoDrive или PCSX Rearmed. Определенно у него возникла причина, по которой он (пока?) не может опубликовать в OpenSource свой полугодовой труд.

EXL ★★★★★ ()

Warez?

То что сделал этот человек законно ли? Нет ли в этой новости вареза?

Я не против StarCraft'а на ARM'е, но только с согласия Blizzard'а.

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

Ну смотри сам, на проект scummvm

а как пользоваться ida я и так знаю, и тем более он не пользовался хекс-рейсами, он использовал бесплатную ida, а asm переводил в .c как раз своим утилем.

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

Какие только чудеса люди не творят, чтобы заставить проприетарщину сделать чуть больше, чем она может. Эх, а были бы исходники...

goingUp ★★★★★ ()
Последнее исправление: goingUp (всего исправлений: 1)
Ответ на: Warez? от Camel

Re: Warez?

Мусорские законы — для блатных осиляторов не законы.

anonymous ()
Ответ на: Warez? от Camel

Blizzard давно умер. То, что ты сейчас видишь это не он.

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

Более трушно будет сделать свободную реализацию. До версии 1.0 не доживем, вестимо.

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

На пандоре пм можно написать.

надо так:

на пандоре пм мэй врайтнуть.

user_id_68054 ★★★★★ ()

Ну, ещё вторую дьяблу портировать, и тогда точно взлетит!

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

Вторая Диабло отстой. Даешь первую. И с кучей новых монстров и уровней!

anonymous ()

А судебный иск автору не светит, не?

gh0stwizard ★★★★★ ()

что этот варез делает в новостях?

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

на пандоре пм мэй врайтнуть.

он пандора пм куд би врайтнен.

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

он пандора пм куд би врайтнен.

Мэйби «он пандора пиэм куд би райтент» саундс бэттэ?

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

Мэйби «он пандора пиэм куд би райтент» саундс бэттэ?

давно бы уж врайтнули бы в пм, чем фдулить хеа (here)

user_id_68054 ★★★★★ ()

Эпичненько.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.