Unityでもできちゃうの？  ブロックチェーンゲームに挑戦したい人が知っておくべき５つのこと

ブロックチェーンが次第に普及していく中で、ゲームでの利用も増えています。もしかすると、ブロックチェーンゲーム開発をやってみたいと思っている人も増えているのではないでしょうか？　ブロックチェーンでゲームを開発したい人必見の内容を５つ、まとめてみました！

# 1, 相性抜群、 Non Fungible Token（NFT）を知る
ブロックチェーンのゲーム利用の大きな後押しになったのは、Non Fungible Token（NFT）の標準化がされたことです。NFTは、非代替トークンと訳され、デジタルの世界に唯一の価値を持つアセットを作ることができます。

## 世界に唯一のデジタルアセットを作れる
価値とは希少性から生まれます。
デジタル空間では、データの複製が簡単に行えますが、このことはメリットではあるものの、希少性を維持することが非常に困難である特性も持ちます。このことから、唯一の価値を持つ独自の資産をデジタル空間に形成することが可能です。

## 規格がいくつかある
イーサリアムには、スマートコントラクトを標準化するERCという規格があります。イーサリアム上でトークンを発行する際の規格がいくつか用意されています。ブロックチェーンゲームに関わりのある規格として大きく3つが挙げられます。今は、ERC721がNFTの規格として広く採用されているので、ひとまずはERC721だけ押さえておけば大丈夫でしょう。

### ERC721　：NFTの標準化
ERC721は、NFTの規格の一つとして導入されたものです。通貨の場合、例えば1円は1円のものと交換でき、1円玉は他の1円玉と交換できます。このような性質を代替可能といいます。

しかし、著作物や権利等といったユニークなものはそうはいきません。分割することもできなければ、そのものの価値は見る人によって変わってくることもしばしばあります。このような性質のことを代替不可能といい、この性質を持つトークンをNFTと言います。この性質は多くのゲームでも利用されており、育てたキャラクターや集めたアイテムをユニークなものとして収集できるようにすることで、これまでになかった扱い方ができるようになりました。

### ERC721x　：ERC721を拡張したトークン
ERC721は、NFTを扱えるようになったことでブロックチェーンの可能性を開きました。
しかし、一つひとつのNFTをそれぞれ別々のクラスとして扱わなければいけないことで、トークンの送信の際にGas代と呼ばれる手数料のようなコストが大きくなってしまう問題を持っていました。言い換えると、一つのキャラクターが持つアイテム等もNFTだった場合、そのキャラクターだけでなくそれぞれのアイテムもすべて一つひとつ送信しなければいけない状態だったということです。

この課題を解決するために、複数のクラスをひとまとめにして一気に送信してしまう提案がなされました。これを規格化したのがERC721xと呼ばれるものです。この規格は名前の通りERC721と後方互換性を持っているため、すでにERC721の規格で発行されたトークンも準拠でき変更コストも少なくできました。

### ERC1155　：ERC20とERC721をまとめて扱う
ERC1155は以前からあった代替可能トークンの規格であるERC20とERC721をまとめて扱えるようにする規格です。これによって、複数のアセットをひとまとめにして一括送信することが可能になり、アセットのやり取りを効率化することができます。加えて、複数人に対して一括送信することもできるため、ゲーム内での利用も期待されています。

# 2, UnityやUnreal engine4でも使える
「ゲーム開発と言えばコレ！」として挙げられるほどの定番ツールであるUnityでもブロックチェーンの機能を利用できるようになってきました。

UnityやUnreal engine4でブロックチェーンゲーム開発できるようになる最大のメリットは開発障壁を低くすることができることでしょう。Unityを例にあげれば、世界でユーザーが550万人以上（2016年時点）いるとされており、Unity製のゲームは累計42億回消費者にインストールされているようです。これだけ広いシェアを握っていることから、ゲーム開発者にとって、とても身近なツールの１つであると言えるでしょう。そんなツールで簡単にブロックチェーンを利用できるようになることで、DAppsとしてのブロックチェーンゲームの開発や普及が進んでいくと期待できます。これまでのゲーム開発の経験や流れをそのままに、ゲームというものを新しいフィールドに飛躍させる可能性があります。

# 3, 開発や流通支援のツールが増えてきた
具体的にブロックチェーン開発支援ツールにどんなものがあるかを紹介します。
## UnityでDApps開発
Unityは言わずと知れたゲーム開発プラットフォームですが、そんなUnityでブロックチェーンゲームを開発するツールも開発されています。一例ですが、loom networkという組織がリリースしているunity-sdkがあります。

