Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 63

Без мышки, наверно, не очень удобно будет
Наоборот, вся игра на кликах, что делать пальцами будет очень комфортно. Понятно что вариант не для чемпионатов, а вот поиграть в поездке будет прекрасно.
Я тут Дюна2 под андроидом поиграл, гораздо удобнее управление чем на ПК была.
Там половина секрета успеха в использовании горячих клавиш на клавиатуре :)
НЛО прилетело и опубликовало эту надпись здесь
Правого клика не будет, шоткатов не будет. Т.е сдвинуть юнитов — только через кнопки вправо внизу. Впрочем, если ее адаптировать к жестам — может получиться вполне ничего.
Никакого микро же. Если только побаловаться…
Это мегакруто. А вот эти слова просто убили:
дизассемблировал игру в IDA, затем конвертировал код на C с помощью инструментов собственной разработки (их пришлось написать в процессе работы специально для этой задачи), потом скомпилировал в нормальную программу и связал с библиотекой winelib, которая работает с Win32 API из-под ARM-версии wine. Задача поначалу казалась простой

Задача поначалу казалась простой

Нифигасебе простая задача! А что тогда сложная?

чёкнуться.
потрясающе
На самом деле, современные версии HexRays (плагин для превращения кода в C-код для IDA Pro) восстанавливают код достаточно точно. Достаточно для того, чтобы какую-нибудь функцию скопировать и скомпилировать.
ага, спасибо.
не знал.
НЛО прилетело и опубликовало эту надпись здесь
А в чем профит от дизассемблирования и последующей компиляцией/линковкой с winelib и «просто взять запустить под wine»?
Подозреваю нельзя «просто взять запустить под wine» из за разницы в системе команд x86 и ARM
Виртуально эмулировать нужные команды никак? Игры Плейстейшен2 сейчас на х86 запускают (хоть и работает на костылях), неужели старика 386-нельзя заэмулировать (темболее что старкпафт старый и никаких расширений типа 3DNow не использует)
Ну это по сути и есть эмуляция. Разве что не в реальном времени.
Можно, только тормозить будет… Старик-386 — чрезвычайно паршивая с точки зрения эмуляции платформа, особенно если архитектура хоста — RISC.
И посмотрите, какая нужна машина, что бы сэмулировать PS2? Какие накладные расходы на эмуляцию? Там соотношение даже не 1 к 10.

