Last update 1999/08/07

オブジェクト指向によるゲームデザインを考える

第3回

(C)平山直之
無断転載は禁止、リンクはフリー
誤字脱字の指摘は歓迎


ゲームデザインの素材

さて、オブジェクト指向ゲームデザインの説明のために、ゲームの企画を一つ立てることにしましょう。今回はその企画書兼大まかな仕様書です。一年くらい前に書いたものを編集しています。

オープンアーキテクチャ・オープンソース・ストラテジックネットワークゲーム・ディベロップメントプロジェクト、略してOAOSSNGDP、オアオスングドゥプと呼んでください(読めない)。

ゲーム企画

1. 仮称

「カード戦争」

2. コンセプト

3. 問題点

4. 主な道具・用語の説明

5. ゲームの流れ

5.1. 終了条件

勝利条件 ボード上の領域を70%以上占領する(この割合は様子を見て変更)。

敗北条件 全ての領土を失う

ゲームに参加するプレイヤーのいずれかが勝利条件か敗北条件を満たした場合、ゲームは終了する。プレイヤーのいずれかが敗北条件を満たしていた場合、一番占領領域の広いプレイヤーの勝利となる。従ってゲーム中、

「誰か1人でも敗北条件を満たすとその時点でゲームが終了してしまうため、その時点で1位でないプレイヤーは滅びそうなプレイヤーを守らなければならない」

という制限が生まれ、政治が必要になってくる(はず)。

5.2. 手順

画面は以下のようなイメージ。

<画面>

5.2.1. ゲーム開始

ゲーム開始時、プレイヤーには次のものが与えられる。

  • カード7枚
  • 地域1つ
  • 資金500$(単位は世界観による、本文書ではドルで統一)
  • 人材1名(リーダー)

5.2.2. ゲームメインループ

ゲーム本体は「ラウンド」の繰り返しで、いずれかの陣営が勝利条件を満たすまで続く。

各ラウンドは以下の手順で進む。

  1. 補充フェイズ
  2. イベントフェイズ
  3. 行動決定フェイズ
  4. 行動結果フェイズ

「3.行動決定フェイズ」以外は、各プレイヤーは操作を行うことができない。

カード・イベントに依存しない根幹ルールはこれだけで、後はすべてカード・イベントの効果ということになる。

5.2.2.1. 補充フェイズ

各プレイヤーのカードが7枚に満たない場合、足りない分が山から補充される。また各ラウンドごとの収支が決算される(人材の賃金など)。

5.2.2.2. イベントフェイズ

各種のイベントが、ランダムもしくはパラメータに従って起こる。全て強制的に起こり、プレイヤーはそれに対して「はい」「いいえ」などの応答を行うことはできない。

イベントはプラグインで実装。

5.2.2.3. 行動決定フェイズ

このフェイズのみ、「1回休み」などの問題がないかぎり各プレイヤーが操作を行うことができる。

各プレイヤーは、手札の中から一枚を選び、場に出す。そのカードが「プレイヤーの指定」「地域の指定」「人材の指定」「他のカードの指定」を必要とする場合、同時にそれを指定する。ただし、カードの設計の際の基本方針として、特に相手の陣営に対して働きかける場合、それらの指定はなるべく行わないで済む(行えない)ようにすることが望ましい。これはボードゲーム感を出すため。

各プレイヤーの行動決定の順序については、今のところ「何らかの点で勝っている順」を考えているが(負けている者が勝っているものの行動を見て行動できるように)、ネットワークではそもそも成り立たないかも知れないので、様子を見て決める。

5.2.2.4. 行動結果フェイズ

行動決定フェイズで決定された各プレイヤーの行動予定が順に解決される。行動決定の順序に関しては、「ランダム」「リーダーの能力」「負けているプレイヤーから」「カードによる」などを考えている。

使われたカードは捨てられる。

5.2.3. ゲーム終了

ゲームのプレイ結果が表示される。

6. カード

6.0. 概論

6.1. 必要最低限なもの

前述のように、本ゲームのシステムはごく基本的な機能(ラウンド・ターン・フェイズの管理)しかもたない。従って、通常の他のゲームであればシステムに分類されるようなものがカードの効果として実現される。例えば、このゲームの勝利条件は「領土を70%以上占領する」ことであるが、基本システムには領土を増やす方法が存在していないため、カードなしでそれが達成されることはありえない。従って、「システムに近いカード」の存在が最低限必要になり、「例外」がシステムの一部となっている。

