EVE Online が Python 3 に移行

2026/08/25 22:04

EVE Online が Python 3 に移行

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

CCP は「EVE Evolved」のイニシアチブを開始し、2003 年にスタックレス Python(2010 年に 2.5 から 2.7 へアップグレード)で起動し、2020 年の End-of-Life 以来 Python 2.7 に依存していた EVE Online を Python 3 に移行させる取り組みを開始します。この移行の目的は、コードベースの近代化、デバッグツールの向上、パフォーマンスの改善、および新機能の実現を図ることであり、初期段階ではプレイヤーには目立たない形で進められます。Python 3 の優れたテキスト/整数処理能力、ライブラリ間の一貫した動作、そして現代のツール링が移行を後押しする要因となっています。コードベースは約 240 万行(約 2 万ファイル)に及んでいます。両方のインタープリターに対するスキャンでは、ブロックされる問題として約 3,300 件のみが発見されました(その内訳:レガシーの print ステートメントが約 1,500 件、「long」リテラルが約 800 件、廃止された例外句が約 600 件、<> オペレータが 50 件)——これにより移行は概ね実現可能であることが示唆されています。約 2 万行は両バージョンでコンパイル可能ですが、意味論的な差異が存在します(例:整数除算が désormais フLOAT を返すなど)。本計画は 2 つの段階から構成され、第 1 段階ではランタイム動作を変更せずに機械的な構文の違いを削除し、今後の段階では Singularity(7 月末に実施された)でテストを行った後、Tranquility サーバーへの展開が行われます。EVE Frontier が 12 のマイナーバージョンおよび 23 年のコードの基盤の上に成功をおさめたことを踏まえ、この移行は数十年前の技術に対して安定した基盤を構築します。プレイヤーは通常のゲームプレイを継続するよう求められますが、Python 3 の意味論的な変化から生じるかもしれない予期せぬ結果については報告することを検討してください。

本文

EVE Online の Python 3 への大規模マイグレーションを開始しました

イニシアチブの概要

  • 「EVE Evolved」イニシアチブの一環として、ゲームのコードベースにスポットライトが当てられています。
  • EVE Online のゲートジャンプ、マーケット注文、艦隊戦闘などの全ての機能を支えているのは膨大な量の Python コードです。
  • 20 年以上にわたり New Eden を支えてきたこのコードは、ついに Python 3 への移行を開始しました。
  • この移行が目指す成功の定義はシンプルです:
    • 日常使用においてはユーザーが変化を感じないこと。
    • システムが時折、よりスムーズに動作すること。

古くさいコードベースからのスタート

  • EVE は 2003 年にリリースされ以来、軽量な「タスケット」機能により単一サーバーで何千ものパイロットを管理することを可能にした Stackless Python に基づいて構築されました。
  • Python バージョンの変更履歴:
    • 2007 年:Stackless Python 2.5 へのアップグレード。
    • 2010 年:Stackless Python 2.7 への移行。
    • その後は長期間、バージョンを維持していましたが、Python 2.7 は 2020 年に公式な End of Life (EOL) を迎えました。
  • カーボンエンジン(Carbon engine)の進化もありましたが、現在は時代の流れに合わせ、前進する時が来ました。

なぜ今、Python 3 のか?

Python 2 に留まることはゲームの足かせとなります。移行によるメリットは以下の通りです:

  • パフォーマンスの向上
    • 最近の Python 3 リリースは歴史的最大の速度向上を達成しました。
    • 長期的にはより高速な EVE が実現可能になります(具体的な数値は今すぐ断言はできません)。
  • エコシステムの進化
    • モダンなライブラリ、デバッガー、プロファイラーはすべて Python 3 を前提に設計されています。
    • Python 2 への維持コストが高まることで改善活動から維持活動へ時間を使いがちでしたが、移行によりツールが手元に戻り、問題発見・修正が加速します。
  • 言語の簡素化
    • テキスト処理が一貫した文字列タイプに統一され、ローカライゼーションの信頼性が向上します。
    • 整数(Integer)はサイズ制限を持たず、必要に応じて自動的に増加します。
    • クラスシステムが統合され、レガシーな挙動が排除されてオブジェクト指向コードが洗練されました。

重要: EVE のすべての文字、スキルポイント、資産、ISK は Python 2 コードで記述されています。これら全てが Python 3 で読み込まれた際にも 元通りの正確性を維持しなければなりません。

  • EVE Frontier が既にカーボンエンジンと Python 3 を組み合わせ運用に成功しているため、この目標は達成可能です。
  • Tranquility サーバーには 23 年間に蓄積された 240 万行ものコードと実際のプレイヤーデータがあります。これを 24 時間中 23 時間 45 分稼働させながら移行するのは大きな挑戦です。

