はじめまして、私は大学でCとC++を一年間学んできました
分からないところや躓いた所は、別途本を買って復習をしたりして何とか分かる程度までは勉強してきました
そろそろゲームプログラミングができないかと思いこのサイトを参考にさせてもらっています
一応目標は横シューが作りたいなとは思っています
勉強の仕方としましては、ゲームプログラミングの館で上半分を見てアルゴリズムを考えCに書き
実際に動くかチェックして詰まれば下のソースを見るという形で勉強しているのですが
まだまだ自分自身の脳みそが硬い為か中々きちんと動くプログラムができません
私自身はアルゴリズム等を考えたりするのが苦手で、Cもまだまだおぼつかないところがありますので
やはりゲームプログラミングをするよりはCやC++の復習をした方がいいのでしょうか?
一応自作関数の作り方(たまに引数が分からなくなる)や、多重配列の使い方、ポインタの基本、構造体
あたりは使えるように抑えてありますが、それをいっぺんに使うと頭がパンクしてしまったりしますw
初めてのゲームプログラミング
Re:初めてのゲームプログラミング
ゲームプログラミングしながら躓いたら、C/C++の参考書籍を読んで、理解を深めるでいいんじゃないでしょうか?
C/C++をマスターしたら、ゲームプログラミングをするっていう流れ出なくても、同時並行で学んでいけばいいと思います。
ゲームプログラミングの中で、具体的にアルゴリズムを組んだり、ここのサイトのアルゴリズムを理解することで、C/C++の理解がさらに深まったり、C/C++の書籍で学んだことの具体的な使い道を覚えていくと思います。
ポインタや構造体などいっぺんに使って頭がパンクするってことは、まだまだ使い慣れていない証拠だと思います。なので、ここのサイトのゲームプログラミングの中で、ソースを一つ一つ読み解いていく訓練をしていけばいいと思います。
ちなみにここのサイトはC++言語のクラスやオブジェクトを扱ったプログラムはしておらず、C言語のみによるゲームプログラミングを解説してくれています。
C/C++をマスターしたら、ゲームプログラミングをするっていう流れ出なくても、同時並行で学んでいけばいいと思います。
ゲームプログラミングの中で、具体的にアルゴリズムを組んだり、ここのサイトのアルゴリズムを理解することで、C/C++の理解がさらに深まったり、C/C++の書籍で学んだことの具体的な使い道を覚えていくと思います。
ポインタや構造体などいっぺんに使って頭がパンクするってことは、まだまだ使い慣れていない証拠だと思います。なので、ここのサイトのゲームプログラミングの中で、ソースを一つ一つ読み解いていく訓練をしていけばいいと思います。
ちなみにここのサイトはC++言語のクラスやオブジェクトを扱ったプログラムはしておらず、C言語のみによるゲームプログラミングを解説してくれています。
Re:初めてのゲームプログラミング
同意です。
分からないところがでたら、調べる。それで十分だと思います。
特にDXライブラリを使ってシューティングを作るなら三角関数の基本さえわかっていればできちゃいます。
つまり、かちかちになって勉強してから実践するべきだなんて考えなくて良いとおもいます。
中には小学生からや中学生からシューティングゲームを作るなんて人もよくみかけます。
そりゃ、効率は言語を把握している人より劣りますが、行き詰ればそのつど調べるか聞けばいいので、そのせいで完成できないなんてことはないとおもいます。
分からないところがでたら、調べる。それで十分だと思います。
特にDXライブラリを使ってシューティングを作るなら三角関数の基本さえわかっていればできちゃいます。
つまり、かちかちになって勉強してから実践するべきだなんて考えなくて良いとおもいます。
中には小学生からや中学生からシューティングゲームを作るなんて人もよくみかけます。
そりゃ、効率は言語を把握している人より劣りますが、行き詰ればそのつど調べるか聞けばいいので、そのせいで完成できないなんてことはないとおもいます。
Re:初めてのゲームプログラミング
どうもありがとうございます。
皆さんの言葉を励みに頑張りたいと思います。
ただ私はアルゴリズムの考え方が非常に下手で、例えば
DrawGraph( a, b , haikei , FALSE );//背景を表示
a=a-2;if(a<-640)a=0;//背景のスクロール
DrawGraph( c, d , haikei2 , TRUE );//背景2の表示
c=c-2;if(c<0)c=640;//背景2のスクロール
繰り返しで自動スクロール画面を作ってみましたが
龍神録さんのサンプルプログラムと全然違うので、もしかしたら
自分のスクロールプログラムは後々問題になるのではないかなどと考えてしまいます。
最初の頃はあまりそういうのに気にしない方がいいんでしょうか?
皆さんの言葉を励みに頑張りたいと思います。
ただ私はアルゴリズムの考え方が非常に下手で、例えば
DrawGraph( a, b , haikei , FALSE );//背景を表示
a=a-2;if(a<-640)a=0;//背景のスクロール
DrawGraph( c, d , haikei2 , TRUE );//背景2の表示
c=c-2;if(c<0)c=640;//背景2のスクロール
繰り返しで自動スクロール画面を作ってみましたが
龍神録さんのサンプルプログラムと全然違うので、もしかしたら
自分のスクロールプログラムは後々問題になるのではないかなどと考えてしまいます。
最初の頃はあまりそういうのに気にしない方がいいんでしょうか?
Re:初めてのゲームプログラミング
最初に質問に答えると、気にしなくて良いです。
まずひとつ、プログラミングは十人十色だと私は思います。
同じ処理をするのにもいくつもの方法があり、正しい答えというのはあまりないとおもいます。
(しいて言えば処理時間がはやいのがベストぐらいですかね。)
だから、他人とプログラムが違っても自分が意図したとおりに動けば、それでいいとおもいます。
それからもうひとつの点を一言で言えば、あなたがどのような事をしたいのか明確に記されていないので、
コードがあっている間違っているとは答えられません。
あなたが、その結果に満足しているのならば、それでOKじゃないでしょうか?
ただ、見せていただいた擬似プログラムは、目的を勝手に想像すれば、いろいろ指摘できる可能性があります。
(チップ化しろだとか、大きい背景はできるだけ避けろだとか。)
結論
机上の空論では困る。
どう改良したいのか自分で完成図を固めてから相談するといいとおもう。
すすめているうちに今のままでは何ができなくて、何をしたいのかが見えてくると思います。
まずひとつ、プログラミングは十人十色だと私は思います。
同じ処理をするのにもいくつもの方法があり、正しい答えというのはあまりないとおもいます。
(しいて言えば処理時間がはやいのがベストぐらいですかね。)
だから、他人とプログラムが違っても自分が意図したとおりに動けば、それでいいとおもいます。
それからもうひとつの点を一言で言えば、あなたがどのような事をしたいのか明確に記されていないので、
コードがあっている間違っているとは答えられません。
あなたが、その結果に満足しているのならば、それでOKじゃないでしょうか?
ただ、見せていただいた擬似プログラムは、目的を勝手に想像すれば、いろいろ指摘できる可能性があります。
(チップ化しろだとか、大きい背景はできるだけ避けろだとか。)
結論
机上の空論では困る。
どう改良したいのか自分で完成図を固めてから相談するといいとおもう。
すすめているうちに今のままでは何ができなくて、何をしたいのかが見えてくると思います。
Re:初めてのゲームプログラミング
>自分のスクロールプログラムは後々問題になるのではないかなどと考えてしまいます。
>最初の頃はあまりそういうのに気にしない方がいいんでしょうか?
とりあえず、やるだけやってみる。破綻したら、分からなくなったところからやり直せば良いです。
2回目に作ったものは、前に作ったものよりも確実に良くなります。
金をもらってたり、期限のあるものじゃないので、何度でもやり直しましょう。
色々無茶をやってつまずいた方が学ぶものがあります。ただし、失敗したらその原因はちゃんと追求しましょう。
なんとなく動いてて、予定していたイメージと違うんだけど、原因が良く分からないけど、まぁ良いかって放置するのが一番良くないですね。
>私自身はアルゴリズム等を考えたりするのが苦手で、Cもまだまだおぼつかないところがありますので
>やはりゲームプログラミングをするよりはCやC++の復習をした方がいいのでしょうか?
アルゴリズムは慣れもあります。これは作って慣れのが一番ですね。
基本的なアルゴリズムは知っていると何かと便利なので、ゲームで使われるアルゴリズムを含めてサイトをご紹介しておきます。一般的なアルゴリズムは大学でも学ばれると思うんですけどね。
http://www2.starcat.ne.jp/~fussy/algo/index.htm
http://www.geocities.jp/ky_webid/algorithm/index.html
http://www.codereading.com/algo_and_ds/
http://www.c3.club.kyutech.ac.jp/gamewi ... ?FrontPage
http://www.ic-net.or.jp/home/takaken/pz/index.html
http://itpro.nikkeibp.co.jp/article/COL ... ST=develop
http://www5c.biglobe.ne.jp/~ecb/algorit ... thm00.html
http://d.hatena.ne.jp/seikenn/20090627/1246028707
http://s-endo.skr.jp/gameprog_analysis.html
ちなみにゲームアルゴリズムを考えるのに、一番私が良く使うのは紙です。
紙に図を書いて、色々あたり判定やら動きやら数式やらを書いてみるってを良くやります。
それで、まとまったらプログラムしてみて、ダメだったらまた紙に戻るっての繰り返します。
まぁ、人それぞれなんで一番良い方法を見つけてください。
>最初の頃はあまりそういうのに気にしない方がいいんでしょうか?
とりあえず、やるだけやってみる。破綻したら、分からなくなったところからやり直せば良いです。
2回目に作ったものは、前に作ったものよりも確実に良くなります。
金をもらってたり、期限のあるものじゃないので、何度でもやり直しましょう。
色々無茶をやってつまずいた方が学ぶものがあります。ただし、失敗したらその原因はちゃんと追求しましょう。
なんとなく動いてて、予定していたイメージと違うんだけど、原因が良く分からないけど、まぁ良いかって放置するのが一番良くないですね。
>私自身はアルゴリズム等を考えたりするのが苦手で、Cもまだまだおぼつかないところがありますので
>やはりゲームプログラミングをするよりはCやC++の復習をした方がいいのでしょうか?
アルゴリズムは慣れもあります。これは作って慣れのが一番ですね。
基本的なアルゴリズムは知っていると何かと便利なので、ゲームで使われるアルゴリズムを含めてサイトをご紹介しておきます。一般的なアルゴリズムは大学でも学ばれると思うんですけどね。
http://www2.starcat.ne.jp/~fussy/algo/index.htm
http://www.geocities.jp/ky_webid/algorithm/index.html
http://www.codereading.com/algo_and_ds/
http://www.c3.club.kyutech.ac.jp/gamewi ... ?FrontPage
http://www.ic-net.or.jp/home/takaken/pz/index.html
http://itpro.nikkeibp.co.jp/article/COL ... ST=develop
http://www5c.biglobe.ne.jp/~ecb/algorit ... thm00.html
http://d.hatena.ne.jp/seikenn/20090627/1246028707
http://s-endo.skr.jp/gameprog_analysis.html
ちなみにゲームアルゴリズムを考えるのに、一番私が良く使うのは紙です。
紙に図を書いて、色々あたり判定やら動きやら数式やらを書いてみるってを良くやります。
それで、まとまったらプログラムしてみて、ダメだったらまた紙に戻るっての繰り返します。
まぁ、人それぞれなんで一番良い方法を見つけてください。

