Starknetのオンチェーンゲームエンジン「Dojo」の概要と、オンチェーンゲーム領域における「ゲームエンジン」の現状と課題について考察

どうも、イーサリアムnavi運営のでりおてんちょーです。

今回は、Cairo(Starknet独自の開発言語)でオンチェーンゲームを開発するためのフルスタックツールチェーン「Dojo」について解説します。

derio

以前、Solidity(EVM上で実行されるスマートコントラクトの開発言語)とJavaScript(React, TypeScript)で構築されているオンチェーンゲームエンジン「MUD」について取り上げましたが、イメージとしては『MUDのStarknet版がDojo』といっても差し支えありません。

Starknetのオンチェーンゲームには、RealmsIsaac, Influenceなどがありますが、それらはDojoを用いて開発されたのではなく、独自に実装を行い提供しています。

ちなみにStarknet上のオンチェーンゲームは、「Cartridge」というweb3版のSteamのようなブラウザウォレットを用いることで、簡単にプレイすることができます。

ただし、一般的に「オンチェーンゲーム」を構築することは非常にハードルが高いとされており、またその定義や標準規格が定まっていないのが現状です。

そこで、オンチェーンゲームを構築することが難しいという課題に対処するために、LatticeのMUDや今回ご紹介するStarknetのDojoは、『ゲームエンジンを構築することで開発者の参入障壁を下げてあげよう』といった方向性で解決を試みています。

しかし、オンチェーンゲームビルダーの中には『定義や標準規格が定まっていない今の段階からゲームエンジンの開発を試みるのは時期尚早だ』と考える人もいます。本記事ではそういった背景についても最終章の考察で触れつつ、オンチェーンゲームエンジンの現状とその課題、また将来的な発展可能性などについても述べていきたいと思います。

でははじめに、この記事の構成について説明します。

STEP
「Dojo」とは

まずは、Cairoでオンチェーンゲームを開発するためのフルスタックツールチェーン「Dojo」の概要について解説します。

STEP
DojoとMUDの共通点ならびに相違点

続いて、SolidityとJavaScriptで構築されているオンチェーンゲームエンジン「MUD」と比較し、「Dojo」との共通点ならびに相違点について確認していきます。

STEP
【考察】オンチェーンゲーム領域における「ゲームエンジン」の現状と課題

最後に、MUDやDojoのようなオンチェーンゲームエンジンの現状や、そのようなツールの現時点での課題、将来的な可能性などについて、筆者の私見を交えながら考察してまいります。

本記事が、DojoやオンチェーンゲームエンジンMUDとの違い、またそれぞれの特徴ポイントなどについて理解したいと思われている方にとって、少しでもお役に立てれば幸いです。

※本記事は一般的な情報提供を目的としたものであり、法的または投資上のアドバイスとして解釈されることを意図したものではなく、また解釈されるべきではありません。ゆえに、特定のFT/NFTの購入を推奨するものではございませんので、あくまで勉強の一環としてご活用ください。

イーサリアムnaviの「今まで」と「これから」
目次

「Dojo」とは

概要

Dojoは、Cairo(Starknet独自の開発言語)でオンチェーンゲームを開発するためのフルスタックツールチェーンです。

フルスタックツールチェーン(Full Stack Toolchain)とは、Web開発における全ての段階で必要な開発ツールを含んだ一連のツールのことを指します。これには、フロントエンド、バックエンド、データベース、デプロイメントの各ステージで必要な開発ツールが含まれます。

Dojoは、Cairo言語プラグインが提供する機能を活用し、ブロックチェーンのプロパティをゲームに簡単に統合することができる『最高クラスの開発者体験』を提供することを目指しています。

Dojoの特徴ポイントは以下の通りです

  • ECS(Entity Component System)パターンによるシンプルな構成
  • 言語プラグインとマクロを活用した簡潔な実装
  • 効率的にコンパイルされたストラテジーを持つ表現力豊かなqueryシステム
  • クライアントライブラリのための型付きインターフェース生成

次章で詳しく述べていきますが、DojoもMUDと同じくECSパターンを採用していたり、開発者のオンチェーンゲーム構築への参入ハードルを下げるために、簡潔さ・シンプルさを重視した設計となっています。

