ゲームプラットフォームのモデルを考えてみる その3:開発者とユーザ

これまでの続きとして、このエントリではゲームプラットフォームのモデリングを行います。

なお、毎度ながら、このテーマに関しては、僕はド素人なので、不適切な部分があればどんどんつっこんでください。つっこみに合わせて、(メタ)モデルを修正していきます。


下記の図は、前回までのモデリング結果を示しています。

前回モデリングとして行ったのは以下のことです。


今回は、これらプラットフォームやゲームなどに関わる人々をモデリングしてみたいと思います。今回考えるのは二つの役割を持った人々です。

  • ゲームの開発者
  • ゲームのプラットフォームとゲームのユーザ

まずは、ゲームの「開発者」を考えたいと思います。メタモデルに、開発者の要素を追加してみました。

このメタモデルからは、以下が分かります。

  • あるゲームプラットフォームには、任意の数の開発者がいます。
  • ある開発者は、任意の数のゲームプラットフォームで開発します。
  • ある開発者は、任意の数のゲームを開発します。
  • あるゲームは、一人以上の開発者によって開発されます。

ここで、開発者とは、プログラマーだけでなく、ゲームの制作に関わる全ての人だと考えてください。

次のモデリングに進む前に、そろそろモデルが複雑になってきて、どれがどのメタモデルの要素に対応するのかが分かりにくくなってきたので、モデルの表記法を導入したいと思います。開発者に関しては、モデル上では、DeveloperのDを取って、○の中にDを入れた記号で表したいと思います。


続いて、いわゆるゲームのユーザをモデリングしたいと思います。とはいえ、色々悩ましい点があります。一つずつ考えていきます。

  • ゲームプラットフォームとユーザの関係: あるゲームプラットフォームのユーザである、といった場合、これは何を意味しているのでしょうか? その人はそのプラットフォームの所有者であるということでしょうか? ここで、現状のメタモデルでは「AさんがあるPS3を一台持っている」というような現実を表現しないことに注意して下さい。下記の図の左には、このような現実を表現するモデルとメタモデルを、右には、これまで作ってきたメタモデルを示しています。


それでは、現状で作っているメタモデルに適合するようなユーザの定義を考えてみましょう。とりあえずは、ゲームプラットフォームと関わりを持つユーザを次のような二つの条件に合致する人だとしました。

  • (1) そのプラットフォームでゲームをすることに関心がある。
  • (2) そのプラットフォームにアクセスする手段がある。

したがって、たとえば、AさんがあるPS3を購入し、所有しており、ゲームする場合、Aさんはユーザです。また、Aさんの弟であるBさんも、直接の購入者ではありませんが、ゲームをすることができるのでユーザです。AさんとBさんの母親は、PS3を起動させることができますが(条件2)、ゲームには興味はないためユーザではありません。もちろん、この定義には曖昧な点がありますが、まずはこれで考えていきます。

ユーザを追加したのが下記の図になります。

このメタモデルは次のように解釈できます。

  • ゲームプラットフォームには、任意の数のユーザが存在する。
  • ユーザは、任意の数のゲームプラットフォームを利用する。


続いて、ゲームとユーザの関係についてモデリングしたいと思います。考え方はプラットフォームのときと同じです。上記の定義を拡張するような定義になります。

  • (3) そのゲームをすることに関心がある。
  • (4) そのゲームをする手段がある。


このメタモデルは次のように解釈できます。

  • あるゲームには、任意の数のユーザが存在する。
  • あるユーザは、任意の数のゲームをする。


最後に、開発者の表記法と同じように、ユーザについても専用の記号を導入したいと思います。Userなので○にUを入れた記号にしました。


次回は、SNSのユーザの存在が、今回作成したメタモデルにどのように影響するのかを考え、それをもとにモデリングしていきたいと思います。