C言語やゲームプログラミングには直接の関係はないのですが・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
夢見がちな学生

C言語やゲームプログラミングには直接の関係はないのですが・・・

#1

投稿記事 by 夢見がちな学生 » 13年前

こんばんは。名無しの学生というものです。
これから御掲示板の場を借りて質問させていただくこともあると思います。どうか今後、よろしくお願いいたします。

さっそくですが、場違いな質問かも知れませんが、以前から気になっていたことがあるので、質問させていただきます。

今回の質問にはあまり関係ないのですが、とりあえずテンプレを・・・


 [1.1] 自分が今行いたい事は何か       :まずは最低限遊べるシューティングゲームを作りたい
 [1.2] どのように取り組んだか          :今のところ、Cの勉強と龍神録でお世話になっております。大学がパソコン関係とほど遠い上に、飲み込みも遅いので時間がかかってしまっています・・・。
 [1.3] どのようなエラーやトラブルで困っているか(エラーメッセージが解る場合は記載)  :今回は特に無し    
 [1.4] 今何がわからないのか、知りたいのか       :後述に・・・      

[2] 環境  
 [2.1] OS : Windows7
 [2.2] コンパイラ名 : VC++ 2008EE


質問の内容なのですが、「今、プログラマーとして十分にゲームを作れる方たちはどうやって、ゲーム作りを学んでいったか」ということが知りたいです。
今ではネットも普及されているため、御サイトのように、ゲーム作りでわからないことは質問できたり、調べたりすることができますし、ゲームプログラミング関連の書籍も充実しているのだと思います。
同人ゲームの歴史は結構深いみたいで、具体的には、今30代、40代の方が学生のころには同人ゲームを作って即売会で頒布していたと認識しています。
当時は、今ほど学びやすい環境にはなく、とても困難な状況だったと思うのですが、当時、どのような環境、学び方、作り方、努力の仕方(根性しかないのだろうか)があったのでしょうか。
くだらない質問かもしれませんが、以前から気になっておりました。
もしよろしければ、ここのかたがたにご教授おねがいしたいです。
よろしくお願いいたします。

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

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#2

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

古い人(40代以上限定)の情報としてお答えします。
当時の資料はほぼ当時のASCIIやIOなどマイコン雑誌(パソコン前)が中心でした。言語はBASICか機械語です。
※ BASICは俗にいうマイクロソフトBASICの移植版というか亜種というか。
自分の持つマイコンのコードが載っていると打ち込んでみたり改造したりと勉強できます。
自分のマイコンでなければヤル気のある人は他機種への移植を試みます。コレが結構勉強になります。
しばらくするとマイコンBASICマガジンが登場し初期の小学生プログラマも現れました。
※ マイコンBASICマガジンは、ユーザー投稿専門のマイコン雑誌です。
この頃ですね。堀井雄二など初期のゲーム開発者が現れたのは。

当時の雑誌を掲載しているブログがあったので紹介しておきます。
「飛行缶 -SORA・TOBU・CAN- 12 パソコンの情報源 1」
http://soratobucan.blog60.fc2.com/blog-entry-126.html
「飛行缶 -SORA・TOBU・CAN- 13 パソコンの情報源 2」
http://soratobucan.blog60.fc2.com/blog-entry-129.html

調子に乗って追加。おっさんホイホイになるはず。
「月刊アスキーが休刊 - 黒姫高原・はんぐろ日記」 当時の雑誌の内容が少し見えると思います。
http://kurohime.homeip.net/kuro/archive ... st-328.php
「月刊アスキー ASCII(西 和彦) - ぶぶさんのブログ - Yahoo!ブログ」 すでにワイヤーフレームとはいえ3Dの記事が。
http://blogs.yahoo.co.jp/tsxtp108/9754868.html
「I/O - おにたま(オニオンソフト)のおぼえがき」 初期の雑誌IO
http://www.onionsoft.net/wp/archives/tag/io

私なんかはハードから組み立てていた(今と違ってCPUからハンダ付けレベル)ので、ハンドアセンブルからインタプリタ・簡易コンパイラまで自前で揃えていました。
ひたすら動かして、バグをつぶし、機械語とにらめっこの日々でした。
時代が時代ですので1KBのメモリでも貴重ですから最適化につぐ最適化を自前でしないと何も出来ない時代でしたね。