なお本記事では割愛しますが、Dojoを使ってオンチェーンゲーム開発を試みたいという方は、GitHubページをご参考ください。

コアメンバー

上写真は、Dojo構想当初のコアメンバーの一覧表になります。

詳細は最終章の考察パートで述べますが、TopologyのGuiltyGyoza氏などは「方向性の違い」から、現在あまり関わっていないとのこと。

執筆時点では、CartridgeBriqRealmsのメンバーが中心となって開発を進めているようです。

DojoとMUDの共通点ならびに相違点

出典:twitter.com/I_D_Theory/status/1627732838740119554

MUDやそれを用いて構築されたオンチェーンゲームがどのような特徴を持つのかご存じないという方は、まず以下の記事を先に読んでおかれることを推奨します。

さて、前章ではStarknet(Cairo)でのオンチェーンゲーム開発ツール「Dojo」について概観しましたが、Optimismにおけるオンチェーンゲーム開発ツール「MUD」とは何が違うのでしょうか。

共通点

まず、両方ともECS(Entity Component System)パターンに基づいた、シンプルな構成になっている点が共通しています。

出典:twitter.com/GVN908/status/1615758040430694400

ECSではその名の通り、「エンティティ」「コンポーネント」「システム」の3つが、基本的な構成要素です。

  • エンティティ(空箱)
    • 単なるID(uint型)であり、ロジックやデータを格納していない
  • コンポーネント(データ)
    • データを格納し、「エンティティにアタッチ(添付)」することが可能
    • 「プロパティ」と考えることもできるが、データはクラスのプロパティとは異なる方法で構造化されている
  • システム(ロジック)
    • ロジックを実行する
    • コンポーネントだけを扱い、エンティティは扱わない
出典:MUD – An Engine for Autonomous Worlds | Lattice @ Devcon VI Bogotá

ECSパターンを採用することで、既に存在しているコンポーネント同士を組み合わせて新しいタイプのエンティティを作成することが可能になります。さらに、全てのシステムはそのまま機能します。

このため、数多くのエンティティや処理内容が存在する「オンチェーンゲーム」においては非常に重要なポイントとなり、両者ともに採用されているのだと考えられます。

また余談ですが、MUDは実はEthereum上で複雑なアプリケーションの開発フレームワークなのですが、オンチェーンゲームを開発するためによく使用されているため、オンチェーンゲームエンジンとしての印象が強くなっています。

そして、MUDからインスピレーションを受けて、EVM非互換のStarknetでも同様のオンチェーンゲームエンジンを構築したいという考えが生まれ、RealmsチームのLoaf氏を中心にDojoの発案に至りました。

ちなみに、Loaf氏がDojoの発案についてtwitter上で発信した後に、MUDサイドのludens氏が「DojoはMUDインスパイアではなく、非常に独断的なコピーだ」と批判していたこともありました。

derio

狭い業界の中でも批判されることを恐れず、皆がgreart!という中で自身が違和感を覚えた箇所については、はっきりと意見を主張するludensの姿勢は非常に好印象だったので、個人的に印象深いやりとりでした。興味がある方はご覧ください。

相違点

両者で用いられている開発言語は異なります。

MUDは、SolidityとJavaScript(React, TypeScript)で構築されているのに対して、DojoはRustとWasm、Cairo(※厳密にはCairo 1)を中心に構築されたオンチェーンゲームエンジンであるという違いがあります。

これは、以下の前提があることが原因で起こっていると考えられます。

  • MUD
    • EVM互換性のあるOptimism(Ethereum L2)上で構築されている
    • 開発言語がSolidityで行える
  • Dojo
    • EVM互換性のないStarknet(Ethereum L2)上で構築されている
    • 開発言語がSolidityで行えず、Cairoという独自開発言語を用いる必要がある

MUDの場合はSolidityで開発が行えるため、既にEthereumやPolygonなどEVM互換チェーンでコントラクトをデプロイした経験がある方は、スムーズに参入できるところが強みです。

逆にDojoの場合、Starknet専用にCairoを勉強する必要があるため、現時点では少しハードルが高くなってしまっています。

また、Latticeチームのludens氏によると、Cairoを用いたDojoの方がdeterministic(決定的)なストレージ/デプロイメント モデルになっているそうで、そこも差別化ポイントだと思います。

derio

