Optcarrotの実行

デモの実行

まず、GraalVMをインストールします。

次に、PATHにGraalVM/binを追加します(またはRubyマネージャを使用します):

export PATH="/path/to/graalvm/bin:$PATH"

また、SDL2もインストールする必要があります:

次に、optcarrotリポジトリをクローニングします:

git clone https://github.com/eregon/optcarrot.git
cd optcarrot

その後、Lan Masterゲームをプレイできます。

Linuxの場合:

ruby --jvm bin/optcarrot --print-fps --sdl2 --audio=none examples/Lan_Master.nes

macOSの場合は、GUIを表示するために追加のフラグ--vm.XstartOnFirstThreadが必要です:

ruby --jvm --vm.XstartOnFirstThread bin/optcarrot --print-fps --sdl2 --audio=none examples/Lan_Master.nes

ノート: --audio=noneを使用するのは、60FPS以外の速度ではオーディオが正常でないためです。

プレイするには、画面を拡大する場合はキー[1][7] (テンキーにあるものではない)を、OKの場合または右に回転する場合は[X]を、左に回転する場合は[S]を、移動する場合は矢印を、終了する場合は[Q]を使用します。

詳細は、このブログ投稿を参照してください。

TruffleRubyおよびMRIでのデモの実行に関する講演の記録はここにあります。

他のRuby実装での実行

比較のためにMRIでこれを実行することもできます。次を使用してFFI gemをインストールする必要があります:

gem install --user ffi
ruby bin/optcarrot --print-fps --sdl2 --audio=none examples/Lan_Master.nes

必要に応じて、JRubyでこれを実行することもできます:

jruby bin/optcarrot --print-fps --sdl2 --audio=none examples/Lan_Master.nes

TruffleRubyリポジトリからのベンチマークとしての実行

TruffleRubyのローカル・チェックアウトがある場合は、bench/optcarrotにあるOptCarrotのバージョンを使用することもできます。詳細は、ベンチマークのドキュメントを参照してください。