下記サイトの「つくるコンピュータ」は私の初期のバイブルです。
http://tanacom.jpn.org/index.php?Journal
自分のはどっかへ行っちゃたんですよね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

夢見がちな学生

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#3

投稿記事 by 夢見がちな学生 » 13年前

ソフト屋様、ご回答ありがとうございます。しかも資料までご用意してもらって・・・。
そちらのほうもじっくり読んでいきたいと思います。
また、「古い人」と言わせてしまいすみません(汗)
私から見れば、思っていた以上に厳しい環境だったのですね。

これだけの回答をして頂いて申し訳ないのですが、まだお伺いしたいことがあります。
前述のように、現在、Cを「かんたんC言語」という本で、ゲームプログラミングを龍神録のサイトで勉強しております。
しかし、これも前述のように、どうにも苦手で、飲み込みも遅いので、なかなか進めません。焦りが強いです。
結局は皆さんがおっしゃるように、時間をかけてトライ&エラー、にらめっこをするしかないのは承知なのですが、時間が限られているので、できる限り上手な努力をしたいです。
環境に恵まれた世代の挙句、このような質問で、皆さんには「甘ったれるな」と言われるかもしれませんが、今回の質問の本意として、昔を体験した方々から「恵まれている今の、いい勉強の仕方」をよろしければ教えていただきたいのです。
文章にしたときに、具体的にはお答えしにくい質問かと思うので、例えとしては「その本と、龍神録で勉強してるなら、~も読んでみろ」や「まず~を理解しろ」、「これを理解したらこっちの理解も進んでいく」などといった形になると思います。そういう近道はないかもしれませんが、お願いいたします。

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

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#4

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

とりあえず、昔の話は趣味で追記しました。

で、問題の方ですが現在恵まれているのはコンパイルが早くいくらでも試せることです。
ちょっと打ち込んですぐ試すことができますね。これは実はすごく学習として大事なことです。
わからないこともネットで探せば出てきます。
※ あくまでC言語の基本的なことの理解という意味で書いています。

C言語の命令や宣言の仕方など試さないと分からないことは沢山あります。
これは本を読んでいただけではダメですので必ず試して、少し変えて何故こうじゃないとダメなのかの理解を深めてください。
これに早道はありません。まず、C言語の理解は重要です。

で、龍神録の内容は難しいので当面はゲームプログラミングの館のコードと同等なものを自己流で書けることを目指してください。
まず館のサンプルをコメントを書いたりして理解した上で、その後に見ずに書ける練習をすることです。
※ DXライブラリのリファレンスを見ることは可です。

C言語の理解度とどのぐらい急いでいるのか分からないので一般的にお応えしました。
疑問・質問があれば書き込んでください。C言語の質問ももろんOKです。練習問題も必要があればご紹介します。

※質問があった場合の続きはまた明日にさせて頂きます。おやすみなさい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

夢見がちな学生

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#5

投稿記事 by 夢見がちな学生 » 13年前

二度目のご回答、ありがとうございます。親切にしていただき本当に助かります。
現代の大きな恩恵のひとつはトライ&エラーがたくさんできるということなんですね。



段階としては、龍神録プログラミングの14章あたりで四苦八苦している知識量です。
今は大学二年なのですが、来年の冬には始まる就職活動までにある程度遊べる段階の、卒業までにできる限りを尽くした完成版の2Dシューティングを作りたいのですが、講義や課題といった大学のことと、ゲーム製作との両立がうまくいかず、情けないのですが、焦りだけが溜まっているのが現状です。

教えていただいたやり方で勉強を進めていきたいと思います。やはり勉強ばかりは焦っても身につかないもので、しっかりやるしかないですね。
仰っていた練習問題はぜひともご紹介をお願いしたいです。何度もすみませんが、どうかお願いいたします。

本日は本当にありがとうございました。明日のご紹介を楽しみにしております。

beatle
記事: 1281
登録日時: 13年前
住所: 埼玉
連絡を取る:

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#6

投稿記事 by beatle » 13年前

