8年前C言語を使って何かのプログラムを作成する、ということはイメージできるのでしょうか。その、「何かのプログラム」というのが、ワープロソフトや表計算ソフトなどではなく、たまたまゲームソフトである、というだけのことです。Windowsベースで開発したプログラムは、Windows独自の機能(WinAPIなど)を使っていなければ、ソースコードをMacへ持っていってコンパイルすれば動く、ことがあるかもしれません。バグのないプログラムはない。プログラムは思ったとおりには動かない。初歩的な質問ですみませんC言語でゲームを作るとはどういうことなんでしょう?RPGツクール等のソフトでゲームを作ったりするのと何が違うんですか?どう言ったら良いでしょうかね。RPGツクール自体もC言語かC++で作られていますし、あと、RPGツクール自体もRGSSでカスタマイズ出来ますよね。これをC言語で作るなら自分の手で一度に実現できますので、もっと自由度が上がります。手間はすごく必要になりますし、作るのに必要な知識も凄く多くなります。RPGツクールやRGSSがやってくれる部分を自分で作るわけですからね。現存するRPGツクールでは作れない、3DのRPGにも手を出すことが出来ます(何年も掛かりますけどね)。WINDOWSのPC上で作ってMACのPC上で動かすというのは可能なんでしょうか?C言語ではなくJava言語で作れば、WindowsでもMacでもLinuxでも動くものが作れますよ。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。「プラモデルを買ってきて組み立ててフィギアを作るのか」=ツクール「プラスチックの原料から全て買ってきて1から作るのか」=C言語そういう違いに似ていると思います。ツールでゲームを作ると、ツールが想定しているゲームしか作れませんよね。RPGツクールで3Dアクションゲームは作れません。C言語は誰かが用意したツールではないですから、作るのは大変ですが、なんだって出来ます。2Dボードゲームだろうが、オンラインゲームだろうが、スキルさえあればPS3並のハイクオリティゲームでも。ツクールには体験版がありますし、うちのさいとでゲームプログラムを紹介していますので両方やってみると違いがはっきり分かると思います。皆さん回答ありがとうございます>>たいちうさんC言語は全部自分でやらなければいけない、ということなんですね>>boxさんC言語はゲームを作るためのもの、というわけではないんですね>>softya(ソフト屋)さん凄く大変そうですけど、頑張ってやってみたいと思います。Java言語なんてものもあるんですね。8年前ここのサイトはDXライブラリの入門講座で、C言語と言うプログラミング言語の入門講座については書かれていませんのでC言語の入門書籍か入門サイトの併読をお勧めします。下記リンクは、C言語とDXライブラリを使って私が連載形式で書いているRPG作成の入門講座です。http://dixq.net/forum/blog.php?u=114&sd=a&c=2ここのサイトのDXライブラリの講座を理解した上でC言語のある程度の知識も必要とする講座ですが、よろしかったら参考にしてください。RPGツクールがどれだけ面倒なことを助けてくれているか理解することも出来ると思います。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。8年前>>softya(ソフト屋)さん回答ありがとうございます。(汗さっき入門書について色々調べたんですが、数が多すぎてどれにすればいいか迷ってしまいます。入門書ならどれも似たような内容なんでしょうか?何かおすすめの書籍とかはありますか?情報量が多くて参考になりそうです。知識をつけたら参考にさせてもらいます。本」の三冊でしょうか。読む人との相性があるので出来れば本屋で見比べて欲しいですが、Amazonのレビューも参考にはなると思います。あと決してメインの本としてではありますが、分りやすいので補助の本として。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。8年前>>softya(ソフト屋)さん回答ありがとうござます。その3冊を書店で比べて購入してみたいと思います。日本語で、小説を書く事も、論文を書く事も出来ます。どちらも同じ日本語です。日本語を学べば、感動を与える小説が書けるかと言うとそうでもありません。意図した通りに伝わるかどうかはともかく文章を書く事は出来ます。ゲームにはゲームを上手く表現するための書き方や、お作法があります。言語は、人間とコンピュータのコミュニケーションを行うための道具です。その用途に応じて、適した表現方法は様々です。言語という言語を学ぶ事に主眼を置いた物ですね。読めば、ゲームの基礎が分かるといった類のものではありません。言語を学ぶ為のものです。言語でゲームプログラムを書く際の表現方法やお作法をまとめた物でしょう。言語がどのような物かを理解してなければ、読み進める事は出来ないでしょう。言語を理解してしまえば、ゲームプログラムの基本は、ここのサイト事細かに解説してありますので、まずはコンピュータと対話する言葉を覚える事から始めるのがいいでしょうね。8年前ほとんど、へろりんさんが説明してくれたとおりです。C言語は元々はOS開発のために作られた言語ですので、非常に汎用的で万能な言語です。数ある言語の中でもパソコンに向いたコンパイラのコンパクトさとかプログラムの実行速度の速さがダントツでしたので、これはゲームの開発にも向いていると言うことで使われるようになりました。C言語の文法を理解してもらってその上でゲームプログラミングの知識を学んでもらうとゲームプログラミングのやり方がよく分かると思います。[DXライブラリ]」http://dixq.net/g/で学んでみてください。単なる入り口であとは自分で広げていく必要があります。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。8年前ぶっちゃけた話、C言語だけじゃゲームを作るのはほぼ無理です。C言語やJava言語と言われる「言語」は、あくまでプログラムを記述する方法でしかないです。CにはCの記述方法があって、JavaにもJavaの記述方法があるわけです。絵や音を出すプログラムを組んで、結果的にゲームになっているんです。C言語そのものに絵を出す機能があるのではなく、C言語を使ってライブラリにアクセスして、ライブラリの機能によって絵が出ているわけです。一般的にライブラリ使わずに0から絵を出すプログラムを書く人もいないです。仕事をさせるってことです。その仕事の様がメモ帳だったり、ペイントだったり、ゲームなわけです。一般的にライブラリ使わずに0から絵を出すプログラムを書く人もいないです。たしかに今の時代はそうですね。パソコンだとPC98やMS-DOS、MSXの時代は直接C言語やアセンブラでハードウェアを制御して絵を描いたり音を出していたりしました。ゲーム機でもFC、SFC、GBは本当にアセンブラで直接操作しています。PS1やSSではライブラリも出てきましたが、結局高速に処理するためにC言語やアセンブラで直接ハードウェアを操作してました。意味ではハードウェア次第では、直接C言語でライブラリなしでゲームを作ることは今の時代でも出来ます。混乱させるみたいで申し訳ないですがライブラリが必要なのはWindowsOSがハードウェアのアクセスに制限を加えていたり、今のハードウェアが複雑でハードウェア毎の差をライブラリが吸収してくれたり、機能を単純化して使いやすくしてくれるのがでライブラリの役割りです。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。一般的にライブラリ使わずに0から絵を出すプログラムを書く人もいないです。いうか、そのライブラリを作るというのが、Cや、場合によってはC++の重要な役割であって、他の言語に置き換えられない部分だと思います。CやC++を使って便利なライブラリを用意すれば、あとはより高級な言語でアプリケーションを作ればよいのです。8年前DXライブラリの使い方を覚えてください、というとC言語を覚えただけじゃダメなんですか?と返してくるひとたくさんいますよね。ように、いろいろプログラムの書き方は分かれていきますが、C言語そのものが用途によって変化するということではないです。用途によって書き方が変わるのはまぁ当然で、それはC言語に限らずJava言語やRuby言語でも同じです。『C言語ゲームプログラミング』という本が、ゲームプログラミングを目標にした本であることは正しいでしょうけれども、本の内容によって他にどんな本を買うべきか?ということは変わってくると思います。それがプログラミング初心者を対称にしているならば、それを入門書にして勉強できるでしょうし、C言語でプログラムを書ける人を対称にしているならば、他にC言語の入門書を買うか、ネットでC言語について勉強しなければならないと思います。「紹介してくれた3冊」は、どれもC言語そのものの指導書ですので、そのうちの一冊だけでは、C言語でプログラムを書くことはできるようになるとは思いますが、ゲームを前提にしたプログラミングの仕方は学べないと思います。皆さん回答ありがとうございます>>へろりんさんなるほど、わかりやすい解説ありがとうございます。softyaさんが紹介して下さったC言語の入門書を読んでようやくゲーム製作のスタートラインに立てるんですね>>softyaさんOSもC言語で作られてるんですね。C言語の文法を一通り勉強してみたいと思います>>おっくさんそうなんですか。(私の知識不足のせいなんですが)とりあえずライブラリというものの使い方?は後回しでいいんでしょうか。C言語を学びながら徐々にで良いと思います。DXライブラリもライブラリですし、C言語には標準ライブラリと呼ばれるものもあります。C言語の標準ライブラリは、C言語を学ぶ始めるとすぐ使います。DXライブラリは、C言語からグラフィックや音楽などを扱いやすくしてくれるライブラリです。いえばゲーム製作にはC++のほうがいいって聞いたんですがCとC++は全く別の言語なんですか?調べたらCの上位互換って書いてあったんですがほぼ上位互換ですね。C++はゲーム会社の開発現場で使われています。多人数や大規模開発などに向いているのが理由です。プログラミングの難易度はC言語の何倍もあって覚えることもたいそう多いです。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。個人でやる場合にはC言語で事足りるということなんですねC++はたしかに個人でも便利なんですが、覚える難易度と秤にかけてどちらを取るか考えるべきです。全部のC++の全ての文法を理解せずに、ちょっと便利なC言語として利用する方法もあります。それもC言語を理解してからでしょうか。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。8年前>>softyaさんなるほど。個人でやる場合にはC言語で事足りるということなんですねC++はたしかに個人でも便利なんですが、覚える難易度と秤にかけてどちらを取るか考えるべきです。全部のC++の全ての文法を理解せずに、ちょっと便利なC言語として利用する方法もあります。それもC言語を理解してからでしょうか。C++を難しくしているのは、Cと共通の部分をCと同じように使う方法から習得しようとするからです。C++の便利で手軽な機能をフルに使うつもりで覚えるのであれば、そして、Cでやるような低水準なプログラミングに手を出さなければ、軽量言語と変わらないぐらい簡単になります。>>softyaさんなるほど。難しいほうに手を出すと挫折してしまいそうなのでC言語をやってみようと思います(Cでも挫折しそうですが笑)このサイトを参考にやるにはC言語で十分(C++は覚えなくていい)ということなんでしょうか?ここのサイトの内容は、C言語で文法の範囲でOKです。それにコンパイラとしてはC++を使いますので、いつでもC++に切り替えられます。C++を難しくしているのは、Cと共通の部分をCと同じように使う方法から習得しようとするからです。C++の便利で手軽な機能をフルに使うつもりで覚えるのであれば、そして、Cでやるような低水準なプログラミングに手を出さなければ、軽量言語と変わらないぐらい簡単になります。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。C++を難しくしているのは、Cと共通の部分をCと同じように使う方法から習得しようとするからです。C++の便利で手軽な機能をフルに使うつもりで覚えるのであれば、そして、Cでやるような低水準なプログラミングに手を出さなければ、軽量言語と変わらないぐらい簡単になります。効率的なプログラミングのための新しい定跡』がそれに近いかもしれません。うちのサイトには今のところありません。いうか、ウェブ上では見かけませんね。効率的なプログラミングのための新しい定跡』がそれに近いかもしれません。うちのサイトには今のところありません。いうか、ウェブ上では見かけませんね。確かに実用本位な本ですね。他の言語から入る人にも向いているかも知れません。softyaさん大抜擢ですよ。C++はかなり自己流で理解度はあやしいのでメインは無理だとしてもお手伝いならさせていただきます。他にもメンバーは欲しいですね。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。C++はかなり自己流で理解度はあやしいのでメインは無理だとしてもお手伝いならさせていただきます。他にもメンバーは欲しいですね。C++はかなり自己流で理解度はあやしいのでメインは無理だとしてもお手伝いならさせていただきます。他にもメンバーは欲しいですね。募集しましょうか?既にがむさんの内容からかけ離れているので、別トピックに分けたほうが良さそうですね。需要を探る意味でも意見を集めてみるのも良いかも知れません。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。回答ありがとうございます>>たかぎさんなるほど。回答ありがとうございます>>たかぎさんなるほど。CとC++を全く別の言語として独立に勉強すればいいということなんですね>>softyaさんそれを聞いて安心しましたC言語の文法で分からないことがあれば、気軽に質問してくださいね。解決と言う事で解決チェックをお願いします。返答時の入力フォームの下にチェックボックがありますので押して投稿してください。頑張ってください早急には出来ないことなので、ぼちぼちとやってきます。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。ミクプラは自由にリンクできます。