以下はそのような基本的なカードである。括弧内はそのカードの目的の達成の判定に使用される人材の能力。

  • 侵略(軍事) 武力を用いた通常の地域征服の手段。自分の所有する地域のいずれかに隣接した地域を一つと、侵略を行う人材を一名指定する。成功した場合、指定した地域を自分の領土にすることができる。成功判定に関しては、とりあえず能力を乱数で判定する簡易方式をとる。
  • 詐取(調略) 知力を用いた地域征服の手段。同上。
  • 割譲要求(政治) 地域割譲を要求する。同上。ただし、相手より軍事的に勝っているほど確率が上がり、十分に勝っている場合は最も確率の高い征服手段。

<要調整> 各ジャンルごとに別々のやり方で成長していシステムの方が面白いのではないか(例:軍事は段階的な征服が可能、調略はバクチ、政治は戦略レベル、など)。また三すくみ関係になっている方が面白いと思う。

6.2. 外交交渉

プレイヤーは、外交圧力カードで外交圧力を加えることができる。自分の陣営の勢力が相手の陣営の勢力より勝っているほど効果は大きい。

  • 外交圧力(政治) 外交圧力には即効性の効果はない(もしくはわずかに収入が増えるなど、少ない)が、外交圧力レベル(陣営ごとにマトリクス状に個別に設定されている)が一定の値に達すると、以下のような追加交渉ができるようになる(下のものほど高い外交圧力レベルが必要)。
  • 不戦同盟(政治) 攻められることがなくなる。その陣営に対する外交圧力が十分に下がるまで攻められることがなくなる。
  • 出兵要請(軍事) 軍事行動を強制する。攻めさせる陣営を指定することはできない。
  • 併合(政治) 吸収合併する。併合された陣営は消失する。保持していた領土はすべて吸収した陣営のものとなり、人材は吸収するかゲームから退場するかを個別に乱数で判定する。もちろん、勢力が十分に勝っていないと使えない(考えているのは領土にして2倍程度。バランスを見て調整する)。

外交圧力以外の干渉の多くは外交圧力レベルを若干下げる。また「不戦同盟」などの外交カードは外交圧力レベルを大きく下げる。

もちろん思いついたら追加する。基本的に外交は「いただきストリート」の「株」に相当するテクニシャン向けの仕組みでもあり、なるべく終盤まで逆転の目が残っていることが望ましい。また「信長の野望」などの戦国もののゲームよりも効果が大ざっぱであることが望ましい。

6.3. それ以外のカード

以下は最低限必要なカードには含まれないが、プレイヤー同士の駆け引きのために存在する。

  • 引き抜き(政治) 他陣営の人材の引き抜き。引き抜きを実行する人材を指定するが、引き抜く対象の人材を指定することはできない。強い陣営の弱い人材が選ばれやすい。引き抜かれた人材は自陣営に加わる。
  • 暗殺(調略) 他陣営の人材の暗殺。引き抜きと同様だが、暗殺された人材はゲームから消える。
  • 反乱(調略) 人材を反乱させる。引き抜きと同様だが、反乱した人材は新しい陣営になる。
  • 引退(政治) 人材を引退させる。引退させる人材を指定する。引退させられた人材は一旦ボード上から姿を消すが、イベント等でいずれかの陣営に復帰することがある。
  • 将軍任命(政治) 人材を「将軍」にする。将軍にする人材とターンごとの予算を指定する。以後自分の判断でLv1相当の軍事行動をとるようになる。
  • 政治家任命(政治) 人材を「政治家」にする。政治家にする人材とターンごとの予算を指定する。以後自分の判断でLv1相当の政治行動をとるようになる。
  • 参謀任命(政治) 人材を「参謀」にする。軍師にする人材とターンごとの予算を指定する。以後自分の判断でLv1相当の調略行動をとるようになる。
  • 任命解除(政治) 人材の役割を解除する。以後何もしなくなる。
  • 開発(政治) 地域の生産力を向上させる。生産力を上昇させる地域を指定する。
  • カード交換(調略) 他のプレイヤーとカードを強引に交換する。
  • 行動妨害(軍事) 他のプレイヤーの行動を強引に阻止する。
  • 捨てる(調略) カードを捨てる(次のターンの補充フェイズで補充されるので、いらないカードを捨てるとよい)。
  • 捨てさせる(軍事) 他のプレイヤーのカードを捨てさせる(次のターンの補充フェイズで補充されるので、いらないカードを捨てるとよい)。
  • 計略阻止(調略) 敵の妨害行動を阻止する。手札にあると自動的に使ってしまう。
  • 鼓舞(政治) 人材の行動力を回復する。
  • 敏速行動(調略) 複数回行動する。
  • 災害対策(政治) ある種のイベントを回避できる。

