3Dゲームについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
ptolemy
記事: 258
登録日時: 11年前

3Dゲームについて

#1

投稿記事 by ptolemy » 11年前

これからDXライブラリを卒業して、DirectXに移りたいとおもいます。
そして3Dゲームを作りたいです。
内容は、
プレイヤーが銃を持ち簡単なフィールドを歩いて敵を倒す。
というゲームが作りたいです。
そこで質問があります。

DirectX初心者、3D初心者では、FPSは、難し過ぎですか?難しいならどういう部分が壁になりますか?
また、作るとしたらどのくらいの期間がかかりますか?

とてもわかりずらい質問ですが、自分でも作れるのかが心配です。

ご回答お願いします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 3Dゲームについて

#2

投稿記事 by softya(ソフト屋) » 11年前

3D空間に関する数学的な知識などが壁ですかね。
あとDXライブラリでも3DのFPSは作れますが、DirectXを選んだ決定的な要因は何でしょうか? リサーチ不足な感じがします。
なんにしてもDirectXの場合はモデルを表示してアニメーションさせるまでの道のりがすごく長いと思います。

【補足】
DirectXが初めてで、3Dゲームも初めてだと2重に初めてが重なるので難易度が飛躍的にアップすると私は思うわけです。

>また、作るとしたらどのくらいの期間がかかりますか?
作る規模にもよりますが軽く3から4年でしょうか。今までの経験にもよりますが。

【追記】
プロフィールを見たら中学生のようですね。
だとしたら、高校の数学で習うベクトルや行列をある程度勉強してもらわないと行けない事になるかと思います。
サイトも有るのでやる気があれば中学生でも可能だと思います。
※ 行列に関しては、ちゃんと勉強しなくても使い方を覚えれば良いと言う考え方もありますが、今までの質問した方を見ていると3D空間の数学的イメージが出来なくて迷い道に落ち込む例をよく見かけます。なので、空間=数学的イメージを持てる程度には勉強したほうが良いかもです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ジルコニア

Re: 3Dゲームについて

#3

投稿記事 by ジルコニア » 11年前

FPS系はsouceengineやcryengineを使うのがいいと思います
市販されてるゲームのオブジェクトの配置を変えて遊ぶこともできるので
うまくやれば1からオブジェクトやマップを作ることがなく楽にfpsが作れます

アバター
ptolemy
記事: 258
登録日時: 11年前

Re: 3Dゲームについて

#4

投稿記事 by ptolemy » 11年前

softya(ソフト屋)さん

DirectXを選らんだ理由は、グラフィックボードのサポートに"DirectX11サポート"のように記載されているので、DXライブラリより性能がいいのかと思ったので選びました。

DXライブラリでも作れるならDXライブラリで作りたいです。
また、DXライブラリとDirectXでは、どちらもクロスファイアくらい作れますか?
DirectXとDXライブラリの出来ることと出来ないことは、何ですか?
お願いします。

ジルコニアさん
souceengine等は、聞いたことがないので、調べてみます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 3Dゲームについて

#5

投稿記事 by softya(ソフト屋) » 11年前

クロスファイアのレベルだと3Dモデリングやモーションをどうするかのほうが見た目の問題として考えないといけませんね。
フリー素材にも限度がありますから、自分で絵を書いたりモデルを作ったりモーションをつけたりしないといけませんよね。
クロスファイアはプロの仕事なので、アマチュアがやるとどうしても見劣ります。
一体のモデリングに掛ける時間も半端無くプロでも何ヶ月もかかっているものも有るでしょう。
DXライブラリでもDirectXでもゲームエンジンでも、これは変わらないです。
素人がやるとどうなるか? 素人がアニメ動画を作るようなものなので見劣りします。 歩かせるのさえすごく苦労するでしょう。
MMDの動画とかを見て頂くとうまい人と下手な人のレベル差がすごくあるのに気づかれると思います。
モデリングのうまい人、モーションのうまい人は、それに何ヶ月も何年も情熱を燃やしているわけで、ちょっとやって見ようでは太刀打ち出来ないわけです。
これも何年もかかる課題となると思います。

>DirectXを選らんだ理由は、グラフィックボードのサポートに"DirectX11サポート"のように記載されているので、DXライブラリより性能がいいのかと思ったので選びました。

