Автор Тема: Портирование игр  (Прочитано 8668 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн KAPRAL

  • Пользователь
  • Сообщений: 18
    • Просмотр профиля
Портирование игр
« : 30 Январь 2014, 13:10:37 »
Здравствуйте! Вот уже очень долгое время в интернете гуляют вирусы под видом эмулятора х-бокса-360 и плейстейшен-3.
Я думаю что попытки запустить игры для приставок на ПС пошли не по тому направлению, не надо делать эмулятор приставки, это сильно сложно, а вот сделать компилятор который-бы сделал порт с приставки на ПС это более вероятно, ведь многие игры являются кривыми портами с приставки. Возьмите ту-же игру "Tom Clancy's Ghost Recon: Future Soldier" это был очень кривой порт с бокса, подсказки отображались кнопками геймпада, хотя от не-был подключен.  Я сам открывал несколько игр от бокса-360 на компе там те-же самые файлы что и в установленной версии РС игр но только БЕЗ .ехе файла. Вот мне интересно возможно-ли написать такой компилятор что-бы он делал порт? Ведь все игры на приставки всё равно делаются на компьютере и лишь потом как-то переделывают на приставки.
« Последнее редактирование: 08 Февраль 2014, 15:28:31 от Iron »

Оффлайн SILENT_Pavel

  • Пользователь
  • Сообщений: 2734
    • Youtube
    • Просмотр профиля
Re: Портотирования игр
« Ответ #1 : 31 Январь 2014, 04:24:55 »
Невозможно, у тебя появляются такие мысли от незнания глубоких технических аспектов.

Как-то раз мы обсуждали (тут gildor.org) порт Silent Hill Downpour с консольного UDK на компьютерный, несмотря на теоритическую почти полную совместимость с пк ресурсами, максимум что можно создать это вот это: http://www.moddb.com/games/silent-hill-the-pledge

т.е. игру целиком все равно не портироватЬ, хотя большую часть вселенной с ЮТ3 вполне, но это не порт игры и назвать так это нельзя.

п.с. тут еще разбор формата ют3 бокса производят:
http://www.gildor.org/smf/index.php/topic,1848.0.html

Оффлайн Unit2k

  • Пользователь
  • Сообщений: 9089
  • Пол: Мужской
    • ВКонтакте
    • Steam
    • Просмотр профиля
Re: Портотирования игр
« Ответ #2 : 31 Январь 2014, 04:59:47 »
Портировать игру без её исходников - невозможно. Нужны исходники игры, которые ты уже должен компилировать под ту или иную платформу. Когда исходный код уже собран под PowerPC, не имея софта и исходников, пересобрать его под x86 невозможно.  Именно поэтому не существует НИ ОДНОГО ФАНАТСКОГО ПОРТА игры с консолей, за всю историю видео-игр.  Возможно кто-то приведет в пример "порты" древностей с Атари и Спектрумов, но на самом деле эти игры были написаны с нуля. Все остальное, что выдается за фан порт - это как правило сборка из игры и эмулятора. Таким образом например ПК версия первого Сайлент Хила долго гуляла по трекерам.

Оффлайн SILENT_Pavel

  • Пользователь
  • Сообщений: 2734
    • Youtube
    • Просмотр профиля
Re: Портотирования игр
« Ответ #3 : 31 Январь 2014, 05:40:29 »
Портировать игру без её исходников - невозможно.
таки "получить" исходный код (например НЕС игры) методом обратной разработки возможно.
http://www.assemblergames.com/forums/showthread.php?48282-Source-code-collection-for-many-games

NES\reverse_engineered\Battletoads(U).rar
\NES\reverse_engineered\Castlevania(U).zip
\NES\reverse_engineered\DejaVuRE.zip
\NES\reverse_engineered\DuckTales(U).zip

но это все равно похоже не поможет перекомплиировать "марево" пот пека? наверное
насчет НЕС не силен, движок по моему должен быть рассчитать на платформы, на которые его комплиировать после получения исходного (хотя ассемблер НЕСа вроде бы не имеет привязки к платформам?), т.е. игры которые на пк не выходили не могут быть обратной разработкой перепортированы и никто этим адским трудом заниматься не будет в приципе, даже если теория в отдаленной перспективе позволяет, я считаю.

Оффлайн Heidr

  • Пользователь
  • Сообщений: 6472
    • Просмотр профиля
Re: Портотирования игр
« Ответ #4 : 31 Январь 2014, 06:15:02 »
Именно поэтому не существует НИ ОДНОГО ФАНАТСКОГО ПОРТА игры с консолей, за всю историю видео-игр.
А я читал про какую-то игру из XBLA, что её автор не хотел портировать её на Виндовс, и кто-то умудрился запустить её на компьютере. Тогда автору пришлось делать официальный порт.

Оффлайн pendragon

  • Пользователь
  • Сообщений: 419
    • Просмотр профиля
Re: Портотирования игр
« Ответ #5 : 31 Январь 2014, 10:19:16 »
Цитата: Heidr
А я читал про какую-то игру из XBLA, что её автор не хотел портировать её на Виндовс, и кто-то умудрился запустить её на компьютере. Тогда автору пришлось делать официальный порт.


было такое игра если не ошибаюсь The Unfinished Swan

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: Портотирования игр
« Ответ #6 : 31 Январь 2014, 11:51:11 »
таки "получить" исходный код (например НЕС игры) методом обратной разработки возможно.
Это не исходный код. Это просто чей-то дизасм с ручными правками. Исходный код - это именно исходный код, а не что-то другое, сегодня он только на ЯВУ и по возможности наиболее переносим, поэтому перекомпилировать можно под разные системы. Но даже сам по себе целиковый исходный проект с документацией ещё не даёт возможность автоматически пересобрать его под другую платформу, отличия-то есть. Есть, например, Сега Мега и Амига. У Амиги, как правило, более старший процессор, но совместим с сеговским. Попробуй перенеси игру с сеги на Амигу ;)
Если говорить про переписывание "обратной разработки", то динамические рекомпиляторы этим и занимаются: берут кусок машинного кода в игре и переделывают его под машинный код хоста эмулятора, там, где они это могут сделать. По понятным причинам они далеко не совершенны. Теоретически возможно сделать программу, которая бы переделывала любую игру целиком на другую платформу "методом обратной разработки", но эта задача похлеще обычного искуственного интеллекта, дешевле будет купить разработчиков с потрохами или нанять кучу обезьян с клавиатурами :)

