X680x0同好会2000年同好会誌原稿
ゲームの作り方
文責:西野光太郎
はじめに
このたびは、X680x0同好会の調布祭展示におこしいただき、
まことにありがとうございます。
さて、本サークルの展示にご来場くださったということは、
少なからずゲームを作ることに興味がおありかと思います。
そこで、本稿にて簡単にゲームの作り方などをご説明しようと思います。
なお、ここでいう「ゲーム」とは、基本的にパソコン用のゲームのことを指します。
家庭用ゲーム機や携帯型ゲーム機用のゲームも、
開発用の機材があれば、同様の手順で作ることができますので、
そちらのほうについては、ここでは省略します。
ゲームを作るのに必要なもの
まず最初に、ゲームを作る前に準備するものについてご説明します。
パソコン
パソコン用のゲームを作りますので、パソコンが無ければ話になりません。
パソコンの種類は、TVCMなどで見聞きしたことのある会社の製品であれば、
たいてい問題はありませんが、なるべく新しいものがいいです。
また、ウィンドウズとマッキントッシュのどちらがいいか、
という話もよくパソコンを選ぶ際に悩むところだとされてますが、
2000年現在の日本でのパソコンの普及率では、
圧倒的にウィンドウズのほうが普及していますので、
ウィンドウズのパソコンにしたほうがいいです。
ただし、最近はリナックスが急激に普及してきたこともあり、
将来的にはどれがいいとは言い切れません。
ゲームを作る分には、どれもそんなに作れるものに差はありませんが、
普及率が低い種類のパソコンでは、せっかくゲームを作っても、
やってくれる人がいなくて悲しいという状況になってしまいます。
また、同じゲームを作る仲間を見つけるのも困難で、
大きなゲームは開発しにくいでしょう。
プログラミング用ソフト
ゲームなどのソフトは、コンピューターに対する命令のかたまりでできています。
例えばゲームソフトなら、
「画面にキャラクターを表示せよ」とか、
「右ボタンが押されたらキャラを右に動かせ」などの命令が
ぎっしりと詰まっているわけです。
しかし、その命令を日本語で行っても、コンピューターは理解できません。
最近は人の声を聞き取って、それを文章になおしたりする機能を備えた
パソコンもありますが、それだけではソフトは作れません。
そこで、コンピューターが理解できる、「機械語」という言葉で、
コンピューターに命令しなければなりません。
しかし、今度は逆に「機械語」は人間にとって非常に難しく、
かなりの熟練の専門家でなければ、扱うことは難しいです。
そこで、さほど熟練してない人でも、
コンピューターに命令できるように作られたのが、
「プログラミング言語」です。
「プログラミング言語」は、種類にもよりますが、
主にアメリカで作られたので、英語に似た言葉になっています。
英語と言っても、使われる単語の数はそう多くないので、
日本人でもがんばれば使いこなせる程度になってます。
そして、ワープロソフトなどを使って、
「プログラミング言語」でコンピューターへの命令を書くことを、
「プログラミング」と言うのです。
また、そうして書いたもののことを「プログラム」と言います。
さて、プログラミング言語で書いた命令は、
コンピューターの理解できる「機械語」に直さなくてはなりません。
この翻訳を行ってくれるのが、「プログラミング用ソフト」です。
専門的には「コンパイラ」と呼ばれるものです。
それを使ってプログラムを機械語に翻訳すれば、ソフトのできあがりです。
「プログラミング用ソフト」は、「プログラミング言語」の種類別に、
いくつか種類があります。
代表的なプログラミング言語は、
「BASIC(ベーシック)」「C(シー)」「C++(シープラスプラス)」
「Java(ジャバ)」「Delphi(デルファイ)」などで、
プログラミング用ソフトにも、どの言語に対応したものかは書いてあります。
各ソフトは、それぞれ対応する言語を「機械語」に翻訳します。
各プログラミング言語がどのようなものであるかは、
言語ごとに専門書が書店にあると思いますので、それを参照してください。
そして、自分が使いやすいと思ったものを使いましょう。
参考までに、プロのゲーム会社では、CやC++がよく使われていますので、
ゲーム会社を目指すなら、CやC++を使うことをおすすめします。
作りたいゲームのアイデア
実は、ゲームを作る上では、これが一番必要だったりします。
当たり前のようですが、ゲームを作るには、
まずどんなゲームを作るかを考えなければなりません。
しかも、かなり具体的なところまで考えなければいけないのです。
たとえば、RPGを作るにしても、
ストーリーやキャラクターの設定を考えただけではダメで、
マップの形や町などの地形、お店で売っているアイテムの種類と値段、
町の人のセリフ、敵の出現確率や攻撃パターン、
HPやMP、攻撃力や防御力などの細かい数字まで、
微に入り細に入り考えなくてはなりません。
これを「めんどくさい」と思うようでは、ゲームは作れないでしょう。
根気
ゲームだけでなく、ものを作るには根気が必要です。
しかもゲームは作るのに非常に時間がかかるものです。
「テトリス」のような単純なゲームであれば、
ほんの数時間でも作ることができますが、
ある程度の熟練が必要です。
そしてRPGのように複雑なゲームだと、
数ヶ月から数年の時間がかかります。
それだけの長い時間、ゲームを作りつづける根気がない人は、
ゲームを作るのは難しいでしょう。
もしくは、単純なゲームを作るだけで妥協するしかありません。
ゲームの設計
さて、ここからは実際にゲームを作る際に、
どういう作業を行うかについて説明します。
まずは、どんなゲームを作ったら良いかを考える、
「設計」の手順から説明します。
ゲーム内容を考える
先にも書いたとおり、まずはゲームの内容を考えます。
ただ、最初から微細なところまで考える必要はありません。
最初はまず、RPGや格闘、アドベンチャーといった、
ゲームのジャンルから考えるのが良いようです。
ただし、既存のジャンルにないようなゲームのアイデアが浮かんだときは、
その限りではありません。
それから、具体的にゲームがどう進行していくものなのかを考えます。
このとき、ゲーム画面のイメージを描いていくと良いです。
例えば、タイトル画面はどんな感じかとか、
RPGなら移動中はどんな感じで、戦闘中はどんな感じか、
というのを絵で描いておきます。
そうすることで、ゲームの具体的な部分をイメージしやすくなり、
また他人に協力を頼む時にも、どんなゲームか説明しやすくなります。
また、ゲームの操作方法も重要です。
ゲーム中で一貫して同じ操作をするゲームなら、
最初に1つ操作方法を決めておけばいいだけですが、
例えば方向キーが、
タイトル画面ではゲームのモードを選択するのに使われ、
ゲームのメイン部分ではキャラクターを動かすのに使われるといった、
役割が変化する場合は、その場合ごとに操作方法を決めておきます。
ゲームの構造の基本は、何が画面に表示されて、
プレイヤーがどのボタンをどう押すかです。
ここがしっかり決められていなければ、ゲームにはなりません。
以上がしっかり決まってから、あるいは同時に、
ストーリーやキャラクターなどを考えていくと良いでしょう。
妥協のポイント
ゲームを作りたいという人がよくする質問に、
「(パソコンでは)どんなゲームが作れるのか?」というのがあります。
理論上では、どんなゲームでも作ることは可能です。
しかし、時間的・技術的な理由などで、できないことが多々あります。
たとえば、最近の豪華なムービーが大量にあるゲームなどは、
個人では作ることは不可能でしょう。
仮にあなたが、非常に上手な絵が描けたり、
知合いに上手な絵が描ける人がいたとしても、
ムービーを作る程の絵を描くには、そうとう長い時間が必要です。
また、ゲームの絵はすべてCG(コンピューターグラフィックス)ですが、
CGを描くにはそれなりの機材やCG特有の技術が必要になるので、
それらを得るためには、さらに時間が必要になってしまい、
ゲームを作るどころじゃなくなってしまいます。
そういったわけで、ゲームを作る際には、
ある程度の妥協が必要となります。
妥協のポイントとしては、個人でゲームを作る場合は、
絵や音楽をあまりたくさん使わないものにしましょう。
また、他人に協力を求める場合でも、
その人が自分の期待するものを作ってくれるかどうかは確かではないので、
結局自分が作らないとどうしようもないという場合になることが多いです。
なので、自分が作れないものは他人も作れないと思ったほうがいいでしょう。
はじめてゲームを作る場合は、
参考書に載っている簡単なゲームをまず作ってみて、
それを改造したり、それよりもちょっと難しい技術を使ったものを作ったりして、
じょじょに複雑なものを作っていく、という方法が一番無難なようです。
ゲームの開発
さて、ここからはゲーム作りの中で
実際にコンピューターを使って行う作業について解説します。
開発作業
・プログラミング
プログラミングがどういうものであるかは、先に説明したとおりです。
基本的にこの作業を行うだけで、ゲームは作れてしまいますが、
ゲームを華やかにするために、絵や音楽などを別途作る必要があります。
・絵
ゲームでは、画面に表示されるものはすべてCGです。
文字や単純な図形は、プログラムだけで画面に表示させることができますが、
キャラクターの絵などは、プログラムとは別に描いておき、
あとでプログラムとまとめてゲームソフトにします。
CGはCG用のソフトを使って描きます。
またスキャナーやデジタルカメラを使って、
紙に描いた絵をCGにすることもできます。
・音楽
ゲームで使われる音楽は、BGMと効果音の2種類あります。
BGMとは、ゲーム中に流れる曲のことで、作曲用のソフトを使って作ります。
効果音とは、例えば格闘ゲームなどで、
相手を殴った時の「ドカッ」とかいう音などのことです。
これは作曲して作れるものではないので、
効果音専用のソフトを使ったり、
実際に音を立てて、それをパソコンで録音するといった方法で作ります。
・ツール
ゲーム作りを効率良く進めるためには、
なるべく楽にゲームを作れるようにしたほうが良いです。
そこで、ゲームの部品(あるいは全部)を作るためのソフトを、
自分で作ることがあります。
そのようなソフトのことをツールといいます。
ツールには、例えばRPGのマップだけを作るものや、
面クリアー形式のパズルゲームの、面のデータを作るものなどがあります。
共同作業
ゲームを作るには、以上の作業をすべて行う必要があるわけですが、
他人と協力することで、作業を分担させることができます。
ただし、作業の種類によっては、1人でやったほうが効率が良い場合もあります。
一般には、プログラミングは1人で行い、
絵や音楽を他の人に分担してもらう、といったやり方がなされています。
プログラミングの分担は難しく、プログラミングを行う人全員が、
ゲームの内容をかなり深い部分まで理解していなければできないのですが、
絵や音楽はゲームの内容をあまり知らなくても作れるので、
分担がしやすいのです。
また、ゲームの内容を考えるだけの作業を行う、という役割分担もありますが、
プログラミングの経験のない人に、その作業をさせるのは危険です。
なぜなら、ゲームを作るのに十分な内容を考え切れない場合が多いからです。
例えばRPGを作るにしても、ストーリーやキャラクター、
マップやアイテム、敵のデータくらいは思いついても、
「キャラクターが1秒間にどれだけの速さで動くか」までは、
普通は考えないでしょう。
しかし、プログラミングの経験があれば、
そのくらい細かい部分まで考えなければならないことは分かるはずです。
したがって、ゲーム作りにおいては、
「ゲームの内容を考える人」=「プログラミングをする人」
という形が理想的だと言えるでしょう。
ゲーム会社で作られているゲームでは、
上の2つの作業は別の人が行っている場合が多いですが、
ほとんどの場合、ゲームの内容を考える人は、
プログラミングの経験のある人です。
ゲームができたら
ゲームができたら、人にやってもらいます。
そこで、人にゲームのやり方を説明するための、
「説明書」を書かなければなりません。
しかし、ゲームの内容を考える時に、
ゲームの画面の様子や操作方法などを丁寧に書いておくと、
「説明書」に転用できるので便利です。
ゲーム作りの勉強のしかた
さて、本稿ではゲーム作りの大まかな部分しか説明することはできませんが、
ゲームを作るためには、ここで紹介したこと以外に、
まだまだ知らなければならないことがたくさんあります。
そこで、ゲームの作り方を勉強する方法について解説します。
参考書の選びかた
ちょっと専門的な本のある書店に行けば、
「ゲームの作り方」と題した本がありますので、
まずはそれを読んで勉強しましょう。
と言いたいのですが、「ゲームの作り方」と書かれた本は、
ほとんどが初心者では難しすぎる内容です。
そして、それらの本の最初には、たいてい
「プログラミングの知識がある人向け」と書いてあります。
なので、まずはプログラミングの勉強をすることをおすすめします。
プログラミングの参考書には、「プログラミング入門」と書いてありますので、
見つけることは難しくないと思います。
しかし、参考書が多すぎてどれを選んで良いか分からないということが
あるかも知れません。
そのような場合には、参考書の最初の数ページを読んでみて、
書いてある内容が分かりやすいものを選ぶようにしましょう。
すべての参考書を読んでみて、どれも分かりにくいと感じたら、
まずはコンピューターの専門用語に慣れるため、
パソコン雑誌などを読んでみたり、
詳しい人に聞いてみたりすると良いでしょう。
他人の作ったプログラムを参考にする
ゲームを作ってて、どうしても作り方が分からないという
壁にぶつかることがあります。
そんな時は、他人が作ったプログラムを参考にすると良いです。
「ゲームの作り方」などと書かれた本には、
たいてい他人が作ったゲームのプログラムが書かれているので、
それが参考になります。
またインターネットでは、ゲームと同時に、
そのゲームのプログラムを公開している場合があります。
ソフトに対するそのプログラムのことを専門用語では、
「ソース」または「ソースプログラム」と言われているので、
それをキーワードにインターネットで探してみると良いでしょう。
おわりに
以上、簡単ですがゲームの作り方について解説させていただきました。
ゲームを作る以前にパソコンにも触ったことがない人にも分かるよう、
非常に簡単に書いたつもりですので、
少々パソコンの心得のある人には退屈な内容だったかも知れません。
また、パソコンに触ったことのない人には難しい表現も、
もしかしたら使ってしまったかも知れません。
ですが、ゲーム作りに興味のある人へ、
何かの参考になったのなら幸いです。