安永ノリカズのゲーム制作&Javaサンプル集

#14 設計は清く正しく面白く 〜ストーリー編〜

設計その2。このゲームのストーリー作成の方向性を模索してます

2003年08月29日更新

物語が生まれる瞬間

どもども、半年ぶりのコラムですね。 相変わらずのスローペース制作ですが、確実に一歩ずつ前に進んでいこうと思ってますので、 気長にお付き合いください。

今回はストーリーの設計を行います。「え? ストーリーって設計するものなの?」と、 疑問を感じてしまうかもしれませんが、このゲームの一番のウリとなる部分に、 深く関わるテーマですので、しっかりと読んでくださいね。

以前のコラムで、このゲームでは「人と人との関係が作り出す物語」を表現したい。 そして、その物語が生まれる瞬間にプレイヤーを立ち合わせることで、 ゲーム独自の深い感動が生まれるのではないか、と書きました。

では、その物語が生まれる瞬間というのを、どう表現すればいいのでしょうか?

いわゆるマルチストーリーのゲームというものがあります。 RPGなんかで、プレイヤーに選択肢を選ばせて、進む道を決めていくやつですね。 また、マルチエンディングとして複数の結末が用意されたゲームもあります。 では、そのようなゲームのストーリーが分岐する瞬間に、 「おっ、物語が生まれている」という感慨を抱くでしょうか?  むしろ、既に用意されたルートをなぞっているのが見えて、かえって冷めてしまうこともあります。

この『魔法使いの街』に求められるのは、そんなあらかじめ用意されたストーリーではなくて、 ゲームが進行するにつれ、どんどんとストーリーが作られていく、 ストーリーの自動生成ということになります。 でも、果たしてそんなことが可能なのでしょうか?

一つの方向性として思いあたるのは、あらかじめ多数の場面を用意しておいて、 それらを組み合わせることによって、ストーリーを構築することです。 プレイヤーの行動だけでなく、NPCの行動や街の経済状態を反映する形で各場面を発生させれば、 より臨場感のあるストーリー展開が可能になると思われます。 ただ、どんなに頑張っても、無限のストーリーを作り出すとまではいかないでしょう。 それでも、極力、プレイヤーにパターンの組み合わせを気づかせることなく、 なるべく自然な形で、豊富なストーリー展開を提供するシステムを設計することは、できないのでしょうか?

とにかく、プログラミングで、論理的にストーリー(物語)というものを処理するわけですから、 その構造を徹底的に分析し、どのようなパターンで構成されているのかを、 明確に把握しておく必要がありそうですね。 ということで、まずは、物語の構造解析からスタートしたいと思います。

 ページトップへ戻る

物語に秘められた共通パターン

映画、小説、漫画、アニメ、TVドラマ、さまざまなエンターテイメントの世界で「物語」が語られています。 しかし、その多くに、ある共通のパターンが存在するのをご存知でしょうか?  一文で表すならば、「なにかの事件が起こり、主人公は困難に直面するが、 その困難を克服し、最終的には目的を達成する」という型です。 世の中に数え切れないほどの作品があるというのに、 その大半をたった一つの文章でパターン化するなんてできっこないよと感じてしまうかもしれませんが、 娯楽作品に限っていえば、意外とできちゃうんですよね、これが。

実際にいくつかの例を挙げて、検証していってみましょう。

一昨年大ヒットして、アカデミー賞も受賞した『千と千尋の神隠し』は 「不思議な世界に迷い込んだ(事件)少女が、両親を豚にされてしまうが(困難)、 その世界でしっかりと生き抜いて(克服)、両親と元の世界に戻る(達成)」物語です。 宮崎駿の他の作品も、ほとんどがこの構造で作られていますね。

次は海外の映画を検証してみましょう。ちょっと古いですが、『スターウォーズ Episode 4』は 「レイア姫からのメッセージを受け取った(事件)青年が、帝国軍との戦争に巻き込まれるが(困難)、 帝国軍からレイア姫を救出し(克服)、デス・スターを破壊する(達成)」という物語です。 いわゆるハリウッド映画は、完全にこのパターンを採用しています。