Re:初めてのゲームプログラミング
自分の作りたいゲームやソフトを作っていけば自然と身に付きますよ。
次作るときに、自分の作ったアルゴリズムを参考にするなんてよくありますし。
自分の作ったアルゴリズムと他の人の作ったアルゴリズムを比較するとさらに勉強になります。
ただ、人の作ったアルゴリズムをコピペするだけだと、アルゴリズムは身に付きませんので、
作りたいものを作って、良いところは採用し悪いところは改良を重ねていけばいいものできますよ。
作ってみてどうしてもわからなければ、また質問すればいいだけです。
基礎学習を長く続けてもあんまりおもしろくないですからね^^;
結局のところ、試行錯誤の繰り返しなんですが
とりあえず作りたいものを作ってみてはどうでしょうか?
次作るときに、自分の作ったアルゴリズムを参考にするなんてよくありますし。
自分の作ったアルゴリズムと他の人の作ったアルゴリズムを比較するとさらに勉強になります。
ただ、人の作ったアルゴリズムをコピペするだけだと、アルゴリズムは身に付きませんので、
作りたいものを作って、良いところは採用し悪いところは改良を重ねていけばいいものできますよ。
作ってみてどうしてもわからなければ、また質問すればいいだけです。
基礎学習を長く続けてもあんまりおもしろくないですからね^^;
結局のところ、試行錯誤の繰り返しなんですが
とりあえず作りたいものを作ってみてはどうでしょうか?
Re:初めてのゲームプログラミング
ゲームプログラミングを通して実践的なアルゴリズムやプログラムの練習などに
役立てていきたいかなと思います。
分からない時や、詰まったときには、こちらの方にまたご迷惑になるかもしれませんが
そのときはよろしくお願いします。
皆さん本当にありがとうございました。
>一般的なアルゴリズムは大学でも学ばれると思うんですけどね
大学で学んだアルゴリズムが即座に応用できないほど硬い頭なんですw
ドモルガンの法則とか何に使うんだろうなぁとか思って授業聞いてました
役立てていきたいかなと思います。
分からない時や、詰まったときには、こちらの方にまたご迷惑になるかもしれませんが
そのときはよろしくお願いします。
皆さん本当にありがとうございました。
>一般的なアルゴリズムは大学でも学ばれると思うんですけどね
大学で学んだアルゴリズムが即座に応用できないほど硬い頭なんですw
ドモルガンの法則とか何に使うんだろうなぁとか思って授業聞いてました
Re:初めてのゲームプログラミング
>ドモルガンの法則とか何に使うんだろうなぁとか思って授業聞いてました
http://itpro.nikkeibp.co.jp/members/ITP ... 0020809/1/
ってif分の条件式を書く時に大事ですね。
http://itpro.nikkeibp.co.jp/members/ITP ... 0020809/1/
ってif分の条件式を書く時に大事ですね。
Re:初めてのゲームプログラミング
最近思うんですけど、やはり授業って結構大事ですよね。
論理演算はもちろん、数値解析や符号化等、
「こんなもん卓上の議論に過ぎないでしょ・・・」
なんて初めは思っていた(この時点で甘い)のですが、
これが、実際にプログラムに組み込んでみると
「これすごいな・・・。」
と最近改めて実感しています。
やはり先人の知恵とはすごいものです。
っという脱線でした。失礼しました^^;
論理演算はもちろん、数値解析や符号化等、
「こんなもん卓上の議論に過ぎないでしょ・・・」
なんて初めは思っていた(この時点で甘い)のですが、
これが、実際にプログラムに組み込んでみると
「これすごいな・・・。」
と最近改めて実感しています。
やはり先人の知恵とはすごいものです。
っという脱線でした。失礼しました^^;