mieki256's diary



2017/08/28(月) [n年前の日記]

#1 [raspberrypi][ruby][gosu] Raspberry Pi3上にgosuをインストールしてみた

Raspberry Pi3上に、gosuをインストールしてみた。gosuってのは、Rubyを使って2Dゲームを制作できるライブラリ。

sudo raspi-config で、OpenGLドライバ(Fake KMS版)を有効、かつ、Memory Split でGPUに256MBを渡した状態に設定してから、動作確認。

BG x 2枚 + スプライト512枚を描画してみたら40FPSしか出なかったけど、スプライトを160枚に減らしてみたら60FPSで動いてくれた。これならどうにかメガドラ相当のゲーム画面も作れそう。しかも OpenGLを使えば背景だけでも3DCGにできたりするから、セガサターンっぽいゲーム画面だって不可能ではない、かもしれない。

Python + cocos2d がスプライト80枚を描画するだけでも40FPS前後しか出なかったことを考えると、速度面では Ruby + gosu のほうが優秀というか、まだ使い物になりそうな雰囲気。

もっとも、Raspberry Piシリーズは、Pi1、Pi2、Pi3、Zero、それぞれCPU性能が違うわけで…。Raspberry Pi3上なら使い物になりそうでも、Zeroあたりで動かしたら話にならない可能性も。各環境で試してみないと分からんところがあるなと。

gosuのインストール。 :

一応、gosu の wiki に、Raspberry Pi用のインストール方法が書いてあるのだけど。

_Getting Started on Raspbian (Raspberry Pi) - gosu/gosu Wiki

記事の冒頭に、

「ここに書いてあるのは Pi1 用のやり方だよ」
「Pi2 や Pi3 は、 _OpenGLを有効にした状態 で、Ubuntu/Debian Linuxと同じやり方でインストールしてくれ」
「gosuの現行版は動かんので、sudo gem install gosu --pre で最新版をインストールしてみて」

…と書いてある。ので、Linux版の記事のほうを参考にしつつ作業。

_Getting Started on Linux - gosu/gosu Wiki

sudo apt update
sudo apt upgrade
sudo apt install build-essential
sudo apt install libsdl2-dev libsdl2-ttf-dev libpango1.0-dev libgl1-mesa-dev
sudo apt install libopenal-dev libsndfile-dev libmpg123-dev
sudo apt install ruby-dev

sudo gem install gosu --pre
Rubyのモジュールは gem を使うとネットワーク経由でインストールできる。--pre は、現行版(安定版?)じゃなくて最新版(開発版?)をインストールせよ、という指定らしい。

gem でインストールすると、Rubyから呼び出せるバイナリを作るために、コンパイルだかビルドだかが走る。結構時間がかかるので、気長に待つ。体感で10分以上かかったような…。

gosu以外にも、chipmunk、opengl、rmagick もあったほうがいいらしいので、それもインストール。これもビルドされるので、やっぱり気長に待つ。
sudo gem install chipmunk
sudo gem install opengl
sudo gem install glu
sudo gem install glut

sudo apt install ruby-rmagick
sudo apt install libmagickcore-dev libmagickwand-dev
sudo gem install rmagick
_How to install the RMagick gem on a Raspberry Pi :: Andrew Havens, Ruby Developer

gosu-examples をインストールすると、gosuのサンプルを動かせる。

_Ruby - Gosu
sudo gem install gosu-examples
gosu-examples
gosu-examples と打って実行。右側のスクリプト名?をマウスでクリックするとサンプルを切り替えられる。chipmunk、opengl、rmagick もインストールしてあると、選べるスクリプトが増える模様。

もしかしたら、音を鳴らすために pulseaudio とやらも必要なのだろうか…。自分の環境では既に入ってたけど…。
sudo apt install pulseaudio
_OF 0.9.0 Rasberry Pi B+ sound problem - bugs, errors - openFrameworks

また、ひょっとすると、freeglut3 関係も必要だったりするのかな。要らないのかな。どうなんだろう。
sudo apt install freeglut3 freeglut3-dev
_OpenGL (GLUT) で正方形が動くだけのアニメーション - Qiita

問題点。 :

Ruby + gosu を使うスクリプトを実行すると、相変わらずエラーメッセージが表示される…。
libGL error
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
_Raspberry Pi 2/3 Model B(Raspbian Jessie with PIXEL)でRStudioを使う
_Bug #1656930 " OpenGL applications warns “MESA-LOADER: failed to...” : Bugs : Raspbian
_98629 - OpenGL applications warns "MESA-LOADER: failed to retrieve device information"

また、サウンド関係を使うと、これまた警告が。

_OpenAL warning on Ubuntu - Issue #292 - gosu/gosu

以上です。

過去ログ表示

Prev - 2017/08 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project