カーヴボール

2026/07/05 1:15

カーヴボール

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

要約

日本語翻訳:

Curveball は、Neverball ゲーム向けの新しいオープンソースのウェブおよびデスクトップ用カーブ生成ツールであり、Rust で記述されています。これは、単純な円弧のみを生成出来た古い

curve.c
ユーティリティに代わり、2D プロフィールを定義された経路に沿って自動で圧縮(extrusion)することで複合的な 3D シェイプの作成を可能にし、凸包アルゴリズムを用いています。このためには
chull
クレイを使用します。経路沿いの回転はフレネ標系(接線 T、法線 N、副法線 B)によって処理されます。コア関数
extrude<PRF, PTH>
はセグメント、プロフィール、経路、およびオプションのプロフィール方向を受け取ります。圧縮機能に加え、Curveball は「Curve Classic」、「Curve Slope」(三角形のブラシを生成するもの)、そして「Rayto」をサポートしています。ソースコード、スクリーンショット、バイナリは GitHub で入手可能です。著者は以前休止していたレベルデザインにもこのツールを使用し、ワークフローを手動での調整から自動化された高忠実度の幾何形状作成へと移行することを期待しており、より広範なコミュニティへの採用を予定しています。

本文

Curveball: Neverball 向けカーブ生成ツールの紹介

Curveball はオープンソースゲーム Neverball 向けの洗練されたステージセットを作成するための、カーブ生成ツールです。

🌐 利用方法と環境

  • Web ブラウザでの利用: インストール不要でブラウザ上から動作します。
  • ソースコード: GitHub で公開されており、スクリーンショットも確認可能です。
  • デスクトップアプリとしての動作:
    • GitHub リリース版のダウンロード
    • Rust 環境があれば独自コンパイル(初心者でも難易度は低いです)
  • 言語: ソフトウェア全体は完全な Rust 🦀 で記述されています。

⚙️ なぜ Curveball を使うのか?

Neverball の既存ツール

curve.c
は円弧のみをサポートし、多様な形状の要望には対応できませんでした。開発者は「ランダムなスクリプト」から着想を得て、可視化機能を備えた統合ツールとして Curveball を開発しました。

🧱 仕組み:ブラシ(Brush)の構成

Neverball のステージは「ブラシ(brush)」で構成され、その定義には以下の制約があります。

  • 半空間の交わり: ブラシは平面の交差領域として定義されます(宇宙を順次半分ずつ切り落とし、最終的に残す領域)。
    • これにより衝突検出コードが簡素化されます。
  • テクスチャ記述フォーマット: Quake マップフォーマットを採用。
    • 平面上の 3 点で「切り取り」操作を定義。
    • ⚠️ 注意: 3 点の順序が誤っていると、意図せず宇宙全体を切除する危険性があります。

📦 直方体のデータ例(JSON)

座標は括弧

()
内、以降はテクスチャ関連情報です。

{
  "classname" "worldspawn",
  // brush 0
  {
    ( 0 0 64 ) ( 0 64 64 ) ( 64 0 64 ) mtrl/invisible 0 0 0 0.5 0.5 0 0 0
    ( 0 0 0 ) ( 0 0 64 ) ( 64 0 64 ) mtrl/invisible 0 0 0 0.5 0.5 0 0 0
    ( 0 0 64 ) ( 0 0 0 ) ( 0 64 64 ) mtrl/invisible 0 0 0 0.5 0.5 0 0 0
    ( 64 0 64 ) ( 64 64 64 ) ( 64 64 0 ) mtrl/invisible 0 0 0 0.5 0.5 0 0 0
    ( 64 64 0 ) ( 64 64 64 ) ( 0 64 64 ) mtrl/invisible 0 0 0 0.5 0.5 0 0 0
    ( 0 0 0 ) ( 64 0 0 ) ( 64 64 0 ) mtrl/invisible 0 0 0 0.5 0.5 0 0 0
  }
}

🔺 凸性の問題と解決策

  • 制約: ブラシはすべて凸形状である必要があります。多くのカーブは非凸であり、通常は多数の小さなブラシに分割して表現する必要があります。
  • 従来手法の問題: 点を手動で慎重に選択する方法はミスが起きやすく手間がかかりました。
  • 解決策: 凸包アルゴリズムの活用。
    • Rust ライブラリ
      chull
      を使用することで、多数の点を入力するだけで形状を自動的に構築できます。

