Pull to refresh

Caesar3 все таки open

Reading time2 min
Views21K


Некоторое время назад, примерно с 2008 года, у меня был хобби-проект по воссозданию довольно знаменитого конце ХХ века ситибилдера Caesar III ©, в процессе работы над игрой был написан ряд статей по механике игры и её внутреннему устройству (например эта).

Чуть позже на сайте поклонников игры я познакомился с другим разработчиком, также увлеченным восстановлением, и хотя наши подходы к восстановлению игры в корне отличались, это не помешало обмениваться информацией. Очень интересно было изучать код оригинальной (через IDA, попутно восстановив часть исходников) механики и, переработав его, использовать в своей игре.

Примерно через четыре года получился более-менее живой проект с уровнями перенесенными из прародительницы, но уже описанными в json-конфигах, с самописным GUI, прикрученным js движком, небольшими изменениями в графическом оформлении. А еще получилась полностью переосмысленная динамика города, оставляющая очень схожее с оригиналом поведение. Собственно так и задумывалось.

imageЧто получилось, можно посмотреть тут

image


Другой любитель древностей, Bianca van Schaik, пошла по пути пересказа, ну или вольного (dx5-7 часть была реализована на SDL) перевода исполняемого файла. Несколько недель назад и этот проект был закончен и выложен на github:

— Реализовано и восстановлено более 90% процентов сишного кода оригинала
— Имена переменным даны по их функционалу
— Смысл части переменных остался неизвестен
— Некоторые части не используются в основном коде
— Другие остались хвостами из движка Caesar2

Всеx неравнодушных к археологии кода прошу на github:

Оригинальный репо с сишным кодом
А тут адаптировано к сборке плюсами

P.S. Проект компилится, запускается и играется, надо только на уровень выше бинарника положить папку data, куда скопировать ресурсы от Caesar3, пока только английского.
P.P.S. Не говорите, плиз, Activision, а то опять забанят репозиторий :)
Tags:
Hubs:
Total votes 76: ↑76 and ↓0+76
Comments30

Articles