プログラミングを嗜む男の子なら誰しも一度は ゲームを作りたい と考えるだろう。
しかし、現実は甘くない。ゲーム制作に必要なスキルは多岐に渡るため、多くの個人開発者は挫折を味わうこととなる。とくに大きな障壁となるのがイラストである。ゲームの世界観を決定づける根幹的な要素でありながらスキル習得の難易度は非常に高い。仮に習得できたとしても、ゲーム制作に必要な画像アセット数は到底個人で賄える量ではない。外注しようものなら一般的な趣味の範囲を超えた予算が必要となる。その為、個人のゲーム制作はフリー素材を組み合わせて作るか、テトリスやナンプレのような図形・テキストで遊ぶゲームが主流だ。(もちろん全てをこなす変態的な個人開発者も存在するが)
時代はWeb3.0、ゲーム界隈ではDappが頭角を現してきた。運営がゲームアセットとなるNFTを発行し、プレイヤーはそれを購入して遊ぶ。アセットの個人間取引も可能となり、ゲーム内に経済圏を構築できる素晴らしいモデルだと思う。が、個人開発者としては、いよいよゲーム作りは厳しくなってきたな…と思った。
イラスト問題は依然として立ちはだかってる状況で、ブロックチェーン技術の習得や経済圏モデルの設計も必要となる。大量にNFTをミントする作業もタダではない。
無理ぽ。
経済圏の構築を必須とするのがWeb3.0開発なのか?Web2.0で培った技術力は無駄になるのか?この世界は私にゲームを作るなと言っているのか?クソだなWeb3.0。
いや違う。
Web3.0の本質はユーザーが自分のアセットを持っていることだ。
ユーザーが保有するNFTをゲームアセットとして使えばイラスト問題が解消される。これはデカい。経済圏の構築?知らん。Web2.0の技術力で開発して、イラストはプレイヤーのNFTを使う。それだけでいいじゃないか。Web3.0の世界だと多くのユーザーが自分の好きなイラストを保有している。それを使って遊べるなら楽しいだろうし、開発者としても楽できる。なんて素晴らしい世界だWeb3.0。
そんな事を考えならが呟いたのがこれ。
若い人は知らないかもしれないが、昔バーコートバトラーというゲームがあった。商品に付いているバーコード(対象商品を問わない)を読み込ませて戦うという、ロマン溢れるゲームだ。ちなみに私はやったことない。
これのNFT版を作りたい。ユーザーが持つNFTのトークンアドレス × トークンIDをシード値としてランダムなステータスを割り振って戦わせるゲーム。
前置きが長くなってしまったが、この記事はそんなゲームの企画というか設計というか妄想というか、そんな話。
いつもならリリース前にこんな妄想を公開したりしない。恥ずかしいから。
しかし、ゲームデザインについて私はトーシロである。更に、ゲーム好きを名乗れるほど沢山のゲームをやり込んでもいない。「こうしたらもっと面白くなりそう」とか、そういう私の妄想を更に妄想で上塗りするようなレスポンスがあればいいなと思って公開する。あとALISバッチが欲しい。
ゲームプログラミングはしない
いきなりどんでん返しだが、私はゲーム制作によく使われているプログラミング言語は未履修。有名所だとUnityとか。前述のイラスト問題があった為、ゲーム制作は避けてきた人生だった。いきなりリッチなものは作らず、まずは既にあるWEB開発技術を使ってテキストベースのゲームを作る。
Web1.0やガラケー時代にあったブラウザゲームをイメージして貰えれば分かりやすい。インターネット老人会の会員である我々は、派手な演出が無くともテキストだけで興奮できることを知っている。
リアルタイムマッチングはしない
他者と対戦できるゲームを作るが、相手の出方を伺いながら戦略を立てるリアルタイム対戦は行わない。技術的には可能だが、運用保守が個人の手に追えなくなる。しかし、ただの運ゲーにはしたくない。事前にTCGで言うデッキのようなものを組んで、対戦は自動進行といった形式を取ることで戦略性と運営負荷の軽減を両立させる。その前提でゲーム設計を行う。
ランダム要素は排除したい
戦略性を高める為に出来る限り戦闘におけるランダム要素は排除したい。つまり「運が悪かった」という理由で負けを作りたくない。とはいえ、後述するが現状の構想だとランダム決定で逃げている所が多々ある。
Dappではない
経済圏は構築しないし、NFTは発行しない。先行者利益も無い。これはWeb2.0のブラウザゲーム。
動作環境はMetaMask搭載ブラウザのみ
つまりPC版Chromeのみ。前提というより、現状これしか想定できない、といった表現が正しい。
スマホも視野に入れたいが、スマホ版のウォレット機能搭載ブラウザで一定のシェア取ってて使いものになるやつある?あったら教えて欲しい。
対象NFTはETH/PolygonのERC712のみ
そもそも私がこのNFTしか持ってないためERC721以外の動作確認が出来ない。ERC20は通貨としての役割が強いので何か違う。もし他に対応して欲しい規格があれば、ちょっとそのNFTを貸して欲しい。
ウォレット内にある全てのERC721トークンを利用可能
NFT自体の価値に対する優劣は付けない。スパムNFTだろうとCryptoPunksだろうと、等しい価値を持つ世界にする。NFTの価値というのはWeb3.0の概念であり、Web2.0である当ゲームには無関係な要素。
そのまんま。
プレイヤーは自身のウォレット内に保有するNFTをスキャンすることで、NFTにステータスやスキルを付与することが出来る。
NFTは何度スキャンしても同じステータスになる。
スキャンしたNFTはゲーム内で使用可能となる。
スキャンしたNFTは以下のステータスをランダムに獲得する。(割り振りは要調整)
レアリティ
コモン / アンコモン / レア
レアリティによって獲得できるアクティブスキル、パッシブスキルが変化する。
攻撃力
1 ~ 10 の範囲でランダムに獲得する
守備力
1 ~ 10 の範囲でランダムに獲得する
体力
5 ~ 15 の範囲でランダムに獲得する
敏捷
1 ~ 100 の範囲でランダムに獲得する
アクティブスキル1 / アクティブスキル2
獲得している場合、攻撃の代わりに発動する特殊スキル。
パッシブスキル1 / パッシブスキル2
獲得している場合、常時発動する特殊スキル。
プレイヤーは3つのNFTを組み合わせてデッキを構築する。
最大5デッキまで登録可能。
デッキを作成すると他者の登録済みデッキと対戦できる。
ランダム対戦:ゲーム内に存在する登録済みデッキからランダムに選出して対戦する
フレンド対戦:指定したユーザーが保有するデッキからランダムに選出して対戦する
ターン制バトル。
双方のデッキから、敏捷の高い順に攻撃をする。
全てのNFTが攻撃を終えるとターン終了。
通常攻撃の場合、ランダムに一体攻撃する。
アクティブスキルの場合はテキストに従った対象を取る。未設定の場合はランダム。
攻撃を受けると自身の体力が [相手の攻撃力 - 自分の防御力] だけ減少する。差引ダメージが0以下となる場合、体力が1減少する(最低ダメージ1)
体力が0になると戦闘不能となる。
勝利条件は相手のNFTを全て戦闘不能にすること。
一定ターン経過しても勝敗がつかない場合、防衛側の勝利とする。これはターン数に上限を設けないとオートバトルは無限ループに陥る危険性があるというシステム的な都合。何ターンを上限とするか、どちらを勝利とするかは調整してみないと分からない。
アクティブスキルが設定されている場合は通常攻撃の代わりに特殊スキルが発動する。スキル発動後は2ターン通常攻撃となる。
アクティブスキル1 が設定されている場合
アクティブスキル1 → 通常攻撃 → 通常攻撃 → アクティブスキル1(以降繰り返し)
の3ターンサイクル。
アクティブスキル1 / アクティブスキル2 が設定されている場合
アクティブスキル1 → アクティブスキル2 → 通常攻撃 → 通常攻撃 → アクティブスキル1(以降繰り返し)
の4ターンサイクル。
攻撃の代わりに発動する特殊スキル。
レアリティによって割り当てられるスキルに差が生じる。下記のようなイメージ。
コモン: 0 ~ 1個、稀にスキルを1つ獲得する。
アンコモン:1 ~ 2個、稀にスキルを2つ獲得する。
レア:2個、レア専用スキルも用意する。
高火力な攻撃スキル、固定ダメージスキル、回復スキル、バフ/デバフスキル、等を想定している。
常時発動する特殊スキル。
レアリティによる割り当てはアクティブスキル同様。
バフスキル、死亡時スキル、攻撃時スキル、等を想定している。
どこかで見たことあるワードやシステムの寄せ集めと思ったかもしれない。
それはそう。「NFTで遊びたい」というジャストアイディアを肉付けするために、私の中にある数少ないゲームの記憶を漁っただけ。
ボードゲームには洗練されたゲームシステムが多い印象だが、如何せん私がそこまでボードゲームをプレイしたことがない。情報求む。
ここで言う "報酬" とは金銭のことではなく、モチベーション設計のこと。如何に「勝ちたい」と思わせるか。
承認欲求や自己顕示欲をどう刺激するか、と言い換えることもできる。
まずはデッキ単位で勝敗数を記録してランキングする。総合ランキング、デイリーランキング、殿堂入り、とか?
リプレイ再生機能があればSNSにシェアしたいと思うかなー?
ここはゲームを流行らせるために大事な所だけど、あまり良い案が思いつかない…
クリスペの検索サイトを作った記事でも触れたが、個人開発でもマネタイズを考えることは大事。持続可能性もそうだが、ユーザーに「金を払いたい」と思ってもらえるラインを目指すことで制作物が自己満足の域から脱却できると考えている。
NFT Battlerの場合「自身がオーナーであるOpenSeaコレクションのNFTをスキャンした際、固有スキルを確約させる権利」を売れるんじゃないかなと思っている。
500円とか1000円とか。コレクションに含まれるNFTの数で金額を変動させてもいいかもしれない。
これを売るためにはNFT Battlerの固有スキル確約がNFTの販促に繋がらないといけない。つまり、まずは流行るゲームを作ることが最優先。
妄想で終わらせる気はあまりなくて、「ウォレット内のNFTを参照する」という根幹部分については技術検証済み。
バーコードバトラー的なサービス自体は昔作ったことあって、システムの実装はそこまで苦労しない気がする(苦労するフラグ)
特殊スキルみたいなシステムは作ったことないから、そこで苦労しそうな予感はしてる。
あとはモチベを保つために、使ったことない技術を色々使いたいなーとか。
とりあえずこんな感じ。
応援してもらえると嬉しいです🙇