僕の大好きな漫画『北斗の拳』は「北斗神拳の伝承者となった(事件)ケンシロウが、 南斗聖拳のシンにユリアを奪われるが(困難)、非情という強さを身に付け(克服)、 シンに勝利する(達成)」のが連載当初の物語で、ここでストーリーに区切りがつくと、 また新たな試練がケンシロウに課せられ、そして克服していくというパターンの繰り返しで、連載が続きます。 少年ジャンプが編集方針のキーワードとして、「努力・友情・勝利」を掲げたことは有名ですが、 これは、努力して困難に立ち向かい、友情の中で克服し、戦いに勝利して達成するという、 物語の典型的な構造にのっとった作品を求めたという風にとらえることも出来ます。

小説も見てみましょう。『ハリー・ポッターと賢者の石』は 「自分が魔法使いであることを知らされた(事件)少年が、魔法学校での困難に直面しながら(困難)、 友達との交流で様々なことを学び(克服)、悪の魔法使いの復活を阻む(達成)」物語です。 ハリ−・ポッターは全世界でヒットしたベストセラーです。 それだけこのパターンが、普遍的なものだといえます。 また、そのままのストーリーで映画化されてヒットしたことを考えると、 ハリウッド映画と同じ物語パターンが、はじめから小説の中にあったことがうかがえます。

上にあげたような、主人公が活躍する冒険もの以外でも、このパターンは有効です。 ラブストーリー映画『プリティ・ウーマン』の場合だと。 「実業家[リチャード・ギア]がコールガール[ジュリア・ロバーツ]を秘書として雇う(事件)が、 契約が終わり彼女は去っていく(困難)。しかし彼女の大切さに気づいた(克服)実業家が、最後は彼女を迎えに行く(達成)」物語です。 運命的な出会いを経て、すれ違いを乗り越え、前よりも深く愛し合うようになるってのは、 日本のTVドラマでも定番のパターンですが、構造としては冒険物語と同じ形になります。

他にもスポ根もの、青春純愛もの、歴史小説、色々なジャンルのものをこのパターンに当てはめることが できるのですが、驚くことに、ドキュメンタリーであるNHKの『プロジェクトX』ですら、 このパターンを持ってます。メーカーの新商品開発秘話を例にあげると、 「ある部署に新商品開発の使命が課せられる(事件)が、 技術的にもコスト的にも問題が山積み(困難)になっている。 それでも試行錯誤のすえ、新技術を開発し(克服)、商品は大ヒットする(達成)」 という展開になります。事実であるにもかかわらず、物語としての構成を踏まえているので、 ドラマを見ているかのような感動を味わえるわけすね。

最終的に目的を達成できずに終わる悲劇というものもありますが、 これは、このパターンの発展系ととらえることができます。 困難を克服し、目的を達成するかに思えた主人公に、 つらい現実が訪れることで、見る者の悲しみを誘います。 困難を乗り越えようともせず、逃げてばかりの人物に悲しい結末が訪れようとも、 だれも涙を流すことはないでしょう。

皆さんのお気に入りの作品を、この「事件−困難−克服−達成」のパターンに当てはめてみてください。 文芸的な作品を除いて、娯楽作品の多くが、このパターンを採用していることに気づき、驚くことと思います。

 ページトップへ戻る

困難に立ち向かう物語

ここで、一つ疑問が湧いてきます。そんな決まりきった展開のストーリーで、本当に面白いのでしょうか?  予想できないストーリーこそが、見る者の興味をそそるのではないでしょうか?  しかし実際、上に紹介した作品は、どれも面白く、商業的にも成功したものばかりです。 その疑問を解くカギは、このパターンのストーリーのどの部分に人々が心を惹かれるかにあります。

その説明にもってこいの例として、倒叙ミステリーというのを取り上げてみたいと思います。 TVドラマの『刑事コロンボ』『古畑任三郎』のような、 最初に犯人と犯行の手口を見せておいて、刑事が犯人を追い詰める姿を描くタイプのミステリーですね。
先ほどのパターンに倒叙ミステリーを当てはめてみると、 「犯罪が起こる(事件)が、容疑者には完全なアリバイが存在する(困難)、 しかし刑事は犯罪のトリックを見破り(克服)、犯人を自白に追い込む(達成)」となります。