🚀 鍵となるアイデア:押し出し(Extrusion)

機械設計 CAD ソフトウェア(Solidworks など)に触発された、洗練された抽象化手法を導入しました。

  1. 2 次元プロフィール形状を定義します。
  2. この形状を3 次元空間に押し出す操作を行います。
  3. Curveball では、この 2D プロフィールを経路方向に複数コピー配置し、隣り合う面の頂点を抽出して
    chull
    に渡すことでブラシを作成します。

メリット

  • 組み合わせの爆発力: $m$ 種類のプロフィール × $n$ 種類の経路 = 理論上 $m \cdot n$ 種類の異なるカーブを生成可能です。
    • 全組み合わせを手動コーディングするよりはるかに効率的です。

🌀 オリエンテーション(回転)に関する問題

経路上でプロフィールをどのように回転させるかは重要な課題です。特に

_REVOLVE_
経路や特殊な形状に有効です。

  • 技術的課題: 経路の位置と進行方向だけでは、回転軸や角度が確定しません。欠落していた自由度は**「ねじり(torsion)」**でした。
  • 解決策: **フレンネ標架(Frenet frame)**の活用。
    • 曲線上の任意の点で接線ベクトル $\mathbf{T}$、法線ベクトル $\mathbf{N}$、副法線ベクトル $\mathbf{B}$ を定義します。
    • これら 3 つのベクトルからなる回転行列 $[\mathbf{T}, \mathbf{N}, \mathbf{B}]$ に点を掛けることで簡単かつ正確に回転可能です。

Rust API サンプル

pub fn extrude<PRF, PTH>(
    n: u32,
    profile: &PRF,
    path: &PTH,
    profile_orientation: ProfileOrientation,
) -> CurveResult<Vec<Brush>>
where
    PRF: Profile,
    PTH: Path,
  • Profile
    : 経路に沿って変化可能な、平面上の点ベクトル列を生成するトレイト。
  • Path
    : 点を一つおよびフレンネ標架($\mathbf{T}, \mathbf{N}, \mathbf{B}$)を返し、経路の変化を定義するトレイト。

⚠️ ルールの例外:その他のカーブタイプ

Extrusion の他にも以下のカーブがサポートされています。

  • Curve Classic:
    extrude()
    で表現可能だが、互換性のために別途実装。
  • Rayto: Extrusion の工夫で実現可能だが、巧妙な活用が必要のため直接実装。
  • Curve Slope: 唯一
    extrude()
    だけでは生成できないカーブ。
    • ブラシ構成方法が異なり、結果としてブラシが「三角形のスライス」のように見えます。

🚀 今後の予定

  • 特定形状が必要なステージ開発を再開し、新しいコンテンツを作成中です。
  • Neverball コミュニティの皆様による創意工夫に期待しています。

同じ日のほかのニュース

一覧に戻る →

2026/07/05 8:41

鼻スプレーで脳の老化を逆転させることに成功した科学者たち

## Japanese Translation: テックス大学医学部ナーシュ K.ヴァシスト医学部の画期的な研究、アショーク・シェッティ医師をリーダーとし、再生医療研究所の下でマドフ・リラヴァーティ・ナラーヤナ氏とマハエダール・コダーリ氏といったシニア研究者が含まれたこの研究は、単純な 2 回投与の鼻スプレーが神経炎症性を逆転させ、脳機能を回復させることを示している。同研究は「細胞外小胞ジャーナル」(15(2): e70232, 2026)に発表され、数週間で炎症低減を示し、効果は数ヶ月持続することが確認された。治療法では、血脳関門を手術なしで回避しながらマイクロ RNA を直接脳組織へ届ける細胞外小胞(EVs)を使用している。細胞レベルにおいて、この治療は神経細胞のミトコンドリアを「充電」し、酸化ストレスを軽減すると同時に、NLRP3 インフラマソームおよび cGAS-STING シグナル経路といった炎症経路を抑制した。行動学試験では、対照群と比較して親しみのある物体を認識する能力や新たな環境を検出する能力に顕著な改善が確認された。シェッティ医師は、その成果が性別間で一貫性があり類似しており、このアプローチを「普遍的」と表現した。国立老人研究所(NIA)による支援を受けながら、特許出願が提出され、これは侵襲的な処置や月単位の薬物療法に代わる最小限の投与 regimes に向けた画期的な進歩を示している。2020 年の約 51 万4000 件から 2060 年には約 100 万件へと倍増するとの予測を踏まえれば、新たな認知症患者数の増加が待つのであり、このタイミングでの進展は意義深いが、世界規模で増大しつつある認知障害の負担を軽減しながら、従来の介入に伴うリスクを最小限に抑えるための変革的な一歩を提供している。

