【インタビュー double jump.tokyo株式会社 上野氏】βバトル版を終えて、見つかった課題と今後の展望を聞いてきました。

2018-11-09

いよいよ正式サービスのローンチを控えたマイクリプトヒーローズ(MCH)。

βバトルを終えての振り返りをインタビューします。

バトルのβリリースでは、ゲーム専用のサイドチェーンLoomNetworkを使ってもトランザクション詰まりが起こってしまう等いくつかの問題がありました。

今回、マイクリプトヒーローズを運営する、double jump.tokyo株式会社のCEOである上野広伸氏と、COOの玉舎直人氏に、βバトルを終了してからの振り返りを聞いてきました。

トランザクションつまりは予見できた?

上野氏 : 予見は出来ました。
これはちょっとHI-CONで語ろうと思っているんですけど、
一戦20秒かかるものの、複数人きても耐えられるようなシャーディング構成を実は一回踏んでいるんですよ。対外的には発表していないんですけど。

いわば自前シャーディングです。
やっぱりそれでも耐えれないなというのもあったので、仕方なくバトルロジックの一部をオフチェーン化しました。
ここらへんは11/10のHI-CONで詳しくお話します。

玉舎氏 : ちなみにZilliqaさんらからは僕らのシステムを見てCRAZYだって言われました。

木村 : それはシャーディングについてですか?

上野氏 : いえ、そもそも本格的なゲームのバトルロジックをsolidityで実現するというか、ブロックチェーンで全部実現するという事自体がなかなか…

玉舎氏 : 本当にこんなの世界でお前らだけだと。

上野氏 : ちょっと技術用語が混じってもいいですか?

バトルロジック自体はべき等性(ある操作を1回行っても複数回行っても結果が同じであること)を保った形になっていて、どこのノードで実行しても全く同じ結果になるというようなものにしたんですよね。

そうすると、本来同じブロックチェーン上で実行するのが正なんですけど、別のブロックチェーンで実行しても全く結果が変わらないのでそれを良しとして、サイドチェーンのメイン以外のところで、バトルロジックだけは別に実行するために実は5つくらいノードを用意してバトルロジックを計算していたんですよ。

木村 : それはバトルロジックのみ分散させている?

上野氏 : そうです、バトルのみ。バトルはあくまでも計算だけなので。

木村 : 一つのバトルを分散させているんですか?それともバトル毎に分散させているんですか?

上野氏 : バトル毎に分散させています。
バトル自体を分散させることは不可能で、直列にしか計算できないのです。

木村 : イメージとしてはロードバランサー?

上野氏 : そうですね。ロードバランシングですね。全部それを自前で実装しました。
一週間くらいで、

シャーディングを入れた上で、トランザクションつまりが起こった理由はなんだったのか

上野氏 :理由は二つです。
分散させたからとて、1バトル20秒かかるものは20秒かかる。
20秒が40秒にならないだけで、分散させたところで同じです。

(もう一つは)バトルロジックは、バトルβの途中で半オフチェーンにしたものの、バトルロジックを開始する前段となるバトル開始コントラクトが、
編成コントラクトと入れ子になっていて、重くなるという事が避けられなかったんですよね。

バトルロジックのボトムネックを解消したら、次にバトル開始コントラクトの問題が顕在化しただけで、結局、UXと言うか、全体のバトルの流れとしては十分に改善できなかった。

編成のボトルネックはLoomNetworkの限界?

上野氏 : LoomNetworkに係わらず、そもそもブロックチェーン上でゲームのような複雑なロジックを全て動かすというのがなかなか厳しいということです。
ブロックチェーンの1つのトランザクション処理はどこまでどうやったとしても1台でしかできないわけで、ノードを並べてもそれはあくまでも可用性の担保であって性能がアップするわけではない。シャーディングと言っているものも、このコントラクトとこのコントラクトは別物だから別々に計算してもいいよねと言っても、同じコントラクトはやっぱり一個なんです。

