いつもお世話になっております。
今回はちょっとプログラムとかではなく勉強の過程についてお聞きしたいことがあります
僕はC言語のまだ繰り返し文という初歩的な範囲までしかやってないにもかかわらずゲーム製作をするという大胆な夢を持ち、DXライブラリを学習しています。
基礎(土台)を固めずいきなりDXライブラリに手を出し、途中で挫折、なんてことはしたくありません
将来自分の力のみでプログラムを組めるようにもなりたいのですが、今のような状態でいいのでしょうか・・・
将来ゲームプログラマーなどになれなくても趣味でゲーム政策などでもぜんぜんいいなと思います。
ですが、後悔はしたくないので今の僕のやってることに間違いというかアドバイスがあったら一言よろしくお願いします・・・
本当にくだらない質問ですみません。自分は初心者でやってることが何かもわからなかったりするくらいです。
僕なんかよりもずっと長い経験を持ってる皆様にお聞きしたいと思いました
どうか回答のほうよろしくお願いします。
ちなみに僕は今14歳(中3)です。高校に入るまでに一本くらいゲームを作りたいと思っています。
将来ゲームを作るにあたって・・・
Re:将来ゲームを作るにあたって・・・
おそらく現段階でちょっと厳しいかなっていうのは
数学的な思考です。三角関数、線形代数等は中学生だとちょっと厳しいかもです。。
(一から自分でやれば高校、大学で確実に役に立ちますが・・・)
しかし、そこまで複雑な計算は排除すれば、
パズル・テーブルゲーム、タイピングゲーム、ライフゲーム等は作れるのではないでしょうか。
ちょっと三角関数をやればシューティングゲームも可能です。
>いきなりDXライブラリ
これは特に問題はないかと思います。
っというのも、画像描写等はこれを使用しないとできません。
なので、関数の内容、戻り値等はしっかり下見をしてからなら、必ず役に立ちます。
(っというかゲーム作成にあたって画像、音楽に長けるライブラリは必要かと思います)
いろいろ書きましたが、しかしまずは簡単なゲームから始めたほうがいいですね。
ジャンケンゲーム、ちょっとした計算ゲーム・・・
これならC言語の初歩的な知識があればできます。
後はゲームを作りながら、ポインタ、構造体等をじっくり理解していけばよいです。
(もちろん一度C言語入門書をすべて一通り読んでおくことをお勧めしますが・・・。)
年齢は関係ないですよ^^
ここの常連様のtkさんは(確か)今年高校2年ですが、
大学3年の自分よりはるかにプログラミング能力に長けていますw
(勝手に名前出してしまって申し訳ありません。。)
がんばってください^^
数学的な思考です。三角関数、線形代数等は中学生だとちょっと厳しいかもです。。
(一から自分でやれば高校、大学で確実に役に立ちますが・・・)
しかし、そこまで複雑な計算は排除すれば、
パズル・テーブルゲーム、タイピングゲーム、ライフゲーム等は作れるのではないでしょうか。
ちょっと三角関数をやればシューティングゲームも可能です。
>いきなりDXライブラリ
これは特に問題はないかと思います。
っというのも、画像描写等はこれを使用しないとできません。
なので、関数の内容、戻り値等はしっかり下見をしてからなら、必ず役に立ちます。
(っというかゲーム作成にあたって画像、音楽に長けるライブラリは必要かと思います)
いろいろ書きましたが、しかしまずは簡単なゲームから始めたほうがいいですね。
ジャンケンゲーム、ちょっとした計算ゲーム・・・
これならC言語の初歩的な知識があればできます。
後はゲームを作りながら、ポインタ、構造体等をじっくり理解していけばよいです。
(もちろん一度C言語入門書をすべて一通り読んでおくことをお勧めしますが・・・。)
年齢は関係ないですよ^^
ここの常連様のtkさんは(確か)今年高校2年ですが、
大学3年の自分よりはるかにプログラミング能力に長けていますw
(勝手に名前出してしまって申し訳ありません。。)
がんばってください^^
Re:将来ゲームを作るにあたって・・・
まず一つ、誰にでもゲームを作ることは可能です。
この点は重要だと思います。
一番単純なじゃんけんや、数当てゲームも立派なゲームです。
まずはそこから始めていくといいでしょう。
確かに土台がきちんとなっていないと、自分の思い通りのプログラムが書けず、
挫折・破綻をしてしまうかもしれません。
しかし、それは先のことを考えず、無理をして書いた場合です。
今作ろうとしているゲームをプログラムでどのように動かすか、
という点が固まっていればおのずと製作が進むはずです。
規模が大きくなってくると、ゲームのシステム面やより底辺にあるプログラム群の土台が何よりも一番
必要になってきます。
kerotan0820 さんの望む、途中で挫折をしない方法としては、
・他の方(ここのサイトのサンプルなど)の簡単なプログラムを読む
・分からない言葉・方法が出てきたらすぐに本やネットで理解できるまで調べる
・どういう風に動いているのか(細かいところまで)想像できない複雑なゲームは作らない
といったところでしょうか。
ところで、数学は得意でしょうか?
kazuoni さんのおっしゃるように、数学的思考、つまり「式」の考え方が比較的重要なのではないかなとほのめかしてみます。
(C言語など、プログラミング言語は「式」の集まりなので。)
まあ実際、書き方と処理さえ分かっていれば特に問題は無いのですけれども。
以上、仕事でも趣味でもゲームプログラムをしている者の発言でした。
# ちなみに関係ないかと思われがちですが、人付き合いもプログラマにとって重要な要素ですよ。
この点は重要だと思います。
一番単純なじゃんけんや、数当てゲームも立派なゲームです。
まずはそこから始めていくといいでしょう。
確かに土台がきちんとなっていないと、自分の思い通りのプログラムが書けず、
挫折・破綻をしてしまうかもしれません。
しかし、それは先のことを考えず、無理をして書いた場合です。
今作ろうとしているゲームをプログラムでどのように動かすか、
という点が固まっていればおのずと製作が進むはずです。
規模が大きくなってくると、ゲームのシステム面やより底辺にあるプログラム群の土台が何よりも一番
必要になってきます。
kerotan0820 さんの望む、途中で挫折をしない方法としては、
・他の方(ここのサイトのサンプルなど)の簡単なプログラムを読む
・分からない言葉・方法が出てきたらすぐに本やネットで理解できるまで調べる
・どういう風に動いているのか(細かいところまで)想像できない複雑なゲームは作らない
といったところでしょうか。
ところで、数学は得意でしょうか?
kazuoni さんのおっしゃるように、数学的思考、つまり「式」の考え方が比較的重要なのではないかなとほのめかしてみます。
(C言語など、プログラミング言語は「式」の集まりなので。)
まあ実際、書き方と処理さえ分かっていれば特に問題は無いのですけれども。
以上、仕事でも趣味でもゲームプログラムをしている者の発言でした。
# ちなみに関係ないかと思われがちですが、人付き合いもプログラマにとって重要な要素ですよ。
Re:将来ゲームを作るにあたって・・・
体験談です。
自分は高校一年生の夏休みにこのサイトを見つけました。
ゲーム制作に興味が出て、自分でゲームを作ろう!と思い、
龍神録のソースからいきなり学習を始めました。
プログラミングなんてしたことがないですし、最初は大変でした。
ですが、龍神録の処理をひとつひとつ追っていって、
理解できないところは調べて次へ進む・・・というのを繰り返し、
夏休み中に龍神録の処理が一通り分かるようになりました。
多分こんな方法で学習する人は少ないと思いますし、
現在の自分を見ても基礎から固めた方が良かったと思っています。
ゲーム作るだけなら良かったかもしれませんが、自分はもうすぐ授業でプログラミングがありました。
そのため基礎を復習し直す羽目になりました。
ちなみに、龍神録のようなSTGを作る際に使う数学的知識は
高校一年生の範囲だったので、学校での数学、物理が非常に簡単になりました。(要は三角関数です)
#レーザー部を除いてです。orz
まだ学習していない範囲とかだと、自分で頑張らないといけないかもしれません。
ですが、一度関数化とかしてしまえば後は使うだけなので理解できていなくても誰かが考えてくれた式を利用すればゲームは作ることができると思います。(実際、自分も未だにレーザーの当たり判定の計算方法を理解していません)
しかし、自分でゲームを一から作るのであれば、理解していないと厳しいかもしれません。
自分は高校一年生の夏休みにこのサイトを見つけました。
ゲーム制作に興味が出て、自分でゲームを作ろう!と思い、
龍神録のソースからいきなり学習を始めました。
プログラミングなんてしたことがないですし、最初は大変でした。
ですが、龍神録の処理をひとつひとつ追っていって、
理解できないところは調べて次へ進む・・・というのを繰り返し、
夏休み中に龍神録の処理が一通り分かるようになりました。
多分こんな方法で学習する人は少ないと思いますし、
現在の自分を見ても基礎から固めた方が良かったと思っています。
ゲーム作るだけなら良かったかもしれませんが、自分はもうすぐ授業でプログラミングがありました。
そのため基礎を復習し直す羽目になりました。
ちなみに、龍神録のようなSTGを作る際に使う数学的知識は
高校一年生の範囲だったので、学校での数学、物理が非常に簡単になりました。(要は三角関数です)
#レーザー部を除いてです。orz
まだ学習していない範囲とかだと、自分で頑張らないといけないかもしれません。
ですが、一度関数化とかしてしまえば後は使うだけなので理解できていなくても誰かが考えてくれた式を利用すればゲームは作ることができると思います。(実際、自分も未だにレーザーの当たり判定の計算方法を理解していません)
しかし、自分でゲームを一から作るのであれば、理解していないと厳しいかもしれません。
Re:将来ゲームを作るにあたって・・・
とりあえず言語部分に関しては、
下記サイトの「C言語編」から読み進めてみましょう。
http://www.geocities.jp/ky_webid/index_old.html
他の方も仰ってますが、まずは小さなプログラムから始めましょう、
それによってアルゴリズム(プログラムの流れ)を学ぶことになります。
以前ふとツクールシリーズのイベントエディタは
処理の流れを学ぶのに良いのでは?と思ったことがあります。
体験版があるので試してみてもいいかもしれません。
下記サイトの「C言語編」から読み進めてみましょう。
http://www.geocities.jp/ky_webid/index_old.html
他の方も仰ってますが、まずは小さなプログラムから始めましょう、
それによってアルゴリズム(プログラムの流れ)を学ぶことになります。
以前ふとツクールシリーズのイベントエディタは
処理の流れを学ぶのに良いのでは?と思ったことがあります。
体験版があるので試してみてもいいかもしれません。
Re:将来ゲームを作るにあたって・・・
C言語で言えば
printf:scanf:ifが解れば簡単なゲームは作れます。
勉強するにあたって、覚えたい!だけでは続かないことが多いです。
仮にSTGを作りたいと思えば、このサイトをで勉強してSTGを作りながらC言語を学ぶ方が充実感があると思います。
ゲームを作りたいという目標があれば、最初っから完成度の高いものは作れないので、途中で挫折こともあると思いますが、それによって学ぶことのほうが多いです^^
局所で解らないことがあれば、この掲示板で質問をすれば回答があると思いますので、先のことは考えずに色々作ってみてはいかがでしょうか?
勉強の仕方は賛否両論ありますが、私は作りたいものを作りながら覚えていくのが好きです^^
printf:scanf:ifが解れば簡単なゲームは作れます。
勉強するにあたって、覚えたい!だけでは続かないことが多いです。
仮にSTGを作りたいと思えば、このサイトをで勉強してSTGを作りながらC言語を学ぶ方が充実感があると思います。
ゲームを作りたいという目標があれば、最初っから完成度の高いものは作れないので、途中で挫折こともあると思いますが、それによって学ぶことのほうが多いです^^
局所で解らないことがあれば、この掲示板で質問をすれば回答があると思いますので、先のことは考えずに色々作ってみてはいかがでしょうか?
勉強の仕方は賛否両論ありますが、私は作りたいものを作りながら覚えていくのが好きです^^
Re:たくさんの回答ありがとうございます
本当にたくさんの回答をありがとうございます。
大体皆さんからの回答が一致していたので、僕の率直な全体への新たな質問などを書きたいと思います。
今ここをみて僕はとても迷っています。
僕がC言語を始めて知ったのは中学2年生のはじめの時期で、今から地道にやれば3年の初めにはちょっとしたゲーム製作ができてるかなと思っていたのですが、思った以上に環境を作ることなどに手間がかかって、挫折気味の日々をすごし結局本格的にはじめようとし始めたのが今です。
今からC言語の基礎を作っていくべきか・・・
それともそんなにあせらず、本格的なゲームは高校のうちにできればよい、それまではC言語をやろうという二つの考えがあります。
そこでこれはどうかなという案がひとつだけあります…
DXライブラリは無理をせずに地道に進め、メインをC言語とする…
僕はブログで学習範囲をまとめてるのですが(http://clanguage.blog20.fc2.com/)C言語をまとめながらDXライブラリも地道にまとめつつでやろうかなと思っています。
>>じゃんけんゲームなどの簡単なゲームを作るとよい
C言語を繰り返し文などまで事実上一応進めていますが、本来そこまでの範囲で作れるはずのじゃんけんゲームやちょっとした計算ソフトが作れる実力がないです。
僕が使用してる本にはprintf関数はもちろんすぐ出ますが、こちらが入力したのに大して何らかの処理をするという関数などの説明は見た限りまったくないのです。本を二冊持っていますが一冊にはこういった欄がありました。
"合計と平均を求める"
このプログラムの内容はこうでした
各表示された教科の点数を入力し、その合計と平均を求めるというものです。
このような知識を徹底的に身につければよいのでしょうか。
何の計画性もなしにプログラミングに触れ始めたために今僕がこうなっているのでしょうけど、今目標を決めたいと思います。
あとひとつ・・・
Visual C++2008でC言語の勉強をする際の設定などはどうなるのでしょうか。
DXライブラリの際とはやはり設定は違いますよね?
長々とすみませんでした・・・
大体皆さんからの回答が一致していたので、僕の率直な全体への新たな質問などを書きたいと思います。
今ここをみて僕はとても迷っています。
僕がC言語を始めて知ったのは中学2年生のはじめの時期で、今から地道にやれば3年の初めにはちょっとしたゲーム製作ができてるかなと思っていたのですが、思った以上に環境を作ることなどに手間がかかって、挫折気味の日々をすごし結局本格的にはじめようとし始めたのが今です。
今からC言語の基礎を作っていくべきか・・・
それともそんなにあせらず、本格的なゲームは高校のうちにできればよい、それまではC言語をやろうという二つの考えがあります。
そこでこれはどうかなという案がひとつだけあります…
DXライブラリは無理をせずに地道に進め、メインをC言語とする…
僕はブログで学習範囲をまとめてるのですが(http://clanguage.blog20.fc2.com/)C言語をまとめながらDXライブラリも地道にまとめつつでやろうかなと思っています。
>>じゃんけんゲームなどの簡単なゲームを作るとよい
C言語を繰り返し文などまで事実上一応進めていますが、本来そこまでの範囲で作れるはずのじゃんけんゲームやちょっとした計算ソフトが作れる実力がないです。
僕が使用してる本にはprintf関数はもちろんすぐ出ますが、こちらが入力したのに大して何らかの処理をするという関数などの説明は見た限りまったくないのです。本を二冊持っていますが一冊にはこういった欄がありました。
"合計と平均を求める"
このプログラムの内容はこうでした
各表示された教科の点数を入力し、その合計と平均を求めるというものです。
このような知識を徹底的に身につければよいのでしょうか。
何の計画性もなしにプログラミングに触れ始めたために今僕がこうなっているのでしょうけど、今目標を決めたいと思います。
あとひとつ・・・
Visual C++2008でC言語の勉強をする際の設定などはどうなるのでしょうか。
DXライブラリの際とはやはり設定は違いますよね?
長々とすみませんでした・・・
Re:たくさんの回答ありがとうございます
>本格的なゲームは高校のうちにできればよい、それまではC言語をやろう
ゲーム制作≠C言語勉強
っと考えているようですが、そうではないですよ。
確かに大規模は難しいかもしれませんが、
数当てゲーム、ジャンケンゲームは
srand,scanf,printf,条件文(if,for,while,switch)が理解できれば作れます。
これにDXライブラリを使えば画像・音楽を用いたゲームができます。
これで立派なゲームです。
Blogを拝見しましたが、すでにDXライブラリでDrawGrapgはつかえているようです。
(LoadGraphScreen()は不具合が出る恐れがあるので、LoadGraph→DrawGraph()のがよい)
基礎を積むのはよいことです。その途中で、ちょっと凝ってみようかな。
って思ったらそっちにそれていっても全然よいと思います。
そのゲームを組んでみて、
「文字列を引数にしたいなぁ・・・」
「なんか主人公のデータが多くて管理しづらい。。おっ、そういえば構造体ってやつが・・・」
なんてなったらまたC言語の基礎に戻ってくれば良いです。
本を眺めているよりは、実践で悩むほうが各段に早く理解できます。
>C言語をまとめながらDXライブラリも地道にまとめつつでやろうかな
もし早くゲームが作りたい(or C言語を早く習得したい)なら、これはあまりオススメができません。
ものすごく時間がかかると思います。
今自分が「C言語まとめよう!」
なんて考えだしたら、学校もあるから3ヶ月はほしいですね・・・w(まだ理解度が低いのでまとめられない・・・w)
もし、他人に教えるつもりでならなおさらプログラミング経験を積んでからです。
~変更~
>Visual C++2008でC言語の勉強をする際の設定などはどうなるのでしょうか。
「新規プロジェクト」→「全般 空のプロジェクト」で大丈夫です。
ゲーム制作≠C言語勉強
っと考えているようですが、そうではないですよ。
確かに大規模は難しいかもしれませんが、
数当てゲーム、ジャンケンゲームは
srand,scanf,printf,条件文(if,for,while,switch)が理解できれば作れます。
これにDXライブラリを使えば画像・音楽を用いたゲームができます。
これで立派なゲームです。
Blogを拝見しましたが、すでにDXライブラリでDrawGrapgはつかえているようです。
(LoadGraphScreen()は不具合が出る恐れがあるので、LoadGraph→DrawGraph()のがよい)
基礎を積むのはよいことです。その途中で、ちょっと凝ってみようかな。
って思ったらそっちにそれていっても全然よいと思います。
そのゲームを組んでみて、
「文字列を引数にしたいなぁ・・・」
「なんか主人公のデータが多くて管理しづらい。。おっ、そういえば構造体ってやつが・・・」
なんてなったらまたC言語の基礎に戻ってくれば良いです。
本を眺めているよりは、実践で悩むほうが各段に早く理解できます。
>C言語をまとめながらDXライブラリも地道にまとめつつでやろうかな
もし早くゲームが作りたい(or C言語を早く習得したい)なら、これはあまりオススメができません。
ものすごく時間がかかると思います。
今自分が「C言語まとめよう!」
なんて考えだしたら、学校もあるから3ヶ月はほしいですね・・・w(まだ理解度が低いのでまとめられない・・・w)
もし、他人に教えるつもりでならなおさらプログラミング経験を積んでからです。
~変更~
>Visual C++2008でC言語の勉強をする際の設定などはどうなるのでしょうか。
「新規プロジェクト」→「全般 空のプロジェクト」で大丈夫です。
Re:たくさんの回答ありがとうございます
>>「文字列を引数にしたいなぁ・・・」
>>「なんか主人公のデータが多くて管理しづらい。。おっ、そういえば構造体ってやつが・・・」
これが理解できない件・・・
明日からC言語をもう少し勉強したいと思いますw
さきほど"SooA"さんというかたが教えてくださったC言語のサイトがなかなかわかりやすそうだったのですがこちらで勉強するような感じでもいいと思いますか?(http://www.geocities.jp/ky_webid/index_old.html
一応ここを使おうかなと思ってますけど・・・;
>>「なんか主人公のデータが多くて管理しづらい。。おっ、そういえば構造体ってやつが・・・」
これが理解できない件・・・
明日からC言語をもう少し勉強したいと思いますw
さきほど"SooA"さんというかたが教えてくださったC言語のサイトがなかなかわかりやすそうだったのですがこちらで勉強するような感じでもいいと思いますか?(http://www.geocities.jp/ky_webid/index_old.html
一応ここを使おうかなと思ってますけど・・・;
Re:たくさんの回答ありがとうございます
今は大丈夫ですよ。そのサイトだと、27章でもうでてきますw
他にも「C言語 入門」とググればたくさん出てきます。
上位にヒットするサイトをいろいろ見るのもよいかも知れません。
一番自分が見やすい、理解しやすいがベストかと。
他にも「C言語 入門」とググればたくさん出てきます。
上位にヒットするサイトをいろいろ見るのもよいかも知れません。
一番自分が見やすい、理解しやすいがベストかと。
Re:たくさんの回答ありがとうございます
ありがとうございます
調べてみます^^
結果をまとめると・・・
・C言語を勉強する
にしましたw
DXライブラリも暇つぶしくらいの感覚でじみちーにやりますけどね^^w
いろいろとありがとうございました
調べてみます^^
結果をまとめると・・・
・C言語を勉強する
にしましたw
DXライブラリも暇つぶしくらいの感覚でじみちーにやりますけどね^^w
いろいろとありがとうございました