- ゼロからの、レトロゲームエンジンの作り方 - Speaker Deck
- レトロゲームエンジン Reight の中に processing gem がある。
https://speakerdeck.com/tokujiros/zerokarano-retorogemuenzinnozuo-rifang?slide=18
- A Drawing Engine using OpenGL. https://github.com/xord/rays
- A Graphical User Interface Tool Kit. https://github.com/xord/reflex
- Yet Another Processing implementation for Ruby https://github.com/xord/processing
- A game engine based on the Processing API https://github.com/xord/rubysketch
その下にさらに低レイヤーの C++ ライブラリがある。
- Useful utility classes and functions. https://github.com/xord/xot
https://rubygems.org/gems/processing/
xot, rays を内部で使っている。 reflex や rubysketch は確かに不要そうではある。
現在挑戦中。
RubyInstaller+DevKit + msys2 + pacman glew, openal が必要。(processing だけでいいなら glew だけでもいけそう)
Mac, iOS で動く Processing 互換の開発環境。
Mac があれば独立したアプリもリリースできるらしい。
(ここが重要) 内部では processing gem を使っていると思われるので Windows PC で processing gem で書いたコードは、iOS 上でも RubySketch 経由で同じように動かせるはず。
Windows PC で processing gem で書いたコードは、Web 上でも p5.rb 経由で同じように動かせるはず。
現状把握しているのは draw, update などがメソッド定義でなくブロック渡しになっているので、そこだけ薄いラップを書けばいける?
require 'processing`
alias _setup setup
alias _draw draw
alias _update update
# ここが p5.rb の main.rb 相当
def setup
end
def update
....
end
def draw
end
# ここまで
_setup { setup }
_draw { draw }
_update { update }
※ processing gem に関数定義モード、みたいなオプションを作ればいいのかも?