マイグレーションの進め方:注意深く・段階的に

コードベースは約 240 万行あり、その多くは Python 3 が完全にパース(解析)できない古い形式(Python 2.3 や 2.5 時代)で記述されています。

第 1 段階:自動ツールの活用と構造的変更

  • 目標: コードを依然として Python 2.7 で動作させつつ、Python 3 に対応する準備を整えること。
  • ツール:
    Python-Future
    を使用。これは Python 標準の「2to3」に基づいたコード書き換えマシンです。
  • 処理内容:
    • 自動的なフィキサー(修正プログラム)を適用し、陳腐なパターンを現代形式へ書き換えます(両バージョンで動作する形式)。
    • 検出された変更量: コンパイル自体の問題は比較的少なく、以下が主な対象でした。
      • print
        ステートメント(約 1,500 行)
      • 「long」型数値リテラル:
        123L
        など(約 800 行)
      • 廃止された構文を持つ例外節(約 600 行)
      • 古式ゆかしい不等価記法
        <>
        (50 件)

今後の課題:振る舞いの差異の是正

パースは完了しましたが、コンパイルはできても動作が異なるコードが約 20,000 行存在します。これが真に困難な作業です。

  • 具体例: 割算処理
    • Python 2:
      1 / 2
      0
      (整数割り算)
    • Python 3:
      1 / 2
      0.5
      (浮動小数点割り算)
  • EVE においてこれらの数値はダメージ量や ISK、座標等重要なデータとなります。
  • 対応方針: 機械的な修正ではなく、人間の判断によりそれぞれの行について丁寧に修正を行います。

この移行がプレイヤーに意味すること

  • 短期的には変化なし: 第 1 段階の変更は不可視化されており、プレイ体验に影響ありません。これは意図的な設計です。
  • 長期的なメリット:
    • 艦隊戦闘やマーケットハブを駆動する高速インタープリターの実現。
    • バグ発見・修正の早期化を実現するモダンなツールの提供。
    • 新開発者がより生産的に取り組めるコードベースによる新機能の迅速な実装。
  • これは EVE Online の今後 20 年を見据えたインフラストラクチャー整備となります。

コミュニティへのご支援とお願い

  • 「何も感じないこと」こそがゴールです。皆様のご協力が達成のために必要です。
  • シンギュラリティでのテスト: 7 月末に最初のセットの変更点をプレイテストしてくださった皆様への感謝を表します。
  • Tranquility サーバーでの運用:
    • 通常通りプレイを続けてください。
    • もし何か違和感を感じた場合は、必ず バグ報告を filing してご連絡ください。
    • エージェントミッションのバックエンドも Python 3 対応に向けて準備を進めています。

次のステップ

  • 機械的なごみ取りは比較的簡単な部分でした。**本当に困難な作業(行ごとに手動で確認・修正)**はまだ先に行われています。
  • 今後の詳細テストについては、公式チャネルにて情報を注視してください。
  • もし「EVE の Python 3 移行」のお手伝いをしてみたいというパートナーの方がいましたら、これがチャンスです!

whichever version of Python you find yourself on, fly safe.

同じ日のほかのニュース

一覧に戻る →

2026/08/30 4:33

騰訊發布並開源騰訊Hy4預覽版

## Japanese Translation: 以下の改良版は、完全性を保ちながら読みやすさを維持するため、不足していた技術仕様と性能指標を組み込んでいます。 ## 改善された要約 Tencent は次世代の 770B パラメータを持つ大規模言語モデル(アクティブパラメータ:49B)「Hy4 preview」をローンチしました。このモデルは高生産性タスクに特化して最適化されており、1M トークンを超える広大なコンテキストウィンドウを備えています。Hy4 はシリーズ初となる自主的なトレーニングおよび推論システムの最適化を実現し、オペレーターフュージョンによりエンドツーエンドのスループットを 31.8% 向上させました。内部での盲目評価において、203 のエンジニアリングタスクにわたる 163 名の専門家によって行われ、GLM-5.3(2.92)および Kimi K3(2.94)に対してそれぞれ 2.99/4.00 と高いスコアを記録し、主要競合他社を上回りました。 ソフトウェアエンジニアリング、ゲーム、金融、科学の分野で Tencent の専門家によって共同作成された高品質なデータを用いてトレーニングされた Hy4 は、長文脈開発、単一のプロンプトからのゲームプロトタイピング、分子動力学や物理学などの科学研究分野において明確な優位性を発揮します。現在、Hy4 は Tencent Cloud TokenHub および OpenRouter を介して世界中で利用可能であり、競合的 API 料率(入力トークンあたり 83.4 米セント)で提供されています。同モデルは WorkBuddy および CodeBuddy の Tencent プラットフォーム上で 2 週間無料利用が可能ですが、前世代の Hy3 は引き続き 9 月 30 日までの間アクセス可能です。