その他に関しては「桃太郎電鉄」などを参考にしたい。

6.4. カードの判定

6.4.1. 成功判定

多くのカードは、そのカードの効果が現すのに成功判定を必要とする。これは行動結果フェイズに行われる。

成功判定は、カードによるが、基本的に次のような確率で行われる。

「人材の能力(カードで指定されたもの)×カードのLv×3」%

バランスは様子を見て変更する。

6.4.2. 阻止

他のプレイヤーにカードによって何かを働きかけられ、それが成功したとき、自動的に阻止が行われることがある。次のような人材が存在する場合にのみ阻止が行われる。

  • リーダーでない
  • 行動力が4以上ある
  • そのラウンドに行動していない
  • 役割が「なし」になっている

以上の条件を満たす人材の中から、最も相手の行動を阻止する能力に長けた人材が自動的に選出され、その人材を使って阻止判定が行われる。阻止は次のような確率で行われる。

「人材の能力(相手のカードで指定されたもの)×7」%

バランスは様子を見て変更する。

阻止が成功した場合、阻止に当たった人材の行動力が4引かれる。

阻止はイベントによっても起こることがある。

7. 人材

人材は以下のパラメータを持つ(世界観による)。

人材はそれぞれ固有の「行動力」を持っている。人材を必要とする行動にはその個別の行動特有の「行動力コスト」があり、人材の現在行動力がその行動力を上回っていないと行動することができない。行動力コストは概ねLv1で3、Lv2で5、Lv3で7。各人材の現在行動力が最大行動力より小さい場合、各ラウンドの補充フェイズで1ポイントずつ回復する。

人材はゲーム中には三国志などほど多くは登場しない。バランスを見て決めるが、暫定的に「地域数÷2」人程度とする。

8. リーダー

リーダーには以下のような個別の特殊能力がある。

その他思いついたら。

9. 地域

地域には以下のようなパラメータがある。

10. 決算

毎ラウンドの補充フェイズで、資金の決算が行われる。計上されるのは以下の項目。

人材の賃金の支払いは、賃金の安い者から順に行われていく。賃金が支払えないと、その人材は陣営から去ることになる(これだときつすぎるかも知れないので、代替案として「行動力が回復しない」も提示しておく)

11. イベント

「いただきストリート」「桃太郎電鉄」「信長の野望」「天下統一」などを参考にしたい。ボードゲーム性を出すため、比較的強引で大雑把なものが望ましい。また世界観を無視したイベント(たとえば「資金を配る」など)もあってもよいと考える。

など、できるだけたくさん。

というわけで

おおまかな仕様書はこんなものでよいでしょう。でも、これは言ってみれば企画書に毛の生えたレベルです。ゲームデザイナの仕事はこれで終わりではありません。「なんとなく筋の通ったシステムは見えてきそう」な文書ではあると思いますが、逆に言えばそれまでのものであり、「筋の通ったシステム」が記された文書ではないのです。ゲームデザイナは、これを「筋の通った文書」にしなければなりません。それにはプログラマ的なモノの考え方、もっと一般化して言えば科学的なモノの考え方が必要不可欠です。次回からは、そのプロセスの中でオブジェクト指向がどのような役に立つのかを考察していきたいと考えています。

これは叩き台にすぎませんので、分析の過程で矛盾が見つかれば修正するでしょうし、何よりこのプロジェクトはープンアーキテクチャ・オープンソースで進められるのですから、BBSで建設的な発言があれば、それを積極的に取りいれていきたいとも考えています。オープンソース文化にならい、「一言でも建設的な発言すれば共同開発者」としますので、積極的な参加を待っています。特に、上の企画書で「〜のではないか」「〜のが望ましい」「〜したい」と書かれているところを考えてくださると嬉しいです。

ゲームのルールに関することは今のうちに言っておいたほうが採用確率は高いですよ。


(C) 1999 Naoyuki Hirayama. All rights reserved.