コロンボでも、古畑任三郎でも、最初から犯人は分かってますよね。 派手なアクションや、カーチェイスがないことだって分かってますし、 最後に犯人が捕まることも分かってます。
それでも楽しめるのは、犯人が仕組んだ完全犯罪を、 刑事がいかにあばくかに関心がそそがれていいるからです。 そして、その、どうやって犯罪を立証するのかという部分に関しては、 予測が出来ない構成になってるので、「先が読めない」ストーリーと感じるわけです。

最初に例としてあげた、『千と千尋の神隠し』だってそうです。 最終的には両親を助けて、元の世界に戻るんだろうと予測はつきます。 いや、これは予測というよりは、期待と呼んだ方が正確でしょう。 千尋のひたむきさや、両親への思いにふれるにつれ、 観客は、絶対に元の世界に戻って欲しいと願うわけです。
しかし、千尋の前にはさまざまな困難が待ち受け、どうすれば元の世界に戻れるのか、 皆目見当がつきません。だから面白いんです。

このパターンの物語では、主人公に非常に困難な道のりが待ち受けていることが重要になります。 とても簡単には目的を達成できそうもないぞという演出があって、 主人公の行動に、ハラハラ、ドキドキさせられるのです。 結末よりも、試練に立ち向かい、そこに至ろうとする主人公の姿こそ、人の心をとらえるというわけですね。 ですから、その主人公をどう描写するかで、作者の個性が問われ、物語のオリジナリティが確立されることになります。

もう一度、整理しておきましょう。結末は予測不可能にするのではなく、 むしろ、はっきりと予測させることで、ストーリーに方向性を持たせることができます。 ただし、結末に至る道筋は予測不可能でないといけません。 そんな中、主人公は、困難に直面しながらも、自らの力で道を切り開き、前に進みます。 主人公の姿に共感した受け手は、心から目的を達成して欲しいと願い、 達成されたときには自分のことのように幸せな気分になり、 はたまた、運命のいたずらで達成できなかったときには、涙するのです。

これまでに紹介した物語では、とにかく、どの主人公も困難に立ち向かい、努力し、最後には報われます。 時代や、社会、文化を問わず、人々は、ある意味熱狂的に、 このパターンの物語=「困難に立ち向かう物語」を支持しているように思えます。 つらい現実を生きる人々が、困難に立ち向かい、目的を達成する主人公に、 希望を見出しているのかもしれません。社会学的、心理学的原因まで解明することはできませんが、 ストーリーを作ろうとする人間は、この「困難に立ち向かう物語」が、あらゆるジャンルで、 時代を超えて、人々の心を惹きつけてやまないという事実は知っておく必要があるでしょう。

 ページトップへ戻る

エピソードを組み合わせる

これまで、『魔法使いの街』のストーリーに関しては、漠然としか考えてなくて、 なんとなく少年が成長する物語としか決めてませんでした。 ですので、いざ、会話文を作ろうとしても、 どこにでもある当り障りのないメッセージしか浮かんでこなかったのが、事実です。 でも、このようにストーリー構造を分析するにつれ、 「少年に与えられた試練とは?」「少年はどう困難を克服するのか?」などと考えるようになり、 よりドラマチックな会話文をイメージできるようになりました。
そうやって、イメージを膨らませるにつれ、こんどは当初考えていた物語から微妙に路線が変更しつつあります。 そのへんも踏まえて、もう一度、ストーリーを設計し、再構築してみたいと思います。

まず、先に述べた「困難に立ち向かう物語」パターンで、今回のストーリーを説明すると、 「街で一人暮らしを始めた(事件)魔法使いの青年が、 一人前の魔法使いになるために、仕事や人間関係で悩み(困難)ながらも、 力強く生きていくことで(克服)、みんなに認められる存在に成長する(達成)」 という構成になるんですが、これだけ読むと、宮崎駿の『魔女の宅急便』とほとんど同じだなぁ……。 これが普遍的な物語構造なんで仕方ないんですけどね。