loom networkはイーサリアムの拡張性を高めようとさまざまなソリューションを開発している組織で、高い技術力を誇っています。loom networkが公開しているSDKは以下のリンクから確認できますが、実際に動かしたテストも含まれているため、興味のある人は一度覗いてみると良いでしょう。
[＞＞＞loom networkのSDK](https://github.com/loomnetwork/unity-sdk)

他にもUnityのアセットストアを確認すると、[Blockchain SDK by Enjin](https://assetstore.unity.com/packages/tools/utilities/blockchain-sdk-by-enjin-124133)や[DMarket Integration SDK](https://assetstore.unity.com/publishers/37028)のようなプラットフォームも確認できます。

ゲーム開発者が普段使っているツールでブロックチェーンも簡単に活用できるようになれば、より広く普及することになりそうですね。

## Unreal engine4の開発会社が、DAppsマーケットのAbyssと提携
ゲーム開発者に人気のツールであるUnreal engine4を開発しているEpic Gamesが、分散型アプリケーション（DApps）マーケットであるAbyssと提携しました。

この提携によって、Abyssでゲームを配信する開発者は誰でもUnrealEngine 4のライセンスやUnreal Developer Networkへのアクセス、無料のメンテナンス、テクニカルサポートといった各種サポートを受けることができます。
[＞＞＞提携ニュース記事](https://www.jbb.one/jp/article/1117322360.html)


## MCH+
世界一のユーザー数を誇るブロックチェーンゲーム「My Crypto Heroes」を手がけるdouble jump.tokyoがローンチしているアクセラレーションプログラムです。このプログラムでは、開発を支援するSDKの提供や資金的なサポートなどブロックチェーンゲーム開発におけるさまざまなサポートを行なっています。

ブロックチェーンゲームをゼロから開発することは大変ですが、My Crypto Heroesを開発する過程で身につけたノウハウを取り入れたフレームワークを提供することで、開発にかかるコストが低くなります。まだ数の少ないブロックチェーンゲームですが、このようなプログラムがあるのは開発者にとって大きな魅力になりそうです。
[＞＞＞MCH+　公式ページ](https://www.mch.plus)

# 4, VR/ARとの連携で更に広がるフロンティア
VRやARも大きな革新として注目を集めています。VRもARもユーザー体験を大きく変えると期待されており、ゲーム業界での利用も積極的に進んでいます。実際にゲームの世界に入り込んだような没入感がこれまでのゲームとは大きく違い、新しいユーザー体験を作り出すことができます。

ブロックチェーンと連携したユースケースも徐々に現れており、VRゲーム内で集めたアイテムが実際の資産として扱えるようになったり、ARで現実世界と紐付けたアイテムを集めることができるようになったりとゲームの広がりが生まれるようになっています。バーチャル世界の土地を売買するといったこれまでになかった用途も生まれてきており、今後新たなユースケースが生まれてくることが期待されています。

# 5, 今後の課題は「市場」と「操作性」 
ブロックチェーンゲームはこれまでにないコンセプトでゲームを開発できるため、大きな可能性を秘めていますが、大きなブレイクスルーをするためには乗り越えなければいけない壁が大きく2つあります。
## さらなる「市場」の拡大が、未来を作る！
ブロックチェーンは用語としては徐々に知られるようになってきたものの、まだまだ市場が小さく、今後大きくなっていくことが期待されます。ブロックチェーンゲームのユーザー数や経済規模もまだまだ大きくはないため、業界をあげて盛り上げていく必要があります。

自分のブロックチェーンゲームのマーケティングと合わせて、ブロックチェーン技術自体のマーケティングを行っていくことが業界全体に課せられたミッションだと言えるでしょう。

## ブロックチェーンならではの性質を維持しつつ、「操作性」を高める
ブロックチェーンの基本的な仕組みの解説は省きますが、処理する量が多くなればなるほど、処理能力が低下するというスケーラビリティ問題も無視できません。いざゲームとなると処理すべきデータの量は多くなるため、スケーラビリティ問題にどう向き合うかを考えなければいけません。また、資産を送信する際に手数料がかかるため、頻繁に送信する必要がある場合は注意が必要です。

このような点を踏まえて、どの程度までブロックチェーン上で処理するのか、オンチェーン（ブロックチェーン上）とオフチェーン（ブロックチェーンの外側）をいかに組み合わせるかといった工夫が必要になります。