APL で書かれた 3D ボクセルゲームエンジン

2026/06/21 17:04

APL で書かれた 3D ボクセルゲームエンジン

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

要約

Japanese Translation:

このテキストは、APL 表記の開発における有用性を証明することを目的とした実験的なヴォーゲルゲームの詳細を記述しています。これは個人の賭け事から始まりました。現在、本ソフトウェアは非常に不安定でバグが多く、セッション中にリロードせずに複数回プレイできないなどの重大な使い勝手上の課題を抱えています。「syserror 999」というエラーによりメモリリークが生じる可能性があります。プロジェクトには Dyalog APL 20.0 や特定の C コンパイラ、CMake といったニッチな依存関係が必要であり、Windows における DLL の手動配置や、Linux/MacOS における

make
/
cmake
のような複雑なワークフローも必要です。パフォーマンスはグラフィックバックエンドによって大きく変動しており、特に Windows 上では DirectX12 が現在サポートされていません(リクエストにもかかわらず)。シェーダー管理には glslc や spirv-cross といったツールが不可欠です。操作としては、移動に WASD キー、ジャンプに Space キー、カメラ制御にマウス、そして終了や情報切り替え、noclip の切り替え、ブロック選択(例:1-5)など特定のキーを使用します。ヴォーゲル開発の簡素化に対する概念実証として機能しつつも、本プロジェクトは依然として技術的実験段階におり、テクスチャは Madeline Vergani にクレジットされています。

Text to translate:

This text details an experimental voxel game designed to prove the utility of APL notation for development, originating from a personal wager. Currently highly unstable and buggy, the software faces significant usability hurdles, including the inability to play multiple times in a single session without reloading and potential memory leaks indicated by "syserror 999". The project requires niche dependencies such as Dyalog APL 20.0, specific C compilers, CMake, and complex workflows involving manual DLL placement on Windows or

make
/
cmake
on Linux/MacOS. Performance varies heavily by graphics backend; notably, DirectX12 is currently unsupported on Windows despite requests, while shader management requires tools like glslc and spirv-cross. Controls include WASD for movement, Space to jump, Mouse for camera, and specific keys for quitting, toggling info, noclip, and block selection (e.g., 1-5). While serving as a proof-of-concept for simplifying voxel development, the project remains in a technical experiment phase with textures credited to Madeline Vergani.

本文

LSE プロジェクトガイドライン

概要

このプロジェクトは、APL の表記法を用いてブロック型(ヴォクセル)ゲームを容易に作成することを目的としています。ただし、本プロジェクトは実験的であり、バグが含まれている可能性があります。

操作説明

キー機能
W・A・S・D移動
スペースキージャンプ
マウスカメラの操作
Qゲーム終了(quit)
Iレンダリング情報の表示/非表示切り替え
F高速なノンクリップモードへの切り替え
Lマウスのロック・アンロック
1 ~ 5設置可能なブロックの選択

環境要件

以下のソフトウェアが必須です:

  • Dyalog APL 20.0 以上
  • C コンパイラ
  • CMake
  • グラフィックス API:VulkanDirectX12(Windows)あるいは Metal(macOS)のいずれか
  • 依存ライブラリ:
    sdl3
    ,
    sdl3_ttf
    ,
    sdl3_image
    • macOS での Homebrew 利用者向け

インストール手順

MacOS および Linux

依存関係をインストールし、リポジトリをクローン後、以下の手順でビルド・インストールしてください。

cd lse
mkdir build
cd build
cmake ..
make
make install

これにより、以下がシステムにインストールされます:

  • MacOS:
    ./libs/
    直下の
    libLSE.dylib
    と SDL3 ライブラリファイル
  • Linux:
    libLSE.so

ゲームを起動するには、以下のコマンドを実行します:

./main.apls

注意(Linux)
一部ユーザー環境では

dyalogscript
が別のパスにある場合があります。その際は、
main.apls
内の shebang ラインを書き換えて正しいパスへ変更してください。

Windows

Windows 上ですべての要素をコンパイルするのは複雑です。推奨される手順は以下の通りです:

  1. CMake-GUI を用いて SDL3 の開発ライブラリ(libsdl3 リリース より)を設定してください。
  2. 代わりに、リポジトリのルートディレクトリにある
    ./libs
    フォルダに
    .dll
    ファイル一式を配置したリリース版を使用することも可能です。

Dyalog セッション内でゲームを実行するには:

]cd <ROOT DIRECTORY>
]link.create # ./avg
Run
state.Play

シェーダーのコンパイル

  • ソースコード:
    ./shaders/glsl
    格納
  • 同梱済みのシェーダーを修正する場合は、GLSL ファイルを編集後、以下のスクリプトを実行してください:
./compile_shaders.sh

必要なツール:

  • DirectX Shader Compiler (
    glslc
    )
  • spirv-cross