普通のソシャゲであれば、性能減って来たから三台四台並べましょうって言ってるじゃないですか。
ソシャゲが1台で耐えれないような性能である時点で、どんな高速なチェーンを使ってもバトルのような複雑なゲームロジックを動かすのは無理でしょうね。

そこが、ブロックチェーンの今の技術の限界ではある。

玉舎氏 : もっと飛躍的にノードあたりの計算性能が上がらない事にはどうにもならない。

上野氏 : 今のブロックチェーンの流れとしては、ブロックチェーンそのものの性能改善だけではなく、
ステイトチャネルやビットコインのライトニングネットワークとかもそうですけど、
オフチェーンを許容しつつ、オフチェーンで不正をしたら発見できるみたいな、
そういう世界観で、ブロックチェーンオンリーで計算しきるというよりも、
論理的に不正が行いにくい構造にすることでオフチェーンを認めるという方向になってきていて、そういう形で進歩していくんだろうなと思います。

結局、MCHは最終的に三層構造にしました。ブロックチェーンで、一番大事なデジタルアセットの価値を保存するみたいなところにおいては、データだけをブロックチェーンにして、あとは大胆にオフチェーン化することを決断しました。

ここにいたるまでには色々試行錯誤しましたけど、結果的にはそこに落ち着きました。

上野氏 : 実はそれぞれの層は、差し替え可能なんですよ。
サイドチェーン層はサイドチェーン層で差し替え可能、オフチェーン層はオフチェーン層で差し替えが可能な設計にしています。

三層構造までの歴史

玉舎氏 : 実は最初は、MCHはオンチェーンとオフチェーンのハイブリッドという設計だったんですよね。
今の3層構造のサイドチェーンの部分を抜いた2層構造の形だったんです。

歴史を言うと、
5月頃にシンガポールでイーサエモンさんにアドバイスを求めた際、「なんだそのだっせえ実装方式」と言われて。
彼らはその時点でZilliqaを使うという話をされていて、
しかし我々としては、Zilliqaってまだ当時テストネットにも出ていなくて実用化の時期も不明でしたので、
実用できそうなサイドチェーンを探した結果、
LoomNetworkくらいしかなさそう」という選択肢の中で、LoomNetworkの採用を検討をしました。


イーサリアムは活かしたいと思っていたので、それ以外の他のチェーンにいくことはあまり考えていなかったので、イーサリアムのサイドチェーンで行きたい。当時LoomNetworkは既にプラズマに対応することも明言していましたのもあり、LoomNetworkの採用を決定しました。

そんなイーサエモンが先にオフチェーン化の方に行ってたというですね。

先日、シンガポールに行った時にMCHのバトルをみせて、彼らも「CRAZY」だと言っていました。
「おたくのトップがオフチェーンなんてやめろって言ったんだけど???」って話をしたら

「そうか…そんな事を言った時代もあったかな」って。(笑)

彼らは実際にサービスを運営する中で、UXに対する課題に直面していたので、割と早い時期にさっさとオフチェーン化していったという。

我々は「ちゃんとブロックチェーンでやりたい」ということで、未完成のLoomNetworkに手を焼きながも苦労して開発したんですけど、結論として今回、イーサエモンと同様、UXを優先してオフチェーンにすべきところはオフチェーンにする決断をしました。
ただ、全部オフチェーンにするのではなく、サイドチェーンを活かした、三層構造にしました。

現在の構成について

上野氏 : 結果、妥当な構成に落ち着いたなと思います。
アセットのID情報はメインネットに持っていて、IDの中身の情報(ヒーローはレベル何なのかとか、どういう絵がセットされているのかという情報)は、サイドチェーンにあります。

例えばゲーム中でどんな編成になっているかというような情報はアセット価値とは関係ないのでオフチェーンに。
アセット価値と関連しているところはブロックチェーン、関連していないところは大胆にオフチェーン化しました。

玉舎氏 : 本当はフルdappsが理想です。「そんなの夢物語じゃん」と言う人もいるんですけど、そうならないと、ブロックチェーンゲームの本来の意味がないです。

