ゲームを製作するまで

プログラムの基礎の基礎は習ったけど、これをどう転用すればゲームが作れるのか分からない。また、簡単なゲームを作ったけどその後どうすればいいのか良く分からない。そんな人向けの記事。
ちなみに、ゲームの作り方を教えるわけではなし。どこにでも載っているので。
プログラミングって何?って人はググるべし。というか基本的に不親切でいくので、分からないことは自分で調べるのが良い。ゲーム製作の基本である。

STGを作れ

シューティングゲームは、単純なノベルゲームやピンポンゲームに次いで作るのが簡単な部類のゲームである。それでいて拡張性があり、ゲームプログラミングに必要な要素が大量に詰まっている。よって、シューティングゲームを一本作れば、プログラミングの力はグッとアップする。
肝心の作り方だが、下記サイトに投げる。というのも下のサイトにはプログラミング技術ではなく、Windowsアプリケーションの作り方から全て教えてくれるからだ。
龍神録プログラミングの館
とりあえずこれを見ながら、一通りやってみるべし。何十時間プログラミングの勉強をするより、きっと力になる。

改造せよ

上のような一から教えてくれるサイトがあるならまだしも、初心者がいきなり一からゲームを作り出すのは不可能である。最初は、他人の作ったものを改造するところから始めるとよい。テキストを変えるだけでもよし、画像を変えるだけでもよし。地道に改造していけば、いつかゲームの仕組みがだんだんと分かっていき、自分でも作れるようになってくる。これは絵でいう模写に似ているかもしれない。
改造する題材……はなかなか手に入れるのが難しい。HSPなど初心者向けの言語は学習用のサンプルも豊富なので、そこから始めると良いかもしれない。C/C++でやりたいなら上の龍神録で。昔はcgiブラウザゲーとかがオープンソースだったので改造し放題だった。

工夫せよ

STGができた! でも、卒業はまだ早い。プログラムが出来たら、自分なりの工夫をそこに加えるべし。自分の思ったとおりの変化を作ったゲーム上に表せるようになったなら、その時が卒業だ。
具体的に工夫とは何か。STGなら、ボスの弾が一番とっつきやすい。単純な直線打ちから、八方向射出、誘導弾、へにょり弾、そして美しい弾幕と工夫の余地は腐るほどある。他にはメニュー画面を凝ってみたり、FPSなんて表示してみたり。工夫の例は上の龍神録のサイトにもあるし、DXライブラリ本家にもTIPSが沢山載っている。参考にすべし。

小さいものを作れ

なんか、自分の力だけで何か作れそうな気がしてきた。というレベルに達したらまず小さいゲームを作るべし。パズルゲーやボードゲー、変則STG。一つずつ作品を完成させればそれは大きな経験となるし、力も付いていく。
勿論、大きな作品を夢見るのは悪くない。それが原動力となる。そして、「これはそのうち大きな作品になる」と言い聞かせながら大作に手をつけるのもいい。完成は恐らくしないが、蓄えられたノウハウはいつか使う時が来る。
しかし、やはり作り上げて他人に遊んでもらう、というのも大きな喜びの一つなので、夢を見つつも小さいプロダクトを手がけると良い。
ちなみにこの段階になるとグラフィックがボトルネックになってきたりする。とりあえず三角と四角で描けばいいと思うよ。

アクションゲーム

アクションゲームは難しい。STGと横スクロールアクションでは難易度に大きな隔たりがある。横スクロールアクションは床がある。当たり判定を考えないといけない。しかも敵も床に乗る。床は斜めかもしれない。弾が出てきたり、落ちる床もあるかもしれない。そして不幸なことに、これら横スクロールアクションの作り方のノウハウはSTGほどに表に出ていない。
アクションゲームを作れる、というのは一つのステータスにもなる。是非目指したい。

そしてその先へ

ゲーム製作は、一日十時間ずつ勉強しても一年後に神ゲーが作れるものではない。三年、五年、十年と長いペースでやっていくのが大切だ。継続こそ力。そして貴方を評価する人も増えていくだろう。途中で燃え尽きないように、上手くペース配分すべし。その先には、必ず報いてくれる喜びがある。