「ゴーレムのまいご」とオブジェクト指向 第1回
「プログラミングのたのしみ」
ゴーレムのまいごは、全面C++での開発が試みられました。
セガのC++環境もやっと整ってきた感じなので
(はじめは、C++の使用は推奨されていなかった。)
ゲームの開発にはまだC++はあまり使用されていないのが現状のようです。
それは、ゲームはスピードが命と言う場面が多く見られるからだと思います。
またメモリなどの制約も大きいでしょう。
しかし、このぐらいの規模のアプリケーションで、プラットホームがドリキャスであったので、
ほとんどその辺りのことを意識せずにプログラミングができました。
ハードの性能が向上して、多くのポリゴンがかけるようになったら、
ソフトメーカーのコストが多くかかると言いますが、
逆にポリゴン数を削る努力をしなくてすむようになると考えると、
コスト削減になるのではないでしょうか?
技術と金のある会社だけが生き残るといいますが、
逆にちょっと技術不足でも開発が出来るようになっていくのではないでしょうか?
次世代機はこういう風に使っていくべきだと思います。
そういう意味では、このゲームはドリキャスでなくては出来なかったと言えます。
ポリゴンをまわしたり視点をぐりぐり変えることだけがドリキャスらしさではないと思います。
こんな半人前プログラマーでもゲームを作れると言うこともドリキャスらしさではないでしょうか。
私はアセンブラと言うものを勉強したことがありません。
ハードに近いことの仕組みはほとんど理解していません。
しかしそれでもこれだけのものが作れたのは、ドリキャスの性能とC++のおかげだと思います。
(どんなことでもそうですが、)
システムが複雑化すると、すべての作業をひとりでこなす事は不可能になり、
今後プログラマーの仕事領域はますます2分化されていくでしょう。
ハードよりな部分とソフトよりな部分とです。
ソフト開発者がそれぞれのハードのことを毎回勉強するのは非常に大変なことです。
ソフト開発者はもっと抽象的な(ソフトな)部分で作業しなくてはなりません。
ハードに依らない手法でプログラムをするとどうしても比較的無駄が生じます。
無駄が多いけど、それは見やすく考えやすいものなのです。(よってバグは少なくなる)
無駄な部分はハードの性能がカバーしてくれます。
もちろんわたくしもハードよりな部分で作業したいとも思います。
例えば、PHS/携帯のプログラムをアセンブラでしこしこ書いてみたいと思います。
ゲームボーイのプログラムもしてみたいです。
(あれはさすがにCライブラリがあるでしょうけど、わざわざアセンブラでやる。)
でも、そこに時間をかけている暇があったら、もっとソフトウェア工学的手法を学びたいと思ってしまうのです。
言うなれば、アセンブラは趣味、C++は仕事、と言った感じでしょうか???
そんなプログラムずくめの人生 嫌ですけど。(笑)
次回から「ゴーレムのまいご」でどのようにオブジェクト指向が利用されたかを見ていきたいとおもいます。
よく言われることですが、
C++を使ったからと言ってそれがオブジェクト指向なわけではなく、
逆にオブジェクト指向で設計したものはC++でないと実装できないと言うわけでもありません。
C言語でオブジェクト指向プログラミングもある程度は出来なくはないです。
また、開発をしていて、C++がゲーム作りに最適と言うことは言えないように思いました。
どこがどう駄目で、どうしたらいいのか、と言うことは、まだうまく言えませんが・・・。
汎用ゲーム言語も出来るのではないかなぁ、と なんとなく思っただけです。
今週の牛乳に戻る
サウステンジンゴーレムに戻る
(C)2000, Daisuke Nakamura<nakamura@caramelpot.co.jp>