Культовую Civilization 1991 года полностью воссоздали на C# с исправлением багов и поддержкой современных систем
Энтузиаст DavIT-Futures представил Civ 1.5 Remastered — полный перенос оригинальной Civilization на C# и .NET с исправлением ошибок, современными удобствами и кроссплатформенностью.

Энтузиаст под псевдонимом DavIT-Futures представил проект Civ 1. 5 Remastered, представляющий собой полный перенос оригинальной пошаговой стратегии Civilization 1991 года на современный стек технологий C# и платформу . NET. Главная задача разработки заключается в переносе классики Сида Мейера на современные операционные системы без использования сторонних эмуляторов вроде DOSBox. Автор декомпилировал оригинальный исполняемый файл CIV. EXE и пошагово переписал каждую ассемблерную функцию на высокоуровневый код, сохранив исходную игровую математику и эмулируя структуру памяти процессора Intel 8086.
Каждая функция оригинального исполняемого файла переведена в методы на C#. Поначалу код строго следовал машинному уровню, регистрам и стеку, но постепенно трансформировался в понятную архитектуру с сохранением оригинальной логики и аутентичного поведения, — рассказывает DavIT-Futures.
Проект функционирует как нативное кроссплатформенное приложение с графическим интерфейсом на базе библиотеки Avalonia. В отличие от запуска старых игр через эмуляцию виртуального окружения, ремастер обращается напрямую к графическим API и операционной системе, обеспечивая мгновенную загрузку и поддержку полноэкранного режима с корректным масштабированием в пропорциях 4: 3. Для полноценной работы исполняемого файла пользователю достаточно поместить рядом каталог с ресурсами оригинальной версии 1991 года, откуда движок считывает спрайты, текстуры, палитры и тексты.
Исправление механик и багов
В основу проекта заложено исправление наиболее спорных механик оригинальной игры. В версии 1991 года исход любого сражения решался одним броском генератора случайных чисел, из-за чего простейшая трирема или ополченцы с копьями могли уничтожить линкор. В Civ 1. 5 Remastered боевая модель переведена на пошаговые раунды, а войска получили фиксированные очки здоровья. Обычные отряды имеют 3 очка прочности, ветераны обладают 4 очками, а элитные подразделения получают 5 очков. Сражения сопровождаются наглядными индикаторами здоровья, а поврежденные войска восстанавливают силы каждый ход в городах или полевых укреплениях.
Разработчик устранил критические ошибки оригинального 16-битного кода, годами доставлявшие неудобства игрокам. В классике показатели развитых цивилизаций вызывали переполнение памяти на экране демографии, из-за чего уровень счастья и объемы производства превращались в отрицательные числа. Разграбление клеток рядом с границами чужих городов приводило к повреждению памяти и аварийному закрытию игры. В ремастере эти уязвимости полностью устранены, а примитивный генератор псевдослучайных чисел уступил место современному алгоритму xoshiro128. Заодно исправлена логика железных дорог: поезда больше не теряют очки движения при сквозном проезде через дружественные города.
Ремастер предлагает обширный набор современных удобств, которых не хватало первоисточнику. В игре появились 20 слотов для ручных сохранений и 20 циклических автоматических сохранений на каждом ходу вместо архаичных 4 ячеек с интервалом в 1000 лет. Чудеса света больше не теряют свои свойства с изучением определенных технологий и работают непрерывно, пока игрок удерживает соответствующий город. Устаревшие отряды разрешено модернизировать за золото прямо в городах с сохранением ранга, а в интерфейсе поселений заработали новые постоянные проекты для конвертации 50% щитов производства в науку, золото или продовольствие.
Особое внимание уделено звуковой системе и расширению контента. Движок ремастера содержит 8 аудиорежимов, включая точную программную эмуляцию 3-голосного звукового чипа Texas Instruments SN76496 компьютеров семейства Tandy 1000, поддержку синтезаторов AdLib OPL2, плат Roland MT-32 и вывод композиций в формате General MIDI. В проект также встроено дополнение, добавляющее в стандартный пул наций Польшу во главе с Казимиром III Великим и Японию под началом Токугавы Иэясу с собственными городами, 2-пиксельной красно-белой формой и оркестровыми национальными гимнами. Исходный код Civ 1. 5 Remastered опубликован под открытой лицензией MIT, а готовые сборки весом около 20 МБ доступны для систем Windows, Linux и macOS на архитектурах x64 и ARM64.




Обсуждение
Войдите, чтобы присоединиться к обсуждению.
Загружаем обсуждение…