6月5日、Wube Software開発チームが「Friday Facts #441 - Space logistics improvements」と題した記事を公開した。
ロケット1機で複数種類のアイテムを混載できる機能がFactorio 2.1で実装される。この機能により、宇宙プラットフォーム建設時の効率が劇的に改善され、従来の10〜20機のロケットが必要だった小規模建設が大幅に最適化される。
Factorio 2.0で導入された宇宙プラットフォーム機能は、同作史上最大の機能拡張として注目を集めたが、物流面での課題が残されていた。1種類のアイテムをフルスタックで送る従来仕様では、床タイル数枚のために1ロケット分が送られるなど、大量の未使用在庫が発生していた。
複数アイテム混載の技術的ブレークスルー
開発チームは当初、複数アイテム混載は「複雑すぎる」と判断していた。しかし、FactorioコミュニティやReddit、コミュニティDiscordでの活発な議論を受け、2.1での実装を決定した。
アルゴリズムの核心は「最低要求数から順次処理」である。一回限りの建設要求や重要アイテムを、惑星間で大量輸送される石灰石や科学パックより優先的に配送する仕組みだ。
ロケットが半分しか埋まらない場合は、最も要求の多いアイテムを過剰配送することで効率を保つ。アルゴリズムが適切なバッチを見つけられない場合は、従来の単一アイテムロケットにフォールバックして物流を停滞させない安全装置も組み込まれている。
プラットフォーム間直接転送で新戦略が開花
2.1ではプラットフォーム同士でのアイテム転送が可能になった。軌道上の要求設定で転送元を指定できる:
- Planet: 惑星のロケットサイロから配送
- Platforms: 軌道上の宇宙プラットフォームから配送
- All: 惑星とプラットフォーム両方から配送
この機能により、軌道上のバッファプラットフォーム構築、大型プラットフォームの迅速な初期構築、宇宙素材の軌道上製造など、これまで不可能だった戦略が実現する。
デッドロック問題の根本解決
2.0リリース後に報告された重要なバグへの対処も行われた。大きなプラットフォーム設計図を貼り付けた際、ハブの在庫容量が全要求を収容できずデッドロックが発生する問題だった。
解決策として、要求優先度APIが新たに実装された。プラットフォーム基礎部分とカーゴベイには高い優先度が設定され、大型プラットフォームの建設速度が大幅に向上した。
回路ネットワークとMOD対応の拡充
ハブ要求設定機能が回路ネットワークに対応し、工場の自動化レベルがさらに向上する。レーダーにはユニバースモードが追加され、チャンネル(SignalID)を指定することで同じチャンネルのレーダー間で信号の送受信が可能になった。
MOD制作者向けのサポートも大幅に強化された。特に要望の多かったロケット積載重量の変更可能化が実現し、「重量制限ありのスロット無制限」と「重量制限なしのスロット制限」から選択できるようになった。
視覚的改善とアニメーション刷新
2.1では最終グラフィック調整の一環として、ロケットサイロのアニメーションが刷新された。製造中の状態がより明確になり、ロボット用のピックアップ・ドロップ用ハッチも右上部に追加されている。
これらの改善により、Factorio 2.1の宇宙物流システムは格段に高機能になり、より複雑で効率的な宇宙運用が実現できるようになった。2020年のFactorio 1.0リリースから続く進化の中でも、特に重要なアップデートと言える。
詳細はFriday Facts #441 - Space logistics improvementsを参照していただきたい。