**Show HN:** **R3forth** – カラー・フォース(ColorForth)に触発された小型 VM を備えた言語

---

2026/02/07 7:10

**Show HN:** **R3forth** – カラー・フォース(ColorForth)に触発された小型 VM を備えた言語 ---

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

要約

Japanese Translation:


要約

r3forth は ColorForth と古典的な Forth からインスパイアされた、ミニマリストでセルフホステッドのスタック機械言語です。そのコア仮想マシン r3evm は C 言語で書かれたわずか約40 KBで、Windows と Linux 上で外部ライブラリを必要とせずに動作します。ただし、Linux ビルドには SDL2 開発パッケージ(

libsdl2-dev
libSDL2-image-dev
など)が必要です。

プロジェクトは事前コンパイル済みのバイナリ(Windows 用

r3.exe
、Linux 用
r3lin
)を配布しており、セルフホステッドコンパイラも提供しています(現在は Windows のみ)。ソースからビルドするには、リポジトリをクローンし(
https://github.com/phreda4/r3evm
)、
make
を実行し、生成されたバイナリを起動します。

起動時に r3forth は自動的に

main.r3
をロードし、
/r3
ディレクトリをスキャンして内部メニュー、エディタ、辞書ブラウザ、およびライブコーディングツールを構築します。これにより、端末から直接スクリプトを実行できるようになります(Linux では
./r3lin hello.r3
、Windows では
r3 hello.r3
)。

エコシステムは古典的な Forth を拡張し、グラフィックスと 2D ライブラリ(スプライト、タイルマップ、フォント)、3D エンジン、衝突ハッシュ、およびテキストベース UI と即時モード GUI 用のツールを備えています。すべてのソースコード、ドキュメント、デモ、ゲーム、チュートリアルは GitHub、itch.io、YouTube にホスティングされています。

将来のリリースでは、ハードウェア上でネイティブに動作する直接金属ビルドを提供し、グラフィックス、ロジック、および UI コンポーネント用のライブラリセットを拡張していく予定です。これにより、r3forth はインディーゲーム開発、趣味プロジェクト、その他スタック機械ユースケースで迅速なプロトタイピングに適した軽量プラットフォームとして魅力的になります。

本文

r3forth – ミニマリスト・セルフホステッド スタックマシン環境

r3forth は ColorForth と Forth の哲学に触発されたプログラミング言語および開発環境です。極端な最小主義と実用的かつ創造的なパワーを両立した、完全にセルフコンテインドなシステムとして設計されています。


技術概要

  • 超ミニマリスト VM – C で書かれた非常に軽量で移植性の高いコア(約40 KB)(r3evm)。Windows と Linux に対応。
  • ゼロボトル哲学 – 大規模な標準ライブラリや複雑なツールチェーンはありません。VM 本体、スタック、およびユーザーコードだけです。
  • 高速性とネイティブ志向 – VM 上で動作しながらも r3 はスピードを追求しています。現在は Windows 向けに完全に r3forth で書かれた自己ホスト型コンパイラがあり、将来的には直接メタルへの実装へと進化させる土台を築いています。
  • 豊富なエコシステム – この最小コアの上に、次のような強力ライブラリを提供します:
    • グラフィクス & 2D:スプライト、タイルマップ、フォント、アニメーション、スタックベーススプライト。
    • 高度ロジック:3D エンジン、衝突ハッシュ、TUI/即時モード GUI (immgui)。
    • ツール:統合エディタと増え続けるゲーム・デモコレクション。

クイックスタート

Linux

  1. 依存関係をインストール
    sudo apt install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-mixer-dev
    
  2. 事前コンパイル済みバイナリ実行 – 最新リリース(.zip)をダウンロードし、実行します。
  3. ソースからビルドする(互換性重視推奨):
    git clone https://github.com/phreda4/r3evm
    cd r3evm && make
    mv r3lin ../
    cd ..
    ./r3lin
    

Windows

  1. 最新リリース(.zip)をダウンロード。
  2. 解凍して
    r3.exe
    を実行。インストールは不要です。

ワークフロー:r3 の使い方

