2015年の夏のコミケでは「Army Defense 3」という同人ゲームを頒布します。内容は、ステージ攻略型、自由配置形式のタワーディフェンス系ゲームです。
頒布用ソフトは7/31に完成しました。
体験版を2015-08-04に公開しました。Webブラウザでも遊べますし、ダウンロードしてPCソフトとしても遊べます。バグなどあれば、お知らせ下さい。
HTML5製のタワーディフェンス系ゲームです。
Windowsでは、ローカル アプリケーションとして遊べます(node-webkitを利用)。その他の環境でも、HTML5対応のWebブラウザがあれば遊べます。
内容は自由配置型のタワーディフェンス系ゲームです。地形によって、敵の移動速度が変わるので、上手くユニットを配置する必要があります。不死系の敵には僧侶など、自軍敵軍ユニットの相性もあります。
また、ステージをクリアすることで、ユニットが追加されたり、攻略に役立つ宝物がゲットできます。
さらに、ランダムでステージを生成する「とことん モード」もあり、末永く遊べます。
去年の「Army Defense 2」をパワーアップした内容になっています。
毎年、新要素を実装して頒布しています。今回の新要素は、以下の通りです。
マップに1体しか配置できないユニットを追加。ユニーク・ユニットには、星マークが付きます。
主人公のシェル・ピンクと、先生のフロスティ・グレイを配置可能になりました。強いです。
射程範囲内に敵が入ると、動きを鈍くさせる機能です。敵を足止めして、攻撃をたくさん浴びせましょう。
新クラスの呪術師系ユニットが使用可能です。
ウェーブ内に攻撃可能な回数を制限されたユニットを作る機能です。具体的に言うと、砲兵系クラスを作るための機能です。
大ダメージだけど、弾数制限があり、次の敵ウェーブがくるまでリロードされません。
地上系、水中系、空中系、不死系、それぞれ1体ずつ敵の種類が増えました。25%の増量です。
タロース(地上系) マーメイド(水中系) ファルコン(空中系) デス(不死系)ユニットの種類が増えたことを受けて、25ステージだった前作からステージ数が増え、35ステージになりました。
デバッグをしながら、色々とデータをいじったり、プログラムを改良したりしました。UI周りも、若干向上しています。見えない部分が中心ですが(汗
当サークル「るてんのお部屋」では、最新の同人ソフトに、同じシリーズの過去の作品を全て収録して頒布しています。値段は毎回1000円です。
これは、新たにご購入いただく方が、過去のシリーズを入手しやすくするための処置です。通常ですと、過去作品が5つあると、新規1+過去5作品で、合計6作品分の金額が掛かります。数が増えれば、けっこうな額になるので、新規購入者の負担はかなり大きいです。
また、過去作品の在庫を持つと、私の部屋が狭くなります。それに、過去作品を全てコミケに持っていくのは重くて大変です。展示スペースもないです。
そのためここ数年、最新のゲームと過去のゲームを収録して頒布する方式を取っています。
というわけで、以下、今回のコミケ用に収録予定のアプリ一覧です。
古いものは、環境依存などで動かない場合は申し訳ございません。なにせ、5年ぐらい前のものなので(汗
HTML5で開発しています。既存のゲームエンジンを使わずに、ゲームエンジンの自作から行っています。
コード自体は、Web版、PC版(node-webkit)、Android版(WebView)で確認を取りながら開発しています。それぞれの環境で、ファイルダイアログの表示や、IO処理など、コードの分岐が自動で行われます(ネイティブ側の処理も用意しています)。
前作の「Army & Maiden」シリーズは、Android、PC、Appletコンパチブルで動くJavaのゲームエンジンを作って、ゲームを実装していました。今回はHTML5で作って、複数の環境で動くようにしています。
キャラクターやマップセット、タイトル、ジャケットの画像は、すべてInkscapeで描いています。InkscapeのファイルはSVGなので、node.jsで読み、レイヤーの組み合わせを内部処理して、ユニットやマップのチップセットを、自動で生成させています。
ステージ選択画面の背景(このWebページの背景画像にも使用)は、拙作の「ワールド マップ自動生成」で出力した画像を加工して使っています。
禁止文字つきコードゴルフを1年以上出題していたので、その解答ノウハウをまとめた同人誌を作りました。
「+や%の演算子が使えない」「if文が使えない」「Mathが使えない」「数字や文字列が使えない」。そんな過酷な環境でのベストプラクティス。
内容例。「四則演算を使わずに足し算を行う」「剰余の演算子を使わずに剰余を求める」「Mathや演算子を使わずn乗を求める」「文字列を使わずに文字列を生成する」「数字を使わずに数値を生成する」他多数。