2018年6月12日火曜日

【Unity】RTS Bwars2 ベータ版ver2 公開


ベータ版ver2を公開しました。


・視界システム・戦場の霧を実装
・地形による遮蔽:射線や視界は地形で制限される
・新しいユニットスペック

2018年5月20日日曜日

【Unity】RTS Bwars2 ユニットパラメータの刷新


嫌で仕方がなかったユニットのパラメータの仕組みを刷新した。攻撃力や移動速度などユニットのパラメータはJSONで指定できるが、以前からあまりいい設計と感じていなかったので変える必要があった。今回の変更で例えば攻撃力はターゲットの防御属性の種類の数の分存在することになった。別の例では射程距離と命中率も回避属性分存在(車両とか飛行機とか)する。この変更をしたくなかったのは設定読み込み処理の加えて火器管制AIや対戦AIなど広範囲な修正が必要だったからだ。しかし避け得ないことだった。

また数時間を費やして汎用的で視覚的なデバッガも改良して以前よりゲームの状態を掴めやすくした。上の写真ではAIが適切と考えるユニットの配置場所が立方体の大きさで示されている。

2018年3月21日水曜日

Bwars2 アルファ版2公開


アルファ版2を公開しました。ポータルサイトも開設。

前回からの変更点
・地形の立体化(射線が地形で遮られます)
・ユーザーが地形を追加可能(ポータルサイトのそのほかを参照)

デフォルトでマップは富士山で、関連ファイルを交換することでスコットランドのマップでも遊べます。

ダウンロードはポータルサイトから
ポータルサイトはこちら

2017年12月20日水曜日

Bwars2 α版

Bwars2 α版を公開しました。ダウンロードしてプレイすることが出来ます。



重要:α版でありまだまだ開発途中まっただなかのバージョンです。バグもあり機能も未実装のものがたくさんあります。


ダウンロードや遊び方などはポータルサイトに移動しました。以下の内容は古い場合があります

・Bwars2について
Bwars2はRTS(リアルタイムストラテジー)ゲームです。上空視点から戦場を俯瞰し、戦車などのユニットに指示をだし敵をやっつけるゲームです。

【動作環境】
・Windows (Directx12推奨)
・リファクタリングもしていないので全体的に動作が重いです。5年以内のPCのならなんとか動くでしょう。Macはまだ。ごめんね。





【視点操作方法】
・一般的なFPSに同じくWASDで移動
・マウスホイールで拡大縮小
・マウス中ボタンで角度変更

【ユニット操作方法】
・青が自分、赤が敵(AIが操作)
・ユニットにカーソルをかざすと攻撃範囲を示す円が表示される。
・ユニットシンボルをマウス左クリックでユニットを選択
・マウス左ドラックで範囲選択、複数のユニットを選択


・任意の場所でマウス右クリックすることで選択したユニットにその場所に移動させる
※ユニットは攻撃範囲の敵を自動で攻撃する。攻撃目標の指定はできない。

【セクター】
・戦場はいくつかのセクターに分割されていて、セクターの中央にある円のなかにユニットを移動させると占領できる。



・セクターは味方セクターに隣接していないと占領できない。またユニットが戦闘できるのは味方セクターとそれに隣接するセクターのみ。

【収入とユニット購入】
・一定時間ごとに占領しているセクターからの収入がゲーム画面左上の資金に追加される。
ユニットを購入するにはゲーム画面左上のガテゴリー(infなど)をクリックしユニットの種類をクリックしてそのあと戦場の任意の場所をクリックする(このときshiftキーを押しながら戦場をクリックを繰り返すと資金の許す限りユニットを配置できる)


・購入したユニットは次回収入が入る時に配備される。

【そのほか】
・勝利判定はない。
F12キーでスクリーンショット。画像ファイルはBwars2_ではじまりデスクトップに保存される

【ヒント】
・基本的に森・街でユニットの回避率が上昇
・ゲーム開始時は赤軍のユニットがちょっと多い。でもAIは賢くないのでセクターを順当に占領しユニットを作り続ければ勝てる
・1つセクターにあまりに多くのユニットを配置すると攻撃速度が低下する

【今後の予定】
 * 経路探索
 * 地形の立体化
 * 地形による遮蔽、射線・視界の判定
 * ユニットパラメータの刷新
 * 火器管制システムの改善
 * AIの改善
 * ベータ版
 * 間接・範囲攻撃
 * シナリオイベント