5月にイーサエモンと議論していた時、まさにそうだなと思ったんですけど、アセット所有情報だけがオンチェーンにあるような実質オフチェーンゲームは、ブロックチェーン技術を使ったゲームではあっても。本質的にはdappsとは言えないと思っています。


最終的には、ゲームの運営そのものをコミュニティに委ねていきたいという考え方があったので、その為にはdappsたるべきと考えていたんです。

けど、やっぱり現実問題として、UXを考えるとオフチェーンにせざるを得ない部分が出てしまって、当面はやむをえないかなと。

上野氏 : 今の三層構成システムは現実解だと思っています。

ただ、オフチェーンの実装方法においても、ブロックチェーンのエコシステムというか、技術というか、そこに取り込まれる形でのオフチェーンのあり方がきっと今後出てきます。

玉舎氏 : 弊社の試行錯誤のノウハウは、業界にもシェアさせていただこうと思っています。ゲームで実装するなら、今現在はこの三層構成がベストになると思われます。もちろんサイドチェーン層はLoomNetwork以外のサイドチェーンに変えてもいいでしょう。セカンドレイヤーの性能は今後もっと上がっていくかもしれません。

βバトルでの課題

玉舎氏 : ちゃんとしたRPGをやろうとしすぎた。

上野氏 : 「相手を”毒”状態にする」とかもsolidityで書きましたからね。

玉舎氏 : 実際のMCHはバトルβのようなトランザクション集中するタイプのゲームではありません。
今回のバトルβでは、サイドチェーンの性能限界のテストも兼ねてトランザクション集中するような大会を実施しましたけど、
実際のMCHは、「ワーカープレイスメントゲーム」と言っているように、
多数のユーザーが入ってきても負荷分散できるようなゲームデザイン、
つまりリアルタイムに処理しなくてもいいようなゲームシステムにはなっているんです。
今回のような極端な状況は今後はそんなに発生しないとは思います。

とはいえ、数百くらいのトランザクションでこんなになってもらっちゃ困るので。

上野氏 : 一番詰まっているときで同時トランザクション150くらい。

玉舎氏 : 実際もっとユーザーはいたんですが、詰まっちゃったんで、おそらくそこでプレイをあきらめちゃってる。
あと、F5連打している人もいて、トランザクションが次から次から。

我々も「リロードしてください」と告知しちゃったこともあって、無駄にトランザクションが出てしまった。

それによって、最初は編成が詰まっていたのが、どんどんどんつまりが広がってしまい最終的にはログインすら困難になった。
これは技術的な問題を拡大してしまったという意味で運営的反省です。
リロードしてくださいっていう対処を、普通だったら「正」だと思うんですけど、「正」ではなかったという。

今後はほかのサイドチェーンに変更する?

上野氏 : 最終的には運営をユーザーコミュニティに渡していけるのが本来の理想なので、そこに向けて変更する可能性はあります。

開発が完了し、コミュニティが育ってきたら、基本的にはMCHのその後の運営はコミュニティに委譲して、コミュニティの人たちがインセンティブを得る形でMCHエコシステムを回していくというのが理想の姿です。
ブロックチェーンゲームのあるべき姿。

玉舎氏 : UXを優先し、長期的に構える決断をしました。大きくオフチェーン化した第三層目も、技術の進歩をみながらサイドチェーン層に再度取り込んでいかなければならないと思っています。

玉舎氏 : 本格的なRPGってかなり処理が重いんですよね。
MCHも見た目はシンプルですけど、裏側はMMORPG並に本格的なんです。
僕らは前職で野球ゲームとサッカーゲームをやっていたのですが、裏側のロジックってものすごく本格的で、
あれは9対9とか11対11でとんでもなく複雑な処理になっているのですけども、
MCHはそれを3対3にして実装しているようなものなのです。

上野氏 : 実は中身シミュレーションゲームなんですよね。

玉舎氏 : かなりしっかりしたシミュレーションロジックを動かしていますね。

他のサイドチェーンに変えてもその処理は難しい?

