ページ 11

C言語以外にも勉強すべきもの

Posted: 2012年5月26日(土) 14:27
by イマダニ
C言語の基本的なことがわかっていればゲームを作れると書いてあったので
新・C言語や龍神録を参考にしてシューティングゲームを作っているのですが、
どうもこの質問サイトを見ているとWIN32やDirectX、C++の知識を扱った回答が多く、
それらすべてを学習していないとゲームは作れないんじゃないかと思いました。
私はC言語w学び終え、C++をロベールの入門講座で学習中ですが、本当にそれらだけでつくれるのでしょうか?
もしほかにも学習すべきことがあるのならば教えてください。
私の目標はシューティングゲームを作ることです。
よろしくお願いします。

Re: C言語以外にも勉強すべきもの

Posted: 2012年5月26日(土) 14:35
by nullptr
嘘ではない・・・ですが・・・・・
本当ではないかもしれない・・・・


結局アナタの言う「シューティング」がコマンドプロンプトインベーダ程度でいいのか3Dグラフィックスをがんがん使った最新シューティングなのか。それで答えはイエスにもノーにもなるんじゃないでしょうかね。

Re: C言語以外にも勉強すべきもの

Posted: 2012年5月26日(土) 14:46
by イマダニ
2Dのシューティングです

Re: C言語以外にも勉強すべきもの

Posted: 2012年5月26日(土) 14:51
by softya(ソフト屋)
ゲームにとってC++は必須ではありません。極論で言えば知っていれば便利です程度です。サターンやPS1とかの時代はプロもC言語で組んでましたからね。ちなみに言語を学べばゲームを作れると考えているとしたら大きな間違いです。言語とプログラムの構築は別の話で、プログラムの構築のために言語の操る力が必要だけで逆は真ではありません。

それとWin32APIやDirectXの質問もありますが、基本的なDXライブラリを使っている分には関係ありません。まぁ、若干理解しなくてはいけないこともありますが必要に応じてそこの部分だけ学べばよいだけで、それが基礎としてWin32APIやDirectXを学ぶ必要にはなりません。

【補足】
何処の部分が分からずに悩んでいるのでしょうか?
言語を学ぶことも大事ですが、プログラムの構造設計やらアルゴリズムを理解する事、アルゴリズムを構築する事などプログラムを作る力を育てていくことが必要です。
すごく簡単なもの自分で作ってそこからどんどん知識を育てていくのが一番だと思います。いきなり弾幕は難しいですよ。

Re: C言語以外にも勉強すべきもの

Posted: 2012年5月26日(土) 15:08
by イマダニ
>>言語とプログラムの構築は別の話

なるほど、ではそのプログラムの構築どう学べばよいのでしょうか?
ひたすら練習問題を解けばいいのでしょうか?アルゴリズムを学べばいいのでしょうか?
言語を学んだ後、なにを見て、なにを学習すれば、ゲームプログラミングができるようになるのでしょうか?
どうすれば2Dシューティングを作れるようになるのでしょうか?

Re: C言語以外にも勉強すべきもの

Posted: 2012年5月26日(土) 15:25
by softya(ソフト屋)
イマダニ さんが書きました:>>言語とプログラムの構築は別の話

なるほど、ではそのプログラムの構築どう学べばよいのでしょうか?
ひたすら練習問題を解けばいいのでしょうか?アルゴリズムを学べばいいのでしょうか?
言語を学んだ後、なにを見て、なにを学習すれば、ゲームプログラミングができるようになるのでしょうか?
どうすれば2Dシューティングを作れるようになるのでしょうか?
有名で一般的なアルゴリズムは覚えておくと便利ですが、これは構築を楽にしてくれるだけです。
でも知らないより知る必要はありますよ。自分では何時まで経って思いつかないすごいアイデアが詰まっていたりしますからね。

じゃあ、ゲームのプログラムを作る力はどうやって身につけるかというと練習問題を解くだけでは身につきません。
練習問題は受験勉強と同じで特定のパターンを解く力を身に付ける事ができますが、それだけです。
サンプルは、こんな考え方もあるよと教えてくれる見本ですね。
まぁ、使い方もあってサンプルでなぜこの命令や関数がこの場所に必要なのか考えたことはありますか?そして場所や値を変えてみたことは?
ひとつひとつの命令や値などに意味に気づけば見え方も変わってきます。でも、それでも足らないことを学ぶ必要があります。

結論として、地道にすごく簡単なものから思ったものを作る力を身に着けていく事が最善の道です。
自機を表示する、それを動かす、弾を出す、弾を消すってところから一歩一歩です。
※ この時はサンプルに頼らず自力で考えたほうが良いです。サンプルは最初に見て理解したら出来るだけ見ずに頑張りましょう。
リファレンスは何回でも参照してもOK。 http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html


【おまけ】
プログラミング以前に、アルゴリズムを日本語で書きだす力を身につけるにもひとつの手段です。

(例)自機を表示。DXライブラリ周りの基本は省略。
(1) 自機の初期座標はx,yとする。座標はそれぞれ100,150。
(2)自機を読み込む。ファイル名はjiki.png、ハンドル変数名はh_jiki。
(3)自機を表示座標はx,yでハンドルはh_jiki、半透明有り。
(4) (3)を繰り返す。

これに移動処理を書き加えてみてください。

Re: C言語以外にも勉強すべきもの

Posted: 2012年5月26日(土) 15:41
by イマダニ
的確なアドバイス、感謝します。
プログラミングをやってる人が周りにおらず、独学でここまで来たため、途方に暮れていました。
ひとまず手元に「やさしいCアルゴリズム編」があるのでそれでアルゴリズムを学習したいと思います。
それと同時に地道にリファレンスを参考にしながら、なるべく自力で簡単なものを作っていきます。
その時にわからないことがあったらまたここで質問すると思います、その時はまたよろしくお願いします。
本当にありがとうございました!