а что, разве изначально не так все было? 
обожемой, что за раки делали эту игру?
какому главкрабу пиршла в голову "гениальная" идея пересчитывать все при смене сессии?
теперь понятно откуда лаги, тиди, трафик контроль и прочее говно.
Опять полезли диванные программисты. Было бы забавно посмотреть, как бы ты сделал. Ты уверен, что там всё именно пересчитывается, а не только нужные параметра, а остальные кешируются? Например, при пропрыге по гейту и цинке наверняка считают не всё с нуля, если пропрыг идет не на другую ноду. На параметры, которые вряд ли будут использованы вполне можно просто сбросить флаг актуальности, что наверняка и делается. Если написано "пересчитаем всё", не факт, что это именно означает пересчитать всё физически, слышал когда-нибудь про ленивую инициализацию?
На самом деле то как есть сейчас вполне логично:
1) При смене сессии происходит фактически создание кораблика с нуля.
2) Кораблик это у нас набор характеристик, которые зависят от скиллов, фита, опять от скиллов, ещё от кучи неинтересных в данном контексте параметров. Нам нужно вычислить функции от всех этих параметров, чтобы получить характеристики.
3) Чтобы получить характеристики для функций мы лезем в дальние дали на момент написания основного кода это было очень даже близко и быстро.
В этих терминах BiaB просто меняет эти функции таким образом, чтобы так далеко лезть не приходилось. Сохраняются промежуточные результаты для этих функций. Сами функции меняются так, чтобы эти результаты можно было сохранить.
Тут надо уточнить термин "корабль", так то он создаётся и уничтожается в моменты распаковки и перепаковки/отправления на борду соответственно. Создается некий объект, в который включены шип, его фит, капсулер, флот, текущая система и может ещё много всего. Скорее всего в этот момент и рассчитываются основные множители для формул, по которым дальше будет определяться поведение этого объекта и устанавливаются зависимости между всеми составляющими. Тут очень сложно определить сложность операции, вроде как посчитать численные значения, пусть даже для 10000 коэффициентов для каждого из 1000 капсулёров, проваливающихся в гайку, не должно быть особо сложным. Тут, правда, есть узкий момент, что СП для каждого скила каждого капсулера нужно получить из БД, но вроде как это еденичная операция и не уверен, что запрос на отдельный кластер будет быстрее, чем запрос к БД.
Так то смысл блога, как я понял, в том, что придется лезть ещё дальше, чем обычно, но всего 1 раз для 1 капсулира, и не надо вычислять каждый раз параметры по формулам.