今回は、TopologyがStarknetで開発した「Shoshin」という、TPSに縛られない非同期型のオンチェーン格闘ゲームについて解説していきます。
つい先日も、オンチェーンゲームスタジオを標榜するProof of Playが、a16zやNaval氏、Balaji氏などから資金調達をしたと発表されていました。
Introducing Proof of Play, an onchain game studio & technology company.
— Proof of Play (@ProofOfPlay) September 21, 2023
We are delighted to announce our $33m seed round led by @a16z and Greenoaks, with participation from incredible angels & founders incl. @naval @balajis @justinkan @jtwald @immad @nikil @gabusch & many more. pic.twitter.com/c2BPShTdik
オンチェーンゲームやAutonomous Worldの定義についてはこの場では触れませんが、少なくともこれらの単語自体の認知度が高まっていること、そして注目度も上がっていることは間違いありません。
そんな中で、2022年初め頃から積極的にオンチェーンゲーム領域での開発を行い、業界の先頭に立ち続けているguiltygyoza氏率いるTopologyが、新しいオンチェーン格闘ゲーム「Shoshin」をローンチしました。
筆者個人の見解として、guiltygyoza氏は思想や哲学に深みを持ちながら、クリプトのコアな領域に特化した先進的な取り組みをしているため、「オンチェーンゲーム界のdom」と呼ぶに相応しい人物だと考えています。
オンチェーンゲームに興味を持っている方なら、彼が手掛けるプロダクトについて知っておくべきだと筆者は考えます。また、これからリサーチを始める方にとっても、優先的に注目すべき事例だと思います。
ということで本記事では、guiltygyoza氏率いるTopologyがローンチした新しいオンチェーン格闘ゲーム「Shoshin」に関して、その概要から遊び方、設計思想に至るまで詳しく解説していきたいと思います。
でははじめに、この記事の構成について説明します。
まずは、Shoshinの概要や主要なポイント、さらに一般的な格闘ゲームとの違いなどについて解説していきます。
続いて、Shoshinのチュートリアルを参考に、ゲームの遊び方や特徴について深く理解していただくことを目的とします。
最後に、筆者がShoshinをプレイした際に感じた可能性や、guiltygyoza氏が過去に執筆したブログ記事から気になった点などについて、ご本人に質問しながらShoshinについてより深く掘り下げていきます。
本記事が、Shoshinの概要や特徴、設計思想や今後の発展可能性などについて理解したいと思われている方にとって、少しでもお役に立てれば幸いです。
※本記事は一般的な情報提供を目的としたものであり、法的または投資上のアドバイスとして解釈されることを意図したものではなく、また解釈されるべきではありません。ゆえに、特定のFT/NFTの購入を推奨するものではございませんので、あくまで勉強の一環としてご活用ください。
イーサリアムnaviの活動をサポートしたい方は、「定期購読プラン」をご利用ください。
Shoshinとは
概要
Shoshinは、TopologyがStarknetで開発した「TPSにとらわれない非同期型のオンチェーン格闘ゲーム」です。
一般的に格闘ゲームは、プレイヤーの反応速度に依存して、集中的な対決が行われるケースが多いかと思います。
しかし、現状ではEthereum/Starknetのブロックチェーンがそのような高負荷のTPSをサポートできないため、Topologyは『プレイヤーが戦略的なムーブセットを非同期に提出して、他のプレイヤーやAIと対戦する』というゲームデザインを採用しています。
一見、ストリートファイターなどの伝統的なアーケードスタイルの1対1格闘ゲームに似ているように思えますが、特徴的なのはリアルタイムでのバトルではなく、プレイヤーが「マインド」と呼ばれるムーブセットをデザインして提出し、それを元に非同期処理で戦わせる点です。
具体的には、上の写真の右側にある「Mind」の欄で示されているように、プレイヤーはあらかじめノーコードで対戦処理を設定し、その設定を用いて相手と戦います。どの条件下でアクションを発動させるか、またはどの順番でアクションを設定するかが勝敗に大きく影響を与えるため、戦略性の高さがカギになるゲームだと言えます。
しかし、戦闘のすべての局面をプレイヤーが決定する必要はなく、プレイヤーはファイターに “Mixups “という非決定的な行動をさせることもできたりします。
このあたりの実装は、1984年に発売された「Robot Odyssey」というゲームからインスピレーションを受けつつ、ファウンダーのguiltygyoza氏が考案した「ブロックチェーンならではの面白さを追求したオンチェーンゲームを作るために必要な要素」として考案し、組み込んだものと考えられます。
この点については、最終章のインタビューパートで、ご本人に取材を行ない、実装背景や真のブロックチェーンゲームを作るために検討すべき事項などについて、より詳しく掘り下げていきます。
なお、執筆時点ではまだベータ版のフェーズなので、PvPや2対2, 3対3などの対戦モードは実装されておらず、NPC(Non Player Character)との1対1の戦闘に限定されています。
ファウンダー/開発組織について
Shoshinは、guiltygyoza氏などが率いるStarknet上のオンチェーンゲーム開発組織「Topology」によって開発されています。
Topologyは『オンラインでネイティブに意義を生み出すことは不可能だったが、今はブロックチェーンで可能になったためオンチェーンリアリティを定義する』ことを掲げる開発組織であり、過去にIsaacやMuMuなどを構築しています。
ちなみに補足情報ですが、非同期型のオンチェーンゲームとしては、Paradigmによって作成されたレーシングカーCTF「0xMonaco」も有名です。今回は詳しく取り上げませんが、興味がある方は以下ツイートの動画をご覧になってみてください。
And in this new version of 0xMonaco, we added a few features:
— MatchboxDAO 🏎 🏁 (@matchbox_dao) January 23, 2023
– Nice frontend
– New actions (bananas, super shell, shield) pic.twitter.com/bLRr2u93ch
一般的な格闘ゲームとの違い
前節で触れたように、Shoshinというオンチェーン格闘ゲームが一般的な格闘ゲームと異なる特徴は、主に「マインドのデザイン」に起因しています。そしてこの特性は、Ethereum/Starknetのブロックチェーンが高負荷のTPSに対応できない制約から生まれています。
Shoshinでは、カスタマイズの選択肢が非常に多岐にわたると同時に、対戦相手の思考や行動を予測する要素が強いため、一般的な格闘ゲームというよりは「戦略ゲーム」として考えることもできるでしょう。
例えば、「ローアタック」というアクションを多用するプレイヤーが多いと仮定すると、それに対抗するために「ハイアタック」が有用になるなど『タイプ相性』が設けられています。ただし、「ハイアタック」は足元が弱点となるため、その点を考慮して「ブロック」もしっかりと組み込む必要があります。
このような高い戦略性とカスタマイズ性から、Shoshinでは勝利を目指しながら適切なオフェンスを組み込み、同時に負けないように必要なディフェンスも考慮した最適なムーブセットを作成し、それをオンチェーンかつ非同期で対戦させる点が、既存の格闘ゲームとは異なる特徴となっています。
参考資料:
Shoshin: The Future Of Fighting Games
実際のプレイ画面を見ながら、Shoshinの遊び方を確認
前章では、Shoshinというオンチェーン格闘ゲームの概要や主要なポイントについて解説しましたが、具体的なゲーム性についてのイメージがまだ掴めていない方もいるでしょう。
そこで、本章ではShoshinのチュートリアルを参考に、ゲームの遊び方や特徴について深く理解していただくことを目的とします。
Shoshinを実際にプレイしたい方、またはプレイする予定はないものの一連の流れを把握しておきたい方など、各々の目的に応じてお役立ていただければ幸いです。
Shoshinのwebページにアクセスすると、上写真のような画面が表示されます。まずは「TUTORIAL」ボタンをクリックして、Shoshinのチュートリアルを通して以下の概念について順番に確認していきます。
- マインド(Mind)
- レイヤー(Layer)
- 移動(Movement)
- 戦闘(Combat)
- 反転条件(Inverting Conditions)
- レイジ(Rage)
- コンボ(Combos)
1. マインド(Mind)
Shoshinは「マインド(心)の戦い」というコンセプトに基づいています。
前章で触れた通り、エディターインターフェイスを使ってノーコードで条件・アクションを設定し、それに基づいて格闘ゲームが進行します。
そして、右側のエディターインターフェイスで設定したマインドに基づき、左側のアリーナ(闘技場)でキャラクターが対戦します。
マインドはいくつものレイヤーで構成され、各レイヤーは条件(Condition)と行動(Action)で構築されています。
また、上写真の通り、このチュートリアルでの条件は以下のようになっています。
- 【条件】敵キャラとの距離が100以内の時
- 【行動】Slash(斬りつけて攻撃)する
- 【条件】敵キャラとの距離が100以内でない時
- 【行動】前進する
このチュートリアルでは、既にマインドが構築されているので、アリーナでのマインドの戦いを見るために画面左部にあるplayマーク(▶︎)を押してみてください。
すると先ほど見た通り、『敵キャラとの距離が100以内でない時には前進し、100以内の時はSlash(斬りつけて攻撃)する』という条件文と行動が定義されたマインドが実行されます。
実際、最初は敵キャラの方に向かって前進し続け、距離が100以内になったら斬りつける攻撃をずっと繰り返し、勝利するまでそれが続くことが分かります。
これが、Shoshinのマインドの基本概念であり、バトルの大まかな流れになります。
2. レイヤー(Layer)
マインド内で定義された条件と行動は、上のレイヤーから順番に実行されます。
true(真)と評価された最初のレイヤーは、リストのさらに下のレイヤーがtrueであっても、常に実行される。このため、レイヤーの順序付けは非常に重要になるのです。
プログラミングの概念が分かっている人にとっては理解が容易いでしょうが、ご存知ない方は何度か自身でレイヤーの順番を入れ替えたりして試してみると、徐々に感覚を掴めるようになります。
なお、レイヤーはドラッグして並べ替えることができます。
上写真の状況だと、レイヤー#1がレイヤー#2の実行を妨害しているので、レイヤー#1と#2を並べ替えてplayマーク(▶︎)を押し、相手を倒してみましょう。
3. 移動(Movement)
続いては、移動の概念です。
上写真のマインドの状況だと、キャラクターは射程内に入るまで相手に歩み寄りますが、攻撃はしません。
そこで、「相手との距離が80以内のときに攻撃する」ための新しいレイヤーを追加してみましょう。
playマーク(▶︎)を押すと、相手に近づいてローアタックを行いながら相手を倒すことが分かります。
4. 戦闘(Combat)
前のチュートリアルで、ローアタック(低い位置からの攻撃)を行いましたが、タイプ相性表によるとローアタックはカウンターブロックになります。そして、ブロックはハイアタックに対抗します。
ということで、相手のローアタックに対抗するために、こちら側はハイアタックをアクションに設定してみます。
キャラクターのアクションをハイアタックに変更(今回はSlashを選択)して、相手のローアタックを打ち負かしてみよう。
playマーク(▶︎)を押すと、相手のローアタックをハイアタックが凌駕し、そのまま勝利することが分かります。
5. 反転条件(Inverting Conditions)
条件(True or False)を反転させることで、その条件と反対の条件をセットすることができます。条件を反転させるには、条件を右クリックして「条件を反転 (Inverting Condition)」を選択します。
上写真の状態のままだと、「①相手に攻撃する」「②前に移動する」という処理が、どちらも相手との距離が100以内の時に実行される処理になってしまっているため、playマーク(▶︎)を押しても何も起こりません。
なので、右クリックの「条件を反転させる」機能を使い、前進する処理の方に『NOT』を付与することで、相手を倒すことができます。
6. レイジ(Rage)
Shoshinでは、攻撃的な技を繰り出すことでレイジ(怒り)が高まっていき、レイジが500になると必殺技が発動できるようになります。
つまり、『最初は相手を攻撃してレイジを溜めていき、閾値までレイジが溜まったら必殺技を発動させる』という流れですが、この処理を実装することが今回のミッションです。
デフォルトの実装のままでは、相手との距離が100以内に詰まったら動きが停止してしまうので、必殺技を使う処理と攻撃を行う処理を、それぞれ順番に気つけながら配置してみます。
上写真のように実装してplayマーク(▶︎)を押すと、最初は攻撃を行いますが、レイジが蓄積されると必殺技を繰り出すようになりました。
7. コンボ(Combos)
コンボは、複数のアクションを一緒に実行することを可能にし、いくつかのアクションはコンボを組むことで相乗効果を発揮します。
ということで、「ダッシュ前進」と「スラッシュ」を同時に行うコンボを作ってみましょう。具体的には、アクションが「Combo 0」になっているので、『Editing Combo 0』に右側のDashForward
と、左側のSlash
を順番にクリックします。
実装できたらplayマーク(▶︎)を押してみることで、コンボを使用して相手を倒すことが確認できます。
ちなみに前章で触れた通り、執筆時点でPvPや2対2、3対3といった対戦機能はまだ実装されていませんが、今後の実装が予定されています。
そのため現在では、キャンペーンやアーケードモードを通じて、より多くの技やコンボを用いた高度な戦略性を持つバトルが体験できるようになっています。
チュートリアルをマスターした方は、ぜひキャンペーンやアーケードモードも試してみてはいかがでしょうか。
gyoza氏へのインタビューを通して、Shoshinの設計思想や今後の発展可能性を考察
この続き: 3,700文字 / 画像6枚
まとめ
今回は、guiltygyoza氏率いるTopologyがローンチした新しいオンチェーン格闘ゲーム「Shoshin」に関して、その概要から遊び方、設計思想に至るまで詳しく解説しました。
本記事が、Shoshinの概要や特徴、設計思想や今後の発展可能性などについて理解したいと思われている方にとって、少しでもお役に立ったのであれば幸いです。
また励みになりますので、参考になったという方はぜひTwitterでのシェア・コメントなどしていただけると嬉しいです。
◤ 「Shoshin」について ◢
— イーサリアムnavi🧭 Called "Ethereumnavi" (@ethereumnavi) September 23, 2023
🥋Starknet上の、TPSに縛られない非同期型のオンチェーン格闘ゲーム
🥋ブロックチェーンならではの設計や、一般的な格闘ゲームとの違いなども解説
🥋guiltygyoza氏へのインタビューパートもあり
詳細はこちら👇@Shoshin_gg @guiltygyoza https://t.co/49ClUyOEpL
イーサリアムnaviを運営するSTILL合同会社では、web3/crypto関連のリサーチ代行、アドバイザー業務、その他(ご依頼・ご提案・ご相談など)に関するお問い合わせを受け付けております。
まずはお気軽に、こちらからご連絡ください。
- 法人プランLP:https://ethereumnavi.com/lp/corporate/
- Twitter:@STILL_Corp
- メールアドレス:info@still-llc.com