| 記事内容:[その他]
こちらでははじめまして、ルナールです。
現在、「SRCで戦略SLGを作ろう!」をモットーに、まばらではありますが製作活動を行っております。現在シナリオコーナーに投稿している「War&War!」はその一段階であります。ですが、そのシナリオはまた戦略SLGとしてはレベルが低いと考えているため、当面の目標を「初期のファミコンウォーズや大戦略のような戦略SLGをほぼ再現する」にして、その後に発展させようと考えています。
現在、以下のように↑に上げた戦略SLGの再現法を考えているのですが、「これではこのような問題が起こる」「こういうシステムの方が良い」「このシステムが足りない」「この部分がよくわからない」などの案がございましたら、コメントしていただけると幸いです。
ちなみに、大まかな流れを記述しているため、具体的な手法に触れていない部分もあります。その点はご了承ください。 また前提として、すべての出撃中ユニット及び都市には、配列変数で番号(ID)が振り分けられています。また、資源という概念は存在しません。
■ユニット関係 ●「HP」ではなく「部隊数」にする ・全ユニットのHPを1000に統一し、100を基本単位とする。バトルコンフィングを変更して、HPによってダメージが変化するようにする。具体的には、最終ダメージ値に「(後述する変数で保存した攻撃前HP)/(ユニットの最大HP)」をかける。 ・基本単位が100なのは、CPUの思考で「ダメージが10以下でかつ特殊効果発動確率が1%未満の場合は攻撃が無効と判定」があるため。 ●移動した分ENを消費する ・ターン開始時に全ユニットの初期位置を配列変数で保存し、すべての地形において進入イベントで移動距離を計算、その分ENをマイナスする。 ●搭載能力 ・母艦能力は使わず、搭載能力のあるユニットにユニットコマンド「搭載」を持たせる。隣接するユニットを選び、それが搭載可能でありかつ搭載している数が最大搭載数以下ならば搭載させる。搭載されたユニットは、HP・ENが変数で保存され、搭載しているユニットは、搭載されたユニットのユニットIDを配列変数で保存する。搭載しているならば、そのユニットはユニットコマンド「降車」が可能である。隣接している地点で対応地形ならば、降車可能である。
■戦闘関係 ●同時に攻撃を行う ・各ユニットをSetStatusで「不死身」に設定する。攻撃後イベントで、HPが10のユニットをすべて破壊する。ただし、攻撃イベントで攻撃前の敵・味方のHPを変数に保存する。 ・優先順位の概念は、面倒なので今回は導入しない。
■都市関係 ●占領 ・制圧可能なユニットが制圧可能な地域にいる場合、そのターンそのユニットが移動以外の行動をしていなかった場合(判断方法は詳細未定)、ユニットコマンド「占領」が使用可能。それを使用した場合、その都市の耐久度(配列変数で耐久度を各々設定する)をユニットのHP分減らす。耐久度が0以下になった時、その地域の画像を変更し、占領軍を変更する(これも配列変数で設定する)。 ●収入 ・ターン開始時に各都市の占領軍を参照し、それが自軍である場合には、その分資金を追加する。 ●生産 ・マップコマンド「生産」を設定し、生産を行う都市を選択させる(Wait Clickでクリックするまで待機し、クリックした座標を参照してそこが生産可能な地形ならば、生産へ以降する)。そして、生産するユニットを選択させ、選択兵器を生産するだけの資金があれば、それを生産する。
■CPUの思考 ●CPUの占領 ・占領可能なユニットは、近い都市から順に参照し、それが占領可能な都市ならば、それを目標とする思考に以降する。占領可能な都市に侵入した場合は、行動終了して、行動終了イベントで占領を行う(方法はプレイヤーの物と同じ)。 ●CPUの生産 ・生産が可能な拠点をそれぞれ参照し、あればそこで生産を行う。まず、保有する占領可能なユニットが一定数以下ならば、占領可能なユニットを生産する。でなければ、敵部隊(つまりプレイヤー側)の、各空間(陸・空など)にいる部隊の総数を計算し、それに応じて乱数で「どの空間に対応した兵器を生産するか」を選択する。そして、その対応する兵器の中で生産可能な中で最も高価な兵器を選択し、生産する。 ●CPUの退避行動 ・HPまたはENが一定値以下のユニットがいる場合、そのユニットはユニットが駐留していない最短の自軍の都市を探し、思考を変更してそこを目標として移動する。また、HPとENが一定以上ならば、思考を通常に戻す(これは制圧可能ユニットの目標への移動の思考よりも優先順位が低い)
|