今日の雑記

生きることでいっぱいいっぱい

D言語はゲーム開発に向いているか?〜その後〜

返事が遅れてしまったが、先日 http://d.hatena.ne.jp/isshiki/20040603 の雑記にコメントを頂いた。

やねうらお氏は考えに考えた末に、ゲーム向けで、プログラマにやさしい言語を考えていなさる。どうらくになったか教えてくださいませ。

どういえばうまく伝わるか解らなかったのですが、shinichiro.h氏がフォローしてくれていた。
http://d.hatena.ne.jp/shinichiro_h/20040603#p2

  • ネイティブバイナリ
  • SDL*, OpenGL があればまあゲームは書ける
  • D の場合、 GC って別に問題無い (と、思う)
  • ゲームって高尚/変なパラダイムいらないことが多いよね
  • 逆にポインタは自由に触りたいよね
  • コンパイルはええ (ゲームでは printf デバッグの重要性は高いと思う)
  • メモリ関係のバグに遭遇しにくい
  • ゲームの本質に全く関係無い文字列読み込みがラク (設定ファイルなどで必要性は高いと思う、嘘だと思うなら TUMIKI Fighter の CSV パーサなんかを見ると良いかと)
  • 追記: C ライク文法、 C++ より複雑性が少ない。そしてゲーム屋には C 使いが多い。

この中でも特に「メモリ関係のバグに遭遇しにくい」ってのはデカイ。今作ってるのでも何回かは遭遇したけど、それも大した問題じゃあなかった。
と、shinichiroさんの意見に乗った意見ばっかりというのもなんなので、自分なりに考えてみた。

  • 細かいところに手が届きやすい(変数のプロパティとか)。
  • メモリ関係だけでなく、不用意なバグが進入しにくい(コンパイラではじいてくれる)。
  • とにかく配列関係が良い。まだ全て使いきれてないけど。
  • マクロ(プリプロセッサ)を無くしたのは英断だとおもう。あれば使っちゃうし。使うと何かとあるし。

まあ、中には「コレコレの言語にもあるよ」というのもあるので、そう言われてしまえばそれまでなんですが。ようは「(今のところ)無料で/Cライクな記述できて/言語としてそこそこ便利で/不用意なバグが起こりにくい」言語って、そうそう無いと思うんですが、いかがでしょう?
え?不満は無いのかって?無いことはないですが。