大まかなフェーズ1の仕様が決まったので開発計画を立ててもらった!
分からん言葉だらけやけど頑張るw
昨日はとりあえずVSCodeインストールしてRust Analyzer入れた!
Rust本体もインストールしようと思ったけどstable版およびnightly版の両方をインストールの意味がわからなくて一旦寝た!
出力された開発計画がコレ
以下は、フェーズ1の計画を確実に進めるための、開発作業の推奨フロー例です。大まかな優先度と順番を示しているため、実際のチームや開発状況に応じて調整可能です。基本的には、土台となる基盤システム(トークン・NFT・ステージ管理)→ゲームロジック(ランダム生成、ターン制、戦闘)→UI/UX(Bevy表示、フロントエンド)→経済・ガバナンス要素(マーケット、投票)→テスト・調整という流れで進めるとスムーズです。
推奨作業フロー
ステップ1:基盤システム・インフラ整備
1. 開発環境構築・ツールインストール
• Rustツールチェーン(stable, nightly)、ink! CLI、wasm-bindgen、wasm-pack、Node.js、Polkadot.js Extensionなどを準備。
• VSCodeなどのIDEセットアップ、Gitリポジトリ準備。
2. ローカルテストノード・Substrate Node Template準備
• Substrate/ink!用ローカルノードをビルドし起動。
• ink!のサンプルコントラクトデプロイで環境動作確認。
ステップ2:トークン・NFTコントラクト開発
1. トークンコントラクト(GT, CT, 素材トークン)
• 基本的な発行、転送、残高照会機能を実装。
• ユニットテストで基礎機能確認。
2. NFTコントラクト(敵キャラ、装備品)
• 敵キャラNFT、装備品NFTコントラクトを実装し、メタデータで攻撃力・防御力・HPなど基本パラメータを保持。
• ミント、転送、メタデータ参照など最低限の機能テスト。
ステップ3:ステージ管理と基本ロジック実装
1. マップNFT・階層設定ロジック
• マップNFTで5~10階層管理できるように設定データを用意。
• 階層毎に敵キャラNFT出現リストを定義する仕組みをコントラクトまたはオフチェーン設定で用意。
2. ターン経過での敵POP処理
• ターン進行ごとに敵POP判定を行うロジックを開発。
• (オフチェーンでターンごとの状態管理、オンチェーンで敵出現記録/報酬決定など最低限のデータ管理)
3. 素材収集ポイント仕様
• ランダムマップ生成時に素材収集ポイントを配置できるようにする。
• 素材収集行為ごとにターン経過、最大収集数で消滅する仕様を明確にし、コントラクトまたはフロント側で処理。
4. 戦闘・レベルアップ・報酬処理
• プレイヤー・敵のステータス計算(プレイヤー装備とレベル、敵種・階層レベル補正)。
• 戦闘結果判定と、勝利時の経験値加算、素材低確率ドロップ、死亡時ロスト品対応などの処理。
ステップ4:ランダムマップ生成・ターン制行動のUI/ロジック
1. ランダムマップ生成(フロントエンド側)
• シンプルなアルゴリズムで部屋・通路の構成を決定し、JSON等でロジック層へ渡す。
• 初期敵配置や素材ポイント配置を行う。
2. ターン制UI・行動コマンド
• フロントエンド(Bevy + Polkadot.js)でプレイヤー1手移動するごとにコントラクト状態を更新する流れを実装。
• 敵POP処理や戦闘処理をターン毎に反映。
3. ステータス表示・装備切替・素材残高表示
• ウォレット接続→トークン残高・NFT一覧取得→装備スロットUIで装備変更→ステータス変動を反映。
• 素材トークン残高と装備制作・強化画面(拠点用UI)を準備。
ステップ5:死亡ロスト品の再配置・報酬フロー実装
1. 死亡時ロスト処理
• プレイヤー死亡時、装備品NFTをロストとしてコントラクト記録、一定期間保留。
• 期限切れ後、運営者が報酬プールに再配置する仕組みを実装。
2. クリア報酬受取ロジック
• 最終階層クリア後、CTや素材トークン、ロスト品由来の装備品NFTを報酬としてミントまたは移転。
ステップ6:ガバナンス・マーケット機能実装
1. ガバナンス投票(簡易版)
• 単純な提案→投票→可決/不採用を実装し、可決時に一部パラメータ(素材出現率など)変更。
2. 簡易マーケット
• プレイヤー間で素材トークン・装備品NFTを売買可能なUIとコントラクト(PSP22/ERC-20相当トークン売買、NFTリスト販売機能)。
• 当初は固定価格または単純なオークション、出品・購入ボタンを用意する程度でOK。
ステップ7:テスト・デバッグ・バランス調整
1. ローカルテスト
• 一連のフロー(参加→探索→ターン経過敵POP→素材収集→戦闘→レベルアップ→階層進行→クリア報酬)を通しで検証。
• 死亡→ロスト品回収未遂→報酬プール再配置まで確認。
2. Shibuya Testnetで検証
• テストネットにデプロイし、実際のウォレット接続・トランザクション署名で動作確認。
• 複数ユーザー(テストアカウント)でマーケット利用、ガバナンス投票試験。
3. バランス調整
• 敵POP率、素材ドロップ確率、収集ポイントの最大収集数、CT消費量などを微調整。
• 最低限「一度クリアでき、成長要素を感じられる難易度」への調整を行う。
ステップ8:ドキュメント整備と最終確認
1. 基本操作・環境構築方法のドキュメント化
• GitHubリポジトリのREADMEにセットアップ手順・ゲームの簡易チュートリアルを記載。
2. 既知の制限や将来拡張予定の記述
• フェーズ2以降で改善予定の点(UI強化、さらなるランダム要素、複雑なアイテム効果など)を明記。
この流れのポイント
• 基盤→ゲームロジック→UI→経済・ガバナンスの順で着実に積み上げる。
• 先にトークン・NFT・ステージ管理などバックエンド基盤を固め、続いてローグライク要素(ランダムマップ、ターン制、敵POP)を組み込む。
• UIは最初はシンプルなASCIIやプレースホルダー画像で、機能優先。その後デバッグ・バランス調整を行い、最後にガバナンス・マーケットを追加することで、ゲーム全体の流れが完成する。
このステップに従えば、フェーズ1の完成時には、最低限のローグライクゲーム性(ランダム要素、ターン制、素材・装備サイクル、ユーザー制作装備、敵POP)、ブロックチェーン要素(NFT、トークン、ガバナンス、マーケット)が体験可能なプロダクトが得られます。
よく分からんけどなんとなく合理的な感じはするのでとりあえずこの流れでつくる!
細かい設定も決めないと