玉舎氏 : 一緒です。同じ問題にぶつかるでしょう。
ロジック側の方をどうブロックチェーンに合わせて最適化するか、オフチェーンをどう組合わせるか、その二点に帰着すると思います。

上野氏 : そういう意味で言うと、イーサリアムもシステム的にもっとすごい後発のブロックチェーンがいっぱいあるが、
イーサリアムはそこに既にあるエコシステムが強大なのが価値なのです。

MCHもプレセールをしたそばから、アセットがOpenseaで取引されていたり。
これは、仕様が標準化されているというところが大きくて、その上で様々なアプリケーションやサービスが既に動いている。
そのエコシステムがあまりにも強大なので、イーサリアムを選択しているんです。
サイドチェーンも同様で、絶対性能よりもエコシステムがより重要だと思います。

最終的には、サイドチェーンはサイドチェーンで、エコシステムが強力で強大なコミュニティの支持を受けているものが覇権をとってくるでしょう。DAppsディベロッパーとしては、そういうところに乗っかっていきたいんです。

性能面でどうかと言う問題は、もちろん重要ではあるんですけど、結局半年もしたら追いついちゃうんですよね。

イーサリアムは、巨大なエコシステムが既にあるんですけど、全業種、全方位的なんですよ。
ゲームに特化した標準仕様があったらいいよねっていうのが全然用意されていなくて、そういう意味では、ゲームに特化した強力なコミュニティとエコシステムをもつサイドチェーンがきっと出てくると予測しています。

Unityなどのゲームエンジンに似てますね。ゲーム専用チェーンが現れてきて、そこにエコシステムが出来れば、コミュニティが性能を引き上げていくでしょう。性能なんてのは結局どこもたいして変わらなくなります。

EVOとかのように、コミュニティがしっかりして標準仕様が決まっていれば、別々のゲームで、全部で戦ってランキング決めるっていうことができると思うんです。

玉舎氏 : ゲームだと、ファミコンがあって、ファミコンが先に普及しちゃったけど、実はファミコンよりも性能が高かったであろうPCエンジンとかいろいろあった。プラットフォームとして覇権を握ったのがファミコンであって、アプリケーションはその(ファミコンの)性能の中でしのぎを削って進化したみたいなのと同じかなと。

我々も、強力なエコシステムを形成したより良いチェーンがあるのであれば、将来的には最初からそこに最適化したゲームの開発をするかもしれません。
ファミコンだからこの設計、プレイステーションだからこの設計と、プラットフォームに適したゲームの設計があったのと同様です。ゲームは技術と共に進化、多様化するもののだと信じています。

Double jump.tokyoの今後の展望は?

上野氏 : マイクリプトヒーローズを、日本発の本格ブロックチェーンゲームとして、世界中の人に遊んでもらいたいですね。
初めは、「仮想通貨をやっています」、「ブロックチェーンゲームやっています」みたいなリテラシー高い人がまずは集まってくると思います。
今はまだ時期尚早でけども、段階的にユーザー層を広げて、普通のゲーマーにも遊んでもらえたらと思っています。

後半に続く

今回、さらに運営を行ったうえで分かった問題や、これからゲームがウォレットとのどう取り組んでいくべきかについても伺いました。
ここまでで前半のインタビューとさせていただきます。

上野氏が登壇されるHi-Conはこちら

My Crypto Heroes (マイクリプトヒーローズ)

取引量/24時間
0
取引数/24時間
0
DAU
0
double jump.tokyoによるワーカープレイスメント型RPGゲーム。 歴史上のヒーローたちを集め、育て、バトルに挑みます。 多彩なヒーローとアイテムを組み合わせたチーム編成が、バトルでの勝利のポイント。 最強のチームでCrypto Worldの覇者をめざそう!

この記事が良かったら
いいねしよう

毎日情報を更新しています。

この記事が良かったら
いいねしよう

毎日情報を更新しています。

シェア

ツイート

著者について

BlockChainGamer

ブロックチェーンゲームについてのイベント情報・ゲーム攻略情報を紹介しています。