マップ同士の接続をどうするか問題を考えてみた

みんなでつくるダンジョン(仮称)はマップ同士の接続によって無限に広がるマップを楽しめるよ!!というのがコンセプトなわけですが、ここで じぶんのマップと他の人のマップをどのように結べばよいかという点が難しいなと思った次第です。

ここでいう難しさとは、プログラミング的に難しいなどの実装面の話ではなく、どのようにユーザー同士で合意をとってマップを接続してもらうかというところ。

基本的に、マップAとマップBは以下のように相互に行き来できるようにするので、マップAにマップBの接続設定をすると、それはマップBからマップAに接続設定をするのと 同じことになります。このとき、マップAとマップBの持ち主が異なるとき、どのように合意を取ってもらい相互に接続してもらうかが問題になります。

f:id:piyorinpa:20180520004039p:plain
マップ間は相互に行き来できるようにします

たとえば以下のような案が考えられそうです。

マップの持ち主に許可をもらって接続する(承認制)

マップAの所有者がマップBの所有者に「接続したいぞー」とリクエストを出し、マップBの所有者が許可を出した場合に接続を許可するというもの。 これでもよさそうなのですが、マップAの所有者が断られてしまうと面白くないだろうし、マップBの所有者も断りづらくなって、いろいろと 上手くいかなくなるのではないかなという気持ちもします。

先着順で自由に接続できるようにする

マップAの所有者は、マップBが空いていたら許可などを経なくても接続できてしまうというもの。ただ、マップBの所有者が他のマップと 繋ぎたいと思っていた場合に、マップAの持ち主に勝手に繋がれてしまうと面白くないかもしれません。

みんなでつくるダンジョンのコンセプト的には、基本的にはマップはどんどん相互接続されて広くなっていってほしいので、これくらいの接続の気軽さや自由さが欲しいところですが、 マップはいわば制作者の作品でもあるので、それらを勝手に接続されてしまうというのはイマイチなのかもしれません。

んー、むずかしいですね。。。

「接続用のマップ」を用意して自由に接続できるようにする

じぶんの作ったマップが他のマップと気軽につなげられるように、「接続用のマップ」を用意してあげる方法です。接続用のマップはいくつかの「コネクタ」を持っていて、 空いているコネクタとじぶんのマップを自由に接続できるようにするというものです。

f:id:piyorinpa:20180520004643p:plain
マップ同士の接続

このようにすることで、「気軽に接続したい!」という要望と、「勝手に接続されては困る」という点をなんとか解決できるのではないかなぁと思っています。 はじめのうちは接続用マップは運営側で用意してあげる方向でよいかなと思っていますが、ゆくゆくはユーザーのみなさんで「接続用マップ」も作られるようになればいいなと 考えています。

もちろん、マップAの所有者とマップBの所有者が合意して相互に接続できる、みたいな機能も欲しいところなので、その辺は別途考えるとします。 (コネクタにパスワードをかけられるようにして、接続の際にパスワードを要求するなどを考えています)