Как стать автором
Обновить

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

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

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

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

чёкнуться.
потрясающе
На самом деле, современные версии HexRays (плагин для превращения кода в C-код для IDA Pro) восстанавливают код достаточно точно. Достаточно для того, чтобы какую-нибудь функцию скопировать и скомпилировать.
ага, спасибо.
не знал.
НЛО прилетело и опубликовало эту надпись здесь
спасибо за Winulator. :)
А в чем профит от дизассемблирования и последующей компиляцией/линковкой с 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 использует изометрию (что накладывает специфику на расчет путей и прочего) и множество других фич, которых в движке пока нет.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Такое уже делали.
Интересно а есть StarCraft под MAC OS?
Выше писали
Он скомпилен под PowerPC, а Rosetta (бинарный транслятор на Intel) перестали включать начиная с 10.7.

В тред призывается Мамаич.
Если вдруг кто не знает: гражданин подобным образом портировал Герои 1 и 2 для КПК
Дак вроде ж есть, под WinMobile
НЛО прилетело и опубликовало эту надпись здесь
Титаническая работа :) Но скорее всего он кучу законов нарушил и на него еще в суд подадут.

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

Публикации

Истории