- PVSM.RU - https://www.pvsm.ru -
Некоторое время назад, примерно с 2008 года, у меня был хобби-проект по воссозданию довольно знаменитого конце ХХ века ситибилдера Caesar III ©, в процессе работы над игрой был написан ряд статей по механике игры и её внутреннему устройству (например эта [1]).
Чуть позже на сайте поклонников игры я познакомился с другим разработчиком, также увлеченным восстановлением, и хотя наши подходы к восстановлению игры в корне отличались, это не помешало обмениваться информацией. Очень интересно было изучать код оригинальной (через IDA, попутно восстановив часть исходников) механики и, переработав его, использовать в своей игре.
Примерно через четыре года получился более-менее живой проект с уровнями перенесенными из прародительницы, но уже описанными в json-конфигах, с самописным GUI, прикрученным js движком, небольшими изменениями в графическом оформлении. А еще получилась полностью переосмысленная динамика города, оставляющая очень схожее с оригиналом поведение. Собственно так и задумывалось.
Что получилось, можно посмотреть тут [2]
Другой любитель древностей, Bianca van Schaik, пошла по пути пересказа, ну или вольного (dx5-7 часть была реализована на SDL) перевода исполняемого файла. Несколько недель назад и этот проект был закончен и выложен на github:
— Реализовано и восстановлено более 90% процентов сишного кода оригинала
— Имена переменным даны по их функционалу
— Смысл части переменных остался неизвестен
— Некоторые части не используются в основном коде
— Другие остались хвостами из движка Caesar2
Всеx неравнодушных к археологии кода прошу на github:
Оригинальный репо с сишным кодом [3]
А тут адаптировано к сборке плюсами [4]
P.S. Проект компилится, запускается и играется, надо только на уровень выше бинарника положить папку data, куда скопировать ресурсы от Caesar3, пока только английского.
P.P.S. Не говорите, плиз, Activision, а то опять забанят репозиторий :)
Автор: dalerank
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/267890
Ссылки в тексте:
[1] например эта: https://habrahabr.ru/post/221913/
[2] Что получилось, можно посмотреть тут: https://bitbucket.org/dalerank/caesaria
[3] Оригинальный репо с сишным кодом: https://github.com/bvschaik/julius
[4] А тут адаптировано к сборке плюсами: https://github.com/dalerank/julius
[5] Источник: https://habrahabr.ru/post/341974/
Нажмите здесь для печати.