性能は良いです。ただ、それを使いこなせるのに何年かかるかってのは別の話です。
例えば素人が高級マウンテンバイクを手に入れて、大会優勝レベルの人と同じことが出来ないのと同じです。
性能の差が直接、使う人のスペックアップに繋がらないんです。

>DXライブラリでも作れるならDXライブラリで作りたいです。
>また、DXライブラリとDirectXでは、どちらもクロスファイアくらい作れますか?
>DirectXとDXライブラリの出来ることと出来ないことは、何ですか?
>お願いします。

もしDirectXで作れなかったらPS3やPS4でも出来ないです。深いレベルをやるならDirectXの方が良いですがプロレベルの技術が必要になります。
つまり、素人だと使いこなせいない恐れが高いです。
クロスファイアの画像レベルだとDXライブラリで十分だと私は思います。
DXライブラリを使いこなすのも奥深いですよ。

ちなみに、DXライブラリは内部でDirectX9を使っています。

【補足】
souceengine、cryengineはゲームエンジンです。
あと日本で有名なのだとUnity3Dとかありますね。
その他unreal engineとか。
これもモデリングとか素材を借りてきて、モーションも借りてきて、ロジック部分のスクリプトも組み合わせて作るという手法があります。その場合ははるかに手軽になるとは思います。
ただ、深い部分まで使いこなせないと不満は残る可能性がありますね。
※ どこかで見たようなゲームになるでしょう。みんなも同じ様な事をしているから。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 11年前

Re: 3Dゲームについて

#6

投稿記事 by ptolemy » 11年前

ありがとうございます。

DXライブラリもDirectXを使っていたんですね。

クロスファイア風のFPSを作るとしてC++やWindowsAPIなどは、必須ですよね?

また、オンラインとなるとどのくらい難易度があがりますか?


また、絵の手書きが上手くかけないんですが、描くコツなどはありますか?
ちなみにマウスで描いています。

さきほどから質問が多いですが、お願いします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 3Dゲームについて

#7

投稿記事 by softya(ソフト屋) » 11年前

>ありがとうございます。
>DXライブラリもDirectXを使っていたんですね。

なのでD(irect)X ライブラリ なんですよ。

>クロスファイア風のFPSを作るとしてC++やWindowsAPIなどは、必須ですよね?

DirectX11のサンプルの大半がC++ですからね。読むためには必要です。
WindowsAPIは基本的なことが分かればOKです。
メッセージとか、ウィンドウの生成とか。
ちなみにC++の言語の理解だけで何年もかかる人が多いです。

PS4とかXBoxOneとかがDirectX11世代ですが、あんなハイレベルを望まないならDirectX9でも事足ります。
DirectX9,10,11の高度な機能になるとプロレベルでも一部のエンジン開発者が理解しているだけで、全部のゲームプログラマーが理解しているわけではありません。
大学院出の博士号のあるような人間がアメリカではゲームエンジンを作っています。
3Dに関する英語論文とか読めないと最先端について行けない世界ですから。

こんなレベルの内容がDirectX10,11を使いこなすときに必要な知識なのです。
「3Dゲームファンのためのグラフィックス講座 記事リンク集 - GAME Watch - GAME Watch」
http://game.watch.impress.co.jp/docs/series/3dcg/

>また、オンラインとなるとどのくらい難易度があがりますか?

何倍もでしょうか。
プロでも全ての人がちゃんと出来るわけではないですよ。オンライン。
色々とノウハウが必要なので私も概要レベルの理解です。
やらないと分からないですが、ちゃんと動かすのは難しい技術です。

あと敵のAIとかも奥深いですね。

>また、絵の手書きが上手くかけないんですが、描くコツなどはありますか?
>ちなみにマウスで描いています。

残念ながら私も下手です。
ちなみに3Dモデリングがうまい人は、粘土で造形させてもうまいです。
たぶん、同じ才能が必要なのでしょう。
あと絵は、フォトショップで書いてもうまい人は、紙で書いてもうまいです。
絵はある程度までは反復練習の努力でカバーできます。
ただ、イメージ力の問題が有るので越えられない壁は高いです。

※ マウスが良いか、タブレットが良いかはその人次第です。どちらもダメで紙に書いてスキャナで取り込むんで色を塗る人もいます。

プロ業界でゲームプログラマーとグラフィックデザイナがー(絵を書いたりモデリングしたり)分かれているのは両方の才能が優れている人がほぼいないからです。

