めし独自視点

デュエスタを2ヶ月で作って学んだこと

クラシック専用ツールの設計記

執筆: めし / Duel Studio Classic 開発者 / 公開: 2026-06-23 / 最終更新: 2026-08-20
検証元: デュエスタの一人回し現行実装・公開ルールガイド・開発履歴

なぜクラシック専用ツールを作ろうと思ったか

デュエル・マスターズの「クラシック」 は、 公式が運営しているフォーマットではない。 プレイヤーコミュニティが、 基本編から戦国編あたりまでのカードプールを使って、 自分たちで作り上げてきた遊び方だ。 環境の固定された世界で、 カードの新規追加にビクビクしないで深く研究できる。 これがクラシックの最大の魅力で、 めしがハマった理由でもある。

ただし、 クラシック専用のツールはほとんどなかった。 既存のデッキ構築サイトはどれも最新環境前提で、 クラシックで使えないカードがレギュ判定なしで並ぶ。 「同じ名前のカードを4枚」 のチェックは出来ても、 「このセットは基本編で使えるか」 までは分からない。 「自分が欲しいツールは自分で作るしかない」 という、 個人開発の典型的な動機だった。

開発を始めたのは2026年の春先。 当時のめしは、 デュエル・マスターズ歴は長かったが、 React も Firebase も触ったことがなかった。 ポケカ用アプリを作っている友人「まえまん」 に技術を教わりながら、 まず2ヶ月で動くものを作る、 と決めて手を動かし始めた。

最初に作ったのは「一人回し」 だった

デッキ構築ツールを作るのが目的だったのに、 最初に手を付けたのは「一人回し」 (デッキの動きを一人で試す機能) だった。 理由はシンプルで、 デッキ構築ツールだけ作っても「組んだデッキが本当に回るか」 が確認できないからだ。

クラシックで遊ぶプレイヤーは、 みんな対戦相手不足に悩んでいる。 公式環境のプレイヤーは身近にいくらでもいるが、 クラシック専用の遊び相手はそう簡単に見つからない。 だから「一人で回せる」 ことの価値が、 他のTCGツールよりはるかに高い。 これは作りながら気付いた発見だった。

一人回しの実装で最初にぶつかったのは、シールドのめくり順とS・トリガーの判定だ。クラシックで扱う1枚ずつのブレイクでは、各シールドを手札に加え、S・トリガーを解決してから次へ進む。ただし、その途中で攻撃クリーチャーが離れても、すでに決定した残りのブレイクは続く。この順序をUIで誤解なく表すのが想像以上に難しかった。

クラシック特有のルールをどう実装したか

クラシック環境の再現で一番こだわったのは、 2017年のルール改訂前の挙動だ。 現行ルールでは、 W・ブレイカーは「複数枚まとめてブレイク → 全部手札に加えて → S・トリガーを順番に使う」 と処理される。 でもクラシックは旧ルールに従い、 「1枚ずつブレイク → S・トリガーをその都度処理 → 解決後に次の1枚」 という流れだ。

この違いは見た目には小さいが、操作順序に直結する。旧ルールでは、最初のS・トリガーを解決している間、残りのシールドはまだゾーンにある。現行ルールでは、選んだシールドを同時に手札へ加えてから使用するS・トリガーを決める。この状態の違いを意識し、デュエスタではクラシックの1枚ずつの進行を基本としている。

召喚酔いの処理もシンプルなようで面倒だ。 「召喚したターンのクリーチャーは攻撃できない」 という単純な規則だが、 スピードアタッカー、 進化クリーチャーの召喚酔い解除、 ターンをまたいだ時の判定、 と細かいケースが多い。 一人回し内部では「召喚酔い中か」を各クリーチャーの状態として保持し、進化やターン開始などの操作に応じて解除する。スピードアタッカーはカード能力と一時能力を別に確認し、攻撃可否へ反映している。

カード効果を1枚ずつ自動化する難しさ

デュエスタの一人回しは、 マナ自動タップや自動ターンエンドといった便利機能を備えている。 これらは「決められたルールに従って機械的に処理する」 だけで作れる。 問題は、 個別のカード効果を自動化することだ。

例えば「相手のクリーチャーを1体破壊する」 という呪文を考えると、 「相手のクリーチャー全部に選択ボタンを出して、 選んだ1体を墓地に送る」 という流れになる。 これだけなら難しくない。 だが「コスト3以下のクリーチャーを1体破壊」 になると、 選択肢を絞り込むロジックが要る。 「相手の自然文明クリーチャー1体を選び、 山札の下に送る」 になると、 文明判定 + 移動先指定が必要だ。

対応カードは再録を含めて数千行あり、効果も同じ書式ではない。それを一度に全部自動化するのは、個人開発では現実的ではなかった。そこで一人回しでは、基本操作を自分で進めるマニュアルと、対応済み処理を補助するモードを分けた。完璧を装わず、できる範囲を明示することが大切だと学んだ。

テスターからの問い合わせが財産になった

開発を始めて1ヶ月くらいの頃から、 知り合いのクラシックプレイヤーに使ってもらい始めた。 これが本当に大きかった。 自分一人で作っていると、 「自分が知っているデッキ」 「自分が試したカード」 しか考慮できない。 でもテスターは、 めしが知らないデッキを組み、 めしが想定していない操作をする。

印象的だったのは、 あるテスターが「マナのタップ忘れがよくあるから、 自動タップを設定できないか」 と言ってきたことだ。 めしは自分でプレイする時マナを正確にタップする癖があったので、 自動化の必要性を感じていなかった。 でも実装してみたら、 圧倒的に便利だった。 ユーザーが言わなければ気付かなかった改善が、 たくさん見つかった。

バグ報告も貴重だった。 「特定のカードを出した瞬間に画面が固まる」 「シールドを5枚以上にすると枠からはみ出す」 みたいな指摘は、 自分のプレイスタイルでは出会わないものばかりだ。 個人開発で品質を上げるには、 早めにテスターを巻き込むのが一番確実だと改めて思う。

これから作りたいもの

最初の2ヶ月で「一人回し」「デッキ構築」「デッキ共有」の土台を作り、その後は1405対応や大会掲載へ範囲を広げてきた。一時期はオンラインシミュレーションβも試験提供したが、品質と運用負荷を見直して2026年8月に公開を終了した。個人開発では、増やすだけでなく「今は提供しないこと」を決めるのも重要だと思う。

これからクラシックの世界に入る人にとって、 デュエスタが「クラシックを始める入り口」 になれたら嬉しい。 公式環境より敷居が低く、 環境が固定されているから安心して研究できる。 そんなクラシックの良さを、 ツール越しに伝えていきたい。

開発記はこれからも書き溜めていく予定だ。 失敗談も成功談も、 同じように個人開発をする人の参考になればと思う。

Duel Studio Classic (デュエスタ) は、 デュエル・マスターズのクラシックカードプール (基本編 / 05 / 08 / 1405) を遊ぶプレイヤーが個人で運営する非公式のファンメイドサイトです。 株式会社タカラトミー、 Wizards of the Coast、 株式会社小学館をはじめとする「デュエル・マスターズ」関連の権利者・公式団体とは一切関係ありません。

サイト内で言及するカード名・能力テキスト・商品名・固有名詞・画像等に関する著作権・商標権その他一切の権利は、 すべて各権利者に帰属します。 本サイトはこれらの権利を侵害する意図を持ちません。

権利者の方からの申し立てがあった場合、 該当箇所の修正・削除その他必要な対応を速やかに行います。 権利関係のお問い合わせ・ご要望は お問い合わせフォーム よりご連絡ください。

©Wizards of the Coast LLC.