1. 統合開発環境 (IDE)

  • 引数なしでバイナリを起動 (
    ./r3lin
    on Linux,
    r3.exe
    on Windows)。
  • システムは自動的に
    main.r3
    を読み込み、
    /r3
    フォルダをスキャンし、内部メニューとツールを構築します。
  • IDE 内には組み込みコードエディタ、辞書ブラウザ、ライブコーディングツールが備わっています。

2. 標準テキストエディタワークフロー (CLI)

  • スクリプト (
    hello.r3
    ) を作成し、コードを書きます。
  • 直接実行:
    • Linux:
      ./r3lin hello.r3
    • Windows:
      r3 hello.r3

VM はスクリプトをミリ秒単位でコンパイル・実行し、即時フィードバックを提供します。


最初のプログラム

:main
    0 sdlcls
    $ff0000 sdlcolor
    10 10 100 100 sdlfrect
    sdlredraw
    sdlkey
    >esc< =? ( exit )
    drop ;
    
:
    "角に赤い箱" 800 600 SDLinit
    'main SDLShow
    SDLquit 
;

フォルダ構成

  • main.r3
    – コア起動スクリプト。
  • /r3/
    – すべてのコード、システムライブラリ、IDE コード、コアツール(全
    .r3
    )。
  • /asm/
    – コンパイラフォルダ(呼び出さない限り未使用)。
  • /dll/
    – Windows DLLs (インストール不要)。
  • /doc/
    – ドキュメント。
  • /media/
    – グラフィックス、サウンド、モデル、フォント等。
  • /mem/
    – 静的メモリ(r3 から退出時に情報を保持)。
  • main.xml
    – Notepad++ 用の構文ハイライト設定。

ショーケース & デモ

r3 はクリエイティブスイートです。以下のメディアをご覧ください:

  • develop.mov
  • games.mov
  • demo.mov
  • opengl.mov

itch.io 上のゲーム集: https://phreda4.itch.io/

さらに詳細なドキュメントは

/doc
フォルダにあります。


追加リソース

  • チートシート(基本ワードのみ)
  • マニュアル
  • クイックリファレンス
  • SDL グラフィックスプログラミングガイド
  • 基本ライブラリのワード集
  • YouTube チャンネル (動画付き)

同じ日のほかのニュース

一覧に戻る →

2026/02/07 6:51

**OpenCiv3:サイクリズム・III のオープンソースでクロスプラットフォーム化した再構築**

## Japanese Translation: OpenCiv3は、Civilization IIIのオープンソースでクロスプラットフォームなリメイクであり、レガシー制限を取り除き、モッドサポートを拡張しつつもコアゲームプレイを保持します。Godot EngineとC#で構築されており、Windows、Linux、macOS上でネイティブに動作し、専用のCivilization IIIファイルは不要です(ただしローカルコピーがあると互換性が向上します)。 現在のプレアルファ版(v0.3「Dutch」、2025年12月)は、OS固有のzipまたはtgz(「スタンドアロンモード」でプレースホルダーグラフィック付き)として配布されます。インストール手順は以下の通りです。 - **Windows** – zipを解凍し、`OpenCiv3.exe` をダブルクリックします。ブロックされている場合は解除し、自動検出できない場合は環境変数 `CIV3_HOME` にCivilization IIIフォルダーのパスを設定してください。 - **Linux** – `.tgz` を解凍し、`export CIV3_HOME="/path/to/civ3"` としてから `OpenCiv3.x86_64` を実行します。 - **macOS** – zipを解凍し、`xattr -cr /path/to/OpenCiv3.app` でクォータリゼーションを解除し、同様に `CIV3_HOME` を設定してターミナルから起動します。 既知の問題としてはプレースホルダー資産、不完全なBIQ/SAVファイルサポート(クラッシュを引き起こす可能性があります)、および新規ゲーム開始時にマップ生成用保存ファイルが欠如しているためmacOSでクラッシュするケースがあります。最低ハードウェア要件はまだ公開されていません。プロジェクトはMITライセンスの下でリリースされ、Firaxis、CivFanatics.com、その他の団体とは独立しています。 開発者はBIQ/SAVサポートの完全復元、プラットフォーム別クラッシュ(特にmacOS)の修正、後半ゲームコンテンツの追加、およびグラフィックと安定性の向上に積極的に取り組んでいます。バグや機能要望はGitHubで追跡されており、コミュニティからの貢献が奨励されています。 モッドフレンドリーでクロスプラットフォームな基盤を提供することで、OpenCiv3はプレイヤーと開発者にオリジナルIPを侵害せずにクラシックなCivilization体験を拡張する機会を提供します。

