Article: ゲームプログラミング講座 〈Session 1)

- 序:鷹月が講座をはじめることになった経緯と傾向
Article Upload: 2000/3/30




 ゲームの組みたて方がよく分からないというメールをいただきます。そこで今回、講座形式にして、実用的と言えるかもしれないゲームプログラミングの手法や考え方について紹介していこうという事になりました。全30回を予定していますが、終了するのはいつになることやら……。なお、推奨言語はHSPおよびDelphiですが、言語依存度は低いので、その他の言語を使う方にも多分問題ないだろうと思います。現在、セッション8まで進んでいます



 ゲームやBGVを作りたいとか思って、さてプログラミング言語を使うわけですが、どういう風にプログラムするんだろう、と言語の本を読んでみるものの全然参考になりそうな事は書いてなくて、途方にくれた経験はあるでしょうか。ゲームプログラミングの本、と称するものを探して開いてみて、じゃんけんとか数当て、オセロとかブラックジャックとか、それこそ20年前から存在する旧体然としたものしか書いてなくて、「こんなのはどうでもいいんだってば。凝ったものじゃなくていいからさ、いわゆるRPGやSLGの作り方は載ってないの~?!」とか思ったことはあるでしょうか。
 あるにしろないにせよ、先ず私たちは、以下について認識する必要があります。
  • プログラミング言語は本来、業務AP作成のために作られている。
  • 「ゲームプログラミングの作り方系」の本の多くは、業界第一線のプログラマどころか、適当な言語屋さんが売れ線狙いで書いたものである。
  • 本に載っている知識はたとえ、上のような本だとしても役に立つ。ただしあくまで基礎的なアルゴリズム止まりで、私たちが目指しているレベルのアルゴリズムはそれから大幅に拡張しなくてはいけない。
 なぜ実際のゲームプログラマーが実用的な本を書かないのかというと……答えは単純で、書きたくないし、また書けないからです。本格的なゲームはたとえその骨子部分だけだとしても、グラフィック・音楽など、様々な素材・要素が必要になり、また本格的であればあるほどソースも長くなります。プログラマの身から見れば、「1000ステップ、たったそんだけ?!」なものでも、プログラミングの素人から見ると、絶望的な量になります。また長さのみならず、特殊なAPIを使い始めると初心者には到底理解できないものになります。いい例がポリゴン操作で、ソースを丁寧に解説しても多分分かりません。
 加えて、自分の技術を発表することは、自分の持つ技術著作権をフリーにすると言う事でもあり、教えたがらないという事もあります。本当はもう少し複雑な事情もあるのですが、ともかくゲームプログラムの観点において実用的な本というのはほとんど出ていません。ごく一部あるんですが、売っていなかったり使用する言語・システムを特化させていたりというケースがほとんどです。

 以上のような状況ですから、結局ゲームを作ろうという人にとって「本格的なゲームが割と早く作れるようになる都合のいい本」はまず見つからないのです。基本的にはプログラム言語仕様を一つ一つ覚え、リファレンスやサンプルを参考にしながら試行錯誤していくしかないし、またその方がためになるのです。しかし、ここらへんの基礎準備の敷居の高さが、多くの人達をツクール系に走らせたり、あるいは空想のみに留まり制作をしない、という結果になっているのです。
 そもそも最も創作能力が要求される(多方向に、という意味で)ジャンルであるゲーム制作の本格的な作品が早く、または楽に作れるわけはありません。だけれども、難しくしている原因のうちいくつか、「実用的なアルゴリズムを紹介しているテキストがない」「制作経験そのものが無いので、手順の立て方自体解らない」に関しては、適切な記事があれば解消する事はできるはずなのです。早く、とまではいきませんけれど、「割と早く」程度にする事はできるのです。
 適切かどうかはともかく、これからやっていこうと思う講義は、ゲームプログラミングの手法および構成について総合的に、私なりの考えたものをまとめたものになるでしょう。私自身もこれを書くにあたって、更に色々勉強していこうと思っています。この講義により、少しでも多くの人が自分の作りたいものを実現できる事を願っています。

- 鷹月ぐみな



  Session2:戦術SLGの移動アルゴリズム1 (1999/10/29)
  Session3:戦術SLGの移動アルゴリズム2 (1999/11/7)
  Session4:戦術SLGの移動アルゴリズム3 (1999/11/10)
  Session5:戦術SLGの移動アルゴリズム4 (2000/2/8)
  Session6:戦術SLGの移動アルゴリズム5 (2000/2/11)
  Session7:ちょっと違うRPG・準備編 (2000/2/13)
  Session8:戦術SLGの移動アルゴリズム6 (2000/3/30)



カレッジの入り口に戻る
鷹月ぐみな情報局2号館

Written by. gumina(鷹月 ぐみな)