ゲームデザインとしては、現時点でのMUDを用いたオンチェーンゲームは、「ターン制」の形式が向いているという話は聞いたことがあります。

前回の記事で、「Emojjimon」のMUDチュートリアルに倣いながら、実際にゲームエンジンを使った自律型世界(オンチェーンゲーム)に挑戦してみましたが、ゲームデザインとしてはエリアを一つずつ探索し、モンスターに出会ったらターン制のバトルに発展するような形式になっていました。

一方でDojoでは、Starknetの計算処理能力を生かしつつランダム生成型ダンジョンゲームを構築しようとしたり、標準的な集中型アーキテクチャでは実現できないようなゲームデザインを考える人が見受けられる印象です。

これらの違いからも、今後生み出されるオンチェーンゲームのジャンルが多様化し、コミュニティの色も変化していくと考えています。

【考察】オンチェーンゲーム領域における「ゲームエンジン」の現状と課題

出典:techblogcorner.com/2020/02/06/most-popular-game-engines-for-game-development/

オンチェーンゲーム市場が活況を呈している場合、オンチェーンゲームエンジンの開発は、業界全体にとって必要不可欠な基盤を構築することに繋がります。

しかしながら、現在は市場が初期段階にあり、開発者の数も限定的なため、ゲーム構築者がゲームエンジンの構築まで担当している状況です。

また、そのような早期の段階で、オンチェーンゲーム開発のためのゲームエンジンを構築することが適切かどうか、意見が分かれているという側面も存在しています。

オンチェーンゲームエンジンの構築に賛成する層としては、前章で言及したLatticeチームが構築するMUDや、Starknetのコアメンバーが開発するDojoが挙げられます。彼らは、『まずゲームエンジンを開発し、そのエンジンを通じてオンチェーンゲームを開発すること』に重点を置いています。

一方、Starknetのオンチェーンゲーム開発チームTopologyの創設者であるGuiltyGyoza氏などは、『オンチェーンゲームの定義や規格が定まっていない状況でゲームエンジンを設計するのではなく、ゲーム開発のニーズに基づいてエンジンを設計していくべきである』と考えているようで、同じオンチェーンゲーム界隈でも意見が分かれているそう。

derio

実際、GuiltyGyoza氏はDojo創設時にコアメンバーリスト入りしていましたが、現在はあまり関わっていないようです。(確認したところDiscordにも入っていませんでした)

念のため補足しておくと、思想やこだわりの強いビルダーが多いことは必ずしも悪いことではなく、むしろ革新的なサービスの創造や競争力の向上、そして市場全体の経済成長へとつながるため、むしろ健全であると思います。皆が”数”ばかりを追い求めるようなコミュニティになると、新しい創造は生まれなくなってしまいます。

なぜ我々がときとして、コカ・コーラやマクドナルドを拒否し、ローカルな1店舗だけの商品を求めるかと言われれば、「うまい、やすい、早い」といった効率性が最大化されたものが常に最上ではないからだ。エンタメも、「リッチな映像」「全世界でのヒット」「大人から子供まで全員が楽しめる」というマスグローバルを求めた作品群ばかりになっては、新しい創造は生まれない。「安価な映像」「一部ファンでのヒット」「とても子供には見せられない」ものが大ヒットを凌駕するタイミングがある。

出典元:中山 淳雄 『推しエコノミー 「仮想一等地」が変えるエンタメの未来』(日経BP、2021年)227ページ
  • 「オンチェーンゲーム」を定義づけることなく自由に創作することを望む考え
  • ある程度の定義づけを行い、多くの開発者をオンチェーンゲーム領域に引き込もうとする考え

この両者の考えの「どちらか一方が間違っている」とは限りませんし、どちらの考えからヒットコンテンツが生まれるかは現時点では予測できないため、今は狭い業界の中でも多様性があることは良いことだと筆者は考えています。

出典:Gartner Identifies Key Emerging Technologies Spurring Innovation Through Trust, Growth and Change

また、「解析链上游戏:链上复杂应用的未来」というStarkNet Astroの記事にも書かれていますが、歴史上のあらゆる技術革新は、何年か後に爆発的にヒット商品を生み出す傾向があります。

このような技術のマスアダプションの原動力となる二次的な技術革新や発明は見落とされがちですが、それらが互いに刺激しあい、真に革新的なプロダクトを生み出してきたのです。