2026/02/07 1:20

Waymoワールドモデル

## Japanese Translation: > **Waymoは、Waymo World Modelという生成シミュレーションエンジンを公開しました。このエンジンは、極端な天候・自然災害・象やロングホーンのような珍しいオブジェクト、逆走トラックなど安全に関わるインシデントを含むハイパーリアリスティックな自律運転シナリオを生成します。** > Google DeepMind の Genie 3 をベースにしたこのモデルは、カメラと LiDAR データを融合し、ドライビングアクション制御・シーンレイアウト制御・時間帯、天候、カスタムシナリオを調整する言語プロンプトという3つの制御機構を提供します。録画済みまたは新規生成されたルートに対して代替ドライビング決定を評価する「what‑if」反実仮想シミュレーションもサポートしています。 > Waymo Driver は米国都市で約 2 億マイルの完全自律走行距離を記録し、数十億マイルに相当するバーチャル走行をシミュレートしてきました。World Model はリアルなダッシュカムやモバイルカメラ映像を多模態シミュレーションへ変換し、正確な視覚シーンと一致させることでこの機能を拡張します。効率的なバリアントは実時間の最大4倍速で動作し、計算資源を削減しつつ長時間テストが可能です。 > このシステムは、安全性が証明された自律運転を実現するために Waymo の AI エコシステムの重要柱となっており、Waymo と Google DeepMind からなる大規模チームによって開発されています。

2026/02/05 20:19

**ジオジョインをH3インデックスで400 倍高速化した手法** - **問題点:** 大規模な空間データセットに対する従来のジオジョインクエリは、ポイント‐イン‐ポリゴン判定やテーブル全体のスキャンが必要だったため遅延が大きかった。 - **解決策:** Uber の H3 ヘキサゴナル階層インデックスシステムを利用し、空間情報を固定サイズセルへ事前集約した。 - **実装手順:** 1. すべてのジオメトリ(点・線・多角形)を適切な解像度で対応する H3 インデックスに変換する。 2. 生成されたインデックスを別テーブルに格納し、H3 キーで索引付けする。 3. ジョイン時には、重複した H3 インデックスをキーとしてマッチさせ、膨大な空間判定処理を回避する。 - **結果:** クエリ遅延が数時間から数分へと短縮され、約 400 倍の高速化を実現。また、選択した解像度内であれば空間的正確性は維持された。 ジオメトリ比較を単純な整数キー検索に置き換えることで、データの忠実度を損なうことなく大幅なパフォーマンス向上を達成しました。

## Japanese Translation: ## Summary この記事は、コストの高い空間述語をH3ベースの集合演算に置き換えることで、遅い二次元空間結合をコンパクトなキーで高速ハッシュ結合へと変換する方法を示しています。各ジオメトリを解像度 3 の少数の H3 セルで覆うことにより、結合は最初にセルを共有する候補ペアをフィルタリングし、その後で正確な `ST_Intersects` をその候補のみに適用します。これにより、潜在的に何百万もの交差チェックが、フィルタ済みセットだけに減少し、テストで 400 倍の速度向上を実現しています。この手法は CTE、ビュー、およびサブクエリとシームレスに機能し、追加のマテリアライズドテーブルやスキーマ変更は不要です。したがって、精度を下げるなどの実験も容易になります。高い H3 解像度では偽陽性が減少しますが、形状ごとのセル数が増加し、低解像度ではインデックス作成が簡単ですが、解像度 4 を超えるとセル数の増加により急激に大きくなります。実際には、この書き換えにより 15 ワーカーの Xeon クラスターで結合時間を約 459 秒から約 1.2 秒へ短縮し、正確な一致精度(最終的な `ST_Intersects` によって偽陽性が除去される)を維持したまま高速な空間分析を可能にしています。