なるほど。プログラミングを武器に就活をするということは、ゲーム会社か何かに応募するのでしょうか。
僕は、プログラミング上達の秘訣は楽しむことだと思っています。
正確に言えば、意図して楽しむのではなくて自然と楽しいなと感じる場合、その人にプログラミングが合ってるということです。
逆に、努力とか根性とかでプログラミングを習得するのは難しいのではないでしょうか。

夢見がちな学生さんは、プログラムしていて楽しいと感じますか?
楽しいと感じるならプログラマの道へお進みください。
もし義務感のようなものでプログラムしているなら、もしかしたらプログラマより向いている仕事があるかもしれません。

夢見がちな学生

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#7

投稿記事 by 夢見がちな学生 » 13年前

beatle様、ご回答ありがとうございます。
正直なところ、なにを仕事にしたいかはあまり決まってないです(汗)

お察しのとおり、楽しんで学ぶということはプログラミングでは現状、あまりできておりません。
昔から、好きなものを見つけるのが下手なようです。
また、これは大学生になってからわかったのですが、好きなことを本業にすると逆にきつくなってしまうタイプ(もしかしたら大して好きなことではなかったのかも知れないが)のようです。

正直なところ、今はプログラミングを楽しむ余裕はあまりなく、その可能性や世界の広さ、奥深さに圧巻されているだけの状態です。感動はあるのですが・・・。
仕事でプログラミング、ではなくて、ただ、今自分なりにゲームを作りたいと思うのは本心で、もしかしたらその本心のせいで義務感のようなものが生まれているのかも知れません。
パソコンのことはなかなか自分には難しく、向いてないよなあと思ってしまうことが多々あるのも事実なのですが・・・。

nil
記事: 428
登録日時: 13年前

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#8

投稿記事 by nil » 13年前

横から失礼します。
大学の2回生ならば卒業まであと2年半あります。
短いといえば短いですが、長いといえば長いです。

その間プログラミングを少しづつでも続けてみてはいかがですか?
学ぶことは大変ではありますが、
苦労してバグを取り除いた時、画面上でオブジェクトが動いた時、
新しいことができるようになった時の達成感を味わえば自然と楽しむ心の余裕も生まれますよ。

乱文失礼しました。

夢見がちな学生

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#9

投稿記事 by 夢見がちな学生 » 13年前

涼雅様、ご回答ありがとうございます。
仰るとおりだと思います。コピペとはいえ、龍神録プログラミングで弾幕が動いているのを見て、自分の実力でできたら一入だろうと感じました。

向いている向いていないとは別に、続けていきたいと思います。
また、続けていく過程で、どうしてもわからないことがあったとき、今後、ここの方々にお世話になると思います。

今後とも、どうかよろしくお願いいたします。

beatle
記事: 1281
登録日時: 13年前
住所: 埼玉
連絡を取る:

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#10

投稿記事 by beatle » 13年前

どうでしょう。ここ(ミクプラ)に登録するというのは。
登録するとチャットなどもできるようになり、そっちでも相談したりできますし。
掲示板や日記に書き込むとポイントが貯まるので一種のゲーム感覚で書き込みを楽しめます。
プログラミングを続けていくなら登録して損はないのでは。

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

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#11

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

C言語をどの程度理解しているか返答が無かったので、C言語の基礎の基礎のツールと練習問題のあるサイトなどをご紹介します。
出来れば、どの位できたかをあとで報告してもらえると嬉しいです。

●有名なFizz-Buzz問題。まず、これだけでも。
「1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。」
これを何も見ずに5分程度で書けるかどうか。C言語とプログラミングの理解度テストです。

●C言語の学習ツール
「KSK C Animationの詳細情報 : Vector ソフトを探す!」
http://www.vector.co.jp/soft/win95/edu/ ... tml?site=n
「Visualization C Interpreterの詳細情報 : Vector ソフトを探す!」 このソフトコンセプトは良いのですがバグだらけです。
http://www.vector.co.jp/soft/win95/prog/se442764.html

●C言語の学習サイト(練習問題あり) 全部やらなくてよいのでC言語の学習度の確認を。
「苦しんで覚えるC言語」
http://9cguide.appspot.com/
「初心者のためのポイント学習C言語」
http://www9.plala.or.jp/sgwr-t/index.html
「C言語入門」
http://www5c.biglobe.ne.jp/~ecb/c/c00.html
「Programming Place Plus C言語編 トップページ」
http://www.geocities.jp/ky_webid/Progra ... index.html

