Обновлено:

На этой странице

Что применить из OpenCiv3 в нашей браузерной игре

Исходная точка

По локальным README.md и dist/app.js наша игра уже имеет изометрическую карту, редактор местности и типов юнитов, движение, бой, захват городов, производство, простой AI, localStorage и JSON-экспорт. Карта хранится полным прямоугольным массивом; интерфейс и правила находятся в одном JS-модуле. Полноценная экономика Civ3 пока из этого не следует.

Вывод исследования: OpenCiv3 полезнее всего как источник архитектурных решений и проверочных примеров. Переход на Godot и подмена нашего баланса чужим ruleset не требуются для использования этих идей.

Последовательность внедрения

ПриоритетКонкретный результатЗависимостиКритерий готовности
1Выделенные модель и командыТекущее состояние и редакторыЧеловек и AI вызывают одну проверку движения, боя и производства
2Версии схемы и профиля, PRNGЯвная модельПосле сохранения и загрузки партия продолжается без повторного хода и иной последовательности бросков
3Структурированный профиль правилНаши таблицыВсе ID и ссылки проверены; неподдерживаемые флаги перечислены
4Еда, население, рост и один заказ городаПрофиль и цикл ходаПрогноз совпадает с фактом, население не становится нулевым
5Слои клеток и рабочиеДоходы, задания юнитовДорога совместима с ресурсом и местностью, прогресс работ переживает загрузку
6Наука, казна, содержаниеПроизводство и доходыСуммы и округления объяснимы, дефицит предсказуем
7Ресурсы и торговая сетьДороги, технологии, владениеРазрыв сети сразу меняет доступность производства
8Роли AI и многотуровые целиОбщий API командAI заканчивает ход и выбирает достижимые цели
9Культура, настроение, дипломатияЭкономика и владельцыПоследствия видно до подтверждения команды, договоры сохраняются
10Расширение до полного профиля AtlantsПроверенный ограниченный циклПо каждому сценарию опубликована матрица совместимости

Это наш план внедрения, не roadmap OpenCiv3 и не уже выполненная переработка игры.

Что взять как образец

Что нужно изменить при адаптации

Наши координаты не совпадают со смещённой сеткой Civ3. Импорт должен преобразовывать соседство и размеры отдельно от экранной проекции.

Наше поведение захвата городов следует сохранить или заменить явным правилом: изученный путь OpenCiv3 уничтожает город. Привязки AI к именам юнитов нужно заменить способностями. Точность A* при нулевой цене, состояние RNG, спорные формулы обстрела и возраст культуры требуют собственного решения.

Состав standalone нельзя использовать как полный игровой профиль: он обусловлен наличием графики. Для Atlants нужны все фактические таблицы и отчёт о неподдерживаемых возможностях.

Минимальный завершённый срез

Практический следующий этап: одна небольшая карта, поселенец, рабочий, три боевых типа, два ресурса, несколько технологий, рост города, один заказ производства, содержание и победа по завоеванию. Это предлагаемое ограничение объёма, а не установленный пользователем окончательный состав.

Результат можно считать готовым, когда полный путь от основания города до победы проходит вручную и после промежуточной загрузки, а редакторы не нарушают целостность данных. Далее расширять содержимое по существующему плану переноса.