Оффлайн SILENT_Pavel

  • Пользователь
  • Сообщений: 2734
    • Youtube
    • Просмотр профиля
Re: Портотирования игр
« Ответ #7 : 31 Январь 2014, 15:35:50 »
GManiac, интересно, так а можно ли комплиировать вообще в рабочий результат эти обратно отинженеренные куски кода?

Оффлайн 3DSchumacher

  • Ушел с форума
  • Сообщений: 2164
  • Пол: Мужской
    • Просмотр профиля
Re: Портотирования игр
« Ответ #8 : 31 Январь 2014, 16:00:03 »
Ну в целом кое-где и кое-как такой подход применяется, пусть и не в полной мере. Взять тот же винулятор под ведроид, запускающий старкрафт (и брудвар тоже) х86 прямиком на андроиде с арм, предварительно конвертнув все вызовы апи винды в дроидовские. Раньше этот процесс конвертации происходил на пк в соотв. софтине, сейчас же, насколько я знаю, уже прямиком в телефоне. Давно не слежу за этой темой, да и автор винулятора кажись забил давно на проект, но потенциал у идеи неплохой. И в отличии от эмуляции в лоб, даже HLE, этот подход отличается вполне адекватными требованиями к железу.

Оффлайн Unit2k

  • Пользователь
  • Сообщений: 9089
  • Пол: Мужской
    • ВКонтакте
    • Steam
    • Просмотр профиля
Re: Портотирования игр
« Ответ #9 : 31 Январь 2014, 16:12:33 »


было такое игра если не ошибаюсь The Unfinished Swan
Кстати да, забыл про неё. Это единственный случай порта с консоли надо сказать. И возможен он стал только благодаря тому, что игра основана на xna framework.

Добавлено позже:
Автор порта вообще активно на каком-то форуме расписывал про это дело.

Добавлено позже:
Ну в целом кое-где и кое-как такой подход применяется, пусть и не в полной мере. Взять тот же винулятор под ведроид, запускающий старкрафт (и брудвар тоже) х86 прямиком на андроиде с арм, предварительно конвертнув все вызовы апи винды в дроидовские. Раньше этот процесс конвертации происходил на пк в соотв. софтине, сейчас же, насколько я знаю, уже прямиком в телефоне. Давно не слежу за этой темой, да и автор винулятора кажись забил давно на проект, но потенциал у идеи неплохой. И в отличии от эмуляции в лоб, даже HLE, этот подход отличается вполне адекватными требованиями к железу.
Ну так с "эмулятором" первого бокса тоже самое вроде бы.

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: Портотирования игр
« Ответ #10 : 31 Январь 2014, 16:38:27 »
GManiac, интересно, так а можно ли комплиировать вообще в рабочий результат эти обратно отинженеренные куски кода?
Можно, есть компилируемые фулл-дизасмы старых игр, тут даже на этом форуме кто-то делал для танчиков или бомбермена, не помню. Да вообще, любой правильно сгенерированный дизасм обратно собрать не проблема, только толку? Проблема его ковырять, менять и компилить под что-то другое, а в этой теме речь идёт об этом :)

Добавлено позже:
Вот, например.
http://forum.emu-russia.net/viewtopic.php?f=13&t=578&sid=563a7aa7ff238264a09464da35d98f25
Собирается запуском батника. Для скачивания аттача форум может потребовать регу. На слова "исходный код" не обращать внимания, это дизасм.