そして、「ブロックチェーンのインフラ革新の中で、オンチェーンゲームは次世代キラーアプリケーションの原型となり得る」という核となる考えは、今の段階でオンチェーンゲーム領域にベッドしている人たちの共通認識であると、筆者は考えています。

derio

業界全体の流れからも、既存のGameFiと呼ばれるジャンルのブロックチェーンゲームでは中長期で上手くワークしないことが明らかになりつつあり、「Nextブロックチェーンゲームはオンチェーンゲームである」という部分において、意見が一致しているように感じます。

執筆時点である2023年初頭には、ChatGPTを始めAIツールが爆発的な勢いで流行り始めていますが、歴史上の「0→1」の技術革新にはその背後にいくつもの積み重ねられた技術があったのです。AIの背後には主に、コンピューター科学、神経科学、統計学、心理学、哲学などの蓄積があります。

しかし、具体的にどの技術革新や発明が最終的にマスアダプションされ、世界を変えるものなのかを知ることは、ほとんど不可能に近いこと。

現時点では未成熟なオンチェーンゲームも、技術の向上とともに成熟するかもしれませんし、それが最終到達点かどうかは今の段階では分かりません。プロダクト開発での別の中継地点となり、将来的に形を変えてゲームとは別のモノに昇華されるかもしれません。

ただいずれにせよ、オンチェーンアプリケーションの最先端を探求する方向性に注目し、探求する価値はあるはずです。

オンチェーンゲームが最終的なキラーアプリであるとは限りませんが、キラーアプリに密接に関連する分野かもしれません。クリプトのイデオロギーともマッチしており、テクノロジーの進化に伴う自然な流れでもある。

そのため、現時点では数少ない貴重人材であるオンチェーンゲーム開発者がリソースを費やしてまで、「定義が曖昧である今の段階からオンチェーンゲームエンジンの構築を行い、一定の規定や枠組みにとらわれたものを作らせることが適切かどうか」という主張につながっていると考えられます。

オンチェーンゲームやその成果物が最終的にどのようなかたちになるのかは予見不能ですが、オンチェーンゲームはクリプトの文脈において多層的な含蓄を持っているため、腰を据えて情報を追っておくべきだと考えています。

derio

なのでここ半年近くは、主にオンチェーンゲーム関連の題材を中心に記事執筆してきました。

日本語圏のクリプトユーザーの方には、オンチェーンゲームの魅力やその意義をより多く知ってもらいたいと考えています。そのため筆者自身も、今後は記事だけでなく音声やイベントなどを通じて、メディアの枠を超えて普及活動に努めることも計画しています。ご期待ください。

また、この領域についてディスカッションしたり、より多くの情報を会得したりしたい方は、ぜひ「サポータープラン」に入っていただきクローズドdiscordチャンネルにお越しください。(メディア運営の支援にもつながるため大変ありがたいです。)お待ちしています!

まとめ

【AD】Nouns DAO JAPAN

Nouns DAO JAPANは世界で一番Nounsを広げるコミュニティを目指します。Discord参加はこちら


今回は、Starknetのオンチェーンゲームエンジン「Dojo」の概要について解説しつつ、オンチェーンゲーム領域における「ゲームエンジン」の現状と課題について筆者の考察を述べました。

本記事が、DojoやオンチェーンゲームエンジンMUDとの違い、またそれぞれの特徴ポイントなどについて理解したいと思われている方にとって、少しでもお役に立ったのであれば幸いです。

また励みになりますので、参考になったという方はぜひTwitterでのシェア・コメントなどしていただけると嬉しいです。

イーサリアムnaviを運営するSTILL合同会社では、以下などに関するお問い合わせを受け付けております。

  • 広告掲載
  • リサーチ代行業務
  • アドバイザー業務
  • その他(ご依頼・ご提案・ご相談など)

まずはお気軽に、ご連絡ください。

励みになるので、よかったらSNSなどでシェアしてください!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

最先端のCryptoネイティブなプロジェクトや、Solidityなどのweb3開発情報、その他Ethereum周りの情報などを中心に発信しています。

リサーチ業務やアドバイザー業務などのお仕事のご依頼や、イーサリアムnaviに対する広告掲載などは、お問合せページよりお気軽にご連絡ください。

目次