●C言語の練習問題。 嫌なら無理して、やらなくて良いですよ。
「課題一覧 - アナステイシア」
http://anastasia.dip.jp/index.php?url=t ... =kadailist
「C言語実力診断クイズ」
http://www.curiocube.com/mikata/cquiz/index.php
「C言語 練習問題集」
http://akabas.net/(S(taliry45fkng1j55hx ... eSupport=1
「C言語 練習プログラム集」 これは、ゲームを作る練習問題です。
http://akabas.net/(S(mlrkxl451pmm1z45zl ... CTask.aspx
「C言語 練習問題」 これは事務仕事の練習問題なので無理してやらなくて良いです。
http://www.geocities.jp/kenji_y0328/crenshu/index.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

夢見がちな学生
記事: 11
登録日時: 13年前

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#12

投稿記事 by 夢見がちな学生 » 13年前

beatle様、ご回答ありがとうございます。ご提案されたとおり、今後を考えると登録は必要だと思い、登録させていただきました。
皆さん、今後よろしくお願いいたします。


ソフト屋様、ご回答と多数のご紹介ありがとうございます。
ご指摘の「Cの理解度」ですが、自分でもどれだけの理解があるのか自覚しておらず「龍神録14章あたりで四苦八苦している程度」と言葉を濁してしまいました。
紹介していただいた問題をまずやってみて、そこから自分の理解度も一緒に見極めたいと思います。
今回の質問をして、皆様から多数のご意見を頂いて、肩の荷がすこしおりました。
本当にありがとうございまいた。

最後に、問題をやってみた後、ソフト屋様が仰る「報告」をさせていただきたいのですが、
今回のように掲示板を使うべきか、登録者が使える機能を使うべきか(さきほど、beatle様からご提案があり、登録させていただきました)
「報告」のようなものは手段はどのようなものがよいのでしょうか。

長々と質問してしまい、申し訳ありません

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

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#13

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

他の回答者の人もアドバイスの都合上理解度は把握したいと思いますので、ここにお願いします。
まず、Fizz-Buzz問題だけでも先に挑戦してみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

beatle
記事: 1281
登録日時: 13年前
住所: 埼玉
連絡を取る:

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#14

投稿記事 by beatle » 13年前

このスレッドで報告を求められていますので、基本的にこのスレッド、その中でも特にsoftyaさんのNo: 11の書き込みに返信する形で報告するのがいいと思います。
その上で、(多分全部の問題を解けるわけではないでしょうから)質問があれば新規にスレッドを立てるとか、些細な質問ならこのスレッドで質問しちゃうとか方法はあります。

チャットでリアルタイムに質問するというのももちろんありです。
しかしその質問が他の初学者たちにも資するなら掲示板がいいでしょう。

#と書いているうちにsoftyaさんがこのスレッドに書いてと要請していますね。

夢見がちな学生
記事: 11
登録日時: 13年前

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#15

投稿記事 by 夢見がちな学生 » 13年前

ソフト屋様、beatle様、ご回答ありがとうございます。
了解いたしました。今後はまずはFizz_Buzzからやっていき、そこから、ご紹介のあった問題の解決と、館のほうの勉強を平行させていきたいと思います


今回は、長々と続かせてしまい、すみませんでした。
皆さんから親身にしていただいたおかげで、今後の進め方もすこしずつ考えられるようになりました。
本当にありがとうございました。



ちなみに10時40分からFizz_Buzzを考えていますが、(こちらに書き込みをしている時間も含めてしまっているが)恥ずかしながら、5分で完成する能力はまだありませんでした。
実行結果をみると、惜しい気はしますので、なんとか完成させます。

完成したときや報告など、すぐにこのスレッドでお世話になってしまうと思いますが、皆さんよろしくお願いいたします。

最後に重ねて、長々とすみませんでした。

夢見がちな学生
記事: 11
登録日時: 13年前

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#16

投稿記事 by 夢見がちな学生 » 13年前

とりあえず、Fizz_Buzzはなんとかできたと思います。所要時間は約40分でした・・・。
if文の順序が原因だったと思われるのですが、FizzとFizzBuzzが同時に出力されて、そこに悩んでおりました