主人公は少年から青年に変更しました。 田舎から出てきた青年魔法使いが、就職先を見つけて、恋をしたり、都会生活に戸惑ったりしながらも、 一人前の魔法使いとして認められるまでになる物語です。 現実世界にたとえるなら、地方から東京の会社に就職した新入社員が、なんだかんだ苦労しながら、 仕事を頑張っていくといった感じです。

魔法使いの少年が主人公だと、あまりにも『ハリーポッター』とかぶりすぎてて、気にはなってたんですが、 うまい具合に頭の中に描いていたイメージが、都会で苦労する青年の姿に変わってきたので、 これを機に変更することとします。 都市シミュレーションとして、働く人々を描くので、設定としてはピッタリだし、 田舎出身の新人魔法使いとなれば、「試練」にこと欠くことはないでしょうしね。

ゲームスタート時に主人公の性別を選べるようにとの思いもありましたが、 まずはキチンと作り上げることを目標に、男性に絞ることにします。 女性主人公は余裕があればということにしておきましょう。

課題となっているストーリーの自動生成は、「事件−困難−克服−達成」のそれぞれに いくつかのイベントを設けて、それがプレイヤーの行動、および都市シミュレーションと 連動して発生する形をとることで、ストーリーの多様性と臨場感をだそうと思います。

ちなみに、このゲームでは、いわゆる「イベント」を全て登場人物たちとの会話によって実装します。 しかしながら、ゲームの世界で「イベント」という言葉は、動画の再生や、 キャラクターが勝手に動き出すようなイメージと結びついていますので、 ここでは、「エピソード」という呼び方を使います。 以下、エピソードという表現は、特定のタイミングと場所でしか発生しない会話モード、 と置き換えて読んでください。

さあ、「事件−困難−克服−達成」のそれぞれの部分に、どんなエピソードを用意して いけばいいのでしょうか? 各構成ごとの作成方針を検証していきましょう。

 ページトップへ戻る

各構成ごとの作成方針

●事件
起承転結のにあたり、物語の発端となる部分ですね。 ゲーム開始の早い段階で、主人公を物語に巻き込む事件を起こしてあげる必要があります。 オープニングのエピソードやゲームの序盤に起こるエピソードで表現すべきでしょう。

このエピソードを記述する上で、気をつけるべきことがいくつかあります。 まずは、主人公に強いモチベーション(動機)を持たせることです。 なぜ、青年は都会に出てきたのか? なぜ、青年は一人前の魔法使いになりたいと思うのか?  そこに強い必然性を持たせることにより、プレイヤーの共感を呼び、 その後の主人公の活躍を期待させることができます。 ただなんとなく、出てきたんじゃなくて、何か強烈な宿命を主人公に背負わせるくらいで ちょうどいいかなと思ってます。

また、これから物語が進行する世界の説明、主人公が置かれた立場の説明、 主人公の周りに登場する人物の説明、など、うまくプレイヤーにこの舞台を説明する必要があります。 それぞれを印象付けるエピソードも用意しないといけませんね。

この部分でのエピソードに関しては、発生条件を限定せずに、 誰がプレイしても、同じものが起こるようにして構わないと思います。 多様性よりは、プレイヤーにゲームを楽しむための情報を確実に提供することを目指しましょう。

青年が街の大きさに驚いたり、自分と違う価値観の魔法使いと出会ったり、 故郷のことを思い出したり、初めての仕事で緊張したり、 そんな感じのエピソードが中心になると思われます。

●困難
起承転結のにあたり、主人公が目標に向かって進み始める部分です。 しかし、その主人公には、数々の困難が降りかかります。 ときには、対立関係にあるライバルが、主人公の行く手を妨害することもあるでしょう。 主人公は、この困難に立ち向かうことで、ときには傷つきながらも成長していきます。
先に述べたように、困難に立ち向かう姿は無条件に人の心に響くので、 しっかりと魂を込めてエピソードを用意する必要がありそうです。

発生条件は、プレイヤーの行動や、NPCとの関係、社会の状態などに基づくように設定します。 ゲームの進行状況に応じて、どのような困難が待ち受けるか、変化するということですね。 困難を克服する解決策も複数提示して、プレイヤーの意思を反映することにします。 基本的に、困難を克服することで、主人公のパラメータは成長し、それに関わったNPCとの絆は深くなります。 NPCのパラメータも変化して、そのことが、また新たな困難を起こすこともあります。