2017年11月23日木曜日

【Unity】RTSゲーム Bwars2 エフェクトやユニット購入やAI


ささやかなエフェクト―砲火や爆発―を追加した。自分同様慎ましいので誰も気づかないかもしれない。
 セクターから収入が得られるようにして、一定時間ごとに資金に加算されて購入したユニットが戦場に現れる。上の写真でも購入用のUIやセクターごとの情報を表示するUIを確認できる。これは試み的な工夫の一つで比較的長い間隔による更新でRTSにありがちな刻々増える資金に常に注意を払いお金が貯まるやいなや購入コマンドを押す操作を軽減する目的がある。初心者にとって戦場で戦闘の指揮を行いつつ随時ユニットを追加する操作は難しい。この仕組なら一定時間内の好きなときに資金を確認し必要ならユニットを購入することができる。購入実装に伴いAIもユニットが購入できるようにした。
 戦力をセクターに分配するアルゴリズムを新しい理屈に基づいて改善した。セクターへの戦力分配は大まかにセクターの重要度と危険度で決定される。重要度はセクターからの収入や生産施設の有無で変化する。危険度はステップ数に基づくセクター間の経路探索を実装したことで敵セクターまでに経由するセクターとステップ数を調べることが可能になったので、例えば敵セクターとの間に味方セクターを挟む場合は危険度を低下させることができるようになった。実はこれまでセクターの重要度などは与えていたが、これでAIが動的にセクターの価値を測定し戦力を決定できるようになった。
 火器管制システムをGame空間に移管させた。話すと長いしつまらないのでこれは省こう。
 ユニットに属性を設定することを考えている。例えば回避率は戦車であれ装甲車であれ地形別の変化量は同じ傾向になると仮定することができる。そこでこれを属性とすることで各ユニットでは基本回避率と属性を指定するだけで手軽に各地形での回避率を設定することができるだろう。

* エフェクトの強化
    * 火器管制システム
    * セクターUI強化
    * セクター兵站制限によるペナルティ
    * ユニットの生産
    * --------------↑やった↑------------------
    * AI改善
        * セクター戦力分配
        * 地形の効果的な利用
    * ユニット駒モデル
    * LOD
    * 操作性の改善
        * UIの改善
            * ユニット選択
            * ユニット購入
    * ゲームスタート・終了機能
    * アルファ版
    * 経路探索
    * 地形の立体化
    * 射線・視界の判定
    * AIの改善
    * ベータ版
    * 間接・範囲攻撃
    * シナリオイベント

マップを大きくしたら木を描画しきれなくなたのでLODを実装する必要がある。
うまくすれば来年の1月にα版を公開できる。

2017年11月6日月曜日

【Unity】RTS Bwars2 くっつくUI


以前からユニット同士が近いとUIが重なってしまっていて気になっていたので直すことにした。UIが重なっているのか判定する必要があるので四分木とモートン順序を利用して空間分割のアルゴリズムを実装して千コ矩形を置いて重なった矩形を赤く染めて(上の写真)ヤッタヤッタと喜んでいたがUIの整列にはもうひと工夫必要だった。結局重なったUIでグループを作って並べるようにした(下の写真)。


 その仕組み上グループに属して再配置されたUIと一匹狼のUIや他のグループUIは重なってしまうがたぶん問題ない(ほんとかな?)。UIも再デザインした。こうして見るとWargameの横長のUIはうまく出来ているなと思う。ユニット名が長くても表示できるし、プレイされることが多い横長モニタと相性がいい。まねっこになるからまねしないけども。AIも改良し以前に比べ大幅に良くなった。引き続きUIの実装に努める。

2017年10月17日火曜日

【Unity】RTS Bwars2 UIの実装の続き


多少UIのデザインを考えたのでUIの実装をしている。その一環で地形上のセクターの境界に線を引くように改良した。またいくつかユニットの種類も増やした。ユニットの追加はユニットを3Dモデルからイメージに変えたので、もともと動的にデータからユニットを生成する仕組みと相まって比較的容易だ。一方でどうしても3Dモデルの臨場に比べると迫力の無さは否めない。ユニットのイメージは描く予定でいま絵を練習している。この後もう少しUIの実装に努めたところで再度AIの改善に戻るだろう。その前にはユニットや地形などもろもろの設定を一度きちんと決めてやる必要がある。その情報を使ってAIがもう少しマシな判断が下せるように助けるようにしよう。