Experimental feature in GraalVM

Optcarrot の実行

デモを実行する #

TruffleRuby JVM 独立版のインストール から開始します。

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

  • macOS 上の brew install sdl2
  • RedHat ベースの Linux 用の sudo yum install SDL2-devel
  • Debian ベースの Linux 用の sudo apt-get install libsdl2-dev

その後、optcarrot リポジトリをクローンします

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

その後、ランマスターのゲームができます。

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

注意: オーディオは 60FPS 以外の速度では適格ではないため、--audio=none が使用されます。

プレイするには、キー 17 (テンキーではなく) を使って画面を拡大縮小し、X を OK/右折に、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 のバージョンも使用できます。詳細については、ベンチマークに関するドキュメントを参照してください。

お問い合わせ