一応、コードを貼らせて頂きます。

コード:

#include <stdio.h>   

int main(){
	int i;
	for(i=1;i<101;i++){

     if(i%3==0 && i%5==0){
			printf("FizzBuzz\n");
		}
		
		
	 else if(i%3==0){
			printf("Fizz\n");
        }
		
	 else if(i%5==0){
			printf("Buzz\n");
		}
	 
	 
	 else{
			printf("%d\n",i);
		}
	}
	return 0;
}
本当に初歩の初歩ですが自力でやってみて、とりあえず完成(間違いがあるかもしれないが)して、充実感がありました。
これから、ほかの問題もやっていきたいと思います。そのときにまた報告させていただきます。
何度も何度もすみません。
では、失礼いたします。


また、コードを貼るのは初めてで、もしかしたら規約に書かれているとおりに貼れていないかもしれません。
その場合、今後改めます

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

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#17

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

codeタグで惜しい間違いがあります。

コード:

が正解ですね。直しておきました。
プログラムに関しては慣れていないだけで構築力の基礎は出来ていると思います。

念の為に書いておくと、
(1) C言語の文法の理解。
(2) プログラム・アルゴリズムなどの構築力
(3) ゲームプログラムの構築力
は全て別の勉強を要するものです。
(1)よりも(2)と(3)はより時間が掛かるものと思ってください。

Fizz_Buzzの問題は(1)と(2)の基礎理解度を測る問題です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

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

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#18

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

ちなみに、Fizz_Buzzの問題はこんな風にも書けます。

コード:

#include <stdio.h>

int main()
{
	int i, flag;
	for( i = 1; i <= 100; i++ ) {
		flag = 1;
		if( i % 3 == 0 ) {
			printf( "Fizz" );
			flag = 0;
		}
		if( i % 5 == 0 ) {
			printf( "Buzz" );
			flag = 0;
		}
		if( flag ) {
			printf( "%d", i );
		}
		printf( "\n" );
	}
	return 0;
}
for( i = 1; i <= 100; i++ )の方が直感的なので、この場合はこちらをおすすめします。逆に0から始まる時は<とした方が直感的です。

あとインデントですが、なんらかのスタイルを意識して書かれたほうが良いでしょう。
「{}の位置 • C言語交流フォーラム ~ mixC++ ~」 過去ログですか参考にしてください。
http://dixq.net/forum/viewtopic.php?f=3&t=11078
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

夢見がちな学生
記事: 11
登録日時: 13年前

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#19

投稿記事 by 夢見がちな学生 » 13年前

ソフト屋様、ご回答と訂正をしていただき、ありがとうございます。

コードの貼り方も以後気をつけます。
コードを書いてるときも「もっとかしこい書き方があるんだろうなあ」と思ってました(苦笑)

インデントも今後意識していきます。

紹介していただいた課題のほうもこれからやっていきたいのですが、考えてみたら、私が質問をしすぎたので、
だんだんと質問タイトルに反してきてしまっているし、同じスレで何度も見ていただくのは申し訳ないので、
この質問スレは解決にさせていただこうと思います。今後の課題のコードの訂正のお願い、質問などはまた別にスレを立てさせていただきます。

このたびは、昔のことから、勉強の仕方なども教えていただき、皆さん本当にありがとうございました。
少しずつでも精進していきます。

nil
記事: 428
登録日時: 13年前

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#20

投稿記事 by nil » 13年前

FizzBuzzには%演算子を使わない方法もあってですね……
そういうのを考えるのも面白いですよ

夢見がちな学生
記事: 11
登録日時: 13年前

Re: C言語やゲームプログラミングには直接の関係はないのですが・・・

#21

投稿記事 by 夢見がちな学生 » 13年前

涼雅様 いろんな方法、書き方があるんですね。
さきほどFizz_Buzzをやっていたときに、いままでは理解していると思っていたものでも、いざ自力だけでやると
かなり苦労するんですね。でも実行して思ったとおりになった時、プログラミングの楽しさを垣間見た気がします。
余裕ができたときに、別のやり方や、よりよい書き方を、今後の勉強でも考えられるようにしたいです。

今回は本当にありがとうございました。

閉鎖

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