【概要】 遺伝的アルゴリズムを用いた、進化するシューティングゲーム「お前の最も苦手な敵を用意してやる!」 プレイすればするほど、あなたのプレイスタイルに合わせて、あなたの苦手な弾幕が生成される! 弾幕シューティングゲームの練習や弾幕デザインの参考に最適なソフトウェア。 オートモード、連続評価モード、描画スキップモード搭載で、用途に合わせてストレスなくプレイ出来ます。 【遺伝的アルゴリズムとは】 詳細はWikipedia等をご参照下さい。 このソフトウェアでは、敵機の動きを遺伝情報として設定し、手動又は自動で敵機が生成する弾幕を評価します。 その評価結果を元に敵機の遺伝情報を交叉・継承・突然変異させ、新たな遺伝情報を生成します。 これを繰り返すことで、論理的にあなたの苦手な弾幕を生成することが可能となります。(多分) 【免責】 このソフトウェアを用いた如何なる損害も、製作者は負いかねますので、ご了承下さい。 また必ずしもプレイヤーの苦手な弾幕生成を保証するものではありません。いわばジョークソフトの一つです。 【遊び方】 ○スタート画面 ・データを初期化 初めてプレイする場合は必ず初期化して下さい。ランダムで遺伝情報が生成されます。 「敵が弾を発射する間隔」:そのままの意味 「敵が一度に生成する弾の最大個数」「敵機最大スピード」「敵弾最大スピード」:各遺伝情報において、0〜この値までランダムで設定されます。 ・続きから 初期化した後は、こちらから。 ○ステータス画面 世代:何回遺伝子を掛け合わせたか 評価:自機被弾数×10−敵機被弾数が評価値です。 黒文字は未評価。赤文字が手動評価。青文字が自動評価です。 ・オートモード:チェックで自動で評価します。チェック無しで手動評価 ※オートモードはかなり弱いです。速い弾にバンバン当たります。たまに弾に突っ込んでいきます。 ・連続モード:一度評価を始めると、No.20まで連続で評価します。 ・描画スキップモード:パソコンの負荷軽減?自動モードの際にお使い下さい。 ・オートセーブモード:各個体の評価が終わる度にセーブを行います。 評価したいナンバーを選んで評価ボタンを押すと評価開始。 全ての個体を評価していると、次世代を生成することが出来ます。 交叉方法:一点交叉、二点交叉、一様交叉から選べます。詳細はWikipediaなどで。 使用順位数:上記交叉は一部で行いますが、それを順位の上位何位まで行うか。 生成ボタン:次世代を生成します。 セーブボタン:現在の状態をセーブします。 戻す:前回のセーブまで戻ります。 ○評価画面(シューティング画面) カウント:遺伝情報の進行度合い。1000まで 試行敵機:現在評価しているナンバー 敵機被弾数:敵機が被弾した数 自機被弾数:自機が被弾した数 評価値:自機被弾数×10−敵機被弾数 操作方法 弾は自動で出ます。 移動:カーソルキー シフトキーを同時押しでゆっくり移動できます。 【コツ】 ・第一世代の評価が低すぎる場合は、再度初期化した方がいいかもしれません。 ・評価は自動と手動は織り混ぜない方が良いです。 ・適宜、次世代生成方法を変えると上手くいくかもしれません。 【コアな話】 ある遺伝情報を持った20個の個体の敵を評価して、それを元に次世代を生成します。 遺伝情報は1000カウント分もち、各カウントでの移動、弾速、弾数などの情報を持ちます。 次世代生成においては、上位2位はそのまま継承。2つを突然変異。残り16を交叉により生成するようにしています。 少し試した感じでは、今回の仕組み上、二点交叉が上手くいきそうです。 オートモードは改良の余地がありまくりですが、いつでも同じ評価を出してくれるので重宝します。 【最後に】 私が遺伝的アルゴリズムに興味を持ったのは、インターネットでマリオブラザーズを遺伝的アルゴリズムでクリアする動画を見たのがきっかけです。 遺伝的アルゴリズムとアクションゲームを組み合わせたのなら、 遺伝的アルゴリズムとシューティングゲームを組合せるとどうなるんだろうかという、半ば衝動的に、 そして実験的に作り始めたのが「お前の最も苦手な敵を用意してやる!」です。 遺伝的アルゴリズムとシューティングゲームという組合せは、 調べてみるとどうやらありふれたものらしいですが、このソフトは遺伝的アルゴリズムを理解するのに適した作りに成るようにしたつもりです。 (例えば一点交叉法だけを用いると答えが早く収束してしまうなど。) このソフトウェアを通じて遺伝的アルゴリズムに、私と同じ様に興味を持って頂き、HSPコンテスト等で活用して貰えれば幸いです。