DXRuby0.0.2リリース

SourceForge.jpにてDXRubyの0.0.2をリリースした。
0.0.1はちょっとしょぼしょぼだったから、少し機能の追加と削除をして、使いやすくしてからのリリース。
配列からイメージを作成するメソッドも追加したから、外部イメージファイルなしでとりあえず簡単な画像なら作れるようになった。
理論的にはがんばればすごい絵もソースのみで作れる。
この機能があれば、簡単なサンプルをブログやWikiに貼り付けることができるから、なんか便利かなーみたいな。

最近の方向性と流行

クラスベースのオブジェクト指向言語でを学ぼうと思うと、もっとも簡単なサンプルでも、なんだかクラスぐらいは理解しないと、って感じだ。
クラス定義ってのは、ゼロからはじめる人にとっては、ぱっと見で意味がわからないものだと思う。
まだプロトタイプ型のオブジェクト指向言語ならマシかもしれない。そういう意味ではJavaScriptでもっといろいろできれば便利なんだろう。


作るプログラムやシステムが極限までシンプルだった頃は、言語もシンプルでよかったわけだ。
OSの機能が増えて作る対象が複雑になってこれば、シンプルな言語ではとても手に負えないから、もっと高度に洗練された、複雑な機能を簡単に使える言語とライブラリが必要になる。
簡単に使えると言っても、昔のシンプルな言語とは比べ物にもならなくて、いまでは多機能な言語、深い階層と細分化されたクラスライブラリなどで、ちょっとやそっとでは使いこなせなさそうなものが目立ってきた。


ゲーム用のライブラリについても似たようなことがいえる。
Rubyで使えるゲームライブラリも結構あっても、だいたいは、Rubyを知っているか、最低でもほかのオブジェクト指向言語を扱える人、そのあたりの基礎知識がある人がターゲットになっているような気がする。
作り始めたときはシンプルだったのかもしれないが、いろいろな機能を追加していくと、必然的にクラスやメソッドは増えるし、多すぎてどんな機能があるのかすら把握できなくなってたり。
まあ、高度なゲームを作ろうと思うとどうしても高度に洗練されたライブラリにしないといけないわけで、発展していけばそういう方向にはなる。


DXRubyはオブジェクト指向を知らない人、プログラミングがはじめてな人、そういう人にとって、とりあえず見た感じで理解できるような、シンプルなものにしようと思う。
こんなイメージでプログラムを書けるように目指そう。

# data.bmpがカーソルキーで動くサンプル
require 'dxruby'

x = 0                         # x座標の変数
y = 0                         # y座標の変数
image = Image.new("data.bmp") # data.bmpを読み込む

Window.loop do                # メインループ
  x = x + Input.x               # 横方向の入力でx座標を変更
  y = y + Input.y               # 縦方向の入力でy座標を変更

  Window.draw(x, y, 0, image)   # data.bmpを座標の位置に表示
end

念のために言っておくと、いまはこんなにシンプルではなくて、このコードは実行できない。
あくまで目標ということで。