MyCryptoHeroes最終寄稿|「バトルβ」DAppsの夢と現実
「MyCryptoHeroes×ダプマ」の第三回(最終回)として、2018年9月25日〜11月2日に実施されたバトルβのバックストーリーについて寄稿します。
レジェンドからの酷評
プレセールとバトルβを目前にひかえた9月初旬、私(玉舎 double jump.tokyo COO)と上野(同 CEO/CTO)は、株主でありアドバイザーの岡本吉起氏を訪ね、マレーシアのジョホールバルにいた。
岡本さんは、ゲーム業界人では知らない人がいないLegendary級のゲームプロデューサー。アーケードゲーム、コンソールゲーム、スマホゲームでホームランを放ったゲーム業界の三冠王である。
そんな業界のレジェンドである岡本さんの前、上野は少し緊張しながら、MyCryptoHeroesのプロトタイプを見せ、来るバトルβにおけるゲームの説明をした。
岡本さんに見せたものより少し古いプロトタイプ
説明を聞く岡本さんは、終始鈍い表情を見せていた。
一通りの説明が終わった後に、開口一番言われた言葉は「やりたいことはエエね。けど、わかりにく過ぎる」だった。
そして概ね以下のような指摘をされた(当時のメモほぼそのまま)
- UIがわかりにくすぎる
- 編成、スキルの組み替え、めんどくさい
- 「勝つと何が得なのか?」もっとわかりやすく
- そもそも「何が楽しいのか?」もっとわかりやすく
- でないと「理解する気にすらなれない」つまり誰もやらない
実際はもっと気を遣われた言葉であったが…まあ、酷評である。
私は、リアルタイムで、これをそのままDiscordで開発メンバーに伝えた。
※岡本さんは、批判したのではなく、「もっとがんばれ」という激を飛ばされたのです。
ただでさえ、ウォレットだの仮想通貨だのわかりにくいDAppsゲーム。ゲーム自体までも難解なようでは誰にもプレイしてもらえない。
その夜のうちに、上野と高宮は、ゲームのコンセプト「サクサク遊べる、ワーカープレイスメント型RPG」を改めて明示し、下記の改善方針を打ち出した。
① 面倒くささの解消 = 基本オートでプレイできるように
② わかりにくさの解消 = UIの改善、簡易チュートリアルの導入(バトルβでは機能を段階的にリリースすることで対応)
③ 説明の徹底 = インゲーム以外での補足説明(Medium)
しかし、バトルβ開始は目前。できることには限界があったが、この「酷評」と「改善方針」を境に、開発スタッフ達は奮い立ち、驚くべきパフォーマンスを発揮した。
LoomNetworkという難物
第一回の寄稿で記したとおり、”ユーザーがGAS代かからず快適にプレイできるDAppsゲーム”を目指し、サイドチェーン「LoomNetwork」を採用した。
採用を決定した6月頃は、まだまだ未完のプロダクトではあったが、ETHとは比較するべくもなく高速で、Plasmaにも対応することが表明されており、順調に機能追加・改善版がリリースされていた。
DAppsでゲームとしてのUXも崩さない…はずだったが
怪しくなってきたのは、8月頃からである。ETH自体のPlasmaが遅々として進まぬ中、Loomも事前に告知されていた内容と、リリースされるプロダクトにギャップが生じはじめてきた。
それでも、我々は単なるアセットの価値保存だけではなく、DAppsの本質である、ロジックの透明性とdecentralizedな運用を目指し、全てのゲームロジックをSolidityで記述し、Loom EVM上で動作させることを実現した。
バトルβテスト
バトルβは、MCHのバトル処理の中でもっとも負荷の高い「デュエルバトル(=PvP)」を、テスト環境下でおこない、以下の項目を検証することを目的としていた。
① LoomNetworkの性能検証
② 開発したコントラクトの機能検証
③ アセットデータのバランス検証
バトルβは、9月25日からの開始であったが、我々にとって初のDAppsであったことと、岡本さんに指摘された「わかりにくさ」を暫定的にでも解決するため、テストの進行については、段階的に機能毎に実装をおこなう形とした。
9月25日にインベントリー機能の実装および検証を、27日に編成機能の実装および検証を、そして30日にいよいよバトル(PvP)機能を実装した。
社内テストでは問題なく動作していたバトルコントラクトであったが、30日12:00の開始と同時に急増したトランザクションにより、Loomのブロックチェーンが過負荷で処理が重くなってしまうという「サイドチェーン詰まり」の現象が発生してしまった。
世界のブロックチェーンエンジニアからCrazyと話題になったバトルコントラクト
バトルコントラクトは、 1戦あたりETH換算で1億GAS相当の超ヘビー級のトランザクションを発生させるものであった。
それでも社内テストでは1戦20秒で処理できていたのだが、100にも満たない同時トランザクションでLoomのブロックチェーンが詰まってしまい、まともにプレイできないくらいにバトルが重くなってしまった。
想定以上の性能の低さに、設計・開発した上野は、バトルロジックの性能改善のためには、一部オフチェーン化せざるを得ないと判断し、即座に改修に取りかかった。
チーム内からは、「一旦バトルβを中断すべきでは?」との意見も出たが、トランザクションが過剰集中しなければプレイ自体はできること、引き続きアセットデータのバランス検証と、後日実装する「アートエディット」の機能検証をおこなう必要があったため、このまま続行することとした。
バランス検証
バトルβのバランス検証にあたって、我々は以下の課題に対応せねばならなかった。
① 従来のオンラインゲームのように「後でヒーローデータを調整」ということができないため、バトルβで十分な検証をおこなわなければならない
② プレセール第2期を中止したことで、十分な検証のために必要なヒーローの種類も数も足りない
③ プレセール参加者(=課金者)と無課金者のプレイバランスを見極めなければならない
そのため、まずは3回に渡る追加ヒーローのエアドロップを実施した。これはマーケティング戦略的にも良い施策となった。
「マタ・ハリ」はエアドロ開始後1時間経たず完売に
高レアリティのヒーローのエアドロップは、プレセールヒーローの価値毀損させるリスクが高いため、バトルβ期間中のみ、誰でも使用できる”レンタルヒーロー”を実装した。(が、「ダルタニャン」のスキルが強力すぎてバランスブレイカーとなってしまった)
また、アートエディットの効果を含めたプレイバランスの検証のために、「ランキング戦」の先行実装テストを準備した。(が、さらなる高負荷となってしまうため、バトルロジックの性能改善ができてからでないと実施できないという問題があった)
そして、バランス検証の最中、プレセールのチャレンジコンセプトであった「コミュティドリブンな開発」が裏目に出る事件が発生してしまった。
MCHはDiscordの公式コミュニティを活用して、ユーザーからの意見フィードバックを求めていた。
そのコミュニティの中で、「プレセールアセットの価値を保証すべし」という意見と「後発や無課金でも楽しめるゲームとすべき」という意見、この平行線にしかならない議論が過熱してしまったことで、逆にコミュニティがシラケてしまうという事態になってしまった。
これは両者どちらも正しい意見であり、MCHはそれら異なるペルソナのユーザーが共存できるエコシステムを目指しているのだが、バランス検証の段階において、同じコミュニティに両者を混ぜて意見フィードバックを求めた我々の失敗である。
コミュニティドリブンな開発の難しさを実感し、同時に我々のコミュニティオーガナイズの力不足を反省するばかりであった。
アートエディットの検証
10月10日、アートエディット機能のテスト版を実装した。
- ヒーロー画像を自分の好きな画像に変更できる
- 画像の内容に応じてヒーローの能力が変化する
という、MCHのコンセプトである 「アセットの価値をユーザー自身が高めていくゲーム」 を実現するコンテンツである。
”自分の好きなCD(音楽)からモンスターを生成できる”プレイステーションの名作「モンスターファーム」の生みの親である、高宮らしい企画である。
実装にあたっては、満足が、画像データの64×64ピクセルへのコンバーター、IPFSへのアップローダーおよびS3へのバックアップ、ERC721へのリンケージ、画像解析による能力値データの生成システムなど、アートエディット機能のための一連のシステム(社内呼称「ピクセルくん」)を開発した。
大変ユニークな機能のため、ユーザーからも一定の評価を得ることができた。
- 画像解析によるスキル探しの面白さ
- スキルへの意識の高まり
- クオリティの高いユーザー自作アート
という期待通りの成果の反面
- 画像解析のネタバレ共有が早い
- 他人の画像のコピペ / 著作権的に問題ある画像のアップ
- スキル獲得重視によりテキトーな画像が蔓延
という課題も浮き彫りになった。
クオリティ高いユーザー自作アートが花咲いた
詳細は、10月31日に開催された「「イーサエモン MeetUp@銀座」のプレゼン資料」を。
これらの検証結果を踏まえ、正式サービス版のアートエディット機能の改善仕様が策定された。
バトルロジックの性能改善とランキング戦
トランザクションの集中に対応できるバトルロジックの性能改善のため、上野は苦心の作であるバトルコントラクトを捨て、バトル計算部分をオフチェーン化した。
10月18日、15:00から2度の延期により24:00までかけたメンテンナンスの末、この半オフチェーン化したバトルロジックへの入れ替えを完了した。
同時に開始した「ランキング戦」の初動の100を超える同時トランザクションにも耐え、パフォーマンスは確実に改善されたことが確認できた。
ランキング戦開始24時間で参加者は900人を超え、DappRadarのDAUランキングでも「イーサエモン」を抜き世界1位に躍り出た。
ランキング戦特需で、外部のERC721マーケット「Opensea」ではプレセールヒーローが活発に売買されていた。
バトル処理は24時間で15,000に達していたが、遅延なく安定して動作していた。
(わずかに)イーサエモンを抜き世界1位に
「全てがうまく行っている!」我々は胸を撫で下ろした。
ランキング戦は、最後の数時間にトラフィックを集中させるルールであった。
これは性能検証のためには必要な仕様であったが、盛り上がっているランキング戦に水を差したくないという思いから、最悪の場合を考慮し、ランキング戦終了前の1時間には1分間のクールタイムを入れることとした。
…にも関わらず、無情にも事件は起こったのだった。
ランキング戦最終日の10月21日。
早朝からトランザクションをモニタリングしていた満足は不安を感じていた。
11時の段階で既に未だかつてないトランザクション量が発生しており、またもやバトル動作が重くなってきていたのだ。
半オフチェーン化したバトルロジックは問題なく動作していたが、頻繁な編成変更とアートエディットにより、編成コントラクトと、それと入れ子のように処理されていたバトル開始コントラクトが原因で、サイドチェーンを詰まらせてしまっていたのだ。
さらには、運営からのアナウンスによって、バトル開始できない対応策としたリロードを促したために、さらなる無駄トランザクションを発生させてしまう。
最後の2時間は、とうとうログインまでもが困難な状況に陥ってしまった。
バトルロジックを改善しながらも、結局は別のロジックでも詰まってしまい、結局は同時トランザクション150が性能限界だった。
我々はこの失敗を重く受け止め、正式サービスに向けては、UXの向上を第一に、アセット関連データのみをブロックチェーンに残し、それ以外はオフチェーン化する構成に設計変更することを決断した。
詳細は、11月10日に開催された「Hi-Con 2018」の登壇資料を。
我々にDAppsであることの意義をとなえながら、同様の問題に直面し、既にオフチェーンとのハイブリッド化を断行していた「イーサエモン」と、我々も同じ道を歩んでしまったのだった。
これが、今のブロックチェーンの現実である。
既にプレセールを通じて大事なステークスホルダーを有し、バトルβを通じて大事なユーザーを有する運営会社として、DAppsの夢を追うよりも大事なことがあるのだ。
以上、バトルβは失敗の連続であったが、そこで得られた知見は多大であり、試行錯誤の末に落ち着いた結論は、現在における最適解であると確信している。
— — —
謝辞。正式サービスに向けて
来る11月30日、MyCryptoHeroesは、いよいよ正式サービス&クラウドセールを開始します。
詳細は、公式Mediumにて告知されていますので、是非ご覧ください。
プレセールとバトルβを通じて生じた問題は、可能な限り改善対応しました。
今のブロックチェーンの現実解として、オンチェーン/サイドチェーン/オフチェーンの三層構造となるトリプルハイブリッドDAppsとしました。
まだまだ、完成度の低いゲームですが、是非とも遊んでいただき、ご意見をいただけると幸いです。
そしてよろしければ、ETHで幾ばくかのご購入をいただけると、さらに幸いです。
これまでご支援ご声援をいただきました、
プレセールにてご購入いただいたステークホルダーの皆様。バトルβにご参加いただいたプレイヤーの皆様。弊社に投資いただいたDLE様、でらゲー様。貴重なアドバイスをいただいた、岡本さん、根本さん、志茂さん、斎藤先生、片山先生。開発のご協力いただいた皆様。イーサエモンはじめとしたMCHのアライアンスパートナーの皆様。DAppsゲーム界隈の皆様。
本当にありがうとうございました。
そして、これからもMyCryptoHeroesを、どうかご支援お願いいたします。
我々は、日本からブロックチェーンゲームの火を消さぬよう、全力で挑み続けて参ります。
是非とも、共にブロックチェーンゲーム業界を盛り上げていただけることを願いつつ、これにて一旦、筆を置かせていただきます。
double jump.tokyo株式会社
取締役/COO 玉舎 直人
マイクリプトヒーローズ寄稿一覧
MCH開発秘話 | |
---|---|
第一回寄稿 | MCH誕生秘話 |
第二回寄稿 | 苦悩のプレセール |
第三回寄稿 | DAppsの夢と現実 |