2018/02/21(水) [n年前の日記]
#1 [dxruby][ruby] BGアタリ処理を書いてるところ
せっかく DXOpal でタイルマップBG描画ができたのだから、地形とのアタリ判定もしてみたいところだなと。もっとも、只の四角が敷き詰められてるBGなら、アタリ判定も楽だけど、先日作成したタイルマップは、坂も用意してる地形だったりするから、それに対応した処理を書かないといけない。
ということで、昔 DXRuby用に書いたスクリプトソースを探してきて修正しているところ。
しかし、以前書いたソレを眺めてるうちに、ちょっと修正したくなってきて。
以前は、実行するたびにタイルチップ画像を一つ一つスキャンして、アタリ判定用データを作っていたけれど。考えてみたら毎回起動時にやることでもないよなと。事前に何かのツールを通してアタリ判定用データを別途作って、それを読み込んで処理するほうが妥当だろう…。そのようにしておけば、アタリ判定処理自体は、DXRuby以外の何かしらでも使えるようになるだろうし。
などと思えてきたので、それ用のツールスクリプトを書き始めてしまったり。とりあえず json でアタリ判定用データを出力する方向で…。
ということで、昔 DXRuby用に書いたスクリプトソースを探してきて修正しているところ。
しかし、以前書いたソレを眺めてるうちに、ちょっと修正したくなってきて。
以前は、実行するたびにタイルチップ画像を一つ一つスキャンして、アタリ判定用データを作っていたけれど。考えてみたら毎回起動時にやることでもないよなと。事前に何かのツールを通してアタリ判定用データを別途作って、それを読み込んで処理するほうが妥当だろう…。そのようにしておけば、アタリ判定処理自体は、DXRuby以外の何かしらでも使えるようになるだろうし。
などと思えてきたので、それ用のツールスクリプトを書き始めてしまったり。とりあえず json でアタリ判定用データを出力する方向で…。
[ ツッコむ ]
#2 [ruby] Rubyで使える画像処理ライブラリは無いのだろうか
DXRuby を利用して、画像を読み込んでスキャンするスクリプトを書いているところなのだけど。昨今の状況を鑑みるに、DXRuby でその手の処理を書くのはどうなんだろうと思えてきたりもして。
現状の DXRuby には、以下の問題があって…。
しかし、Rubyで使える画像処理ライブラリが思いつかない。これが Python なら PIL (Pillow) を入れれば済んでしまうのだけど。
一般的には _RMagick だろうけど、Windows上でのインストールは鬼門で、ImageMagick のバージョンを決め打ちしないとインストールできなかったりするから避けたいなと。
_mini_magick は…。Windows上でインストールできるのかな…。
png画像だけを扱うことにすれば、 _chunky_png を使う手もあるか…。使い方がちょっと分からんけど。いや。 _昔ちょっとだけさわったことがあるな…。 試しにコレで処理してみよう…。
現状の DXRuby には、以下の問題があって…。
- DXRuby は、Ruby 2.4、Ruby 2.5 では動かない。Ruby 2.3 までしか対応していない。
- そもそも DXRuby は、Linux や Mac 上では動かない。Windows上でしか動かせない。
しかし、Rubyで使える画像処理ライブラリが思いつかない。これが Python なら PIL (Pillow) を入れれば済んでしまうのだけど。
一般的には _RMagick だろうけど、Windows上でのインストールは鬼門で、ImageMagick のバージョンを決め打ちしないとインストールできなかったりするから避けたいなと。
_mini_magick は…。Windows上でインストールできるのかな…。
png画像だけを扱うことにすれば、 _chunky_png を使う手もあるか…。使い方がちょっと分からんけど。いや。 _昔ちょっとだけさわったことがあるな…。 試しにコレで処理してみよう…。
[ ツッコむ ]
#3 [dxruby][ruby] Rubyはどうなってしまうのだろう
思考メモ。
個人的には、Ruby 2.4 以降に対応したDXRubyが公開されないあたりで、Rubyの今後をちょっと心配していたりもして。…DXRubyの今後じゃなくて、Rubyの今後。
ここ数ヶ月、DXRuby作者様が困っておられるわけで。
_mirichiさんのツイート: "ところでDXRubyは現在VCでビルドしたやつがRubyInstaller2の...
困りましたな…。Rubyで使える2Dゲームライブラリは、Rubyのバージョンアップから次々に振り落とされて、軒並み壊滅状態だけど、とうとうDXRubyまで…なのだろうか…。 *1
LinuxやMacに比べれば、おそらくは圧倒的にユーザ数が多いのであろうWindowsユーザに対し、「Rubyでゲームも作れるよ」とオススメしつつとりあえずちょびっとでもRubyを触ってもらうキッカケになる、という点で、DXRuby の存在は結構大きいのではないのかなと個人的には想像していて。逆に、今後 DXRuby が比較的新しい Ruby では使えないことになると、WindowsユーザをRubyへと誘導できる入口が一つ消滅してしまうから、Rubyコミュニティへの新人の流入数が減り、結果、一部のお爺さん達しか使わない言語になっちゃう…可能性だってあるかもしれないよなと危惧したりもするわけで。
昔、 _Ruby作者様がHSPをdisってた ことがあるけれど。当時のHSPで出来ていたことの、ある程度の部分は、Ruby + DXRuby でも出来るようになったから、「わざわざHSPを使わなくてもいいよ!」「それRubyでできるよ!」と言えるぐらいに状況は改善したと言えるわけで。しかし、ここにきて、また昔に ―― 「どうしてHSPなんか使うの?」「は? だってコレRubyでできないじゃん」と言われちゃう時代に逆戻りなのだろうか…。Ruby作者様がプログラムコンテストの類に呼ばれてみたらまたしてもHSP製のアプリがずらりと並んでいてゲンナリする状況に戻ってしまうのだろうか。みたいな。
てなことを考えてしまったりもするので、個人的には DXOpal に期待しているところがあったりするのでした。「それブラウザ + Ruby + DXOpal でできるよ!」と言える状況が実現したら、結構改善するところがあるのだろうなと。何より、ブラウザ上でRubyで書いた何かしらが動くと言うのは大変魅力的なわけで。enchant.js あたりと似たようなプレゼンが出来て、見る側にとっては負担が減るわけだから。ローカルに一々DLしてRubyをインストールして動作確認しなくても、ブラウザで該当ページを開くだけで結果が見れると言うのは大きい…。
でもまあ、Ruby + Gosu を使って誘導する手もあるのかな…。
更に、Ruby に拘らなければ、Lua + love2d を使うとか、そもそもその手のゲームを作るなら JavaScript で、という選択肢も…。要は、プログラミングって面白いよと分かってもらえるなら、何を使ってもいいわけだし。とはいえ、DXRuby のシンプルさと機能性のバランスって、群を抜いてるように思えるわけで。
そもそも、各言語への誘導を促すための何か、プログラミング自体に親しむ何か、ゲームを作るための何か、それぞれの正解は違う、かもしれないのかな。うーん。
まあ、思考メモです。
個人的には、Ruby 2.4 以降に対応したDXRubyが公開されないあたりで、Rubyの今後をちょっと心配していたりもして。…DXRubyの今後じゃなくて、Rubyの今後。
ここ数ヶ月、DXRuby作者様が困っておられるわけで。
_mirichiさんのツイート: "ところでDXRubyは現在VCでビルドしたやつがRubyInstaller2の...
ところでDXRubyは現在VCでビルドしたやつがRubyInstaller2のRubyで使えなくて困っている状態なんだけども、MSYS2でビルドするとダイナミックリンクになってD3DX(標準でWindowsに入ってない)の配布が問題になるんよね。つくづく困った。
困りましたな…。Rubyで使える2Dゲームライブラリは、Rubyのバージョンアップから次々に振り落とされて、軒並み壊滅状態だけど、とうとうDXRubyまで…なのだろうか…。 *1
LinuxやMacに比べれば、おそらくは圧倒的にユーザ数が多いのであろうWindowsユーザに対し、「Rubyでゲームも作れるよ」とオススメしつつとりあえずちょびっとでもRubyを触ってもらうキッカケになる、という点で、DXRuby の存在は結構大きいのではないのかなと個人的には想像していて。逆に、今後 DXRuby が比較的新しい Ruby では使えないことになると、WindowsユーザをRubyへと誘導できる入口が一つ消滅してしまうから、Rubyコミュニティへの新人の流入数が減り、結果、一部のお爺さん達しか使わない言語になっちゃう…可能性だってあるかもしれないよなと危惧したりもするわけで。
昔、 _Ruby作者様がHSPをdisってた ことがあるけれど。当時のHSPで出来ていたことの、ある程度の部分は、Ruby + DXRuby でも出来るようになったから、「わざわざHSPを使わなくてもいいよ!」「それRubyでできるよ!」と言えるぐらいに状況は改善したと言えるわけで。しかし、ここにきて、また昔に ―― 「どうしてHSPなんか使うの?」「は? だってコレRubyでできないじゃん」と言われちゃう時代に逆戻りなのだろうか…。Ruby作者様がプログラムコンテストの類に呼ばれてみたらまたしてもHSP製のアプリがずらりと並んでいてゲンナリする状況に戻ってしまうのだろうか。みたいな。
てなことを考えてしまったりもするので、個人的には DXOpal に期待しているところがあったりするのでした。「それブラウザ + Ruby + DXOpal でできるよ!」と言える状況が実現したら、結構改善するところがあるのだろうなと。何より、ブラウザ上でRubyで書いた何かしらが動くと言うのは大変魅力的なわけで。enchant.js あたりと似たようなプレゼンが出来て、見る側にとっては負担が減るわけだから。ローカルに一々DLしてRubyをインストールして動作確認しなくても、ブラウザで該当ページを開くだけで結果が見れると言うのは大きい…。
でもまあ、Ruby + Gosu を使って誘導する手もあるのかな…。
更に、Ruby に拘らなければ、Lua + love2d を使うとか、そもそもその手のゲームを作るなら JavaScript で、という選択肢も…。要は、プログラミングって面白いよと分かってもらえるなら、何を使ってもいいわけだし。とはいえ、DXRuby のシンプルさと機能性のバランスって、群を抜いてるように思えるわけで。
そもそも、各言語への誘導を促すための何か、プログラミング自体に親しむ何か、ゲームを作るための何か、それぞれの正解は違う、かもしれないのかな。うーん。
まあ、思考メモです。
*1: 少し解説すると、Windows版 Ruby は
_RubyInstaller for Windows
がメジャー?なのだけど。Ruby 2.4 から MSYS2 を使ってビルドするように変更されたので、色々問題が。そもそも RubyInstaller も、おそらくは元々の作者さんが、「俺はもう Ruby なんて使ってないんだよね。だけどビルドが通るように修正するだけでも時間取られるんだわ。こんなんやってられませんわ」
_みたいなこと
になって一度は見捨てられて、後を引き継いだ方が MSYS2 を使って、という流れだから Windows 上で動く Ruby 2.4 が公開されてるだけでもありがたいという…。
[ ツッコむ ]
#4 [nitijyou] 電動自転車の前輪タイヤとサドルを交換
親父さんが自転車屋さんまで持っていって交換してくれた。詳細はGRPでメモ。
[ ツッコむ ]
以上、1 日分です。