プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
| BLOG TOP |
DATE: CATEGORY:三国志軍記開発
中距離戦の実装01
開発中のメイン画面
中距離戦の移動/攻撃処理が実装された。移動パターンは兵種や陣形によって異なる。また、攻撃力や防御力は距離の影響を受けるので、弓兵中心の部隊は間合いを保つことが望ましい。



今回は中距離戦を実装します。
まずは、弓小隊の移動処理から始めましょう。

◎弓兵の近接攻撃可否

陣形が「バトルスタイル:攻撃型」の場合、近接攻撃小隊の移動目標座標は敵小隊の直前でした。弓兵がこれと同じ動きをすると不自然なので、射程距離によって停止位置が異なるようにします。

・敵が射程外の場合、敵に近付く
・敵が射程内の場合、停止して攻撃する

上記ロジックは騎兵や槍兵と一緒ですが、問題は、弓兵の敵が近すぎた場合の移動先です。

間接攻撃ユニットは近接攻撃不可というゲームもありますが、その場合、敵から離れないと攻撃できないので、敵が追いかけてきた場合、延々と追いかけっこが続きます。

実際の戦場ではよくある話かもしれず、本隊から離れすぎた小隊は離散する(半分は拠点に逃げ帰る)ルールも検討しましたが、これだと弓兵の離散率が高すぎて、ゲームバランスが悪そうです。
(連弩や攻城兵器であれば、このルールもアリですが)

結局、弓兵も近接戦闘可能とし、敵が近くてもその場に踏み留まることにしました。



◎射程距離について

従来は、近接射程と中距離射程をそれぞれ固定値で設定してましたが、それでは弓と弩が差別化できないので、射程距離の扱いを変更します。

A案:近接も中距離も兵種別とする

B案:近接は固定値、中距離は兵種別とする

C案:近接と中距離に分けずに統合し兵種別とする

連弩と攻城兵器を登場させる場合、「近接射程:0」とするのが良さそうですが、それ以外の近接射程は全て固定値なので、さほど意味はない気もします。それならC案として、被害判定時に敵との距離で攻撃/防御/回避力を使い分けた方が良いとの結論に達しました。



◎コーディング

しばらくぶりのプログラミングで、自作コードの解析に時間かかりました。というのも「何でこんなコード書いたんだ?」と不可解に思い、修正しかけてようやく「ああ、そういうことか!」と当時の意図を理解するパターンが多かったからです。

そんな既存コードに中距離戦を追加するので、コーディングレベルで迷うことも多かったのですが、事例を挙げると話が長くなるので省略します。

移動関連を改修して実行すると、おかしな動きをする弓兵がいます。原因を探ると、攻撃関連も併せて改修しないとまずいケースがあったので、攻撃関連も改修します。



◎攻撃関連の仕様

攻撃関連の仕様で特に迷ったのは、「敵A(中距離)を攻撃中に、敵B(近接距離)から攻撃を受けたら、攻撃目標を敵Bに変更すべきか?」です。

敵Aへの攻撃を継続した方が効率良さそうですが、結局敵Bに攻撃目標を変更することにしました。リアルに考えれば、目前の敵を無視して遠くの敵を狙い撃つなんて無理ですし、ゲーム性を考慮すると、敵に接近されたら役に立たない弱点が際立つので差別化になるからです。

これにより弓兵が弱過ぎるようであれば、弓兵の射程やパラメータを増強してゲームバランスを調整します。



◎デバッグ

一通り実装して動かすと、弓兵が敵小隊に向けて移動し、中距離射程で停止して攻撃するようになりました。狙い通りの動きです^^

中距離戦の実装01


ところが、戦闘中に全小隊が一斉にフリーズしたり、瞬間的にモーションが切り替わる現象が発生するようになりました。騎兵や槍兵も影響するので、(小隊ではなく)部隊の処理を疑ったのですが、これは結局弓小隊の処理呼び出し漏れでした。

その後も戦闘中の小隊が突然逆方向を向いたり、敵部隊を無視して素通りするなどバグが続出しましたが、それらのバグを潰してようやく納得できるレベルになりました。



前半は弓兵のみ、後半は騎兵槍兵を含む混合編成です。
兵種や陣形によって動きが異なる点に着目してください。



◎気付いたこと

実装して幾つか気付いたことがあります。

例えば、防御型陣形同士が闘う場合、中距離で弓の撃ち合いがしばらく続きますが、その間騎兵槍兵は耐えるだけで反撃しません。最初は反撃すべきかと思ったのですが、防御型は反撃せずに耐えるのが正しいという結論になりました。

現在は、一方の弓兵が全滅すると接近戦に突入しますが、武将の思考ロジックを実装すれば、早めに接近戦に突入するケースも出てきます。また、矢数や疲労度も実装予定ですので、そうなれば反撃せずに耐えるだけでも意味があります。