2026/08/24 14:09

Tether:Linux での iMessage や SMS の利用

## Japanese Translation: テザー(Tether)は、iPhone とペアリングされた際の macOS の「Continuity」機能——iMessage、SMS、コンタクト同期、通知、ファイル共有、クリップボード同期、ワンタイムパスワード(OTP)の自動入力——を Linux へ統合し、KDE Connect など既存ソリューションが補えていないギャップを埋めています。セキュリティは当初から最優先事項であり、iOS と Linux の通信には mTLS 暗号化を採用し、定期的に Opus および Fable のセキュリティスキャンを実施することで実現しました。他のメールクライアントへの広範なサポートはまだ利用できません。開発者はバックエンド開発を優先し、拡張子の移植には集中しないためです。OTP の自動入力は、Zen Browser(Firefox)と Betterbird(Thunderbird)向けのブラウザおよびメール拡張機能を通じて行われ、メールからコードを拡張機能へ送ってログインフォームの自動埋め込みを実現します。 直接の iMessage/SMS アクセスのための Bluetooth 統合は、GPL ベースのプロジェクト(例:ancs4linux や BlueFerry)とのライセンス衝突を避けるために、独自のカスタム C++「クリーンルーム」手法を用いて実装されています。テザーは引き続き MIT ライセンスを採用しています。現在の Linux ベースのデーモンは、Tailscale などの earlier プロキシ方式と比べてより優れた直接的な接続体験を提供しており、ユーザーからは不快であると評価されていました。iOS アプリが先に登場し、当初は基本的なクリップボード同期のみを処理し、その後に広範な Continuity スタックが構築されました。 ファイル共有およびプッシュ通知は直ちに利用可能ですが、ハードウェア制約や Bluetooth 切断の問題など、将来のアップデートにおける課題依然存在しています。特に Bluetooth の実装は 2026 年においてもエッジケースが多いため困難です。本プロジェクトは金銭的利益よりも真なる価値と満足感を提供することを目指しており、シームレスなクロスプラットフォーム接続を求める技術愛好家にとってユニークなツールとなっています。バグレポート、機能要望、翻訳、ドキュメントなどの貢献をコミュニティから歓迎します。

2026/08/30 3:22

vLLM 0.28.0

## Japanese Translation: このリリースは、主要なアーキテクチャ変更と拡張ハードウェアサポートにより AI 推論を加速することに焦点を当てた決定的なアップグレードです。主なパフォーマンス向上としては、ファインズドカーネルによって大きなモデル(特に MegaMoE)で最大 1.5〜3 倍の高速化、推論の最適化(DFlash2/DSpark)、GPU ごとに約 17 GiB のメモリ節約を実現する共有エキスパートシャッディングなどがあります。この更新はハードウェア互換性を大幅に拡大し、NVIDIA アーキテクチャ(Blackwell SM90/B12X を含む、ネイティブな DSA/FlashInfer パスを備えたもの)および AMD ROCm プラットフォーム(gfx950/gfx120x)、MLA および FP8 推論向けの特定の最適化を可能にします。 機能面では、Weight Offloading、マルチレイヤー MTP KV キャッシュ、アテンション不要なモデルサポートといった機能を備えた Model Runner V2 が導入されました。また、バッチトークン上限値を 16384 に倍増させたり、Mamba モデルにデフォルトでプレフィックスキャッシュを有効化したりするなどの推論デフォルトも標準化されています。エコシステムの主要な更新としては、PyTorch 2.12 と Transformers 5.15.0 への移行が必須となり、ディスクオフローディングをサポートする階層型 KV キャッシュシステムが追加されました。さらに、gRPC を通じたネイティブ Rust フロントエンドサポートが追加され、Muse Glimmer、Ling 3.0 Flash、Qwen3.8 など多数の新しいモデルへの対応も開始(AMD 向け)。組織は、これらの高度な機能を利用するために、非推奨化された関数や特定の依存関係に関する破壊的な変更に対応する必要があります。