Ну и условно говоря, DosBox например, существует и эмулирует, но на одноядерном ARM7 на 1 ГГц он эмулирует (в плане скорости) где-то 486й на 66/100 Мгц. Причем эмулирует он не всю обвязку, а только ту, что критично нужна. Здесь же придётся эмулировать всё, что необходимо для запуска Windows.
>>>Какие накладные расходы на эмуляцию?
Современные компы тоже не пальцем деланные — у меня бюджетный 4-ядерник за 150$ и парой 2 Гб оперативки достойно осилил GTA: VCS — правда звук паршивый, проблемы с разрешением (изменить нельзя), но то такое — жить можно.
Бюджетный 4-ядерник — это телефон?
Нет, я про эмуляцию PS2 на ПК.
А. А то тут народ собрался и обсуждает ARM'ы.
Лучше бы на Андроиде запустил.
Лучше бы ты молча взял на себя эту задачу и помог бы ему.
Лучше бы вы оба заткнулись и восхищались…
Лучше бы для этого автор сначала исходники выложил. Или предлагает последовать его стопам и сконвертить бинарник с той приставки на Андроид?)
НЛО прилетело и опубликовало эту надпись здесь
Тоже верно. Но хотя бы инструкция по сборке была бы явно не лишней.
Обычно лицензия запрещает любые изменения в коде программы, не говоря уже о выкладывании исходников.
НЛО прилетело и опубликовало эту надпись здесь
Только для собственного использования и при наличии оригинальной лицензии.
Еще бы под макось собрал бы кто, с 10.6 не играл в starcraft :(
Кстати, а ведь на коробочке с диском написано PC/Mac CD-ROM. По гуглю видно, что совместимость распростраяется на Mac OS X включительно. А дальше всё, обратной совместимости между ОС нет?
Он скомпилен под PowerPC, а Rosetta (бинарный транслятор на Intel) перестали включать начиная с 10.7.
Вообще говоря, странно, что по прошествию стольких лет Blizzard так и не открыли исходники (хотя желающих их скачать, уверен, много).
НЛО прилетело и опубликовало эту надпись здесь
А может, им просто стыдно.
Они до сих пор её продают, и, более того, до сих пор находятся люди, которые её покупают (например, я). Поэтому не думаю, что в ближайшее время исходники появятся в открытом доступе.
P.S. Они даже Warcraft II до сих пор продают, что уж там говорить.
А подскажите где WCII купить? На батлнете только третий есть.
Ох-ох, видимо, я дезинформировал вас. Последний раз заходил на сайт в 2013 году, вот тут был и WCII Battle:Net Edition. Сейчас нету.
Не видел ее там в прошлом году. По крайней мере варианта купить, даже на диске в их магазине нету.
Нашёл!
Вот тут можно купить и даже скачать.
И что, открытие исходников помешает его продавать?
Конечно нет, однако открытие исходников чаще всего связано с одновременным релизом бесплатной версии, поэтому я так и считаю.
Игра состоит не только из программы, и открытие исходников не делает её бесплатной. Аналогично, например, с Doom — исходники открыты, существует множество портов на разные платформы, но для того, чтобы поиграть, всё равно нужны файлы купленной игры, в которых содержатся, графика, карты, музыка, звуки и прочее.
Хм… В StarCraft уже давным-давно можно было поиграть на ARM-девайсах, причем без монструозной зависимости от winelib/Winulator. Неужели автор порта не слышал о таком проекте, как Stargus?

Я это к тому, что вместо полугодового ада дизассемблирования, можно было внести лепту в открытый проект, допилить его до ума. Хотя, надеюсь, что дизассемблированный код, в частности, логика, войдет и в проект Stargus.
Upd: Оказывается, автор порта — Notaz, человек весьма известный и уважаемый в узких кругах владельцев портативных консолей от GamePark (Caanoo, WIZ) и OpenPandora. Ему не привыкать тянуть на себе очень сложные проекты, например, эмулятор PS One с динамическим MIPS->ARM recompiler; или известный многим эмулятор Sega — PicoDrive, который был портирован на все что только можно. Так что дизассемблирование такой игры не представляет особой сложности для него.
По сути, Stargus (как и Wargus) — это не портирование, а создание игры с нуля с использованием оригинальных ресурсов. Т.е., механика делается частично по тому, что удалось раскопать в ресурсах, частично «на глазок». Если же портировать именно код — получаешь всю «логику» из коробки. Что проще — тот ещё вопрос…
Если это был не риторический вопрос, то автор определенно знаком с Stargus, поскольку его можно видеть в списке игр на первых секундах видео (или же изображение в заголовке этого поста). Так что вполне возможно, как вы и предположили, результат распиливания игры пойдет в код проекта.
Stargus нереально допилить до ума как минимум потому, что движок Stratagus не поддерживает и половину нужных фич. Сейчас оно представляет собой очень сырое поделие, в котором не работает почти ничего, а то что работает — работает не так. А переписывать Стратагус… Не, уж проще и быстрее рекомпилировать.
Ну насчет «не работает ничего» вы загнули… В принципе, там достигнут уровень WarCraft 2 (ну может с частью фич из Battle.Net Edition). Но StarCraft использует изометрию (что накладывает специфику на расчет путей и прочего) и множество других фич, которых в движке пока нет.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Выше писали
Он скомпилен под PowerPC, а Rosetta (бинарный транслятор на Intel) перестали включать начиная с 10.7.

Дак вроде ж есть, под WinMobile
НЛО прилетело и опубликовало эту надпись здесь
Титаническая работа :) Но скорее всего он кучу законов нарушил и на него еще в суд подадут.

> вылезло очень много неожиданных проблем
Вспомнилась эта статья, где рассказывается, что код батонов вывели в отдельную ветку и приходилось все изменения делать отдельно для обычных юнитов и для батонов. Разумеется возникнут проблемы…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации