LINUX.ORG.RU

Доступен декомпилированный высокоуровневый код игры Космические Рейнджеры HD: Революция

 , , ,


4

4

Путём byte-matching декомпиляции был реконструирован исходный код на Delphi 2007 для игры Космические Рейнджеры HD: Революция. Он собирается в исполняемый файл, идентичный оригинальному, т. е. по определению сохраняет всё поведение игры. Это не официальный релиз исходников, а реконструкция — практически все внутренние символы в коде (переменные, функции) имеют новые названия.

Размер кодовой базы: примерно 230 тысяч строк Delphi Pascal, и чуть больше тысячи строк оригинальных ассемблерных вставок на x86.

Дополнительно доступны:

>>> Репозиторий



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

Одна из лучших отечественных игр. И показатель того, что Паскаль был однозначно хорош для игростроения. В том числе и тем, что под вайном оригинал работал очень пристойно в отлисие от крестовых поделок, где бесконечно что-то утекает.

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

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

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

Не, писал я это с нуля еще до ИИшек. Криво, как попало, потом потихоньку переделывал. Но что сломано конкретно в этой версии?

LightDiver ★★★★★
()

Саму игру не видел, да даже и не слышал если честно, врать не буду. Но, как разработчик прог на Delphi 3 тире 6, замечу, что с графикой оно дружит не очень. Даже больше скажу - очень не дружит, особенно с «быстрой» графикой, без подключения соответствующих библиотек OpenGL. Не то чтобы собачку на этом скушал, но во всяком случае, пытался.

PS: Можно конечно и зайца научить курить... в таком вот аксепте...

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

И показатель того, что Паскаль был однозначно хорош для игростроения.

Ни-фи-га! Никогда он не был хорош для игростроения. Помню, когда ещё на кафедре, писали обучающие проги, так для качественно-быстрой анимации половина кода писалась на ассемблерных вставках, благо Borland Pascal 6.0 это позволял делать, чтобы напрямую кидать кусок видеопамяти из одного места в другое. Просто стандартными его средствами всё настолько было медленно и печально...

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

стандартными его средствами всё настолько было медленно

Стандартными средствами BGI, а не Паскаля?

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

Там не такая сложная графика. При достаточной фантазии даже с минимальными интструментами можно сделать очень много.

https://s6.iimage.su/s/06/gXFXJJqxozBUbMVupD02zkUktN8bPzKmsaAeDmqQI.jpg

Тут нет графических примитивов. Точек, линий, кругов. Можно нарисовать жестко заданную текстуру по координатам и привязать ее к объекту. Все.

На скрине примерно 29 тысяч объектов паутины.

Игру уровня КР можно и на таком сделать. Даже с анимациями, которых официально нет - они а раз два текстурами эмулируются, если что. Их движением, размерами, сменой.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от cadaber

В каком году это было? Отрисовка силами процессора пень1-3?

Я тут тестировал скорость языков на работе со строками в основном. Знаешь, они не сильно медленнее ассемблера. Бывают даже быстрее за счет оптимизаций. Это не такая большая разница. Не в десятки и не сотни раз. В 2-5 раз может в худшем случае.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.