TokenURIが示す画像ファイルはpng, svgなんでもいいが、その合成方法とストレージ保管方法の違いが出てくるため、最初の決めとして要件定義する。
- 形
- 縦長のカード。従来のプラスチックカードが横長なのに対してNFTカードが新しいフォーマットであることを主張。
- 縦横サイズ
- uniswap v3と同じ290x500くらい。
- ファイル種別
- svg
- pngは既存クリエイターが作りやすく、svgはフルオンチェーン指向。フルオンチェーンを念頭に置くためsvgファイルを完成形とする。svgは一般的なイラストレータとは異なるスキルが必要になるけど、DFGC純正はシグネチャなモデルとする。
- 動きをつけるのはCSSでできる範囲で。javascriptは組み込まない。
- ※汎用性のため、キャラデザインや3Dなどリッチなデザインの他のモデルは考えてはおく。eip-4841のようにストレージが拡張され、multichainかシャーディングでガスが安価になるのを待ちつつ。
- スコア とりあえずTXJP保有数のみ
- ステージ 適当な閾値で区切る。レア度の分布とシェア割合を一致させたい。ステージは画像で表現し、名称は表示しない。
- 以下は案。MAX TotalでなくCirculating Supplyのシェア。現在の分布を確認しながら。
- 〜0.1% イクラ
- 0.1%〜 シャケ 1000人
- 0.3%〜 ドルフィン 333人
- 1%〜 クジラ 100人
- 3%〜 テスラ 33人
スコア、ステージという2つの変数を用いて表現しうるデザイン案の1つ。
EVOLUTION
トップテキスト、センター画像、スコアテキスト、ロゴテキスト、枠線
- "EVOLUTION"
- フォントはFutura、幅が広すぎたら別でも。
人類の進化 (human evolution) の画像。ステージアップ感がわかり且つsvgでサイズが重たくならなそうなものということで。
- 白
- 5段階(猿〜類人猿〜ヒト〜web3的なヒト)
- センター放射も考える
- mesh gradientか2D polygon
- ベースカラーから自動生成
ステージごとに6段階。ステージ1で色が変化し、ステージ2に移ると0リセットされる、以降ステージ3も同様。
- RGBの数値でカウントアップ
- 6段階の数値はプリセット
- ベースカラーから動的に生成できるなら段階は決めずそれにする
常時動きをつけるところ
- 上記のセンター放射を回転させるか、conical gradationで光らせる
- 形がシンプルなら単純にborder CSSだけでも。
とりあえずTXJP保有数をそのまま表示
- 小さく●DFGC
- フォントはHelvetica Neue
- 枠線の動きは、ウェーブエフェクトで浮遊感でも。
- 保有数をカウントアップするアニメーションで進捗感を出す(色のカウントアップもできれば。)
- スコアのアウトラインを徐々に描くエフェクトでじわじわ感を出す
- あくまでイメージ。色は適当。svgではなくpng。
- 以下6つのレイヤーを画像加工アプリで合成したもの。svgの場合は各レイヤーのコードを結合する。
- 固定レイヤー
- 枠線
- タイトル
- フッター
- 変数からなるレイヤー
- 背景
- オブジェクト
- スコア
ここまで。
- EOAアドレスごとのスコアを出力
- スコアに応じたステージを出力
- svgはすでに生成したものを格納しておいてスコアのみ表示。
直接svgを書き換えるところまでやって、デザインが変わるように見せた方が完成形イメージはしやすい。体力による。
スコア変動をどのタイミングで反映するか。uniswapのようにパラメータ固定ではないからミント時ではないタイミングの検討が要る。
- 時間ごとのバッチ
- txを監視してtoken id別に処理
変数を複数持てば
- uniswap v3のような複数カラーで表現できる。ただしグレード進捗感が表現しにくい。
- 保有数の数量をRGBのカウントアップで、属性をRGBの色方向で表現できる(例えば保有期間が長いほどにR→G→Bと変わりHODLを表す)
- など。
オブジェクトが変わるだけでなく、さらにコラボして属性を追加する
- ステージ部のオブジェクトに帽子みたいな付属レイヤーを重ねる等
これはストラテジーそのものを見直す。上記だと現在の保有数だけを表現している。
- 時間: ヒストリーから時間経過をレピュテーション指数として数値換算していく。投票の重み付けとも相性がいい。
- 時間経過: ヒストリーから時間ごとのスコアを複数抽出し、時間経過による保有増減をグラデで表現する。デザインのまとまりがなくなる危険。
- エコシステム: Yamato等のプロダクトトークンの保有数も計算に入れる。例えばmultiplier要素にしてスコアを算出。DFGCファミリー全体でのLoyaltyを高めやすい。
- ポートフォリオ: 複数プロダクトアセットの保有数を別々のradial gradientとして背景に配置。
- DeFiGeekだから他のDeFi Dappsを使い倒してるジャンキー指数も考えたけどDebankやZapperと被りそうだし、投票ウェイトに繋がらないのは面白くない。