ゲーム用のプログラミング言語について

=前置き=

今回はプログラミング言語お茶を濁す

=自分の辿った道=

C++

大学の時にC++で「2D格闘」を作ろうとする。そして挫折。


一応、最終的には「動かせる」程度にはなったものの、コードが大規模になりすぎ、メンテナンスが容易でなくなったために終了。


この時点ではLuaなどのスクリプト言語の存在を知らず、「ベース部分から作った方が理解が深まるだろう」と思ってDirectXOpenGLなどを使わなかった(WindowsAPIを直接叩いてた)。物理エンジンも使わなかった(そもそもあったのかどうかも不明だけど)。


最初はライブラリとかを使って、とにかく「作り上げる」ことを優先すべきだった。あと、2D格闘は最初にやるには難しすぎた。特に衝突判定とか。

Java

大学4年あたりから、Javaで「横STG」を作ろうとする。動かせるところあたりまでで終了。


STGの構造は基本的に簡単なのだけど、「どうやって敵を配置するか」を考えるところで止まってしまった。他にも「画像はどうやって表示するか」「3Dモデルの表示をどうするか」などの問題があった。


Java Appletなら公開もできるということで試していた。「ファイルから敵の配置をロードしたい」など、スクリプト方面を意識し始める。


Ruby

大学院あたりから徐々に使い始めたものの、まだ本格的には使ってない言語。


まだちゃんとしたゲームは作ってなかったような気がするけど、おそらく「作りやすさ」は一番良いと思う。エディタなんかもわりと簡単に作れた。


Luaを知ったのもこの時期だったと思う。


最近ではゲーム用の環境も整ってきているので、かなり作りやすいんじゃないかと思う。

ActionScript(AS2、AS3)

で、現在使っているのがAS3。コーディング速度だけならAS2の方が上になるけど、AS2は嫌な挙動(というかバグ)があるのでAS3を使ってる。「かぎ括弧によるスコープ(ブロックスコープ)」がないなどの不満はあるものの、「グラフィックを表示する」という処理が今までの中でずばぬけて楽(それでも設定方法に慣れが必要だったけど)なので、趣味のコーディングはこれがメインになっている。

その他

始めるまでの簡単さで言えば、JavaScriptが一番楽そうなので、もしかしたらJavaScriptもありかもしれない。http://svn.coderepos.org/share/docs/amachang/20080813-procamp2008/index.htmlを読めば、テトリスは作れるっぽいし。

=おすすめ=


そういうわけで、現在のおすすめはAS3。ここでやってるみたいに公開するのも簡単だし。



公開のことを考えなければ、Rubyが良さそう。「ジョイスティック」とかが簡単に使えたはずなので。


=参考サイト=

AS3
Ruby
  • Route 477
    • テキストをいじるだけでゲームが作れる
    • 面倒な環境が不要(ダウンロードしてテキストをいじるだけ)
    • 初心者が慣れるのに向いている
    • 簡単なサンプル、ミニゲームを作るのにも向いている
  • http://www.starruby.info/ja/
    • 2Dゲーム用のライブラリ
    • まだ使ったことがないけど、説明を見る限りはわりと楽になるはず