トップページgamedev
62コメント24KB

3Dアクションゲームの設計

■ このスレッドは過去ログ倉庫に格納されています
0001104/08/19 06:47ID:/FRosK6W
当方は3Dアクションゲームを作っていますが、
ゲーム制作経験もまだ浅く、3Dのゲーム制作が始めての為なかなか良い設計が思い浮かびません。
そこで皆さんのお知恵を借りつつ、
これから3Dアクションゲームをつくる人の参考になったらな〜、なんて考えてます。
皆さんよろしくお願いします。

■使用言語
C++

■プラットフォーム
DirectX9.0
Microsoft Visual Studio.NET
0002104/08/19 07:01ID:/FRosK6W
まず一番最初に困ったのがキャラクターです。
前に一度2Dのアクションゲームをつくった時は
移動→攻撃
などの状態の切り替えを関数ポインタを使い切り替えていたのですが、
ソースが膨大になり最終的にかなり見づらいソースになってしまいました。

その為今回はstateパターンを適用しようと考えています。
皆さんはどのような設計にしているのでしょうか?
0003104/08/19 07:04ID:/FRosK6W
参考までにキャラクターのインターフェイスです。

----------------------------------------
clsss キャラクター

メソッド:
void 初期化( ゲームクラス );
void 実行();
void 攻撃( キャラクター ); // 当たり判定を行った後、攻撃が成功した場合は相手のOnAttackメソッドを呼び出します。
void 描画();

----------------------------------------
0004104/08/19 08:10ID:/FRosK6W
■補足
このスレはきっかけは俺の質問だけど設計について話し合うスレです。
なんで自由に討論しちゃってかまいません。

他にも設計スレはあったけどRPGとかが中心になってるんで立てますた。
0005名前は開発中のものです。04/08/19 08:31ID:HDSOVUnn
void ゲームオーバ();
void 終了();
0006名前は開発中のものです。04/08/19 11:27ID:DiZ9VDt0
クラスがどーだ、関数ポインタがどーだとか
そんな瑣末なことはどうでもいい。
俺の為に3Dゲーム用のスクリプト言語の仕様を策定してにょ。
俺スクリプトなんて触ったことないんでどういう風にしていいかわかんねのよね。
0007名前は開発中のものです。04/08/20 00:04ID:IIpb1eyW
間合いを考慮してプログラムを組むといいと思うよ。
これまであんまり間合いを考慮したプログラムはなかった。
技が決まる時の距離を計算して それをダメージに繁栄させれば
いいと思う。
俺もそういうプログラムを組もうとしているところ。
アクション系RPGだけど 君がやったほうが面白いことになると思う。

0008名前は開発中のものです。04/08/20 00:12ID:IIpb1eyW
普通 技が決まるときにベストの距離というのがある。
その基準値を元にゲームに反映していくとより
よりリアルなゲームになっていくと思う。
力もいつも同じではなくて スタミナ値により
減少が早い人 遅い人を決めていくと面白くなるはず。
どうもこれまでのプログラマーは
そういう格闘技には興味がないのと3D化に忙しかったと言う側面があったので
傍目から見るとそれはないだろうというプログラムを
組んでいたように思える。
 



0009104/08/21 14:58ID:tEHqIcjJ
>>6
俺もスクリプトやった事ね orz

>>7
間合いって言うのは俺も考えてる、リアル思考でもないんではちょっと切り口が違うけど
『蝶のように舞い、蜂の様に挿す』スタイルがゲームで出来たら面白そうだとか思った。
0010名前は開発中のものです。04/08/22 08:31ID:34iArWBv
一応 こっちもリアルタイムのアクションRPGでプログラム組んでいるところ。
でもかなり初期の部分かな?
ところでCG部分やCGの動き(アニメ)部分はどうしているの?
Xファイルを自分で作ったりしているの?
また人に頼むとかしているの?
自分でも一応作れるけど しょぼい3Dしか作れないのが悩み。
またそれにあまり時間をかけたくはないしね。

0011104/08/23 03:57ID:mdjmxZ9J
絵とか3Dはほとんど一緒に組んでるグラフィッカーさんに任せちゃってるかな。
3Dの方はXファイルを使わずXSIフォーマットっていう
頭悪いフォーマットを解析して表示してるよ。
■ このスレッドは過去ログ倉庫に格納されています