既知の問題点

  • Windows: パフォーマンス低下(レグレス)は現在解決中
  • DirectX12: Windows 上でのサポートなし
  • セッション制限: 同じ APL セッション内で複数回プレイ不可
  • エラー現象: 「syserror 999!」「Known to syserror 999!」が発生するケースあり
  • メモリリーク: どこか場所で発生している可能性があります

クレジット

  • テクスチャ作成:Madeline Vergani @RubenVerg

同じ日のほかのニュース

一覧に戻る →

2026/06/22 6:29

アペルトス:主権 AI 向けのオープンファウンデーションモデル

## Japanese Translation: スイス AI イニシアチブによって、EPFL、チューリッヒ工科大学(ETH)、CSCS の協力により、画期的な完全にオープンな多言語 AI モデルが開発されました。本モデルは、全データの透明性を確保しながら強力な技術への即時アクセスを提供します——再現性を確保するため、すべてのデータ、コード、重み付け、手法、アライメント原則が文書化されています。1,000 以上の言語から DAY ONE にトレーニングを開始し、8B および 70B パラメータ規模の両方で競争力を誇る性能を実現しています。EU AI アクトの要件に厳格に準拠しており、データ opting-out を尊重し、個人情報を削除するとともに、メモライゼーションを防止します。スイスエコシステム内でスイスコミが戦略パートナーとして携わっており、本イニシアチブはさらなる開発のためのグローバルなスケーラブルな基盤となっており、強力な能力と責任ある管理の間でバランスを保つ道徳的で再現可能な枠組みを確立しています。

2026/06/22 6:40

私の以前の職場は不正行為があるためにだけ存在していたのでしょうか?

## Japanese Translation: 最も重要な教訓は、UK のスタートアップ GenieDB が、そのコア技術革新は後に真面目な業界プレイヤーによって採用されたにもかかわらず、ポートフォリオの成長のためではなく、投資家の資金を手数料主導で吸い上げるための仕組みを可能にするために、Stuart Frost 所有の US ベンチャーファンド「Frost VP」に買収された点である。GenieDB は M&A を狙って収益機会を積極的に見送っており、顧客数は最大 3 ヶ社を超えたことがなかった。また、チームが交代させられ、U.S. に残ったのは著者の一人だけだった。10 年後、Frost VP が SEC から詐欺容疑で訴えられたというニュースが明らかになり、同社は関連のないサービス(例:料理人を雇う個人シェフサービス、クリーニング業者、ビザスポンサーシップやマーケティング会社など)に対して過剰な手数料を徴収するインキュベーターとして活動していたことが判明した。仲裁の結果、投資家が勝訴し、反訴では上記のような詐欺の嫌疑が詳細に記載されていた。Frost は当初、投資家との共謀を主張したが、証拠に立ち向かうことができず敗訴した。GenieDB の CEO やインサイダーは両方とも、投資がこの手数料モデルに動機付けられていたことを認めたが、裁判所は GenieDB がなぜポートフォリオに加わったのかについて具体的な理由を判定することはなかった。このスキームは資金残高を枯渇させ、著者の人生軌道(U.S. 市民権の喪失やキャリアの安定性への影響を含む)を変え、さらに Frost から資金管理の禁止という恒久的な禁制を下すことで、事実上 Frost VP の運営を終了させた。この事例は、高額手数料型のインキュベーターモデルについて鋭い警告を示しており、詐欺的な手数料構造が正当な企業価値を覆い隠し、投資家や従業員双方に壊滅的な長期的影響をもたらす可能性があることを示している。

2026/06/22 6:10

すべては対数なりである

## Japanese Translation: 以下の文章は、情報のすべてを維持しつつ、流れと簡潔性を向上させるための改訂版である: > 本書は、対数($\log N$)を具体的な底を持たない抽象的な実体として捉え直すことで、特定の単位や底が選択される場合にのみ数値的値を獲得するという視点を提案する。この見解は、点そのものが基礎的なものであり、原点の選択を行うことで初めて数値的な変位(displacements)となるベクトル幾何学の概念と直接的な対応を確立する。この枠組みにおいて、対数の底の変更は物理的な単位系の変更、あるいは微積分における微分形式の書き換えに等しい。この議論は対称性を他の分野にも拡張しており、$p$ 進評価($p$-adic valuation)や複素解析における消滅位数(order of vanishing)は、対数代数的構造内での投影として機能し、さらにベクトル空間の対数としての振る舞いを見せる次元などは、分数次元といった仮想的な構成すら許容する。自然対数を多項式の振る舞いと関連付ける極限や導関数を通過して再定義することで、本書は次元、導関数、評価という一見異なる概念が、乗法的構造と加法的结构との間のより深い同型写像(isomorphism)の現れであるとして論じる。結局のところ、この視点を採用することにより、数学に一般共変性(general covariance)を適用することは、冗長な単位依存記号によって遮られている単純で座標freeな実在にアクセスする手段を示唆している。

APL で書かれた 3D ボクセルゲームエンジン | そっか~ニュース