Fashionable EggDragonsコレクションは、アニメーションとジェネレーティブを掛け合わせたコレクションです。
Polygonネットワーク上の独自コントラクトにて作成されたNFTになっております。(令和4年2月12日~)
独自コントラクトで作成されているため、例えばスマホ版のメタマスクで表示することが出来ます。また様々なプラットフォームで売買することが出来ます。
現在は、主にOpenSea(https://opensea.io/collection/fashionableeggdragons)にて販売しています。
IPFSサーバーにメタデータとメディアデータを保存しています。
一応5年間はサーバー保持しますが、それ以降はどうなるか分かりません。(~令和9年2月11日)
各自でPin付けして頂けると幸いです。
Pinataの値上がりには耐えきれず、Fashionable EggDragons Collectionは、ipfsからArweaveに完全移行しました。(~令和4年6月12日)
ジェネレーティブ×アニメーションの概要
Fashionable EggDragonsコレクションの大きな特徴としては、ジェネレーティブ作品かつアニメーション作品になっているところです。
一筋縄では作れない作品になっています。
ジェネレーティブについて
こちらがFashionable EggDragonsコレクションの組合せ表になります。
ざくっと作り方を説明すると、
①事前に各パーツ毎に複数のパターンを用意します。
②各パーツの組合せを特定の条件をもとにコンピューターに選択させ、自動生成させます。
アニメーションについて
JPEGやPNGなどの画像のジェネレーティブは、オープンソースのコード(HashLips)を利用したり、ツール(NFT-inator)を用いることで簡単に作ることが出来ます。
一方でFashionable EggDragonsコレクションは、GIF形式のアニメーションとなっております。動画のジェネレーティブは、私が作ったタイミングでは、利用できるツール等はありませんでした。
そのため、自作でプログラミングを行い、作成致しました。
どうやって作ったの?とよく聞かれるのですが、私はITエンジニアでもプログラミングに詳しいわけでも無いので、人に教えるには自信がないため企業秘密にしています。
画像にしろ、動画にしろ作ってほしいという依頼があれば、ご協力することは可能です。
独自コントラクトについて
本作品は、独自コントラクトにてNFTの発行を行っています。
独自コントラクトについても自作で発行する予定だったのですが、色々あって誰でも簡単に独自コントラクトで発行できることを広めたいと思いプラットフォーム経由で発行することにしました。
独自コントラクトが発行できるプラットフォームはたくさんあるんですが、痒い所に手が届かないものが多く、色々と対応してもらえないか色んな運営元に交渉していました。
そんな中、Chocofactoryでお馴染みのChocomintさんがジェネレーティブに最適なツールを開発している情報を手に入れました。
最高のタイミングでした!!
Chocofactoryの特徴はこちらです。
- とにかく管理画面が見やすい
- 分からないことがあれば丁寧に教えてくれる(しかも日本語!!!)
- 独自コントラクト発行にかかるガス代が安い
本作品は、ChocomintさんのChocomint V2(β版)を使用して発行しています。
使用した感想ですが
- 独自コントラクトに詳しくない方でも簡単に発行できる
- (わざわざ運営元に交渉しなくても)大量に一括発行が出来る(ジェネレーティブに最適)
- ガス代が安い!(独自コントラクトデプロイ代+NFT1000枚発行で1.6MATIC($2.7)でした。)
まだβ版という事ですが、完成度非常に高く、普通に使えます!
無茶苦茶オススメなので、もしNFTの発行を検討される際には、ぜひ調べてみてくださいね
苦労したこと
Fashionable EggDragonsコレクションを作成したときに苦労したことを残しておきます。
苦労したこと①:アルゴリズム
コンピューターによる組合せの自動抽出をどういうルールで行うのか(アルゴリズム)、悩みました。
アニメーションを行うためには、パーツを細かく分ける必要があります。
例えば、頭と体と羽。
よく見てもらうと分かるのですが、それぞれ動きが異なります。
そのためパーツを分ける必要があるのですが、模様や色は一致させないといけない・・・。
その他にも、たまごの模様と下に転がっているたまごの殻の模様を一致させる必要がありました。
これは、アニメーションとジェネレーティブを掛け合わせたために起きた大きな問題でした。
苦労したこと②:書出し時間
プログラムの作成が終わり、いよいよジェネレーティブの作業に入ったのですが、ここからがまた大変で・・・。
このアニメーションは、実はいきなりGIF形式で出力したのではなく、まず非圧縮のMP4ファイルを作成し、その後GIFに変換しています。
GIF形式の場合、ノイズが入りやすく汚くなる恐れがあったので、それを避けるために行いました。
そのせいもあって、1体出力されるのに約5分程かかりました。
ジェネレーティブ作品ということで、1,000体作成する予定でした。そのため全部終わるまで約83時間かかる・・・。
また、途中で止まった場合、すべてがパーになってしまう可能性がもあり、連続での出力を諦めました。
寝ている間や外出中は、パソコン閉じたいですし・・・。
結局バッチ処理が出来るように下記のようにプログラムを作りなおしました。
- 組合せを先に作ってしまう。
- 出来上がった組合せ表をもとに、MP4出力
- MP4からGIF変換
書出し中はパソコンが使えないし、就寝中や外出中は出力できないし・・・
出力作業が本当に本当に大変でした。
苦労したこと③:IPFSサーバーの交渉
アニメーション作品のため、一つ一つの容量が非常に大きいんです。
だいぶ容量が軽くなるようにアニメーションを簡易的にしたのですが、それでも1,000体もいるので、最終的には約7GBになりました。
本作品は、永続性を大事にするためにIPFSサーバーにメタデータとメディアデータを保存しています。
永続性とIPFSについて詳しくは別記事で説明するかもです。
IPFSサーバーの長期契約について交渉を行っていたのですが、とにかく返事が帰ってこない
技術屋さんに質問したらすぐ返事が帰ってくるのに、営業からの連絡は・・・
話が前に進まないし、金額びっくりするぐらい高いし(通常の100倍)・・・
非常に申し訳ない話ではあるんですが、私がサーバー管理することにしました。
苦労したこと④:List作業
OpenSeaへのList作業は、1個1個やらなくちゃいけなくて・・・
1000回同じことを繰り返さないといけないんです。ツ、ツライ・・・
安いNFTを作成された場合は、ぜひmintサイトを作る事をオススメします。
一気に仕上げるのは無理なので、ちょこちょこ加筆して行きます。