◎次回予告

デバッグに時間かかってしまいましたが、ようやく中距離戦が実装できました^^

次回は攻城戦を実装します。

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

| BLOG TOP |
DATE: CATEGORY:三国志軍記開発
弓兵画像の抽出登録02
開発中のメイン画面
弓兵モデルが追加された。中距離戦は未実装のため、現在は槍兵と同じ動きをする。



◎連画の取得

開始フレーム、期間、大きさ、明るさ、解像度等々調節しつつ連画を全方向分取得します。

BowMan01_Attack01_00_015_A

モデルが全体的に暗いのが気になります。シーンファイルも引き継いだのに、XNAViewerと明るさが異なるのは何故?
ひょっとしたら、モデルを縮小するとライトから離れるので暗くなるってこと?

…モデルを10倍拡大したら少しだけ明るくなった気がしますが、気のせいかもしれません(^^;


また、手前向きではモデルが大きく、反対向きでは小さく見えます。一歩前に踏み出してから射撃するので、射撃時の重心は原点からズレますが、カメラは原点を中心に回転するので、モデルの向きによってモデルとカメラの距離が異なるのが原因です。

モデルの初期位置を原点からズラしておき、射撃時の重心が原点付近になるようにする手もありますが、これだと他のモーションから切り替える際に初期位置がズレるので、違和感がありそうです。

よくよく考えると、遠近法的に正しい見え方ですので、気にせず先に進めることにします。



◎1枚にまとめる

連画が準備できたので、槍兵と同じように実装しようとしたら、槍兵の連画は1枚だけでした。そういえば、パフォーマンス改善のため移動/停止/攻撃の連画を1枚にまとめたのをすっかり忘れてました(^^;

複数の連画をまとめるツールがあるので、ツールに合わせて連画を再取得し、1枚にまとめます。



◎エラーの原因と対処

System.Drawing.Bitmapで画像ファイルを読み込む箇所で、よくわからないエラーが発生し、ちょっと悩んでしまいました。

使用されたパラメータが有効ではありません。

これは結局「ファイルが見付からない」ことを意味してました。

XNAのデフォルトはオリジナル画像ファイルを実行フォルダにコピーしないので、画像ファイルの‘出力ディレクトリにコピー’プロパティを「新しい場合はコピーする」に変更して解決しました。



◎登録&再生

今度こそ連画が準備出来たので、プログラムを改修して弓兵アニメを登録再生します。

・弓兵モデルクラス作成
・弓兵リスト作成(シェーダーインスタンス用)
・モデルタイプ追加
・部隊編成の変更(弓兵追加)
・モーション変更処理の改修

改修後に起動すると、アニメは無事再生されました。
しかしホッとしたのも束の間で、しばらくすると固まって動かないモデルが出てきました。

弓兵画像の抽出登録01

これは削除処理の改修漏れで、小隊が全滅しても描画リストに残ってたことが原因でした。



◎動画

前項のバグを修正し、とりあえず動く状態にしました。




中距離戦未実装のため、弓兵は槍兵と同じ動きをします。
そのため、よく見ると不自然な所もありますが、全体の雰囲気としては悪くない…かな?(^^;



◎次回予告

しばらくぶりのプログラミングで少しカンが鈍ってましたが、徐々に回復しつつあります。

というわけで、次回から中距離戦の実装に入ります。

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

| BLOG TOP |
DATE: CATEGORY:三国志軍記開発
漢晋春秋司馬仲達伝三国志しばちゅうさん
漢晋春秋司馬仲達伝三国志 しばちゅうさん
雑誌イブニングにて連載中のギャグ漫画。司馬懿のネガティブなイメージを活用したネガティブギャグやマニアックなネタが多い。



◎5月の目標達成度

・活動時間月100時間以上

実績:77h(達成率:77%)


・弓兵モーション作成(16h)

実績:48h(達成率:100%)


・弓兵画像抽出登録(8h)
・中距離戦の実装(40h)
・攻撃任務改修(8h)

実績:未着手(達成率:0%)


・ブログ更新/HP更新(28h)

実績:19h(達成率:100%)


・その他

実績:6hで三国志12との仕様比較
実績:4hで3Dモデル開発方針調査検討


またしても活動時間2桁です。弓兵モデルは一度完成したのですが、その後が良くなかった(ーー;



◎作業時間分析

作業時間集計2012年5月(PDF形式)

○良かった点
・中盤は活動日が多かった
・弓兵モデルを一度完成させた

○悪かった点
・月間活動時間が目標の8割未満
・終盤サボリがち
・仕様比較は成果が少なかった

中盤はそれなりに頑張ったのですが、久々にアウトプットを作成したことで気が緩み、その後またサボリモードに戻ってしまいました>_<

1日当たりの活動時間が短いのは、歯の治療の影響があります(週一ペースで現在も通院中、治療後数日は違和感が残ることが多い)。
それを加味しても77hは少なすぎですが(爆)



◎最終手段

月間目標を達成できなかったので、最終手段を発動します。

「自分の金を親に預けて、目標達成した場合のみ返してもらう」

ここまでしないとサボリ癖を治せないなんて…我ながら情けない話ですが、自業自得です。

というわけで、親に金を預けてきました。



◎社会問題の論文

子供の教育について記述しました。

教育に関しては言いたいことが沢山あって、なかなかテーマが絞り込めず、何度も書き直しました。
(挑発的な表現が多すぎたので少し控えました^^;)

最終的には、テーマを絞り込んで、話の流れをまとめることが出来たと思います。

子供の教育について

内容はともかく、時間かかりすぎなのが問題です。正確な時間はわかりませんが、30~40hぐらいかかったかも?

…論文の執筆時間も記録した方がいいのかな?



◎進捗状況チェック

最終手段でサボリ癖が治るか様子を見て、7月に年間スケジュールを作る予定です。



◎6月の目標

・活動時間月100時間以上

・三国志12との比較(4h)

・弓兵攻撃モーション修正(10h)

・弓兵画像抽出登録(8h)

・中距離戦の実装(40h)

・攻撃任務改修(10h)

・ブログ更新/HP更新(28h)

今月も半分過ぎてしまいましたが、自分の金を取り戻すために頑張りますw



◎次回予告

次回は弓兵モデルの画像抽出と登録を行います。

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

| BLOG TOP |
DATE: CATEGORY:三国志軍記開発
弓兵攻撃モーション06
開発中の弓兵モデル
弓が大型化され、一度前傾姿勢になってから右向きの姿勢で射撃するようになった。



◎右向きに修正

前々回のコメントで、弓兵の射撃モーションは、体を右へ90度ひねった方が良いとのアドバイスを頂きました。
そこでまず横向き中腰の姿勢に修正しましたが、それだとかなり違和感がありました。

第一に、直立姿勢から横向きへ姿勢を変更する段階のモーションが不自然だったので、最初に左足を踏み出し前傾姿勢にしてから右向きへ移行するようにしました。

弓兵攻撃モーション03

次に、射撃時の姿勢が不自然だったので、右足が前向きだったのを右向きに変更し、下半身は完全に右向きとしました。

弓兵攻撃モーション04

射撃姿勢は確かに以前よりかっこ良くなりましたが、問題は弓矢が小さくて姿勢に合わない点です。

…そうか、これは長弓兵の射撃フォームなんですね。
さて、どうしたものか…?



◎イメージの問題

三国志で弓と言えば呉のイメージですが、呉の弓は小型だったらしいので、イギリスの長弓兵よりも、アフリカ民族の狩りに近い前傾フォームである可能性が高い気がします。

だとすると、前回の方がイメージに近いということかな?
でも、長弓兵の姿勢の方がカッコイイし…。
いや、弓を大きくすると弩と差別化されないような…。
…うーむ(-_-;

ここでしばらく迷って停滞してしまったのですが、弩との差別化は射撃姿勢で図れる(弩は前傾)し、ここは見た目優先で弓を大型化することにします。



◎弓の大型化

スケールが利用できれば弓の大型化なんて簡単なはずですが…弓のメッシュやチェインを拡大し、スケーリングをフリーズすると、大きさが元に戻ってしまいます。

うーん…他にも幾つか試したものの、やはりスケールを使わずに弓を拡大するのは無理っぽいですね。仕方がないので1から作り直しましょう。

ボーンの方は、長さを2倍に変更しても、コンストレイントやアニメは維持されました。今回はアニメも修正したので結局時間かかってしまいましたが、モデルを差し替えるだけなら簡単に出来そうです。

矢は長さを1.5倍にしました。メッシュの修正は簡単ですが、ボーンは中央ではなく根元が基準のため、アニメは全面調整が必要です。

さらに厄介なのが、矢の中継ボーンを左手から延ばしたので、背中や左腕を動かす度に矢の位置がブレること。特に一射目から二射目の間に左腕を何度も動かすので、矢がブレまくって大変でした(ーー;



◎XNA連携

ようやくモーションが完成したものの、XNAで動かすとアニメが崩れました。

弓兵攻撃モーション05   弓兵走行モーション03

何故か手付かずの走行モーションまで崩れてました(T_T)

HPの注意事項を総チェックして確認しましたが、原因はわかりません。まだ何か他にあるのでしょうか?

…ここでまた長々と停滞してしまったのですが、結論から言うと、チェック時の見落としに問題がありました。

第一に、ダミーメッシュの存在を見落として、センター位置が原点でなかったこと。
第二に、弓&矢筒メッシュのセンターの回転値が0でなかったこと。

上記2点を修正すると、XNA連携は正常に戻りました。

但し、弓中央ボーンのスケールアニメキーだけはどうしても2つのアクションで共通化されてしまい、一方に合わせると他方のアニメが崩れるので、アクション毎にファイルを分けて修正しました。
(以前と同様に対処)





◎次回予告

次回は「5月の総括と6月の目標」です。

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

| BLOG TOP |
DATE: CATEGORY:三国志軍記開発
三国志12
三国志12対戦版
三国志12の戦術フェーズのみ抽出したシステム。三国志大戦と似たシステムだが、陣が存在するなど異なる点もある。



今回は、シリーズ最新作「三国志12」と三国志軍記の仕様を比較します。

◎製品体系

三国志12は下記3種類あります。

・三国志12(有料)

・三国志12体験版(無料)

・三国志12対戦版(基本プレイ無料)



◎体験版レビュー

1ターン(一カ月)は、戦略フェーズと戦術フェーズで構成されます。

戦略フェーズ:施設建設システム
戦術フェーズ:リアルタイムストラテジーシステム

体験版は、黄巾シナリオ&何進勢力オンリーという制限があります。自勢力が武将オールスター(曹操孫堅劉備関羽張飛袁紹等)で国力兵力も張角より上で強すぎです。いきなり攻め込んでも勝てるので、僅か二カ月(2ターン)で終了。これでは今作の目玉「秘策開発システム」の効果を実感できません。
せめて張角側も選択可能だったら良かったのですが(^^;

この様子だと、自勢力の基盤が出来た中盤以降は、com相手じゃ全然歯応えないかもしれません。逆に、弱小勢力の序盤は戦略的選択肢が少なくキツイかもしれません。



◎対戦版レビュー

対戦版は、三国志12の戦術フェーズだけ抽出したシステムです。(三国志大戦劣化版w)

武将はカードとして扱われます。初期デッキは武将8枚。公式戦(対人戦)で勝っても負けても1枚もらえます。各武将にはコストがあり、コストの合計値が27以下になるように自軍を編成します。MAX6部隊。通常は4~6部隊ですが、初期兵数も武将によって差があります。

各武将には固有の戦法があり、(時間経過により)ゲージが溜まると発動できます。自陣が多いとゲージが早く溜まるので、4つの陣の奪い合いが戦略要素となります。(遠くの敵は見えないので、敵の進路や攻撃パターンを予測する必要がある)
また、複数の武将カードを合成して強化することも可能です。

三国志大戦は敵城破壊率が勝敗を左右しますが、三国志12対戦版は敵本陣の予備兵を0にして占領するか、時間切れ終了時は総兵数が多い方が勝利となります。



◎総評

三国志大戦は、ゲットした武将カードを直接操作するという画期的なシステムでした。一方、三国志12は、前作から6年も待たせたわりにオリジナリティが少なくてちょっとがっかりしました。

シリーズ初代からの大ファンである私としては、このシリーズが既存のシステムを追従する姿勢はいただけません。常に新しいシステムを提案し続けて欲しいのです。

まぁでも、つまらないかというと、そうでもないので、いろいろ考えさせられました。

自作ゲームのオリジナリティとは何か?
それは本当に面白いのか?
既存ゲームから学ぶべき事は無いのか?

などなど…。



◎比較一覧表

最初は抽象的なことばかり考えていたのですが、それだと話が進まないので、具体的な項目を挙げて比較することにしました。

 仕様比較一覧表

三国志軍記は「戦略性>アクション性」であり、全体的に赤色項目が多くオリジナル要素が高いと言えます。しかし青色項目もあるので、その辺は注意した方が良さそうですね。

シミュレーションゲームの基本である三竦みを外すのは正直不安ですが、上手くまとまれば画期的で面白いゲームになると思います。



◎ルールの見直し

今回最も悩んだのは「武将をカード化すべきか?」ですが、結論は保留します。
(理由を書くと長くなるので省略(^^;)

登場武将や初期配置がシナリオ固定オンリーだと飽きるので、任意配置や自動配置のパターンを追加するつもりです。50部隊の任意配置はメンドクサイという人は、自動配置で回避してください。

武将毎に兵数上限を設けます。また、部隊出撃時の小隊編成や兵数指定は省略し、拠点の兵数に応じて自動的に編成します。特殊兵は補充不可。プレイヤーの煩雑な操作が減ってスピーディになり、特殊兵のありがたみが増し、開発工数も減って一石三鳥w



◎次回予告

具体的に比較すればもっと沢山アイデアが出るかと思ったのですが、期待したほどは出てきませんでした。三国志大戦は初期の頃から知ってるので、三国志12を見ても新しいアイデアは出てこないということか(--;

次回は、弓兵の攻撃モーションを修正します。

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

| BLOG TOP |

copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。