Сообщество Империал: Календарь в Total War: Rome II - Моддинг Total War: Rome II (Rome 2 Total War) - Total War: Rome II (Rome 2: Total War) - Библиотека - Сообщество Империал

  • Поиск
  • Законы
  • Сообщество
  • Репутация
  • Экономика
  • Больше

Информация об авторе

  • Автор: Савромат

Информация по статье

  • Добавлено: 04 Янв 2014, 22:44
  • Просмотры: 1232

Дополнительно

Репутация: 1
Календарь в Total War: Rome II

Описание: На примере CiG
Календарь в RIITW устроен довольно прихотливым образом. Наверное многие заметили что весна наступает в январе, осень - в июле и т.д. Связано это с тем, что СА как-то интересно увязала нормальный календарь где Новый год с 1 января - с древнеримским, существовавшим до Юлия Цезаря, когда расхождение календарного времени года с фактическим бывало огромным и достигало 3 месяцев. В игре взята "средняя" величина расхождения, действовавшая на III в до н.э. - два месяца. И - римский год, начинавшийся с марта.
Летоисчисление устроено просто - системное время считается A.U.C (ad Urbe Condita, от основания города (Рима)). Комп никаких "до н.э." и "н.э." не знает (и не знает проблемы возникшей в первом Риме когда в начале нашей эры случался критический краш и гамовер) - имхо, СА подсмотрели это дело у авторов мода Roma Surrectum II, которые ввели римское летоисчисление для избежания оного бага. То, что мы видим на экране - 58 г. до н.э. и т.д. - это "перевод" системного времени на историческое. Примерно как в локализации системные имена можно безнаказанно "переводить" какими нам надо. Игра будет считать по-своему в глубине себя, а мы будем видеть как нам нужно.
Новый год начинается по-римски, в марте, то есть с весны. Но прописан на месте марта - январь. То ли чтобы отразить "криворукость"римского доюлианского календаря и его расхождение с реальностью, то ли так получилось при программировании - перетащили январь на март и все.
А дальше идет интересная штука.

Календарь прописан в стартпозе. Так и называется - CAMPAIGN_CALENDAR. Там две таблички:

Вверху значения CAMPAIGN_CALENDAR, ниже - DATE
Что означают эти цифры?

24 - число ходов в год
6 - порядковый номер временного периода (в Цезаре в Галлии равного 2 неделям) с начала года (нашего, с 1 января)
0 - номер хода с начала игры (т.к. это стартпоз, то ход нулевой)

695 - дата A.U.C (= 58 г. до н.э.)
1 - сезон (1 = лето, 2 = осень, 3 = зима, 4 = весна)
3 - апрель (1 = февраль, 2 = март, 4 = май и т.д.)
0 - начало (0 = начало, 2 = конец, других значений в CiG нет)

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

695
4 (= весна)
12 (= январь)
0 - начало

Результат:

Как видите, все подтвердилось. Игра начинается - весна, начало января.

Обратите внимание что с карты исчезли леса. Связано это с тем, что стартовые карты прописаны скриптами в разных местах и менять там все надо аккуратно. Мне в данном случае нужна была только проверка календаря, поэтому леса меня не интересовали.

Я попробовал изменить в "Цезаре" календарь на 48 ходов в год чтобы совместить его с моей большой кампанией 2TPY с соответствующими сокращениями дальности хода, увеличением времени изучения технологий и т.д. Но игра отказалась понимать стартпоз где поставлено 48 ходов в год - сезоны прекратились, все время шло одно только лето. Попытки найти где в игре определяется количество ходов в год в связи со сменой сезонов пока не увенчались успехом. Дрезден на ТВЦ сам ничего не знает в этом вопросе. Так что тут будем еще изучать. Но в принципе понимание устройства игрового календаря должно помочь в создании модов.
:003:
Copyright © «Империал». Копирование информации с этой страницы возможно только при указании прямых ссылок на эту страницу.




      Стиль:
        10 Дек 2016, 04:10
    © 2016 «Империал». Условия предоставления. Ответственность сторон. Рекрутинг на Империале. Лицензия зарегистрирована на: «Империал». Счётчики