【補足】
ちなみに全部自分でやろうとした場合の時間を考えてみましょう。
全部できる様になるとしても、それなりに時間が掛かる前提(妥当な線)で予想します。

1.モデリングとモーション
2.C++
3.DirectX11
4.ゲームプログラミング
5.オンライン(サーバー処理を含む)

4年制の専門学校でも、ここまでは教えてくれないです。
それにCGとプログラマーは科がわかれています。
つまり、4年x2で基礎だけで8年ぐらいかかっても仕方ないと言うことです。
高校や大学の余暇にやるとするとさらに時間が少ないので、もっと掛かることになります。
だとすると10年ぐらいは余裕でかかると考えたほうが良いかもしれません。
13歳だとして23歳です。既に社会人かもしれないと言うことですよね。
それぐらい大きな話だと理解してもらいたかったので計算してみました。

ちなみに規模の話をするとFF6位を一人で作りたいという話題を別の掲示板で見ましたが開発者人数からすれば一人で同じ技量があっても100年掛けても作れるかどうかわからないって事になります。
それだけの作業量があるわけです。
ここらへんは何時完成するとも知れないものを作るのは不可能と言って良いので、ある程度計算する必要があるわけです。

勉強の時間+開発にかかる時間 これを考えないと不幸になるというお話でした。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 11年前

Re: 3Dゲームについて

#8

投稿記事 by ptolemy » 11年前

DXライブラリの名前の由来もそこから来てたんですか。

C++の基本は、
http://next1.msi.sk.shibaura-it.ac.jp/M ... /intro.htm
でOKですか?

オンラインは、そこまで難しかったんですね。

描画もなんとかがんばってみます。
でも僕は、手書きも下手です。



winAPIも
http://wisdom.sakura.ne.jp/system/winap ... index.html
で勉強してみます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 3Dゲームについて

#9

投稿記事 by softya(ソフト屋) » 11年前

No: 7の最後に追記しましたが読んでいただけますか。
時間は有限なので自分にできないことは他の人に頼るということも時には必要です。
それがフリー素材でも、友達でも、ゲーム開発サークルの仲間でもかまいません。

>C++の基本は、
>http://next1.msi.sk.shibaura-it.ac.jp/M ... /intro.htm
>でOKですか?

これは中途半端のような。軽く内容を紹介しているだけって気がします。このぐらいです。
「ロベールのC++教室」
http://www7b.biglobe.ne.jp/~robe/cpphtml/

>winAPIも
>http://wisdom.sakura.ne.jp/system/winap ... index.html

逆にWin32APIは、これ全部やる必要ないです。
22ぐらいまでと、後必要に応じてぐらいで十分です。

聞かれそうなので書いておきますが、DirectX11だとここが有名です。
「ノースブレインの書籍 ゲーム制作の本」
http://www.northbrain.org/book/book.htm
たぶん、DirectX9必携以外は全部必要になる可能性が高いかと思います。
最初は「ゲームプログラミング入門」 GAME PROGRAMMING PRIMERからですよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 11年前

Re: 3Dゲームについて

#10

投稿記事 by ptolemy » 11年前

DXライブラリを使うに当たってDirectX11も勉強した方がいいんですか?

素材は、フリーに頼ることにします。

まずは、オンラインを作らずにシングルプレイがまともにできるレベルまで作りたいです。

オンラインを作らず、フリーに頼ったら2年くらいで作れますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 3Dゲームについて

#11

投稿記事 by softya(ソフト屋) » 11年前

> DXライブラリを使うに当たってDirectX11も勉強した方がいいんですか?

いらないです。その時間はDXライブラリや3Dの習得に当てて下さい。

>素材は、フリーに頼ることにします。
>まずは、オンラインを作らずにシングルプレイがまともにできるレベルまで作りたいです。
>オンラインを作らず、フリーに頼ったら2年くらいで作れますか?

マップ数を1つ2つでも2年だと、かなり優秀です。
C言語でDXライブラリと言う条件下でも、5年かかっても不思議ではありませんし挫折する可能性のほうが高いでしょう。
プロのやっていることを真似るということは、それだけの勉強と経験を必要とするということです。

