タワーディフェンスのソースコード:ウェーブ・タワー・調整
Barricade Z は 30 ウェーブ、12 段階のタワー、経済バランスを 3 つのデータファイルにまとめています。購入者にとっての意味を解説します。

タワーディフェンスのソースコードでは、ゲームデザインはデータの中にあります。各タワーの強さ、各ウェーブで出てくる敵、コインが入るペース。そのデータが描画コードのあちこちに散らばっていると、1 つのウェーブを調整し直すだけでプロジェクト全体を読むことになります。私たちのマージ型タワーディフェンステンプレート Barricade Z は、タワー、ウェーブ、バランスを 3 つの TypeScript ファイルにまとめています。このガイドでは、その場所と安全な変更方法を紹介します。
このパッケージの変更には 2 つの段階があります。ページタイトルとセーブ名はテキストエディタだけで変えられます。それ以外はすべて、タワーからゾンビのウェーブまで、TypeScript のソースを編集して再ビルドします。購入前にどちらがどちらかを知っておけば、後で驚かずに済みます。
以下のファイル名はすべて、ゲームに同梱の図解付き購入者ガイドに基づいています。ガイドはインターフェースと同じ 14 言語で用意されています。
このタワーディフェンスのソースコードの中身
Barricade Z はマージ型のディフェンスゲームです。プレイヤーはリザーブでタレットを作り、同じレベルの 2 つをドラッグして重ねると次のレベルになり、最大でレベル 12 まで上がります。そして最強のものを 5 か所のバリケードに配置します。30 ウェーブのキャンペーンは 3 つのステージにまたがり、ウェーブ 10、20、30 にボスが登場します。グレネードはウェーブ 3、Overdrive(オーバードライブ)はウェーブ 7 で解放され、Workshop(ワークショップ)ではアップグレードを購入できます。進行に応じてデイリーチャレンジと Endless(エンドレス)モードも開放されます。
- game/:そのままアップロードできるプレイ可能なビルド。lib/phaser.js に Phaser 3.90、Bungee と Barlow Condensed のフォントを同梱。
- game/barricade-z.config.js:再ビルドなしで変更できる 2 つの設定。
- source/:読みやすい TypeScript プロジェクト。開発者向けです。
- documentation/index.html と、ルートの DOCUMENTATION.html:オフラインで開ける購入者ガイド。
- THIRD-PARTY-LICENSES/:エンジンとフォントのライセンス表記。
インターフェースは 14 言語に対応し、縦向きと横向きのレイアウトでタッチとマウスの両方に対応しています。実況アナウンスは英語のみの収録で、言語設定で変わるのはインターフェースの文字だけ、音声は変わりません。
ゲームデザインを担う 3 つのファイル
最初に source/src/data/ を開いてください。ソース版を買う理由はまさにこの 3 つのファイルです。タワーディフェンスの実際の設計はここで行われるからです。
- towers.ts:12 段階のタワーレベル、武器の属性、砲口データ。
- waves.ts:キャンペーンの 30 ウェーブと、ボスが出現する位置。
- balance.ts:経済、体力、ダメージ、成長カーブの調整値。
その周りに、source/src/i18n/ には 14 言語の辞書、source/src/ui/ にはメニュー、HUD、ツールバー、パネル、チュートリアル、source/src/audio/ にはサウンドのルーティングと実況アナウンスがあります。game/assets/ にあるビルド済みコードはファイル名にハッシュが付いています。手で編集せず、再ビルドしてください。
テキストエディタで変更できること
game/barricade-z.config.js を開き、値を変えて保存し、再読み込みするだけです。再ビルドは要りません。ここにある設定は 2 つだけです。
- title:ブラウザのタブに表示されるタイトル。イラストのロゴは置き換わりません。
- storagePrefix:セーブデータの名前空間。変更すると別のセーブが始まり、古いキーはそのまま残ります。使えるのは英字、数字、ドット、アンダースコア、ハイフンのみで、最大 64 文字です。
storagePrefix は見た目以上に役立ちます。同じドメインにあるゲームの 2 つのコピーは、別々のサブフォルダに置いてもセーブを共有してしまいます。エージェンシーが 1 つのドメインでクライアントごとにコピーを公開するなら、それぞれに別のプレフィックスを付けて、プレイヤーの進行状況が混ざらないようにしてください。
この 2 つの値以外、つまりロゴ、アイコン、アートワーク、ルール、タワー、ウェーブ、テキストの変更には、ソース版と再ビルドが必要です。
本格的な変更後の再ビルド
game/ フォルダにはプレイ可能なビルドがすでに入っているので、公開に Node.js は不要です。インストールが必要なのは、ゲームそのものを変更するときだけです。
- Node.js 20.19 以降をインストールします。
- source/ で npm ci を実行します。動作確認済みのツールのバージョンは package-lock.json で固定されています。
- 変更を加えたら、npm run typecheck と npm test を実行します。
- npm run build を実行します。出力先は source/dist/ です。
- source/dist/ の中身を、game/ と同じ要領でアップロードし、公開中のゲームを置き換えます。
途中で役立つ任意のコマンドが 3 つあります。npm run dev はローカル開発サーバーを起動し、npm run preview は確認用にビルドを配信し、npm run balance はコマンドラインでキャンペーン全体をシミュレーションします。balance.ts を触った後に便利です。
購入者が最初に変えることが多い箇所
- 設定ファイルのタブタイトルとセーブのプレフィックス。最初のアップロードから自分のコピーになります。
- ソース内のロゴとアートワーク。ガイドの指示どおり、画像を差し替えるときは元の比率を保ってください。
- i18n 辞書のインターフェース文言。リリース予定のすべての言語で変更します。
- 難易度:まず waves.ts でウェーブの構成を、次に balance.ts でコインの流れを調整します。
- タワーは最後に towers.ts で。すべてのウェーブがタワーの性能に合わせて調整されているためです。
複数のマージ系ゲームを販売・運営しているなら、同じリザーブとマージの仕組みは、テーマもルールも異なる私たちの別のテンプレート 2 つにも使われています。
Deepforge:ツルハシをマージして物理演算の鉱山へ送り込む
公開、アップデート、セーブデータ
game/ の中身だけを public_html/my-game/ などの空のフォルダにアップロードし、最新の Chrome、Edge、Firefox、Safari でアドレスを開きます。npm、PHP、データベース、アカウントは不要で、HTTPS を推奨します。パソコン上で index.html をダブルクリックしても動きません。サーバーは .js を JavaScript、.css を CSS、フォントと .mp3 を通常のタイプで配信する必要があり、多くのサーバーではファイル名の大文字・小文字が区別されます。
デフォルトのプレフィックスでは、セーブはプレイヤーのブラウザ内の barricadez.save(キャンペーンとチェックポイント)と barricadez.settings(言語、サウンド、チュートリアル、解放状況、記録)に保存されます。アカウントもクラウド同期もありません。再読み込みすると、現在のウェーブはチェックポイントからやり直しになります。
- アップデート方法:game/ と編集した設定ファイルをバックアップし、新しい game/ を古いものに上書きアップロードして、storagePrefix は変えずに再読み込みします。
- 古いバージョンが表示されたままなら、キャッシュされた画像とファイルを削除するか Ctrl+F5 を押します。サイトデータは消さないでください。セーブが消えます。
- ゲームには manifest.webmanifest が含まれていますが、ガイドが明記しているとおり、インストール可能なオフラインアプリとしてはパッケージされていません。
ネイティブアプリのプロジェクトは含まれていません。アプリストアで配信したい場合、ラッパーとストア掲載は別の作業になります。お見積もりが可能です。
含まれないもの、そしてライセンス
このエディションには、広告 SDK、アクセス解析、決済サービス、オンライン対戦、リモートランキング、クラウドセーブはなく、ネイティブアプリ、ホスティング、カスタム開発も含まれません。これらを追加するのは、ご自身のアカウントを使った開発作業になります。
Barricade Z の定価は $39、2026 年 11 月 30 日までのブラックフライデーセール中は $33.15 です。1 回の注文でテンプレートを 2 点以上購入すると、5%〜20% のまとめ買い割引も付きます。ライセンスは永続・非独占で、1 つの最終製品(あなた自身のもの、または 1 社のクライアントのもの)に使えます。コード、アート、音声の改変、私たちのブランドからあなたのブランドへの置き換え、無料または広告付きでの提供が可能です。テンプレートやそのコード単体での再販は認められていません。サポートは 6 か月付属、延長オプションで 12 か月です。新機能や外部連携は事前にお見積もりします。
よくある質問
このタワーディフェンスのソースコードはどのエンジンを使っていますか?
Phaser 3.90 と TypeScript です。エンジンは MIT ライセンスのもと game/lib/phaser.js に同梱されているため、CDN から読み込むものはありません。
Node.js なしでウェーブやタワーを変更できますか?
できません。設定ファイルで変えられるのはタブタイトルとセーブのプレフィックスだけです。ウェーブ、タワー、バランスはソース内にあり、Node.js 20.19 以降と再ビルドが必要です。
実況アナウンスは翻訳されていますか?
いいえ。14 言語に対応しているのはインターフェースです。実況の収録は英語で、ほかの言語にはナレーションがありません。
スマートフォンでも動きますか?
はい。縦向き・横向きのレイアウトがタッチとマウスで動作します。パフォーマンスは端末によるので、ユーザーが使っているスマートフォンでテストしてください。
同じドメインの 2 つのコピーでセーブを分けられますか?
はい。それぞれのコピーの barricade-z.config.js で別の storagePrefix を設定すれば分けられます。サブフォルダを分けるだけでは分離されません。
購入をおすすめしたい人
Barricade Z が向いているのは、完成済みのゾンビディフェンスゲームが欲しいポータル、1 社のクライアント向けにブランドゲームを用意するフリーランスやスタジオ、そして TypeScript と Phaser のタワーディフェンスがどうやって設計をデータに収めているかを読みたい開発者です。自社名で公開するだけなら、設定ファイルとロゴで作業の大半が終わります。新しいキャンペーンを作るなら、時間の大半は 3 つのデータファイルと npm run balance に費やすことになるでしょう。
