gihyo.jp×ココネ 特別企画

Web3の新時代を拓くココネのエンジニアリング力を探る
誰もが知るじゃんけんに戦略性とNFTを盛り込みグローバル展開

誰もが知るじゃんけんをエンタテインメントにすることを目標に、世界中のプレイヤーが対等に無料でプレイできるPlay&Earnのブロックチェーンサービスとしてスタートした『JANKEN⁠⁠。アプリケーション概要やどのような技術で構成しているのかをココネの堀尾大地氏と戸丸良氏写真1にお伺いした。

写真1 堀尾大地氏(左)、戸丸良氏([右])
写真1

――自己紹介をお願いします。

堀尾大地(以下、堀尾) ココネ株式会社JANKENプロジェクト開発チーム チーム長の堀尾大地です。オンラインゲーム開発会社を経てココネに転職しました。最初は『ポケコロツイン』の開発に携わり、現在はJANKENプロジェクトの開発リーダーで、クライアント開発がメインです。

戸丸良(以下、戸丸) 同じくJANKENプロジェクト開発チームの戸丸良です。お客様同士のコミュニケーションを主体としたサービス開発に携わりたいと思い、ココネへ。最初はクライアントエンジニアとして入社しましたが、リアルタイム通信を用いたサーバ開発経験もあったことから、⁠JANKEN』開発チームではサーバ開発を担当しています。

――『JANKEN』とはどのようなアプリケーションですか?

堀尾 じゃんけんは国や地域により多少表現は異なりますが、世界中の人がルールを知っている手遊びです。このメリットを活かし、世界の誰とでもじゃんけんで遊べるようにしたのが『JANKEN』です。2022年12月15日からグローバルでオープンβを開始しています(現時点で日本はサービス非対象国⁠⁠。

グー・チョキ・パーの勝敗ルールはそのままに、⁠JANKEN』ではオリジナル要素として戦略性を加えています。対戦が始まると、自分と対戦相手のどちらにもグー・チョキ・パーの3枚のカードが配られ、加えてグー・チョキ・パーの3枚の中から1枚ずつがそれぞれに追加で配られます。たとえば自分の手もとにグーが追加で配られたら、相手にはチョキまたはパーがあることになります。4枚のカードから1枚ずつ出して先に2勝したほうが勝者となります。

戸丸 対戦時には、相手が何ラウンド目にどのカードを出したかの統計も表示されます。たとえば1ラウンド目にグーを出した割合は90%など。自分の残りのカードと相手の傾向を考慮して戦略を練ることができます。しかし基本的にはじゃんけんなので、深く考えなくてもいいですし、プレイ実績によらず誰とでも対等に遊べるのが特徴です。

シンプルなじゃんけんに戦略とWeb3を盛り込んだ『JANKEN』

――ブロックチェーンはどのように関わってきますか?

堀尾 勝負で使用するカードをNFTで収集して楽しむことができます。NFTはココネグループ会社が運営している『MOOI Network』のNFTマーケットプレイス『Jellyme』で出品や購入が可能です。

『JANKEN』は無料で遊べて、勝てばガチャ用のメダルやトークン(JGT)を得ることができます。使用するカードにはレアリティとレベルがあり、レベルの高いカードを集めることで参加できるリーグが増えます。リーグ内でのランキングもあります。

戸丸 一般的にWeb3系のサービスはプレイするハードルが高いと思われがちです。⁠JANKEN』は戦略的な要素はありますが、ベースはじゃんけんなので誰でも気軽に遊べるのが特徴です。

――開発期間はどのくらいでしたか?

堀尾 もともとじゃんけんをベースにしたサービスの構想を温めていたところに、ココネがWeb3やブロックチェーン技術を盛り込んだサービスに力を入れていたことが重なり、じゃんけんに戦略性とブロックチェーンを加えた『JANKEN』を開発することになりました。プロジェクトとして動き出したのは2022年始めで、最初はほんの数人でした。

戸丸 そこに私が2022年夏ごろから加わりました。12月にオープンβをリリースしましたので、開発期間はトータルで1年ほどでしょうか。ルールはシンプルですが、世界中から誰とでもリアルタイム対戦を楽しめるサービスであることや、アイテムのNFT化に対応する必要があることから、システム・インフラ構成やデータ設計にはかなり苦労しました。

グローバル展開ならではのインフラや通信プロトコル選定

――インフラやサーバ構成はどのように?

戸丸 スケールのしやすさや可用性を高めるために、Amazon ECSやAWS Global Accelerator、MongoDB Atlasを採用しています図1⁠。⁠JANKEN』はグローバル展開が前提にあるため、ユーザー数やアクセス数が桁違いに広がります。1つの国のプレイヤーが数万人だとしても、世界中で人気になればプレイヤーは数百万人、数千万人を超えるかもしれませんし、リージョンから離れた場所からアクセスするお客様も多くなります。実際、当初は東南アジアをメインに考えていましたが、オープンβが始まると、アフリカやヨーロッパなど全世界からプレイヤーが来ていることに驚かされました。

図1 『JANKEN』のシステム構成
図1

世界中のプレイヤーと遊んでもらいたいという思いがあるので、マッチする対戦相手を地域で限定したりはしていません。つまり、対戦相手が地球の反対側にいることも起こりえるのです。物理的に相当離れているので、インフラだけでなくゲームシステムもできるだけ快適に遊べる環境にすることに注力しています。

堀尾 プレイヤーにとって対戦で負けて「悔しい」は良いストレスですが、通信やサーバの障害でゲームが中断・遅延しては幻滅してしまうので、プレイヤーが十分に楽しめるように万全を期すようにしています。

――リアルタイム対戦の工夫についても教えてください。

堀尾 じゃんけんなので対戦中にカードの情報を交換するのはもちろんですが、ほかにも「エモート」という絵文字のようなスタンプを使ってチャットのようなコミュニケーションができるようになっています。これで対戦相手との間に駆け引きが生じます。これもまた『JANKEN』の醍醐味です。

戸丸 通信にはgRPCを使用しています。gRPCには4種類の通信方式があるのですが、今回は『JANKEN』の特性に合わせて選びました。

続きは後半

おすすめ記事

記事・ニュース一覧