時間を節約するなら、Unity3Dなどのゲームエンジンに頼り、配布されているモデル・モーション・マップ・スクリプトの組み合わせだけで作れるようなものにゲーム仕様を合わせる方が現実的です。
何処を大事にしたいか?って事ですね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ジルコニア

Re: 3Dゲームについて

#12

投稿記事 by ジルコニア » 11年前

soft屋さんの言うとおりゲーム作りは楽に作るというのが大前提ですね
ゲーム作りは作業量がハンパなく多いから1から作るとなると
結局は挫折して諦めるってはめになりますからね
どんな手段を使ってでも楽に作る方法を見つけなければなりません。
それは自分で考えたり調べて下さい。
プログラミングから作るのはあまりオススメできません。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 3Dゲームについて

#13

投稿記事 by softya(ソフト屋) » 11年前

ちなみに、ジルコニアさんのスタンスはゲーム作ることが楽しい事で、プログラミングは楽しくないと思われてますか?
私はプログラミングも楽しいです。これはスタンスの違いです。

なので、私はCやC++で長い時間を掛けてプログラミングすることも否定しません。プログラミングは楽しいですから。
選ぶのは、やる人であるべきでこちらはできるだけ情報を渡してあげることです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 11年前

Re: 3Dゲームについて

#14

投稿記事 by ptolemy » 11年前

僕は、プログラミングをする方が楽しいです。

分からなかったものが分かったときも楽しいですし、一から作るということも楽しいです。

とにかくC++とDXライブラリの3D、WINAPIを一通り勉強してからまた、ここに来たいと思います。

まず、勉強したとしても何から手をつけたらいいかわからないので..
また、いきなりプログラミングの話になりますが、
僕は、C言語のポインタが苦手です。
簡単にお教えしてもらえませんか?

また、3Dのイメージは、
2DのX,Y座標にさらに奥行きを付け加えたと いう理解でよろしいですか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 3Dゲームについて

#15

投稿記事 by softya(ソフト屋) » 11年前

>とにかくC++とDXライブラリの3D、WINAPIを一通り勉強してからまた、ここに来たいと思います。

DXライブラリをやる分には、C言語がわかっていれば十分です。
DirectXはC++とWindowsAPIの基礎が必要ですけどね。
あと、C++とWindowsAPIの質問も、ここでOKですよ。
ちゃんと勉強するなら疑問が出ないはずがないでから。

>まず、勉強したとしても何から手をつけたらいいかわからないので..
>また、いきなりプログラミングの話になりますが、
>僕は、C言語のポインタが苦手です。
>簡単にお教えしてもらえませんか?

何処で躓いているか、例を上げて別トピックで質問していただいたほうが良いかと思います。

>また、3Dのイメージは、
>2DのX,Y座標にさらに奥行きを付け加えたと いう理解でよろしいですか?

空間座標としては、そのとおりです。
難しいのは任意軸周りの回転とか、相手の方を向くとか、向いている方向に弾を発射、弾が壁に当たったか判定、ポリゴン面に乗っかっているか判定するなどが色々と難しいです。
※ それ以上に難しいことはもっとありますけどね。
3Dだけでなく、2Dでも同じことすれば難しいですよ。
ただ、2Dは簡単に済ませる事ができる場合が多いですが、3Dだとちゃんとやらないと表示で手抜きがバレやすいです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 11年前

Re: 3Dゲームについて

#16

投稿記事 by ptolemy » 11年前

ということは、まだDXライブラリとC言語の知識しかないですが、3Dゲームの作成は、可能ということでしょうか?

分かりました。ポインタについては、別のトピックスで質問したいと思います。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: 3Dゲームについて

#17

投稿記事 by softya(ソフト屋) » 11年前

ptolemy さんが書きました:ということは、まだDXライブラリとC言語の知識しかないですが、3Dゲームの作成は、可能ということでしょうか?

分かりました。ポインタについては、別のトピックスで質問したいと思います。
問題無いですよ。
C言語で3Dゲームにチャレンジされている人も何人かいます。
どちらかと言うと言語よりも、プログラムの構成を考えたりゲーム作る知識の勉強のほうが何十倍も時間がかかります。
言語なんて言ってしまえばゲーム・プログラミングの知識の一部でしかありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 11年前

Re: 3Dゲームについて

#18

投稿記事 by ptolemy » 11年前

一応、WinAPIも勉強しておきます。

DXライブラリとゲームの考え方についても勉強します。

ご回答ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る