自分の魔法の未熟さを実感したり、人間関係のトラブルに巻き込まれたり、 誰かを好きになったり、誰かが自分を好きになったり…… ストーリーの多様性を表現できるのは、まさにこの部分ですから、 最も多くのエピソードを用意するつもりです。

●克服
起承転結のにあたり、主人公を取り巻く状況に、大きな転機が訪れます。 克服で語られるエピソードは、ある意味、主人公を待ち受ける困難の一つですが、 それまでの困難と違うのは、乗り越えることで、目標の達成へ大きく前進する要素を秘めている点です。
主人公の存在意義自体が問われるものだったり、これまでに直面してきた課題を、 一気に解決してしまったりするほどの、大きな転換点といえます。

ゲームの中で、最後にして、最大の危機。絶体絶命の大ピンチに見舞われるわけですが、 これまでに、数々の困難を乗り越えてきた主人公は、もう昔の弱い存在ではありません。
自分がとるべき行動をしっかりと自覚できてますし、それを実行するだけの能力も備わっています。 もちろん、自分を理解し、手助けしてくれる仲間にも、出会っていることでしょう。 それまでに得た経験、人脈、知識、自尊心、それら全てをかけて、主人公はこの試練に挑みます。

克服エピソードの発生は、主人公の成長度合と、社会状況に依存することとします。 社会シミュレーションの要素を発生条件に組み込むことにより、 個人の意思とはまったく別の次元で動いてる「時代の流れ」がもたらす試練を表現します。 そして同時に、主人公がこの試練に対峙することそのものが、社会の一員として成長したことの証にもなります。

街の危機を救う大仕事、人の命にも関わる重大な任務、お店が潰れるかどうかの瀬戸際、 田舎の両親から呼び戻されて、この街で最後となる仕事……ゲームのラストを盛り上げ、 クライマックスとなるエピソードを用意しないといけませんね。

●達成
起承転結のにあたる部分で、このゲームのエンディングに相当します。 これまでの主人公の苦労が、報われる瞬間ですね。
克服のエピソードにより、立派な魔法使いと社会に認められることで、 それまで、主人公に立ちはだかっていた障壁が、一気に取り除かれます。 ライバルが友人に、不信が信頼に、敵意が好意に変わります。

このエンディングは、単一のエピソードではなく、エピソードの組み合わせで表現します。 つまり、それまで主人公が抱えていた困難の数だけ、達成のエピソードが出現するわけですね。 対立していた人物と仲直りしたり、自分を認めてくれなかった人物から高い評価を得たり、 これまでプレイし歩んできた道を、しみじみと振り返ってもらう予定です。
克服エピソードの展開によっては、主人公がこの街から去ることもあるでしょう。 そのときは、きっと、主人公にこの街を去って欲しくないと、 多くの人々が駆け寄ってくるに違いありません。

ここまでプレイして本当に良かったと思ってもらえるエピソードを用意したいと思ってます。

 ページトップへ戻る

これまでで一番長いコラムになりました

さ、これでストーリーの設計が終わりました。 次は、実際にライティングを始めるわけですが、しばらくは、そのためのネタ集めをするとしましょうかね。 ある程度、人物や、街の様子が固まったら、並行して会話や都市シミュレーションの設計にも入りたいと思ってるんですが……まだまだ先は長そうです。

最後に、今回のコラムを執筆する上で、参考にした文献を紹介しておきます。 これらの文献に出会わなければ、ここまでの考えに至らなかったほど、強い影響を受けました。 映画の脚本や、小説の書き方について書かれた本ですが、 ゲームのストーリーを作成するにおいても、非常に有益なことが書かれています。 ゲームクリエイターを志望する人、必見の書物ですので、どれか一冊でも、ぜひ一度目を通しておいて下さい。

<参考文献>
ハリウッド・リライティング・バイブル
  著者:リンダ シガー, その他(フィルムアンドメディア研究所)
キャラクター小説の作り方
  著者:大塚 英志(講談社現代新書)
ハリウッド脚本術
  著者:ニール・D・ヒックス(フィルムアート社)

 ページトップへ戻る