2026/07/05 4:41

Fable を用いた Command & Conquer: Generals の macOS、iPhone、iPad 向けネイティブ移植

## Japanese Translation: Zero Hour は、Apple Silicon Mac、iPhone および iPad 向けに公式ネイティブアプリケーションとして利用可能となり、DirectX 8 エンジンを Metal に変換する堅牢な翻訳パイプラインを採用しており、エミュレーションを必要とせずに動作します。このポータブルは fbraz3 が作成した GeneralsX プロジェクトを基盤とし、タップ選択、ドラッグボックス選択、ピンチによる拡大縮小など、基本的なタッチ操作を統合しています。macOS へのインストールには、外部的アセット(約 2.7 GB のバンドル)を抽出するために Steam コピーの所有が必要ですが、iOS バージョンはこれらのアセットがアプリケーションバンドル内に含められており、独立した体験を実現しています。開発プロセスには、Ammaar Reshi の指揮のもとで Claude Code が大幅な工数を投入し、MoltenVK や GPL v3 ライセンス付きコードなどのオープンソースツールを活用して、レガシーの PC アーキテクチャと最新の ARM64 ハードウェアを接続しました。Xcode 設定や特定のビルドスクリプトなどインストール前提条件が関わりますが、ユーザーはモバイルデバイス上で高性能の実時間戦略ゲームプレイを楽しむことができます。ただし、iOS ユーザーは長時間セッション中の潜在的なメモリ制限や、稀なバックグラウンド化時クラッシュについて留意する必要があります。

2026/07/05 6:51

GPT-5.5 Codex の推論トークンクラスタリングが性能低下を引き起こしている可能性があります

## Japanese Translation: 分析の結果、Codex ファミリーにおいて GPT-5.5 に特有の重大な異常が判明した。2026 年 2 月と 6 月 27 日の間、865 セッションから抽出された 390,195 トークン記録を検査したところ、GPT-5.5 の応答は過剰に正確な 516 トークンで終了する傾向があり、さらに 1034 トークンおよび 1552 トークンを周辺にクラスタリングしていた。GPT-5.5 は全応答の 19.3% に過ぎないにもかかわらず、正確な 516 トークンでのイベントの 82% を引き起こしており、非 GPT-5.5 モデルで観察されたレートと比較して約 33.6 倍高い。他のバージョン(GPT-5.4、GPT-5.2、および一部の GPT-5.3 バリエーション)では、これらの固定境界でのクラスタリングは著しく小さい。このパターンは分析深度の大幅な低下と相関しており、平均的な推論トークン強度は 2 月には 268.1 から 5 月には 107 トークン未満まで減少し、P90 も 772 から 344 トークンへと低下した。この異常は、GPT-5.5 の実行が正確な 516 トークンで終了する場合に複雑なコーディングタスクに対して誤った回答を返す過去の問題と関連している。固定トークン数でのクラスタリングは自然な変動ではなく閾値境界に似ており、推論予算のカップ、アクティブルーティングによる截断、スケジューラーの制限、または GPT-5.5 に特有のその他の内部閾値がある可能性を示唆している。この行動はEarlier モデルとの比較で severe な能力低下を示しており、高リスクなプログラミングシナリオにおける GPT-5.5 ファミリーの有用性を制限する可能性がある。専門家からは、これが劣化したサービス階級なのか、特定の内部ロジックなのか、またはその他の原因なのかを明らかにするために即時の調査を要請し、モデルと値ごとにトークンカウントイベントを照会して正確な値の数を比較したり、異なる GPT バージョンで複雑なタスクを再現するたり、正確な 516 トークンの応答とより長い推論出力を分離して行う品質評価を実施するなど、検証手順が提案されている。

カーヴボール | そっか~ニュース