1 :
Kazuki :
2010/09/10(金) 06:35:05 ID:8vGP1TSQ Kazukiの同人3DRPG制作 公式サイト
ttp://www.kazuki-sendo.com/game/ 発展途上中の素人Kazukiを中心として、
DirectX9による3DRPG制作に挑戦します。
開発言語は、C++です。
長く苦しい戦いになると思われますが、
同人ゲーム制作の限界への挑戦が、当企画のテーマでもあります。
2ch当スレを本スレとし、
ニコニコ動画、zoome、mixi、の3コミュメンバー合同で同人3DRPG制作に挑戦します。
※本格的にゲーム制作に協力していただけるメインメンバー様へは、
ゲーム完成後に平等に利益分配されます。
(詳細は公式サイトのメンバーページ)
公式サイトでは、 DirectX、Visual C++ 2010、C++の解説をしていきます。 これは、同人ゲーム制作に興味はあるけど、 プログラミンングスキルを持ち合わせてないような素人さんを育てて、 当企画に協力していただこう。 というのが狙い。 こういった企画は、 ど素人は敬遠されがちで、 プログラムを知っている人だけが中心になりつつあるところがある。 また、素人が参加しようものなら、 プログラミング経験者は、 素人を叩き、素人のやる気を喪失しつつ傾向がある。 俺はそんなスレを見るたびに、 残念な気持ちになる。
プログラミングを全く知らなくても結構、 大切なのは、本人の【同人ゲームを作りたい】という気持ち一つです。 ゲームプログラミングについては、 公式サイトで解説していきますので、 そこでプログラミングをイチから学んで 一緒に同人ゲームを作っていこうではありませんか。 失敗する理由を追い求めるよりも、 成功を追い求めることが成功者になる秘訣です。
なんという完成しない臭 これは間違いなく無理ゲ
>>6 完成しない理由を語ればいいと思う。
完成しない理由を知ったならば、
今度は完成させるためには
何が必要かを語ればいい。
飲食店でも繁盛する店と繁盛しない店がある。 繁盛しない店は、 どうすれば店を繁盛させれるかと考えればいい。 それをゲーム制作に置き換えて考えてみる。 どうすればゲームは完成するのか。 ゲームを完成させるには何が必要なのか。
完成に必要なものは妥協だな このスキルがない奴はゲームを完成させる事は困難。というか無理 なんか同人ゲーム板の深い夢境という3DRPG作ってたスレを思い出した
妥協というかできるだけ小さな規模のゲームを目指す事だな 当たり前だけど超大作RPGなんか作ろうとしても絶対に不可能 小さな規模にすればするほど完成する可能性は上がる
>>10 何をもって超大作RPGと呼ぶのかを詳しく伺いたいところ。
ファミコン版ドラクエTやファイナルファンタジーTは、
超大作RPGだろうか。
当時は大作RPGだったかもしれないが、
現在においてはどうだろうか。
当企画で制作する同人ゲームは3DRPG。
3Dの世界に3Dキャラが登場し、
3Dキャラを操作して物語をクリアする。
そんなゲームを目指す。
壮大なストーリーを用意し、
人気同人RPGになれば、
人はそれを大作RPGと呼ぶでしょう。
依存の大作RPGを例に見てみると、 人気RPGの条件は、 ・音楽 ・キャラクター ・ストーリー 上記の3点ではなかろうか。 この中で、特に重要なのは音楽です。 次にキャラクター。 人気RPGドラクエを見てみれば、 ゲームショップで、ドラクエの序曲が流れているのを聞くと 自然とわくわくした気持ちになるから不思議です。 そして、ドラゴンボールの作者で人気漫画家の 鳥山明氏が描いたキャラクターが動いている映像を見ていると 購買意欲をそそられてしまう。
大作って作り込みの話だろう オブリビオンとかその3つのうちどれも当てはまらないと思う あの膨大なスクリプトは個人レベルでは無理だ ようは内容の濃さ薄さだね
まぁ、とにかくがんばれ
Windows用の3Dゲームを作るには、 DirectXという技術を使う必要がある。 確かDirectXは1995年ごろにバージョン1が登場し、 現在まで様々なバージョンアップがなされており、 現在の最高バージョンは、DirectX11。 どのバージョンのDirectXでゲームを制作するかで、 ゲームのクオリティに影響すると思ったので、 各バージョンのDirectXを調べてみた。 どんなものでも最新のものが良いに決まってるので、 まず着目したのはDirectX11。 DirectX11は、Windows7を購入すれば、 最初から入っています。 DirectX11やDirectX10には、 CPUの負担を軽減させるためのシェーダーが実装されています。 つまり、DirectX11で追加されたシェーダーを使用すれば、 パソコンスペックに優しいゲームが完成する。 だが、そのリスクとして、 膨大なプログラムコードを書く必要がある。 何も表示させないウィンドウを表示させる場合でも、 DirectX11の場合、100行以上のコードを書く必要がある。
そしてDirectX9に着目する。
DirectX9のコードを見てみたところ、
DirectX11やDirectX10と比べると、
比較的少ないコードで済みます。
では、今度はDorectX9では、
どれほどのクオリティが実現出来るのかが気になるところでしょう。
そこで、DirectX9で制作されたWindows用ゲームを
片っ端から調べてみたところ、
無料オンラインゲーム、ドラゴンネストがDirectX9で制作されていることを知った。
DirectX9のクオリティを視察する目的で、
ドラゴンネストをプレイしてみたところ、
想像以上のクオリティだった。
ドラゴンネスト - 黒竜の領地【超最高画質HD】
ttp://zoome.jp/kazuki_p/diary/66/ 上記はzoomeにアップしたドラゴンネストのキャプチャー動画です。
そして、今期発売予定の、
Windows用ファイナルファンタジー14もDirectX9で制作されているとのこと。
まあ、そのような理由で、
DirectX9で制作することにした。という次第です。
>>13 >※ゲームを販売しなくても、依存の音楽を使用したゲームを制作すると、
>著作権法で罰せられます。
依存じゃなくて既存(きぞん:「すでに存在する」と言う意味)な
んで既存曲を使っても制作しただけなら罰せられない
公開して初めて著作権法違反に問われる可能性が出てくる
その上著作権法違反は親告罪だからたとえ無断で使っても権利者に訴えられなければ罪に問われることは無い
だからフリー素材として公開され無断使用か滸可されている物なら既存曲を使っても罰せられる心配は無い
むしろHPで勝手にこなたの画像とか貼ってたりする方がよっぽどマズイと思う
>>19 依存と既存の言葉間違いは単なる俺の間違い。
叩かれて当然なので異論はない。
だが、
>>19 は
>>13 の意味するところを理解しないまま、
発言している点が問題。
恥じる行為である。
>※ゲームを販売しなくても、依存の音楽を使用したゲームを制作すると、
>著作権法で罰せられます。
とは、公開することが前提のお話。
>>19 が、この日本語を理解しないといけないのは、
「販売しなくても」の箇所。
「販売しなくても」という言葉をわざわざ使っているので、
そのことをよく理解する必要がある。
つまり、これは「お金を取らなくて無料で公開しても」ということ。
例えば、誰かがドラクエの二次創作同人ゲームを制作したとする。
それを販売しないで無料で公開したなら、
違法ということ。
国語を勉強しましょう。
>むしろHPで勝手にこなたの画像とか貼ってたりする方がよっぽどマズイと思う
これは、俺のzoomeページのトップページのことを指しているのだと思われる。
千堂☆和樹さんの動画ルーム
ttp://zoome.jp/kazuki_p/ ここで使用しているキャラクターイラストは、
全て俺がイラストレイターを使用して描いた作品。
アニメ画像をキャプチャして
トリミングしたものではない。
俺は法律の専門家ではないので、
詳しくは解らないのだが、
例え、自分がイチから描いたものであっても、
アニメのキャラクターイラストを描いた場合、
肖像権か何かに引っかかると思う。
ただ、Googleの画像検索で「こなた」で検索すれば、
誰から描いたと思われるこなたのイラストが数え切れないほど表示される。
では、その者達は全員罰せられるのかというと、
答えはYES。
だが、こなたの著作権を所有している
アニメ制作会社、もしくは作者が訴えに出なければ、
当然、問題にはならない。
見苦しいw
では、東方のキャラクターを描いた場合はどうなるのかというと、 当然NGになる。 世間を見れば、東方の同人二次創作漫画は、 数え切れないほど販売されています。 実際のところ、 東方のキャラクターは、ZUN氏に著作権があるため、 東方の同人漫画作家は全員著作権法違反になる。 ちなみに著作権は、本人が宣言しなくても、 物を作った時点で、自動的にその者の著作物になる。 だが、その著作権を保有する者が、 訴えを起こさなければ問題にはならない。 ピカチューやドラえもんの二次創作同人漫画を描いた者が、 著作権法違反で訴えられたのは有名な話。 なので同人即売会では、 ピカチューやドラえもんを使用した同人漫画の出品はどこも受け付けていないのだ。
同人ゲームに限らず、 「同人」と名のつく物を制作する場合、 著作権には、特に細心の注意を払う必要がある。 ドラクエの制作会社である、スクウェア・エニックスは、 頻繁に裁判を起こしています。 ドラクエの攻略本を販売していた出版社を、 スクウェア・エニックスが著作権法違反で裁判を起こし、 販売禁止になったのは、 記憶にも新しい話です。
実際使うのかは知らないが、
>>1 のサイトのモデラーの準備のとこでXSI mod toolを用意してるけど、
これ商用利用は出来ないからね。
利益とか書いてるし駄目でしょ。
著作権以外のライセンスにも気をつけてね。
とりあえず3D描画ライブラリ使えよ
御託並べてないで物を出せ。
どうせ200レスもいかない状態で2018年くらいまで残ってるんだろうと思うと感慨深いものがあるな
またニコ動にコミュニティ作ったのか どうせ黙って潰すくせに
スペシャルサンクスとして名前乗るなら 名前に今までのログURL貼れば…
>>25 >>15 はスルーしてるので本企画とは無関係。
本企画は「同人ゲームを制作する」ことがメインでありそれが本題である。
>>15 のサイトを見たり、
>>15 の情報を語ったところで同人ゲームは完成しない。
前進はしない。
>>15 の投稿者は、
同人ゲームを制作する完成させることは眼中になく、
ただ、本企画を故意に邪魔してみたいだけ。
「自分に同人ゲームが作られない」から、
「自分に同人ゲームが作られない」から、
「自分に同人ゲームが作られない」から、
他の人に同人ゲームを作られてしまうことが気に入らないため、
同人ゲーム制作を故意に邪魔したいということ。
そして、この2chの【ゲ制作技術板】は、
「同人ゲーム制作に興味のある人」が集まる場所であり、
この板の正規住人にとっては、
このような者は邪魔者の何者でもない。
なので、ゲ制作技術板の住人からも完全スルーされて、
彼のレスはつまらない。
誰もレスを付けようとはしない。
というわけです。
>>26 XSI mod toolは間違い。
正しくは「Softimage Mod Tool 7.5」です。
潔く訂正して謝罪しましょう。
ところでライセンスについてですが、
同人ゲーム制作は、著作権の他にライセンスにも気をつける必要があります。
Softimage Mod Tool 7.5のライセンスも気になっていたので、
そのうち調べるつもりだったので、
あとで自分で調べる。
どうして、自分で調べるのかというと、
>>26 の発言者の発言を完全に信用していないから。
なので、自分で調べます。
ちなみに音楽ファイルにもライセンスがあったりする、
一般的に音楽ファイルには、WMAやMP3などがあるが、
そのような音楽ファイルにもライセンスが含まれているので
注意する必要がある。
>>28 うん。わかった。
じゃあ、たっぷり御託を並べることにしますw
たっぷり死ぬほど御託を並べるので、
全て相手していってね。(笑)
>>30 うん。わかった。
じゃあ黙って潰すから黙っててね。
相変わらずのアスペっぷりで安心したわ
なんでこんなに攻撃的なん? 取り敢えずプレイできるゲームを作ってみてよ キャラクターを動かせるぐらいでいいからさ
>そして、この2chの【ゲ制作技術板】は、 >「同人ゲーム制作に興味のある人」が集まる場所であり、 大間違い
>>37 >>2 のローカルルールをよく読もうか。
ここはマジメな良い子ちゃんや、
プログラムオタクだけが利用する場所ではない
デンジャラスな場所。
とりあえず、アフォな奴がいたら、
徹底的にズタボコに攻撃するから
警戒して発言してみようか。
ぶっちゃけマジメ君を見るとムカツクんだよねw 後ろから思いっきり回し蹴りをかましたくなるので不思議です。
>>38 うん。そのとおり。
お前みたいな、同人ゲームに興味のない人や、
お前みたいな、プログラムを知らない人も
冷やかしで利用する場所ですわ。
そんな奴ら一人ひとりをまともに相手してると疲れるだけなので、
適当にあしらって一掃します。
ここは2chなんだから、
2chらしく一般人が近づけないぐらいの空気で行こうぜ。
世間の2chへの評価はまだまだ低いし、
低俗な奴らだけが利用する場所という位置づけがある。
だが俺はそんな2chクオリティが結構好きだったりするから、
10年以上も2chを利用しているし、
そんなサイトで本スレを立てた。
その場所にはその場所なりのやり方やルールがある。
なので、このスレでは
2ch利用規定に触れない程度の
荒らしや、暴言、差別発言などを全面的に認めている。
>お前みたいな、プログラムを知らない人も はいはい、これまた間違い。
131 名前:名前は開発中のものです。[sage] 投稿日:2010/09/06(月) 23:36:17 ID:HoD9Xn5+ 自分がブサメンだと他の奴もブサメンだと思い込む 自分がニートだと他の奴もニートだと思い込む 自分が童貞だと他の奴も童貞だと思い込む 自分が作れないと他の奴も作れないと思い込む 2chでは良くあること
>>44 情報提供ありがとう。
さっきライセンスを調べてみたら、
スタンドアロンで57万もしていたので
ちょっと驚いた。
まあ、プロのゲーム会社も使うほどの高機能な3Dモデラーソフトなので
仕方がないと思うが、
ちょっと高いな。
一応、このゲーム制作に800万ぐらいの予算を用意しているので、
57万ぐらい出せないこともないが、
少し検討させていただこう思う。
DTMのための音源にもかなりの金がかかるので、
できるだけ予算は抑えておきたい。
まあ、商用目的でなければフリーで使えるので、
テストプレイ用のソフトは、
Autodesk Softimage Mod Toolを使用して、
3Dポリゴン制作を練習して、
本制作に以降する時に、
別の3Dモデラーを検討してみようと思う。
ゲームってね。 ちょっといいのを作るだけで、 一人で制作してもお金がかかります。 開発環境は無料だけど、 3Dポリゴンを作るための、3Dポリゴンモデラーを使用するために ライセンス料を支払う必要がありますし。 音楽を作る場合でも、 DTM制作ソフトを購入しないといけない。 DTMは制作ソフトのほかに音源を購入しないと意味がないので、 音源も購入します。 音源にはハード音源とソフトウェア音源の二種類があり、 ハード音源は、USBでパソコンにつなげて使用する。 参考までにYAMAHAのハード音源のCIシリーズの、 最新のCI2+は、3万ぐらいするが、 CI2+には、「Cubase Essential 5」という高機能なDTMソフトが付いているのでちょっとお得かもね。
>>43 実際のところ、
この板の住人で一人でゲームを作れる人なんていないと思う。
ゲーム制作は、プログラミングが出来れば作れるような
簡単なものではないから。
プログラム、ゲーム音楽、キャラクター作画、背景画、3Dポリゴン、シナリオ。
これら全てを一人でこなせる人が
ゲームを作れる人だと俺は認めます。
プ ロ グ ラ ム を 組 む だ け
の能力しかない癖に、
「俺はゲーム作れます」みたいな顔して偉そうにしている奴を見かけたら、
俺はそいつを後ろから、思いっきり蹴飛ばしたいw
東方の作者ZUN氏は、
これら全てを自分一人でやってのけたので尊敬する。
まあ、そんなわけで、
俺はZUN氏を目指して、
さらに彼を越えてみることに挑戦しているわけです。
営利目的と非営利目的は違う。 フリーソフト(非営利目的)ならば 手を貸すが、そうでないのならばあなた独りで行うべき。
まあ、ゲームは一年やそこらで完成するほど簡単なものではないので、 のんびりとやっていきます。 公式サイトではゲーム制作に必要な、 C言語とか、C++とか、DirectXとかを解説していくので、 ゲーム制作に興味のある人は、 それを見て学んでいってくれればいいかな。とか思っています。 プログラミングの解説のほかに、 DTM作曲方法や、3Dポリゴン制作方法、キャラクターの描き方、 シナリオの書き方、企画書の書き方とかも解説していく予定です。 必要とあらば、 ニコニコ動画やzoomeで、 動画で解説してみよう。とか考えています。 でも、やっぱ動画第一弾は、 プレゼンをしておくべきでしょうね。
言語解説いきなり何個か間違ってるのだがw
なんかKazukiさんに似てる感じのコテを見たことあるんだが そいつ見たときすげえなって思ったけどこういう人って別に珍しくないのかな
>>48 あなたはコミケには行ったことありますか?
コミケでは、同人漫画の他に、
同人ゲームとかも出品されています。
先月の夏コミで、
ZUN氏が東方の新作を出品しましたね?
俺は彼のように、コミケで自分が制作した同人ゲームを出品することが目的です。
お客様からお金を取るわけですから、
当然、営利目的です。
金を取るわけですから、
その金額に見合うだけのクオリティは追求したいですね。
独りでやりな。 一年間だけがんばれば独学でも出来上がる。 完成したなら、コミケで数百円で売れるだろう。 一年間がんばって 形にならなければ、あなたには無理です。 料金を取るようなものは無理。 趣味としてのフリーソフトならば、10年くらい楽しむのも良いでしょう。
言語解説見に行ったら相変わらずで安心したよ
期待してます
>>53 一年間ではちょっと完成しないなw
プログラミングとかは、
わりと簡単だったので、
あと数ヶ月もすれば、
サクサクと組んでいけると思う。
もうオリジナルのフレームワークを作ってしまったから、
あとは、内容をつめていくだけ。
フェードイン、フェードアウトとか、
そういうエフェクト関係も触っていきたいから、
DirectXヘルプを見ながら、
Direct3Dの機能をもう少し学ぶ必要はある。
プログラミングとかの技術は、
勉強すれば誰でも出来るようになる。
そんなんじゃなくて、
現在俺がもっとも難しいと感じているのは、
ゲームの内容。
つまり、ストーリーだったり、ゲームバランスだったり。
プログラミングなんかよりも、
こっちの方が100倍難しい。
面白い!と思うゲームを作らないと意味ないですからね。
ほら。立派なゲーム会社が作る PS3用ゲームソフトとかでも、 せっかく「ゲームを作れる技術だけは」あるくせに、 数千万クラスの予算でゲームを作るくせに、 糞面白くない糞ゲーを作る会社とかあるでしょ?ww ほんとマジで潰れちまえ!金返せ!って言いたいw ゲーム制作を本業にしてて、 最新ゲーム機であるPS3でゲームを制作するようなゲーム会社ですら、 「面白いゲーム」を作るのは難しいことなのです。 そして、俺が目指す同人ゲームは3DなRPG。 では、どんなRPGなら面白いのか。 現在の日本に足りないRPGとは、どんなものなのか。 そういったところをね? もう少しね? このスレで語ればいいとボクは思う。
もう始めて4ヶ月ぐらいに成ると言うのにまともな成果物が一個も無いと言う事実 って言うとここまでは出来てる、これは覚えた言い出すけどスクショの一つも貼れない事実 結局今まで成果物と呼べるのは公式のサンプルと他人のマップを使った物しかないと言う事実
取り敢えず >PS版のドラクエWクラスのRPGぐらいなら作れるようになってるよ。 これを出せよ あの間違いだらけの解説で本当に作ってんの?
以前と変わらず気狂いで安心した
>>57 いい事言うね
正直グラフィックはPS2レベルで満足
製作者でさえ予測できないような出来事が起こるわくわくするようなゲームがしたい
プローシージャルっていうのかな
あれをどんどん高度なものにしていったらできるかな?
>プログラミングとかの技術は、 >勉強すれば誰でも出来るようになる。 はい、ウソ。適性って知ってる?
www フェードイン、フェードアオトがエフェクト? そんなレベルか・・・失礼した。 まともに読んで損したわwww こんなやつにプログラムなんて誰でもできるよ(キリ されてんのかよwww がんばれや。坊主。
>>59 うん。
実はね。
もうミニゲームをいくつか完成させました。
4ヶ月前までは、プログラムのプも知らなかった素人が、
4ヶ月でまともにプレイできるゲームを一人で完成させることができたのです。
そんな俺が言うのだから間違いない。
難しい難しいプログラミングも、
勉強すれば誰でもゲームを作ることが出来ます。
適正なんて嘘っぱちです。ただの迷信です。
自分が出来なかった時のための言い訳。
まあ、そのミニゲームを公開しようと考えているのだが、
もう少し待ってね。
俺は自分が作ったゲームを公開して、
ゲームが作れるようになったことを自慢したいことが目的ではないんだわ。
そんなものには一切興味はない。
俺は同人ゲーム制作に興味があるけど、
残念ながらプログラミングで躓いてしまった人を
まずは、いっぱしのプログラマーに育て上げることが目的。
だって、プログラミングが出来るようになれば、
本企画に参加することが出来るでしょ?
こういった同人ゲームサークルってのは、 どうしても、すでにプログラミング知識を身に付けた人たちだけが集まり、 ゲーム制作に興味があるが技術を持ち合わせていない者を蚊帳の外にしてしまうところがある。 俺はそんなつまらないことだけは避けたい。 だから俺は、そんなゲーム制作に興味はあるけど、 残念ながら技術を持っていないような素人さんを 自分トコで育ててみようと考えたわけです。 公式サイトでは、C言語の解説から始まり、 C++のプログラミング解説、DirectX9のプログラミング解説、 シェーダー言語のプログラミング開発方法など、 小学生でも理解できるぐらいの解説を目指して、 ひとつひとつ解説していくつもりです。 サンプルゲームの公開は、 それらの全ての解説が終わってからにします。
>>63 じゃあ、悪いけど、
シェーダー言語組んだ画像処理を行うプログラムを答えてもらいましょう。
フェードイン、フェードアウトはもういいから、
そうだな・・、
では、ウィンドウ内に表示させた3D画面を、
残像を残したまま手前に接近させて、
別場面を変えるようなシェーダープログラムを書いてみてくれるかい?
後で公式サイトで詳しく解説するつもりだけど、
それを答えられないようでは、
あんたのスキルは俺より劣ってるということになる。
いやいや。 これは簡単すぎるか・・。 うーん。どんなのがいいかな。。 じゃあ、背景の3Dフィールドはフェイドアウトで消しながら、 3Dキャラのポリゴンの方を ぐにゃりと曲げたようにして消してですね。 場面が変わるときに、 全体の3Dフィールドはフェードインで表示させたあとに、 10フレーム後に、事前に画面の外まで分裂させておいた3Dポリゴンキャラを 少しずつ元の姿に戻すようなプログラミングを、 Direct3Dでやってみてくれるかな? これなら相当難しいし、 上級者レベル。 フェードイン、フェードアウトを「そんなレベル」と言ってのけたぐらいだから、 ちょうどいいでしょう。 ちなみにDirect3Dを理解してなければ、 絶対に答えられません。 とかなんとか言ったら、 DirectXヘルプを見て答えて、 これが俺の実力ですとでも言いやがるんだろうなww だから、やっぱ答えなくていいやwww
{
for (int z=0; z<15; z++) {
for (int x=0; x<16; z++) {
if (map_kazuki[z][x] !=map_kazuki[z+1][x]) {
float y1 = map_kazuki[z][x];
float y2 = map_kazuki[z+1][x];
float x1 = (float)(x - 8);
float x2 = (float)(x - 7);
float z1 = (float)(z - 7);
SetVertexData(pV + idx,
x1, y1, z1,
x1, y2, z1,
x2, y2, z1,
x2, y1, z1,
0, 0, sign(y1 - y2),
1.0 / 8.0, 0,
2.0 / 8.0, 1.0 1 8.0);
idx += 4;
*pData++ = 2;
*pData++ = 2;
}
}
}
}
>>63 君のために問題を用意しました。
これは何のプログラムか答えてください。
解説見てみた ちゃんと解説する気ないだろ 訳分からんぞ 検索で引っ掛かったら迷惑としか言いようがない
30 名前:名前は開発中のものです。[sage] 投稿日:2010/09/11(土) 08:26:16 ID:xUc3vhVp またニコ動にコミュニティ作ったのか どうせ黙って潰すくせに 調べたらすぐ出てきた。
>>68 さすがkazukiさんっす
他の間抜けどもにはわかんなくても俺にはわかるっすよ!
cpuが100%になって、ブゥイィィン言わせて
あたふたさせるプログラムッスね!
>>71 いやw違うww
3Dポリゴンは、3Dポリゴンモデラーというソフトを使って作るのが一般的ですが、
3Dはソフトを使わなくても作ることが出来ます。
これは、プログラムだけを使って、
3Dポリゴンを作ってみました兄貴!というプログラムです。
xとかyとかzとか、
座標を意味する単語が使われているところに着目すれば解ると思っていたのに。。
>>69 そっか・・。
訳が解らんか・・。
これにはショック・・。
素人にも解るように解説してみようとしたけど、
やはり、まどっこしいのは好かんので、
本来なら数ページ使って解説することを、
数行で解説してやろうとしたのがアダとなったか・・。
要するに!
プログラムは、メモリを使うのです!
メモリの中で、ドンパチやってんです!彼らは!
メモリの内部には、
様々な領域があって、その領域は絶対なのです!
領域の壁は固くて壊すことは出来ないのです。
プログラムで使うデータたちのことを「変数」と呼ぶのです。
変数には、ローカル変数とグローバル変数の二週類あってですね。
ローカル変数は、スタック領域。
グローバル変数は、静的領域で使うのです。
ここで、さらにローカル変数って何? グローバル変数って何? って聞かれると返答に困る。 二つとも日本人の誰かが、 そのように名づけました! wwww 変数ってどう見ても日本語だし、 C言語はアメリカ人が開発したけど、 そのC言語が、日本に渡った時に、 日本人の誰かが「変数」と翻訳して、そのような名前を付けて。 グローバル変数とかローカル変数って名前を付けたのでしょうね。 これはただの名称のことなので、 そんな名称は別に覚えなくてもいい。 二つとも変数であることには変わりはない。 ただ、メモリ内で扱う場所が違う。 俺って解説下手かなww
グローバルとローカルを漢字で書いてみ
ただ注意点が一つだけあります。 ローカル変数を扱うスタック領域は、 最大でも、たったの1MBまでしか扱えないということ。 なので、1MBになるまでに 変数を解放してやって、 扱うデータを調節してやらないとプログラムは停止してしまいます。 ちなみにコンピュータが扱うデータの単位には、 ビット(bit)とかメガバイト(MB)とかがあって、 1MBをビットに直すと、1000ビットぐらいです。 つまり、スタック領域で扱うローカル変数が、1001ビットになると、 プログラムが停止してしまう。 そんなわけで、ローカル変数が999ビットになった時点で、 変数を解放して、容量を減らしてから、 別の変数を取り込んで扱うわけです。
せめて解説の間違っている部分修正してくれ…
>1MBをビットに直すと、1000ビットぐらいです wwwwwwwwwwwwwwwwww
間違ったww ビットじゃなくて、バイトだったww 失敬wwww
>>1 の姿勢は好きなんだけど、参加できる人の敷居が低過ぎない?
バイトですらないけどw 1024KByte=1MByte(メガバイト) 1024byte=1KByte(キロバイト) 1byte=8bit 解説とやらもお察しだな。
>>81 いや。だから、1000ビットもとい、1000バイトぐらいと言ってるでしょ。
「ぐらい」です。
ちなみに1ビットは、2進数の一桁の単位のことでです。
文字データは、1文字で1バイトです。
まあ、そのことから、
スタック領域は、1MBぐらいしか使えないと言いましたが、
この1MBは相当な容量です。
普通にプログラムを組んでいれば、
スタック領域を1MB以上も使い切るなんて
まずないと思う。
関数を抜けるたびに、
解放されていくわけですからね。
なんで領域にそんなに拘るのか
プログラムの解説って難しいね。 こういうのは難しく考えないで、ひらめきで理解していけばいい。 そして、ブレイクスルーを起こしていくわけです。 ブレイクスルーとは、 悩みに悩み続けて、 脳の中で何かが弾けて、 それまで理解できなかったことが一気に理解できてしまう現象のこと。 プログラムを扱うには、 もちろんプログラム言語を理解する必要がありますが、 それ以前に、コンピューターの仕組みなど、 もっともっと、基本的なことを理解する必要があります。 CPUとは何なのか? メモリとは何なのか? そういったコンピュータの内部のことを知るところから始める必要がある。 それを理解しないと、 プログラムも糞もない。 CPUのスタックボインタレジスタ(ESP)とか、ESP+4とかESP+8とか、 どうやって解説するか悩んでいます。 ここさえ乗り越えてしまえばね。 実はプログラミングなんて、簡単なことなんです。 コンピューターという機械を理解することが難しいのです。
1000バイト≒1KByteな?
>>85 スレの流れとこの人のサイトみるだけで十分
>>83 プログラミングを理解する上で、
もっとも重要なことだからです。
もしかして、この人はPC-9801のMS-DOSでコードを書こうとしてるのかしら?
理解してなくてもゲーム作れると思うが…
>>92 プログラミングを理解しないでゲームを作る?
ああ、君はDXライブラリを使ってゲームを制作して、
ゲームを作れるようなつもりになっているわけですね。
俺はDXライブラリは認めません。
あれはプログラミングとは認めたくない。
DXライブラリを使用すれば楽です。 コンピュータの構造なんて理解してなくても、 DXライブラリが用意している関数を使えばいいだけですからね。 でも、それだと応用が利かなくなる。 だから俺はDXライブラリは使いません。
ん?領域なんて特に意識する事ないだろう?
ところでゲームは完成したの?
97 :
名前は開発中のものです。 :2010/09/12(日) 22:46:05 ID:/0LY/OHF
DXライブラリだけで大概のもの作れると思うしー別にいーんじゃないの? ゲーム作成するためにメモリの仕組み覚えるなんて必要ない気がする クラス作ってパラメータの計算、DXライブラリで描画してハイ終わり。 それより作りたいものが決まってないと言語以前の問題
DXライブラリはただの描画ライブラリなんだからゲームの本質的な所とは一切関係なし よっぽどプログラミングを理解してないんだなあ。
99 :
名前は開発中のものです。 :2010/09/13(月) 00:44:55 ID:eD2Excdd
色々面白いスレだったからサイト見てきた。
http://www.kazuki-sendo.com/game/?p=338 ここ色々おかしくね?
{ }(パレーン)」で囲まれた範囲
→パレーンって()じゃね?{}はブレースじゃね?w
ついでにその下のソースさ、C言語の解説してる癖にfor文の中でint b宣言&初期化してね?
ファイルが.cppだったら通るっちゃ通るけど、これはC++の書き方で、C言語の書き方じゃねくね?
あれ俺が間違ってるのか?
ファミコンの組み込み系とかやりたいのかってくらいメモリにこだわってるなwwwww いきなり{}がどうのこうのいわずHello Worldだけコピペで実行させるもんじゃねーの?#includeはおまじないです☆みたいなこと書いたりしてさ 変数もいきなり型の説明から入ってるけどとりあえず変数がなんなのかとか適当な計算とかやらせるもんじゃねーの?わかってる人間が見ればそりゃ理解できる内容だがガチ初心者が見たら理解する前に違うページググるぞ
自分で全部やってやる!って意気込みは結構だが、 DXライブラリ批判は、既存のライブラリを使ってでもゲームを完成させた人が言わないと、 ただのワナビーやいきがってる中学生とかにみえちゃうなー
粋がって盛り上げるだけのスキルがねぇよな 俺も結構動けばいい主義だけど こいつのは下手したら動作しないレベルだろ
>>99 そこ以外でも細かい間違いが多々あるよw
解説の間違いをつっこむスレとかにした方が盛り上がるかもね
>>68 のソースとかひどいもんだ
>>100 いやいやw
残念ながら、#includeは、おまじないじゃないw
そんな嘘を教えている解説本は捨てたほうがいいよ。
#includeは、hファイルを呼び出すためのものです。
コンパイラが用意しているhファイルを呼び出すこともあれば、
自分で作ったhファイルを呼び出すこともある。
hファイルの中に関数の意味が書かれていて、
例えばDXライブラリを使う場合は、
DXライブラリの作者が作ったhファイルを呼び出して
それを使っているだけに過ぎない。
ライブラリってのは自分でも作れるのです。
>>99 その発言でお前のレベルが解ったwww
{ }←これはパレーンと呼びます。
こんな基本的な知識も間違えて覚えておいて、
よく批判とか出来るよなぁwwボク
俺は少し前まで素人だったから、 まだ素人の気持ちはよく解る。 #include<stdio.h> int main(){ printf("Hollo World!!"); } ↑ こんなソースコードを初めて見た人は、 その一つ一つの意味が気になる。 #include<stdio.h> これの最初の#ってどういう意味? <stdio.h>の<ってどういう意味? int main(){の{ってどういう意味? という風に、一文字一文字が気になる。 そして、その一文字一文字を説明してほしいと思うのです。 C言語のメインは、型とか関数ではなく、 { }←これがメインなんです。 どんなに複雑なC言語のソースコードでも、 { }←で囲まれています。 そのパレーンの前に型と関数を宣言する。 それほど{ }パレーンは重要なわけです。
>>106 あれ〜?
本当だwwww
そこには{ }をブレースって読んでるね。。。
どうしよう・・ガクブル。
俺が間違っていたの?ww
まあいいや、そんなこと!
普通に中カッコって言えばいいでしょ!
中カッコを英語で呼んで
ちょっとカッコつけてみたかっただけだよ。
いいじゃないか、そんなことどうだって・・。(^^;
名称の読み方なんて、そんなに重要か?
重要じゃないけど、 こんな基本的な知識も間違えて覚えておいて、 よく言語解説とか出来るよなぁwwボク とは思われても文句は言えまい。
俺、英語は苦手です。 中学校か高校の頃に間違って覚えていたみたいww 正しくは、 { } ←ブレース ( )←パレーン と読むらしい。 ちゃんと調べて書けばよかったですね。 記号の読み方ぐらい当たり前という頭があって、 記号の読み方まで調べていませんでした。 ずっと、{ }←これをパレーンと読んでいましたww 恥ずかしいww ところで大阪でよく見かける「月極駐車場」←これ、なんて読むか知ってるかい? 俺、少し前まで「げっきょくちゅうしゃじょう」と読んでいて、 飲み会の席で大恥をかいたことがあるww(^^; 正しくは「つきぎめちゅうしゃじょう」と読みます。 まあ、いいじゃないか。 名称の読み方間違いぐらい笑いにしてしまうぐらいの余裕は持っておきたい。 一応、公式サイトの解説は修正しておきました。
3DRPG製作しないの? 尊大な態度で鼻につくし、自尊心が人一倍高く自分の過ちを素直に認めることができない 歩調を合わせ目標に向け一緒に努力する姿勢すらない 何がしたいの?まじで
読んでるから適当に頑張れ( ゚д゚) 俺は3Dは無理だからツクールかウディタでエロゲ作ってる
113 :
名前は開発中のものです。 :2010/09/13(月) 09:16:13 ID:gd6Dw/hK
C言語覚えたてで初心者相手に知識をひけらかしたいだけなんだろ? 俺ってスゲーだろみたいな ゲーム制作という言葉を餌にしてね
・全てにおいてint main()のリターンが無い ・変数と型がタイトルなのに変数に触れてない 関数を変数に差し替えた方が良い気がする ・型に好きな名前を付けて使います。 勘違いしやすい 最低でも「型の後に」にしたほうが良いと思う あとは上でも言ってるけど厳密にはC言語じゃない C++編でクラスとかやる予定なら基礎編とでもつけた方が無難。 個人的にクリティカル気になったのはこれくらい。 まだあるけど意図的な物だと思う… 解説を名乗るなら最低限以上の物は修正して欲しい 「おまじない」を使わずに言語解説は二つの意味で難しいと思うよ
>>105 webクリエーターの癖に
ファーストビューをファーストコンタクト
とか言ってた人が居るけど
その人もwebページの批判とかしてたなぁ
誰でも間違いはある。間違える事は別に恥じゃない。 間違いを認めて是正すればいいだけ。 恥ずかしいのは、間違いを指摘された時に素直にそれを認めない事。 「いいじゃないか、どうだって。そんなに重要か?」 というような言い逃れとかね。
それよりも間違えてる癖に >こんな基本的な知識も間違えて覚えておいて、 >よく批判とか出来るよなぁwwボク とか言っちゃってる時点で大恥だろ
まぁ2chだと些細な間違いに対して必要以上にしつこくあげつらう奴が多いからなぁ こいつは他の典型的な厨房と違って自分が間違えたと自覚出来たことについては結構素直に間違いを認めてるし、 実際上で指摘されてるのは(間違いを正せたなら)それ以上突っ込む必要のない割とどうでも良い間違いが多い 訂正が済んだことに対しては「もういいだろ」でも別に構わないよ 間違いは認めたんだから少なくとも言い逃れじゃないしな てゆうかこいつのどうしようも無さはもっとずっと根深いところにある
>>114 ちょっと意味を履き違えてますな。
まだプログラミングの解説までは行っていないよ。
現時点では、各名称の意味を解説してるだけです。
例えば、スコープの解説で、C++のソースを例題として出しているけど、
本題はそこじゃなくて、
スコープって何?というところです。
スコープの解説のために、
C++のソースを出しただけであって、
そんなことは別に気にする必要はなくて、
スコープの意味が解ればいい。
ローカル変数は、スコープ内だけで使うんだね。
スコープの外では使えないんだね。
スコープを気にしないで変数を使いたい場合は、
グローバル変数を使えばいいんだね。
ということが理解できればOKなのです。
int main()にはリターンが必要です。 それは常識です。 でも、素人は簡単には理解できないのです。 リターンとは何なのか? 返し値とは何なのか? 返しとはどこから返してるの? そんな感じに突き詰めていくと、 先にメモリ内の領域を理解しておく必要があるわけで、 return 0;の意味も解らず、 飾りみたいに使用してるのと、 意味を理解した上で使うのとでは全然違う。 今、C言語の計算についての解説を書いてるところだけど、 メモリ内でどうなってるのか。 という図解入りで解説を書いています。 ちょっと面倒だけど、 その方が素人には解りやすいと思う。 俺は常に素人の味方でありたいわけです。
C言語の計算式って独特だよね。 普通に小学校で習うような、 1 + 1 =2 という形ではないですからね。 「a+=1」て書いたり、「++a」て書いたりするでしょ? 「a=a+1」 こんな簡単な計算式ですら、 aの答えを求めているのに、 どうして、式の中にaが入ってるのよ!とか思いませんでしたか? 理解しちまえば、 どうってことないけど、 素人はそんなところからつまずくのです。
御託を並べるのは結構だけど、お前何かゲーム作れるの? ってか何が出来るの?
プログラムの正体は、計算式だから、 計算を理解しないと先には進めません。 数学に強い人とか、 俺みたいに数学が好きで好きでたまらない人には、 すごく楽しいかったりする。 プログラミングって面白いよね。 俺はソースコードを読むだけで、 うれしい気持ちになりますね。 超解りやすい解説がもう少しで完成するので、 楽しみにしておいてほしい。 これで理解できなかったらどうしよう。と思ってしまう。。(^^;
数学ってより算数のレベルだよね でもプログラミングって面白いね
バグが出るとワクワクしながら変数を覗いてしまう
>>125 >超解りやすい解説がもう少しで完成する
なんか釣りなんじゃないのかって思ってきた・・・。
本当数年ぶりにこんな奴見たわマジで。
129 :
名前は開発中のものです。 :2010/09/13(月) 19:03:50 ID:gd6Dw/hK
ワクワクしてきた
130 :
名前は開発中のものです。 :2010/09/13(月) 20:14:54 ID:gd6Dw/hK
本出せば売れるんじゃね? 俺は買わないけど
ふう、疲れた。 これだけ解説するだけで、 どれだけ時間を費やしたことか。。(^^; これ以上、優しく解説するのは無理です。
132 :
名前は開発中のものです。 :2010/09/13(月) 21:04:54 ID:0mVb50Li
ところでお前ら、改行抑えてくれない? 読みにくい
133 :
名前は開発中のものです。 :2010/09/13(月) 21:09:41 ID:0mVb50Li
>>120 Cは触った事ないけど、C++はvoid main()にすればリターン不要だよ
そもそもCの規格(どの規格かまでは忘れた)でint main()に返り値が必要なだけで、理屈で決まってるわけじゃない
あ・・。しまった。 今、読み直したら 大変な嘘を言ってることに気が付いたww ヤバイヤバイww 現在、修正中
嘘も言ってるし、コンパイルも通るハズが無いコード晒して本当酷いな。 本当に付け焼刃な感じがする。
よし、修正終わり。 ヤバイヤバイ、また大恥をかくとこだった(^^; さて、次は何を解説してやろうかな。。 やっぱ、流れ的にここまできたなら、 次は、構造体や定数、列挙体かな? ポインタはもう少しあとですね。 ポインタの解説はちょっとややこしいな・・。 それから最後に、if文や、条件分岐、ループを解説して、 C言語の解説を終えることにしよう。 あ、return文の解説を忘れてはいけませんねw C言語の解説が終わったら、 C++をDirectX9を織り交ぜつつ解説していきます。 多分、君たちはこの部分を知りたいんだろうね(^^; 正直、今のところ常識すぐるところしか解説していないので、 あくびが出てしまうことが予想されますが、 もう少しお待ちください。 そのうち上級者レベルのボリュームの高い解説になります。
>>135 じゃあ、どこが嘘なのかを言ってくれるかい
138 :
名前は開発中のものです。 :2010/09/13(月) 21:48:33 ID:0mVb50Li
>>136 んなもんぐぐったらいくらでも出てくる
現在のPC環境で、共用体の実用的な使い方を教えて欲しい
これはマジで知りたい
>よし、修正終わり。 え? まだ大量にウソ書いてる。 ウソ書くのなら、やめた方がいい。
>>139 悪いけど、あんたの相手はしないよ。
ずっと一人で言ってればいいよw
>>138 共用体ってのは、
このあと解説するつもりだった、
構造体に似たようなもので、
メモリ内の領域を複数の変数で使うためのもの。
union uni
{
int a;
char[5];
}kazuki;
共同体を使うには、
このようにunionを使って宣言する。
これを関数の中で呼び出して使えばいい。
int main(){
union uni;
}
で、実用的な使い方ってなんだい?
何がしたいんだい?
>>137 じゃあ、どこが嘘なのかを言ってくれるかい(キリッ
WEBデザイナーって真性のアホでもなれるんだな。
※サイト内ソースと解説
#include <stdio.h>
int main()
{
int a , b;
{
a = 50 * ( b + 10 );
printf( "%d" , a );
}
printf( "%d" , a );
return 0;
}
ちなみに、これは前回のおさらいですが、
このようなコードを書いた場合、ローカル変数は関数を抜けた時に解放されるため、
aの領域もbの領域も消えて無くなります。
存在しない領域を表示しようとしているので、
コンパイルエラーになります。
143 :
名前は開発中のものです。 :2010/09/13(月) 22:14:36 ID:0mVb50Li
>>141 じつよう‐てき【実用的】
[形動]実際の用に適するさま。実際に役に立つさま。「―な贈り物」
unionの意味ぐらいは知ってる。どういうときに使えるの?
無いなら無いって答えて欲しい
俺は経験上、unionを使うべき機会に立会ったことが無いんだ。応用が効かなかっただけかもしれないけど
例えば、そうだな。
ガベージコレクションも実装されてるものとして、ネットゲームのクライアントとする。FF14でいいかな。どこに使えばいいと思う?
ああ
連続発言で投稿できなかった。 えっと、これもこの後、解説するつもりだったんだけど、 列挙体と構造体を組み合わせて共同体を使うのが実用的な使い方です。 その前に、列挙体と構造体の意味が解ってないとダメですね。 じゃあ、次は、構造体と列挙体の解説をするから、 その後に、共同体を解説することにしましょう。 まあ、要するに、 3Dポリゴンの描画の際に、 列挙体を使って宣言しておいて、 構造体の中で、共同体を呼び出して使う。 説明するの難しいな・・。
運命共同体w
まあ、要するに、 3Dポリゴンの描画の際に、 列挙体を使って宣言しておいて、 構造体の中で、共同体を呼び出して使う。 えっ・・・そんなにめんどくさい事するんですか?
後、列挙体ってのもあまり聞かないな列挙型じゃね? 回りくどい言い方せずに普通はenumだな
ちょっとフォローしてやるとこんなところじゃねぇか?>共用体のウマーな使い道 // 色データ union{ struct{ unsigned char b_; unsigned char g_; unsigned char r_; unsigned char a_; }; unsigned long color32bit_; }; ところでたまに「共同体」ってなってね?
構造体の利点は、 異なる型を一つのデータとして使えること。 つまり、int型とchar型をメンバ変数で宣言して、 構造体変数を宣言して、メンバ変数に数値を代入する。 列挙体は、定数ってのを使うんだけど、 定数ってのは、 #defineというプリプロセッサ命令を使って、 ソースコードを解りやすくするためのもの。 その定数を連続して使いたい時に、 列挙体を使う。 列挙型を適当に宣言して、 それをまあ、int型などで使うわけですね。 それに共同体を組み合わせる! 説明難しいww
>>148 列挙型は型名。
列挙体は、そのものを指す。
列挙型は、○○である。
て言うのは日本語的におかしい。
列挙体は、○○である。
って言った方が日本語っぽい。
>>150 列挙体と列挙型の説明をもう少しkwsk
さっきから「共用体」のこと「共同体」って言い続けてる奴 このまま言い続けたら関節極めんぞ
>>151 そんな奴しらん!w
眼中にないから、
見向きもしていない。
あとで暇な時に間違えを探しておくよ。
どうせ、簡単な間違いを大きく取り上げて騒いでるだけでしょ?
>>154 あらw本当だwwwwwwwwww
自分で言ってて吹いたww
158 :
名前は開発中のものです。 :2010/09/13(月) 23:00:36 ID:0mVb50Li
>>145 いや真剣に聞いてるんでどれだけ説明が難しくなってもいいし、
ぶっちゃけ抽象的でもいいんだけどできればネトゲのFF14あげてるんだからそれで例えてくれw
>列挙体を使って宣言しておいて、
>構造体の中で、共同体を呼び出して使う。
例えば戦闘シーンに入るごとに敵グラフィックを呼び出すとする。
その敵グラフィックのメモリには共用体を使うってこと?
それとも似たような敵でサイズが同じ奴(スライムとスライムベスとか)に適用ってこと?
>>149 それは釣り師のよくやる手だよ
俺も昔はよくやったな
突っ込みどころが多いとスルーしやすいんだよね
>>151 俺からも
>>151 の質問に答えてあげて欲しい
無いなら無い、というべき
レスがないのは無能の証拠になってしまう
俺も
>>142 は結構クリティカルな説明ミスだと思うんだが。
>>158 スライムの図形を列挙体で定義しておき、
もっと具体的な情報を構造体で定義する。
それを共用体を使って統一的に扱い、
例えば色を赤にしてスライムベスを作る。
元の図形は一つで済む。
こんなところか。
今回もよろしくお願いします。 ・int型の宣言で確保されるのが1byte ・int a,b; 確保しただけなので、各領域には何も入ってません。 基本的には何が入っているか解らないはず。 ・b+10 この時点でbの領域に10が代入 →+は代入演算子じゃ無いのでbには入らない b+10に演算結果が埋め込まれる感じ →何が入っているか解らないので10になるとは限らない。 →bを初期化してないのでコンパイルエラーか警告もしくはエラー落ち。 ・aの領域もbの領域も存在しないためエラー ブロックの前で宣言してるから領域はある。 初期化してないからエラーか警告か。 今回クリティカル気になったのはこれくらいです。 コンパイラーやマシンによって違う部分もあるけど メモリー領域の話をするなら初期化は最重要だと思います。
165 :
名前は開発中のものです。 :2010/09/13(月) 23:20:56 ID:rfZsSMdB
ごめんなさい
test
>>163 気がつくまで教えないでおこうと思ったが乙。
多分bの初期化エラーでコンパイル通らないと思う。
なんだかなぁ。
C++とかの解説って本当に出来るのかよって思うよ。
生半可な知識で初心者に教えてもこんがらがって初心者が可愛そうだわ。
うひょ、規制あけたぜえ 期待してるぜえ
空っぽってなんだよwww
171 :
名前は開発中のものです。 :2010/09/13(月) 23:28:42 ID:0mVb50Li
>>161 いや、理屈では理解してるよ。同じメモリ領域を色んな変数で使うんでしょ
やさしいC++のunionnの項目でも読んだ。あんまり使わないからピンと来ないのかな
>>162 なるほど!特に3Dで動的に作成するならとても有効だろう。特にグラボのチップセット内部ではかなり使ってそうな感じは伝わてきた
ところでスライムの画像って3Dで事前に用意してメモリに格納しておくとおもってたんだけど、ゲームでは動的に作成するの?
・予め作成してある3Dデータを格納するメモリ
と、
・3Dデータを動的に作成グラボの値段
を天秤にかけると、前者のほうが圧倒的に安い、つまり商業的に敷居が低いと思うんだけど
そこはどうなの。もちろんメモリの扱いもうまく、グラボにも負担をかけないのが理想だけど
開発の経費が決まってるとして、ね
絵描きに色が違うと言っても、色調が合っていれば良いと言い張る。 プログラムコードは違う、 1bit違っていてもコードは停止する、bugを探し出すのに数ヶ月を要することもある。
>>171 を読んでて、ふとコンストラクタの初期化リストでリソース読み込んでるバカが居たのを思い出した。
初期化を忘れてた・・w うわwwどうしよう・・。
いや! でもちょっと待て。 問題はそこじゃないよね? あの解説のメインは、 C言語の計算の考え方についての解説なので、 これでいいじゃない。 って言い訳になるか・・ww あとで修正しておこう。
間違いは初期化だけじゃねーからw
180 :
名前は開発中のものです。 :2010/09/13(月) 23:38:36 ID:0mVb50Li
>>173 ごめんなさい無学なので本気でわかりません
殺す気で教えて頂けないでしょうか
Kazuki先生の解説だとこうなる int a,b; a=50*(b+10); printf("%d",b); 結果---------------------------------------------------------- 10
>>176 > この時点では、領域を確保しただけなので、各領域には何も入っていません。
忘れてたとか言ってる割には意図的に初期化してないじゃんw
つか何も入ってないってどういうことだよw
笑いながら読ませてもらっていたが、プリプロセッサで定義する定数と、 enumで定義する定数を一緒にすんな馬鹿たれ 気づいてしまったが教えるんじゃなくて、 赤ペンで教えてもらおうとする巧妙なワナだろw
面倒だから記事を非公開にして、
明日にでも修正しておくよ。
ご指摘ありがとう。
マジで見落としてた・・。
>>178 うん。
>>142 の方が致命的ですw
>巧妙なワナだろw 俺も、そう思う
初期化とか岩せんなよ恥ずかしい・・って言ってVBA厨乙って流れなら笑いとれたのに
>>177 そうだな
問題はそこじゃないな
プログラム的にはあの式でbの中味は変わらないもんな
規約の緩いコンパイラならそのまま通るだろうし
暗黙的に0に初期化されてるなら、問題無く実行されるだろうな
んで、どこを修正するかわかったかい?
>>183 いやいや。
その時点は別にいいだろう。
領域を確保しただけだから、
領域の中身は空っぽだよ。
その後に初期化するわけだろ?
1.領域確保
2.初期化
3.計算
これが基本じゃないのか?
189 :
名前は開発中のものです。 :2010/09/13(月) 23:47:43 ID:ZKZVi0D6
>>167 >C++とかの解説って本当に出来るのかよって思うよ。
>生半可な知識で初心者に教えてもこんがらがって初心者が可愛そうだわ。
はなっから教えてあげようなんてつもりは無いだろうよ
専門知識を並べて解説して、プログラム初心者を騙して、自分が如何に優秀で才能持った人間であるかを示そうとしてるんだよ
この人根っからの嘘つきだから、嘘やデタラメでもいいから周りからの信頼を得たい訳なのです
何しろ、お金の話もしているし本格的に商売も計画している、目標1万本以上という事で
だから自分は能力不足だってはっきり言えないんだよ
本当の事言ったら協力者得られないし、どうやってお金を稼げるのか
明らかに人に教えるレベルにないだろ もう2〜3年してから公開したほうがいいんじゃね? いまの注意力と理解力で何かを作るってのが無謀じゃね? 一旦使えないって印象与えるとみんな寄り付かなくなるよ とりあえず一通りやってんだよ!って気合はわかるけど 経験やら時間やらが圧倒的に足りてないだろ
>>180 いや、あんまり関係無かったりする
小規模〜中規模のゲームならば、ローディングシーンとかで一括で読み込んでしまっても問題無い。
場合によってはローディングは分けたりする(初回のロードが長すぎたりする時)
↑ここらへん人による。
で、俺が言ったのは
例えばスライムクラスでスライムのテクスチャだったりモデルを使う時に
コンストラクタでテクスチャ(モデル)の読み込みを行ってたアホが居た事を思い出したって話。
当たり前だけどスライムを生成する時(要するにnew suraimu();とかした時)
に、初期化リスト内でリソースが読み込まれる。(小規模なロードが挟まるって事)
スライムとかのオブジェクトは沢山生成してナンボ(ゲームによるが)なので
100体生成すると、同じリソースをオブジェクト毎に読み込んでいる減少が起こるからマズイってこと。(めちゃ重くなる)
よくこんな知識でDXライブラリは認めないとか言えるねw
確保したのに領域が空っぽとか何もないとかどういうことなんだぜ
修正面倒だな・・。 あれ画像で作ってるから、 全部作り直さないといけない。 b=0を入れるだけなんだけど・・。
>>192 なるほど。ロードは動画・複数の音楽とか挟んだら大変でしょうね
ちなみにそれはnewじゃなければどう解決するべきでしょうか?
一度弾幕ゲームを作ったことがあるのですが、その時、まず弾の構造体を1000-10000ぐらい用意しておき、
loopで 出現/非出現 判定から軌道計算、接触判定全てを行っていました
やはりC++では関数ポインタ、C#でデリゲートですか?
一度も使えたことがありません・・・
>>188 なるほど、未初期化の変数は空っぽになるんですね
空っぽってなんですか?www
>>196 そこらへん俺のやり方ではC++にあるSTLのlistを使って管理している。
敵のコンテナと味方(玉とか)のコンテナに分けて
そいつらをイテレーターでブン回して全判定かな。
オブジェクトの削除とかはdeleteとかよりも準標準ライブラリのboostのスマートポインタをオススメする。
弾幕ゲーだったら玉一つ一つをオブジェクトとして考えて、一つ一つに動きを付けると良い。
玉の生成時にスピードとか角度とかをコンストラクタから渡して、それを元に動くみたいな。
玉が生成されてから、玉が消えたり、敵に当たったりするまでを玉クラスで完結するのが一番ベスト。
まぁ作り方が楽でも面倒でも、C++だろうとCだろうと動けばいいんだよ。
細かい事気にしたらキリが無いから、個人製作ならばあんまり設計とかコードに凝らないほうが良い。
マジレスするだけ無駄だぞお前ら 今まで見てきたから分かる 完全に無駄
>>199 ありがとうございます
僕も>ならばあんまり設計とかコードに凝らないほうが良い。
派だったのですが、弾幕ゲームって、一つ要素を入れただけでものすごく重くなってしまって、
これは基本を大事にしないと大変なものができるなと思ったんです
>>200 まぁいいんじゃないでしょうか
無駄でも回答することにより自分の記憶がより強固になり、
また、間違った知識なら誰かに突っ込まれる
常に本気で回答するのもいいことだと思いますよ(自分の分野で常にそうしてるので)
これまでフォトショで解説画像を作っていたけど、 これからは、Visual C++ 2010のエディタ画面をキャプチャーして作ることにしよう。 その方が確実だし楽だ。。 ついでに実行結果もキャプチャーして載せれば 完璧だろう。 ああ・・。今日はもう疲れた。 少しネトゲで狩りにでも行って 憂さ晴らししてくるw
今回のミスはマジで凹んだ・・・。 穴があったら入りたいぜ・・・。
Kazukiって無職なの?
>>201 全力でやるのはいいけど
そこにお前の見栄やら嘘やら、相手の見栄やら嘘やら入ってくるから
おかしくなっちゃうと思うけどね
こうやってやりとりするだけで結構時間とっちゃうし
上げ足とるのに精を出す人間も出てくるし
また、くだらない虚栄心を取り繕うためにお前も妙なレスするし
やっぱり突っ込まれる部分は最小になるようにしろよ
せめて自分で5回は見直してから上げたらどうなの?
回数が無理なら1週間置いてからもう一度読んでみるとか・・・
>>205 ちょ、ちょっと待って!俺は自分の専攻してる学問のスレでレスしてるだけだよ
ちなみに理系一般板
ここでは質問してるだけだよ
>>204 いいや。
無職じゃないよ。
これでもSOHO個人WEBデザイン事務所を一人で経営している。
肩書きはフリーWEBデザイナー。
本来はこっちがメイン。
そもそも、プログラミングを勉強しようとしたキッカケは、
これまで外注に任せていたWEBシステムを自分で作って、
コストを抑えようと思ったのがキッカケ。
だが、ただ単にプログラミングを勉強するだけではつまらないので、
ゲームでも作りながらプログラムを学ぼうと思っていたら、
こっちの方が面白かったので、
ゲームプログラミングがメインになってしまったw
掲示板かブログとか、
そういうWEBシステムを作るのに
DirectXとか、扱わないと思うしw
要約すると無職です
とりあえず int って 4byte じゃねえの
そういやそうだw
212 :
名前は開発中のものです。 :2010/09/14(火) 09:51:53 ID:QB7AcnS4
指摘はもうやめよう 思う壺だよ
なんだかんだで期待はしている。 俺は3DSTG作ってたけど1ヶ月くらいで飽きてやめちゃったからな・・・。 グラフィックデータが作れないのが痛いわ。
214 :
名前は開発中のものです。 :2010/09/14(火) 11:07:23 ID:JMWUq/2Y
発展途上中の素人ならこんなもんだろう。
>>210 そうだったのか。
int型って4バイトだったのか。
さすが2chのゲー製作技術板ですね。
口先だけの馬鹿と違ってよくご存知ですね。
適当なことを言うとすぐに叩かれそうだな。
というか即答で指摘しているところに驚いた。
ちょっと調べてみたけど、
正確にはint型は32ビットです。
値は-2147483648〜2147483647までです。
int a = 2147483647;
int b = a +1;
つまり、こんな感じにaを2147483647で初期化して、
aに1を足すと、-2147483648になって、
オーバフローになる。
>>209 そうだったのか、
個人業って無職だったのか。
それは知らなかった。。
前から気になっていたんだけど、
教えてくれてありがとう。
てか、ちょっと知識を知ってるからって偉そうにすんなよw
まあ、教えてくれたことには感謝するけどな。
217 :
名前は開発中のものです。 :2010/09/14(火) 11:40:19 ID:hgp+4eCV
素人を装ってるな。 ワシの目はごまかされない!
218 :
名前は開発中のものです。 :2010/09/14(火) 11:44:15 ID:QB7AcnS4
intのサイズは環境依存 ほとんどが4byteだけど H8で組んでた時は2byteだったな つか、解説するんならこれくらい知っとけw
ちなみに俺が個人業をやろうと思ったキッカケは、 サラリーマン時代に、 アフェリエイトをしたのがキッカケです。 それまで個人業を難しく考えていたけど、 わりと簡単に稼ぐことができたから。 だったら、WEBデザイナーとして 本格的に個人事業を開業してみようと思い、 知り合いの社長に教えてもらって事務所を立ち上げました。 まあ、最初はほとんど仕事がなくて苦労したけど、 人脈をうまく使って 「仕事回してください。」とか言いまくっていたら、 少し仕事が入って、 また、そこから仕事が入る。 仕事をやればやるほど仕事が入ってきて、 実績がついて、口コミでまた仕事が入ってくる。 しかも、一人でやってるから全部自分の報酬なので やればやるほど稼げる。 給料なんてサラリーマン時代では、考えられない金額です。 もうサラリーマンには戻れません(^^; ちなみに俺、FXとかもやってたりする。
前は個人業でバリバリ稼いでいたけど、 もう、いっぱい稼いでしまったら、 何かやる気がなくなってしまってね。 今では、月に1、2件やる程度です。 個人業な生活ってすごく退屈。。 そりゃ、バリバリ仕事をやっている頃は、 すごく忙しくて、 一ヶ月でどこまで稼げるか挑戦してみたこともあるけど、 たくさん稼いでしまったら、 これ以上稼ぐ気になれなくてね。 サラリーマンと違って、 自宅が職場です。 お茶を出してくれる可愛いOLさんもいなければ、 同僚も上司もいない・・。 俺はいつも独り・・。 まあ、そんなわけだから、 こんな真昼間から2chやったりネトゲ三昧の生活を送っております。 同人ゲームが完成して、 そこそこ売れたら、 別会社を作ってゲーム制作事業をやってみたいとか真剣に考えてるよ。
俺の銀行通帳みせてやろうか? 今度オフ会でも開いて見せてあげるよ。 多分、その金額に誰もが驚くと思う。
>正確にはint型は32ビットです。
正確にも4Byteだろw
4[Byte]*8[Bit]=32[Bit]だぜ?
こんな計算も出来んのか
まぁ
>>218 が正解なんだけどな
何でこう知ったかぶろうとするかなー
64bit環境なら8バイトだぜ ちなみに昔作った奴移植するのどうするか途方にくれてるぜ
気になったのでちょっとだけ補足。 C言語の規格としてはint型のサイズは処理系依存ってことになっていますが、最低限保証されているのは2byteです。 32bitの処理系はほぼ4byteになるようですが、組み込み系ではまだまだ2byteでまかり通っているところもあるようです。 intで宣言した実体が1byteになるとしたら、それは少なくともC99の仕様に則っているC言語ではありませんね。
225 :
名前は開発中のものです。 :2010/09/14(火) 13:55:46 ID:WJ31r0pz
>>215 こんなことで関心するとは、kazukiは本当にコンピュータやプログラミングに関して無能なんだな
1byteなら0〜255のような256通りの数値しか格納できない、1000や10000などの値を使用できない
1byte,1bitの意味が理解できないとかC言語プログラミング学んでて恥ずかしいレベルだ
昔はアセンブラを使わなきゃゲームを作れなかったから C言語のそのへんはすぐに理解できたのに。 戻り値とかポインタとか、アセンブラでスタックやインデックスレジスタを知ってたから 一発で理解できた。
修正したの初期化だけじゃんか 普段なら適当なこと言っても困るのは本人だし、突っ込んでる人も遊び半分だからいいけど 言語解説とかは困るのは参考にした初心者の人だからマジで int main(void){ int a,b; { b=0; a=50*(b+10); printf("%d,",a); } printf("%d,\n",a); return 0; } > このようなコードを書いた場合、ローカル変数は関数を抜けた時に解放されるため、 > aとbの領域は空っぽの状態にリセットされます。 実行結果が「500,500」になりました。値生きてます。 話の流れ的にここは「関数」というよか「ブロック」じゃないの? a=50*(b+10); > 10の変数(数値)をbの領域に代入します。 > この時点では、aの領域は空っぽです。 10は変数なの?+は代入の機能持ってんの?変数bのメモリ領域に10が入ってるけどどうしてくれんのこれ? あと初期化についてだけど 僕の環境では初期化しないとコンパイルの時に警告 演算に使用とすると強制終了。 でもリリースではコンパイル警告後 演算は通った。 初期化しない状態では2015115236が入ってた。 偶然でた値なのか決まってる値なのかは別として、これを値として扱える以上は空っぽではないんじゃないの? 初心者なめすぎじゃね?初心者でもこの程度は気になるほどには賢い人は賢いよ
>>227 検証乙
さて、
>>1 は
>>142 に指摘された点がどこかようやくわかったかな?
あんたの間違いはスコープの理解と変数の寿命だよ
初期化とかよりよっぽど致命的だよね
とりあえずこのソース実行結果どうなると思う?
答えてみなよ
#include <stdio.h>
int main(){
int a,b;
printf("%d %d",a,b);
{
b=0;
a=50*(b+10);
printf("%d %d",a,b);
}
printf("%d %d",a,b);
return 0;
}
あのページの解説の通りに動くとしたら
1行目: 空っぽ 空っぽ
2行目: 500 10
3行目: 空っぽ 空っぽ
になるね
そもそもコンパイルエラーになるっていってるが、
警告は出るかも知らんがエラー無しで通るよな?
>>226 俺は逆に混乱したw
なんでポインタに1加算すると1バイト次のアドレスじゃなくて数バイト先を指すんだよ! とかw
>>228 いや。それはもういい。
とりあえず、先に進もう。
こんなところでマゴマゴしてたら、
C++の解説がいつになるかわからんw
俺は早く、ゲームプログラミングを解説したいのだ。
なので、現在、構造体の解説を作ってる。
>>227 コンパイラによって違うんだって。
とりあえず、間違ったソースを組まなければいいだけの話でしょ。
そんな、コンパイラ別に解説してたら日が暮れるってのww
コンパイラごとに違うならなおさら「どのコンパイラでも同じように動作する」ように
説明しないとまずいだろ。
>>230 それはもういいとか言っちゃう自信はどこから来てるんだろうか。
正直説明サイトを作ってくれるのはありがたい。
ただ、致命的な嘘をさも正常なように言い放っちゃってるサイトが
google検索に引っかかるようになったりするとそれはもうテロ行為だよw
>>230 じゃーCの解説せずにゲーム解説からやれば?
てか製作はどうしたの?
ここって解説スレだっけ?
てかなんでゲーム製作に解説が必要なの?
それを2chに晒して何が目的なの?
ゲーム製作しつつ質問あったら解説とかその辺は良いと思うが
今のところゲーム製作の過程がまったくないんだが?
プログラムの勉強からするなら解説する必要なくね?
ぶっちゃけ、今どこまで製作進んでるのか、からの報告で良いよ
ただし、かまってちゃんは簡便な
>PS版のドラクエWクラスのRPGぐらいなら作れるようになってるよ。 ↑9月7日の発言 >もうミニゲームをいくつか完成させました。 ↑9月12日の発言
ゲームまだぁ?
238 :
名前は開発中のものです。 :2010/09/14(火) 16:59:12 ID:WJ31r0pz
>>232 嘘でもデタラメでもどうでもいいんだよ
彼の本音は、教えたり解説したりじゃなくてゲーム作って商売することだから
現にゲーム会社設立して本格的に事業やりたいと言っている訳だし
当然、資金や協力者を集めないといけない
それなのに、正直に間違いを認めてたら信頼無くすし誰も協力してくれなくなる
嘘でも自分が優秀な人材であると主張し信頼を得ないとお金儲け出来なくなるでしょ
>>227 いや。だからね?
誰が初期化しないで使うのよって話です。(ここにいたがw)
初期化しないでソースを組む用途があったら逆に教えてもらいたい。
だから、余計なことは言わないで「空っぽ」と表現しておき、
とにかく、「初期化しないで使ってはいけないんだね」と理解しておけばいい。
あんたの場合だと、
int型を初期化しないで表示したら、
2015115236が表示されました。
じゃあ、2015115236という数値は、
どうして表示されたの?
という解説をしないといけない。
2015115236になった理由と根拠を説明できなければ、
解説できないのか?
>>237 あんたに作ってもらうよ。
気づいた頃には、
プログラムを知らなかった素人の自分が、
ゲームを作れるようになってる。
そのための解説です。
ゲーム作れるようになりたいんでしょ?
でも、ゲームの内容については自分の創造力で作らないといけない。
これは、プログラミング知識とは別の次元のお話です。
>>238 俺はゲームが作れる程度の能力者ですw
でも、内容がないからゲームが作れない。
ちょっと矛盾した発言だけど、
つまり、ゲームプログラミングは知ってるけど、
まだゲームは作れません。ということ。
俺が作ったミニゲームとりあえずこういうもの。
EXEファイルを実行させたら、
まず、ウィンドウが表示される。
タイトル画面表示と共に音楽が流れる。
割り当ててある「スタートキー(例えばR)」を押せば、
ゲーム開始!
効果音と共に、タイトル画面が消えて、
ゲームメイン画面が表示。
ここまでは、どのゲームも同じ。
シューティングゲームの場合は、
画面の上から敵がいくつも迫ってきて、
主人公キャラに向かってくる。
主人公キャラは十字キーで動かせる。
主人公キャラに接触すると爆発してGAME OVERが画面に表示され、
スタート画面に戻る。
よちよち歩きの幼児が 「理論上、日本縦断もできますよ。する理由がないのでしませんが」 と言ってるみたいなもんだな。
RPGの場合は、 スタート画面までは同じで、 そのあと、3Dの街中に3Dポリゴンが登場。 十字キーで移動可能。 マウスでカメラ視点を変えることが出来る。 町人に当たり判定をつけておき、 主人公接触時に「Rキー」を押すと会話が開始。 画面下部にメッセージウィンドウが透明で表示され、 そこに文字(会話内容)が表示される。 会話に続きがあれば、Rキーを押せば、 会話の続きが表示される(ドラクエみたいに) そして、町の外に出れば、 3Dフィールド画面に切り替わる。 ここで俺はドラクエ風のRPGと、 ゼルダ風のアクションRPGを作った。 ドラクエ風のRPGの場合は、 フィールドには何も表示されていないで、 エンカウントで3D戦闘フィールド表示。 魔法を使ったら、 炎が出たり、雷(サンダー)が使える。 通常攻撃なら、棒(剣)を振るだけ、 画面下部のウインドウには、 「Aは1000ポイントのダメージを受けた!」とかのメッセージが表示。 とりあえず、そんなゲームを作ったよ。
>>227 の疑問に答えとこうか
知ってたらごめんね
初期化しなかったときの中身については、C言語の仕様では規定されてなかったはず(うろ覚え
親切なコンパイラなら0リセットしてくれるかもしれないし
普通のコンパイラなら特別な処理はしないんだろう
んで普通のコンパイラの場合で説明すると、
変数を宣言すると、メモリ上に変数に必要な容量の領域が確保されます。
この時点でその領域に入っているのは、確保される前にメモリ上にあった値です。
つまり、他のプログラム等で使った後だと、前のデータが残っていることがあります。
よって、初期化せずに読み出そうとすると、その前のデータを読み出してしまうことがあります。
だから、初期化する必要があります。
逆に言うと、宣言した時点で0になっていると言語仕様に規定されている場合は、
いちいち初期化せずとも、正しく(0として)使うことが出来ます。
誰か止めてやれレベルだな 人に解説なんてできるレベルじゃないじゃん 経験がまったくないのはもう聞かなくてもわかるけど 書籍を読んだ数ですら2桁いってなさそうだよ
>>245 まず識字できてるかも不安になってくるレベル
正確には、これはゲームを作ったとは言わない。 「ゲームの枠組み」を作れるようになっただけ。 ゲームを作るとは、 その世界に色んな法則や歴史を作り、 物語を作り、それをクリアしていく。というものだ。 だからゲームプログラミングが解っただけでは、 ゲームは作れないのよ。 内容を決めないと、 プログラムを使って、どんなシステムを作っていいのかも解らない。 とりあえず、今は、Direct3Dを勉強して、 市販のゲームにあるような、 「あんな表現はどうすればできるのか?」という映像技術的(エフェクト)を勉強しています。 とりあえず、そこまで解説していくから、 もう少し長い目で見ててちょうだい。
文章ではいくらでも作れるって言えるよな 一度で良いから成果物をあげて見ろよ
>>239 空っぽの表現に関しては別段間違ってるとは言い切れないからあんまり気にはしてないんだけど
空っぽじゃなくて何が入っているのか保障されないって言えばそれですむんじゃないの?
メモリは増えたり消えたりしないから確保したら確保した分のメモリ量で何かしらの値を持ってるはずなのに
空っぽっていう表現がメモリの領域まで話しておいて不自然。
空っぽって言う意味の値があって、確保した段階でそれが入るんなら別だよ。
値が保障されないから結果がどうなるかわからない。
空っぽだと結果が無いといわざるを得ないけど実際結果出ちゃってるよね。
個人的には確保したメモリにたまたま入っている値だと思うけど、
それは本当か嘘わかんないから僕なら調べる。それでわかんないなら触れないか、初期化しないと結果がどうなるかわかりませんって言うな
そもそも僕程度の知識じゃ言語の解説なんてやらないけど
個人的には割りとどうでもいいんだ。いや、よくはないんだけど、どうせ警告出るし。デバッグなら落ちるし。
「数字としての意味」が空っぽって曲解すれば納得できるし。
それよりも
b+10;の演算したらbが10になっちゃう事になってる方がクリティカルなんだけど
これはなんだダメなのか
>>239 おまじないを否定したあんたが
>だから、余計なことは言わないで「空っぽ」と表現しておき、
>とにかく、「初期化しないで使ってはいけないんだね」と理解しておけばいい。
とか言うんだね
そんな嘘教えてる解説HPは消したほうが良いよ
って
>>104 が言ってた
C/C++は環境依存のトコが多いから 解説をうたうなら、出来るだけどの環境でもうごく様な、無理なら環境を指定した物を書くべきだよな
>>247 C言語もマトモに出来ないのにねぇ…
嘘吐くならもっとマシな事書けよ。
>>234 できるわけないじゃんw
例えばif文の解説もしてないのに、
当たり前にif文を使ったプログラムの解説で、
C++の別の解説をしていたら、
素人は「if」って何?ってなるでしょ?
じゃあ、そのつど止まって解説してたら、
全然、解説したいことが解説できない。
だから、まずは基本となるC言語を解説しておかないと、
ゲームプログラミングの解説は出来ない。
とりあえず、次の解説は構造体です。
その次に列挙体を解説して、
共用体を解説します。
お願いだから嘘を教えるのだけはホントに勘弁してくれよ。
>>253 あんたの間違いまみれの解説よりしっかりした解説がネットに何個も有るっつうの
>>253 解説を行う必要性は何か?
素人解説なんざ誰も望んじゃいないだろ
258 :
名前は開発中のものです。 :2010/09/14(火) 17:57:00 ID:3A/BaR1z
頭の悪い人を祭るスレはここですか?
このスレッドは天才チンパンジー「Kazukiちゃん」が 言語訓練のために立てたものです。 Kazukiと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
260 :
名前は開発中のものです。 :2010/09/14(火) 18:11:53 ID:3A/BaR1z
C言語を理解するためというよりもKazukiを理解できるかどうかという限界にチャレンジしているんですね
まあいいや。 色々言おうと思ったけど、 とりあえず、飲み込んでおく。 とりあえず、俺の好きなようにやらせていただこう。 C言語の解説はもう少しで終わるし、 それまで解説メインで公式サイトは更新していく。 そのあと、C++の解説に移るんだけど、 その時にニコニコ動画で面白い企画を考えているw その時に初めて、 同人ゲームサークルっぽいことをやるよ。
>>227 ちょっと待て。
え?本当に、実行結果が、500 500になったのか?
試したことなかったけど、
ちょっと自分で確かめてみるよ。
しばしお待ちを。
これで500500で表示されていたら、
確かに大嘘だな・・。
っていうかそんなに知識ないのに何故にC言語解説なんてする気になったのか? そういうサイトって言語仕様が大好きな知識自慢の変態がたてるもんで 大して興味なさそうな、しかも、凡人にも軽く負けちゃう人間が立てるもんじゃないだろ
試す前に500500になるのわかるだろ。 int a,b; が{}の外にあるんだから。
あ。本当だ・・。 500500って表示されてる・・。 あれ?どうして? スコープ内だけで使えるはずが、 スコープ外でも使えてる。 なぜだ??? そんなはずないのに・・。
これには参った・・。 とりあえず記事は非表示にしておこう。 その後、じっくり考える・・・。
俺が悪かった・・。 確かにこんな嘘を教えちゃいけないな!! これはケシカラン! もう一度、C言語の基礎から学び直してくる・・。 試す気にもならなかったし、 試したこともなかったから、 ちょっとマジで驚いています。
一歩一歩成長していけばいいよ もうちょっとだけ、自分は知らないことが多いってことを自覚しなくちゃいけないかもだけどさ
もう帰って来なくていいよ
崇めてもらいたいだけなんだろ ゲームが作りたいとかコード書けるようになりたいって動機じゃない とにかくひたすら崇め奉られたくてしょうがない、だから「解説」を始める こういうの肥大した自我っていうのかね
b=0; a=50*(b+10); printf("%d %d",a,b); この結果が「500 0」になるのかが解らん・・。 「(b+10)」←この時点で、bに10が足されているはずなんだよ。 なのに、どうして初期値に戻るんだ? 頭がパニくってきた・・。 いろいろググってくる。
>>269 ブロックの中から外へはアクセスできるんだよ。
でもスコープとブロックは割と別物だよ
関数同士は
大きなグローバルブロックのなかに
関数ブロックが乱立してる構造をイメージすると
関数の中から別の関数の中はアクセスできないし
関数の中からグローバルへのアクセスができるのがイメージしやすかった
正しいかは別として
なんか悔しいなー・・。 ずっと間違えて理解していたのか・・。 ちくしょう。
276 :
名前は開発中のものです。 :2010/09/14(火) 19:31:15 ID:WJ31r0pz
>>273 >b=0;
>a=50*(b+10);
>printf("%d %d",a,b);
>「(b+10)」←この時点で、bに10が足されているはずなんだよ。
最低だぞこんな理屈は、プログラミングの無能さも限度を超えている
2,3ヶ月間何を勉強していたの?って言われてもおかしく無い
ソースを晒すなら実行テストしてからって事だな
>>273 (b+10)の( )内には+演算の結果である10が埋め込まれる感じ
b=10でないとbには代入されないんだよ
この場合は
事前にb+=10;しとくか
試してないけどb+10をb+=10に置換するともしかしたらうごくかもね。動かないかな。わかんないや。
面白いのはオペレータに挑戦したとき
演算子も確かに結果を返す関数みたいなもんだなって気づいた
比較演算子はbool型の関数みたいなもんだし
+は演算した型と同じ型を返す関数みたいなもんだ
=はint型なら(int*,int)見たいな感じか?
=の部分はなにを返すんだろう。ためしたことないけど
演算子が値を返すってことを念頭に置くとそういうミスはなくなると思うよ
演算子はぱねぇ奥が深かった。
279 :
名前は開発中のものです。 :2010/09/14(火) 19:38:18 ID:WJ31r0pz
いくらなんでも
>>273 の状況理解できないのは恥ずかしすぎる
VBやHSPユーザーでも当たり前のようにわかることだ
実際VB・HSPでも同じ実行結果になるわけだし
>>273 "+"は代入じゃない。
お前が小学校で習ったのと同じ足し算だ。
まさか小学校に行ってなかったのか?
まず、
>b=0;
で、bには0という数値が入っている。
つまり
a=50*(b+10);
~
は
a=50*(0+10);
~
と同じだ。bの中身は書き換えられてない。
…って書こうと思ったら
>>278 がもっときちんと書いてた。まあいいや
>b=0; >a=50*(b+10); >printf("%d %d",a,b); >「(b+10)」←この時点で、bに10が足されているはずなんだよ。 これが理解できないって事は、中学校算数の代数学が理解できていない事になる。 プログラムでなく、教養算数のレベルですよ ハッタリが多いから。 もしかして、Kazukiは まだ中学校を卒業してないのでは?
C言語解説は2〜3年後にとっとけってw いま、恥を晒すこともねーよ
>>280 なるほどwwww
そういうことか!!
その説明でやっと解ったww
うわーーwwww
なんて馬鹿な考え方をしていたんだ。俺はwww
足し算をしているんだから、
bが0で当たり前じゃないかww
こんなの常識じゃないかw
うはははwww
って俺の内心は笑いごとじゃない・・。
こんな常識すぎることに気づけなかった自分が情けない・・。
本当にありがとう。
どうやってそんな勘違いな理解になったのか俺にはわからんのだが 何を見て勉強したの? Cのどんな参考書にもそんな説明かかれてないと思うんだが
もう他の入門サイト丸パクして書いたほうがよくね?
>>285 どうせKazukiの脳内フィルタでデタラメな解説になる
この知識レベルで、ミニゲームは作れるとか言ってたのかよ 盛るのもほどほどにしろ
>>285 それじゃあ意味ないよ。
自分が理解したことを、
自分の言葉で説明しないとダメです。
丸写しだと恥はかかないけど理解していることにならない。
それに、こうやって自分の理解で自分の言葉で解説をすることは、
自分を再確認するためだったりもします。
だから解説は止めない。
まあいいじゃないの、
俺ひとりが恥をかくぐらいどうだって。
そんな俺を見た初心者が、そこから学びとってくれればいいと思う。
でも、入門サイトみたいに全部は解説しないよ。
とりあえず、C言語やC++は、どんなものなのかを紹介できればいい。
詳しいことは、自分でググってね。です。
そして、俺が一番やりたいのは、
Direct3Dの技術を使ってのエフェクトのやり方とか、
ドラクエのパーティは、仲間が金魚の糞みたいに
並んで歩いているけど、あれはどうやってやるのかとか・・etc
RPGに使う技って色々あると思うんだけど、
そういう実用的なことを動画で実行結果を見せながら
紹介していこうとか思っています。
そういう役に立つ解説を一番やりたいんです。
まぁ、実際お偉いさん方で?教えてるときあるからな 素人ならなおさらいい加減なことを教えたりするだろうよ HPに書いとけよ「素人が素人に捧ぐ」ってな そしたら注意してみるだろうから、被害が減る
?=ウソ ユニコード変換しくじった
なんとなく意味は通じるw
>実用的なことを動画で実行結果を見せながら >紹介していこうとか思っています。 >そういう役に立つ解説を一番やりたいんです。 とにかく人に見せたいだけなんだろ 基礎すっ飛ばして応用ができるわけないんだからまず高校数学からやり直せよ sin,cos,tanの定義とか説明できないレベルだろ
役に立つ解説がやりたいってのなら、他でやってないことの解説がいいと思うな メニューの汎用化とか知りたい
丸写しは別の意味で恥かくぜw
こいつただの露出狂のマゾなんじゃね? こんな羞恥プレイ常人じゃやってられないだろ
「今回は、魔法を唱えて、魔法のエフェクトの表示のやり方を解説します。」 とか言って、ソースコードを見せて、 そのコードの要点だけを解説して、 実行結果を動画で見せるわけです。 「こんな感じに表示されました!」みたいな感じで。 そういうRPGによく使う技術とかを いくつも紹介していけば、 RPGを作ろうとしている人にとっては有力なサイトになると思う。 なぜか、そういうサイトってあまりないよね? まあいいや。今は何を言っても無駄だね。 じゃあ今日はこれぐらいにしよう。
どうしても基礎やりたくない結果だけ欲しいって言うなら RPGを作ってる人を探して過程を紹介するおてつだいをすればいいんじゃね
なんかものすごくスパゲッティで拡張性のないコード書いてそうだな ちょっと基幹部分で仕様変更が発生したら即死しそうな
zoome動画もニコニコ動画も、 ブログに貼り付けることが出来るから、 そのうち、あの公式サイト、動画だらけのサイトになってると思うw ところで、 明日、9/15は、ドラゴンネストのレベルキャップ解放日ですね! すっごく楽しみにしています。 ではまた。
よっしゃ 外部データ読み込み機能完成した 簡単な暗号に対応してるんだぜ エクセルでいじれるようにcsvにも対応してるし map<string,vector<string>とかmap<string,map<string>とか 全部で12種類のテキストデータをデータに取りこめんだっ 保存もできるんだぜ? バイナリで読み込んでるから画像データだって扱えるんだぜ? もう初心者とはいわせねーぜ? ちょっとお願い・・・誰かほめて
_人人人人人人人人人人人人人人人_ > わりとどうでもいい <  ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^^Y^ ̄ ヘ(^o^)ヘ |∧ /
小さいことをコツコツ積み上げるのが嫌いな奴は絶対伸びないし まして、他人に技術を教えることなんて絶対にできないと思う ちょっと不安に思ったのはこの人こういう 毎日コツコツやってなにかを達成した経験あるんだろか?ってこと ソース見せて、動画みせて、ハイ理解できましたよね! 自分の現在の姿みて本当にこんなことで理解できる奴が何人いるんだろか?
ブログの解説、ミスってたところを残した上で訂正を入れるようにしたら? その上でミスっていた理由について、 「言語仕様やコンパイラの動作について、〜な動きを想定していたが、実際は〜だということがわかった」 コメントに書ければ、初心者(どころか自称中級者にも)に対して非常に参考になる解説になるとおもうよ。
>>303 指摘しても無駄だよ
ミスは絶対認めないし書き間違いとかうっかりミスとかすぐ逃げるから
この程度のことは書かない方がいいとか自分の評価で判断するよ
売り言葉に買い言葉ですぐに頭に血が上っちゃうところもどうにかしろよなw なんでお前そんなに沸点低いのかとw
賞賛以外はすべて荒らし扱いだもんなぁ 一度褒めつつなんか指摘した人が「荒らしは出て行け」みたいなこと言われてなかったっけ
>>301 スーパーファイナルアトミック面白いのができてもお前にはやらせてやんねーもんねーだ
みんな、そんなに俺をイジメんなよな・・。 いや。嘘w もっともっとイジメてーー!!ww ってw俺は馬鹿かww いや、本当はどうでもいいw 叩くなら好きなだけ叩きなさいよ。 そういうの、あんまり気にしない人だから。 基本的に面白い体験が出来ればいい!とか思う人間だから、 さっきみたいに大恥をかくことも、 喉元すぎればなんとかというやつで、 次の瞬間には忘れてるしww 立ち直り早いんだよw俺はww ちなみに今、密かにミクミクダンス動画を作ろうとしているw 3Dポリゴンキャラを作ったら、 こいつを何か音楽に合わせて踊らせてみたくなったw 今、3Dアニメーションの技術を必死で勉強しています。
>>307 それどころか丁寧に教えてくれた人も荒らし扱いしたからな
>>309 なんか方向が変わってる気がするが…
まあ、3Dアニメーションもゲーム制作に応用できるかもしれないしがんばれ。
ほら、叩かれてるとしか理解できてない。 >さっきみたいに大恥をかくことも、喉元すぎればなんとかというやつで、 >次の瞬間には忘れてるしww 現実から逃げることしかできない。行動の結果を正しく評価できない。 何もかも自分の前に用意されてこないと動けない。それを問題にも思ってない。 自分からは何もせずただ賞賛されたいだけ。 …「マイノリティ・リポート」に出てきたな。「You're the man」っていひたすら言われ続ける 3D映像に浸ってる男。
勉強するのにこのスレ結構良いんじゃない?
もう
>>1 はわざと間違えて多数の人に解説させてるように見える
>>308 _人人人人人人人人人人人人人人人_
> …… <
 ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^^Y^ ̄
ヘ(^o^)ヘ
|∧
/
a
あさひねっときせい解除キタコレ
>>1 にはぜひ頑張ってもらいたい
炎上逮捕レベルまで
なんかココ見てると以前途中で放り出したゲームの続きを作りたくなってくる。
>叩くなら好きなだけ叩きなさいよ。 >そういうの、あんまり気にしない人だから。 そこがダメなんだ。 叩かれたら叩かれた理由を考えて、改善しないと いつまでも叩かれるような行動をし続ける事になる。 もっとも、それができるだけの人間ならそもそもこんな事してないんだけどな。
なんか良さそうだね ニコ動とMixiにもzoomeにもコミュがるから規制されても ここが荒らしでグダグダに機能不全になっても なんとかなりそうで ところで3DRPGって具体的にどんなもんでしょうね? 古くはWIz最近だと世界樹の迷宮のように3Dダンジョンを扱うゲーム? それともFF7ヒット以降主流になった構築するグラフィックのほぼ全体が 3DCGによる今商用で主流をなしているようなRPGのこと?
さー今日はどんな現実逃避を見せてくれるのかなっと 何言われても荒らしで片付ければいいもんね、楽だよね ずっと入門本の第一章やってればいいんじゃね
こいつが作りたいのはPS3クオリティ(笑)なゲームみたいよ 多分アクション要素を多めにしたFF13を作ろうとしているんだろう ストーリーや音楽で大作()とか言ってるし
UDK使えよ 自己顕示欲だけで動いてるから無理だろうけど
ゲームを作るなら、 まずはゲームをプレイして ゲームを知るところから始める必要があると俺は思うんだ。 ドラゴンネストでは、ダンスモーションという奴があって、 そいつを使うと、 主人公が踊りだすんだ。 「おっす!」って言ったり、 その場に座り込んだり、 ダンスを踊らせることもできる。 俺はそれを見て、 「これは面白い。使える。」と思いました。 ある町に言ったら、 変なダンスを踊ってる町人がいたらなんだか面白いとおもいませんか? 主人公にダンスを踊らせたり、 ダンスを振り付けをプレイヤーが指定して、 踊らせることができれば面白いと思いませんか? そういうことをやらせるために、 アニメーションという技術が使われているのです。
まず入門書を最後まで読んでマスターしろよ
>>321 これは多分な話だけど、
DirectXの技術を使えば、
PS3クオリティをWindows用ゲームで実現できると思うんだけどな・・。
あんたはPS3クオリティに笑ってるけど。
その笑いはどういう意味?
PS3みたいなクオリティは、
相当なクオリティだから、DirectXでは無理だとか思ってるから笑ってるの?
そりゃ昔のパソコンは、
ゲーム機並みのクオリティを実現させるのは大変だったかもしれないけど、
パソコンの性能やDirectXの機能も進化しているから、
パソコンでPS3以上のクオリティを実現できると思う。
DirectX11で作られた映像を動画で見せてあげようか?
俺が見た感想では、
DirectX11は、完全にPS3のクオリティを越えているように見えるのだが・・。
ただ、DirectX11は、まだまだ最新のDirectXだから、
DirectX11のゲームは、まだ数えるぐらいしか作られていません。
全て海外で作られています。
日本は海外に遅れ取っているから、
日本には、まだDirectX11で作られたゲームは一つもありません。
まあ、多分、スクウエア・エニックスみたいな大手が作ると思うけどね。
どうみても現状で不可能な目標だから笑われてんだろ しかもFF13ってクソゲーだし
>しかもFF13ってクソゲーだし いや、それはこの際関係ないだろう。
とりあえずいちいち他人を見下しに来るのやめて、入門書一冊読み潰して、UDK買ってチュートリアル こなしてから好きなように作ればいいじゃん。いちいち常識みたいなことを得意顔で解説してるのを見ると 別にゲームが作りたいわけじゃないんだろ
>>325 PS3はDX9だろ世代的に、笑っているのはやたら抽象的だからさ
PS3クオリティって具体的になによ?
ロストプラネット2はDX11だ、CEDEC2010で解説されてたでしょ
GAMEWatchの3Dゲームファンのためのグラフィックス講座でも読んでみたら?
DX11って何が変わるんだっけ テクスチャテッセレータとかAMD向け拡張がちょいちょいじゃなかったっけ ちょっと前にそれでグラボ戦争が盛り上がったよな
>>329 PS3クオリティが解らないの?
マジで言ってるの?
PS2用ゲームをプレイした後に、
PS3用ゲームをプレイしてみてください。
その時に感じたものがPS3クオリティです。
俺の御脳がsegfault PS2用ゲームをプレイした後に、 箱○用ゲームをプレイしてみてください。 その時に感じたものがMicrosoft(R) DirectX(tm) テクノロジです。
>>330 ttp://unigine.com/download/ ↑
これをダウンロードして自分で見てみてください。
DirectX9モード、DirectX10モード、DirectX11モードに切り替えて表示させることが出来るから。
違いを見比べてみてください。
一見、違いがわかりにくいけど、
水のゆらめきとかに注目すれば、
やっぱ、DirectX11は違うなーって思います。
334 :
321 :2010/09/15(水) 12:56:00 ID:D8HN14vl
>>331 「具体的」にどうぞ
パソコンでPS3以上のクオリティとか言ってるけど
PS3をどのぐらい高性能に思ってるのよ
YouTube動画も紹介してるけど、 動画用に画質を落としてエンコードしてるので、 細かい違いを知りたいなら、 EXEファイルをダウンロードして見てみましょう。 まあ、720HDモード原寸サイズで再生しても かなり綺麗な映像で見れるけど、 本物はもっと綺麗です。
>>330 西川善司の記事をソースに持ってくる時点でレベルを察したほうがよい・・・。
>>336 西川善司のブログ?
ああ、これのことね?
ttp://www.z-z-z.jp/BLOG/ 偶然にもここで紹介してる
「ゲームグラフィックス2010」って本持ってます。
この本はいいよ。
最新ゲームのグラフィック関係を紹介してるしね。
特集の「ファイナルファンタジー13」を扱っています。
最新3Dゲームに興味がある人は、
これは一度読んでおいた方がいいと思う。
いろいろ勉強になった。
いぐPと同類だよねこいつ、口調似てるし 人の話聞かないし分かりきったこと並べてドヤ顔とかさ 頭悪いってかIQと別個の問題があるんじゃねとか思っちゃうわ これはあれかな、俺がDirectX小史とかGPU遍歴とか語るフラグ? 地雷6600焼いた話くらいしかないけどw
そもそも同人でお手軽にPS3レベルのゲームを作れると思っているのがおかしいのでは? プロが何人も集まって数年かけて作るものを…
アホを肴にいろいろ語るスレだったのか
ネトヲチ辺りに立てるべきスレなのでいつ消されるかとビクビクしておりますw
>>339 エンジンからフルスクラッチするんじゃなきゃ既存の使ってやりたいことの8割くらいはできるんじゃね?
何万本も売れるようなのはやっぱり無理でもさ、望みはあると思うぜ
ふう・・。 ようやく全ての修正が終わった。 あー疲れた。 これで文句ないよね。
いや・・違うか・。 #include <stdio.h> int main(void) { int c=33; { int a,b; b=0; a=50*(b + 10); printf(”%d” , a); } printf(”%d” , a); return 0; } この場合、スコープ外になると、 aとbの領域に入れられた数値は、 まだメモリ内には存在していて、 aとbの変数名が存在しなくなるので、 呼び出せなくなるのかな? それなら、初期化する前に すでに数値が入っていたことの説明がつく。
#include <stdio.h> int main(void) { int a=10, b=100, c=1000; return 0; } 例えば、こんな感じにaを10、bを100、cを1000で初期化して、 プログラムを実行する。 mainのスコープ時は、メモリ内に各データが入ってるが、 プログラムが終了すると、 a、b、cという変数名は消えるが、 メモリ内ではデータは入っている。 int型は、4バイトの領域だけど、 4バイト丸々使うとは限らない、 なので、プログラムが終了すると、 4バイトという枠がなくなり、データだけがそこに存在する。 そして、int型を宣言すると、 メモリ内に4バイトの枠が出来る。 その中には、元々aとbとcに入っていたデータと それ以上の内容が新たに宣言したint型の4バイトの中に入ってしまう。 なので、初期化しないで初期値を呼び出した時に、 すでにデータが入っていたのだ。 まあ、これは俺の勝手な想像だけどね。
うん あんたメモリの説明するのやめた方がいい まずはじっくりポインタ勉強して来い
>>344 #include <iostream>
using namespace std;
int main(){
{int a = 123;
cout << a << "\n";cout << &a << "\n";}
{int a;
cout << a << "\n";cout << &a << "\n";}
return 0;
}
こうかな^^
>>345 int a=10, b=100, c=1000;
こんな感じで初期化するでしょ?
すると、メモリ内では、
│10│100│1000│(ここはそれ以外のデータ)
↑
こんな感じでデータが前につめて放り込まれる。
プログラムが終了すると、
101001000(ここはそれ以外のデータ)
こんな感じで各領域の壁がなくなる。
再びint型を宣言すると
│101001000(それ以外のデータ)│
こんな感じで4バイトの領域が確保される。
なので、初期化する前に初期値を呼び出すと、
│101001000(それ以外のデータ)│
↑この内容が表示されるということを言いたいの。
>>347 そんな理解だろうからメモリの説明やめろと言った
そこで解説する神経が不思議だよな
350 :
346 :2010/09/15(水) 16:05:06 ID:K3cXK7LL
まあいいや。
そんなことどうだってw
>>227 が、
>初期化しない状態では2015115236が入ってた。
↑
こんなことを言っていたでしょ?
その原因を突き止めてやろうと思っただけです。
でも、こんなこと解ったところで
どうでもいいので、どうでもいいわw
でも、いつかは原因を解明してみせるぜ!
…初期化されていない変数の値は不定に決まっとろーが 阿呆かというか阿呆なんだよな
>>227 は
>>244 で俺が解説したんだがな
さて、この人はメモリの理解をしていないのにもかかわらず、ゲーム制作が出来ると思ってるらしいです
C/C でメモリ意識せずにゲームとか作れるのか?
JavaとかC#ならまだわかるんだが・・・
>>352 ところであんたは何者?
1.コンピュータ専門学生だ
2.現役大学生で大学でコンピュータを学んでいるところだ
3.専門、大卒で現在は別の仕事をしているんだぜ。悪いか!
4.専門または大卒でシステム会社でプログラマーだ。
6.専門または大卒でゲーム会社でプログラマーだ。すごいだろ!
多分、この中のどれかだろうね。
>>354 そんなことは解ってるよ!
その「不定に決まっとろーが」の理由を考えているんでしょ?
どうでもいいけど、
何か知っておいた方がいいような気がする。
多分、まだ俺が知らない秘密がコンピュータにはあるんだろうね。
大丈夫。
俺はこういう理論とか理屈を考えるのは好きなんだ。
初期値が不定の原因をいつか解いてみせます。
>>357 数式y=1/xにx=0を代入し、yの値を求め、理由を記せ。
ここ見てると中卒の俺でも何か作れそうな気がしてきた
>>361 こんなスレよりもム板に行ったほうがためになる
ゲームプログラムスレがあるし。
>>363 す げ え ・・。
ゲーム会社のプログラマーになれたのか!!
おめでとう!88888
って、どうせ嘘に決まってるだろうけどねw
>>72 もそうだけど注意力が無さ過ぎて皮肉がつうじねぇんだ
>>364 選択肢をよく見てみろ。
俺は、プログラマになる予定はない。
ただの趣味だ。
(0001, 0010, 0011, 0100, 0110) やっぱり御脳の問題じゃねぇの
ちなみに初期値が不定だったのは、 【メモリ内部】 ■■■■□□□□□□□□□ メモリを使うと このようにデータが放り込まれるのです。 新たに使用する場合は、 こんな感じに使われる。 【メモリ内部】 □□□□■■■■□□□□□ 【メモリ内部】 □□□□□□□□■■■■□ 【メモリ内部】 ■■■□□□□□□□□□■ メモリ容量の限界までいくと、 オーバーフローして、最初に戻る。 だから数値が不定だったのでは?と俺は考える。 以上、素人の解釈。
まだ誰も指摘してないけど、今の記事にも間違いあるからな 致命的とは言わないが、誤解してる表現があるぞ いいかげん間違いだらけの解説とじろよ
初期化されていない変数の中身は不定って何度言えば分かるのかなこの人 ねぇy=1/xにx=0代入してy出してみてよ
あ。上の講釈は、 スタック領域の内部ね?
なんでもいいよ 不定という言葉を理解してよ
>>372 いや。だからね?
型を宣言するたびに、
メモリ内で確保する場所が異なるの。
だ か ら 不 定 な の!
もういい!俺泣くから!
>>374 泣く前にポインタ勉強して来い
そしたら理解できるから
不定であると決まってるから不定なんだよ、それは定義であってそこに原因はない 不定であるとされる変数を呼んだときにどういう値が返されるかは処理系に依存する そこに「原因」はない
初期化してない変数の話はもういいよ。 理解力も無いのに無理してボトムアップでやる必要ない。 解説とかいいから、まずきちんと勉強しろ。 本気でやればC言語なんて三日で覚えられる。ソースは俺
>>373 なんでだろうね?
多分、コンピューターは常にメモリを使用して動いているからじゃないの?
メモリの中をぐるぐる回って使われているからじゃない?
まあいいわ。
だから本一冊買ってきて通しでやれと 理解してないことを解説だけしようとするのはすごい不自然
>>375 ポインタぐらい知ってるよ。
まあ、でも実際のところ、
中身までは知らないけど。
とりあえず、*をつけて宣言しておき、
&を使ってデータを呼び出して使う。
そんなことぐらい俺でも知ってるよw
またそうやっていちいち発言にネタを仕込む
やっぱり解説はやめたほうがいいんでない? ロベールとか猫とか苦Cとかのリンク張ったほうが初心者にやさしい。悲しいけど。
あ・・。そっか。 なるほど・・。
いまさらだけど、 俺って馬鹿だなww なんでこんな簡単なことに気付けなかったんだろうwww
>>380 知識としてじゃなく理解して来いってことだよ
知識だけならWikiでも知ってるよ
>>386 うん知ってる
言いたいことは理解するまで「プログラムは簡単」とか大口たたくなってことなんだ
なるほどね
> とりあえず、*をつけて宣言しておき、 > &を使ってデータを呼び出して使う。 これだけでポインタ知ってるって言えるんなら壁だなんて呼ばれねーよ
最初のステップを超えるといきなり解説に入るのが謎過ぎる アウトプットってそういう意味じゃないだろ
>>389 それだけだったら
ポインタのみの解説書とか何だよってなるわな
てか、主が分からないのはどうでもいいけど
その間違った知識を解説と言う形で載せるのはやめろ
万が一初心者が見てしまったら悪影響しかない
今、構造体の解説を作っています。 今度こそ一発で通りたいな(^^ かなり解りやすく解説しているので、 初心者に優しい解説になっています。 おたのしみに。
>>392 解説やめる気が無いならちょっと本気で全部の突っ込みにしっかり耳を傾けてくれな
解説と銘打つ限りはアラを探して探しすぎる事は無いんだから
なんかもういっそ致命的でなければかまわないみたいに感覚がマヒし始めてるのは俺だけじゃないと思う
どうせこの性格じゃページランク上がらんから問題ないさ
いいよ、反面教師で役に立つw
テスト
鳩山の同類か
どうしても上から目線で話したいんだろうなあ
3DRPG制作と何も関係が無くなっている件について
ライブラリを使わないで、C単体で3DRPGを作るんだからかなり根性が入ってるに違い無い。
そういえばsin,cos,tanの定義とかx=0のときの1/xも聞いてみたけどスルーされたな
すごい伸びてるスレがあると思ったら。 3DRPGへの道のりは遠そうだなぁ。
・3Dゲーで人が作ったライブラリ使いたくない
・クオリティはPS3レベル位
(現時点でのレベルはC言語初めて1週間レベル。)
↓
ライブラリ使わないので変換行列の計算を自前しないと四角ポリゴンすら出せない
↓
無論それだけのクオリティを求めているので、頂点シェーダとピクセルシェーダで四角ポリゴン書かないといけない
↓
クオータニオンとかオクトツリー、(判定に拘るだろうから)OBBなどなどを全て自前。
>>1 ぱねぇ、ここまででも絶対ムリだ。
>>1 ってマジで脳みそおかしいんじゃね?
スレタイとスレ内容が剥離してんだけど・・・
はやくつくれよ
「ゲーム作れる俺カッコイイ」だから永久に作らないんじゃね
DirectXは使うんだろ?DXライブラリを使わないだけで
DirectX ライブラリ、Win32 API、…IDEも他人のコード、コンパイラも誰かのコード
まさに「歯車の再発明」を全力で表現してくれるな。 まぁ、自分も最初はそうだったから何となく気持ちは分かるが態度が気に食わん。
車輪の再発明でした、知ったかしてすいません 後生まれてきてごめんなさい。
ここが「荒らされ」たらmixiに逃げるのかな ニコゲーとか出てきてるニコニコに逃げてコミュ潰しループかな
これだけの批判を受けてるのに自分に原因が有ると思わないのは有る意味才能かも知れない 鳩山的な意味で
少なくとも注目を集めるのはうまい。
3Dやるなら素直にフリーのエンジン使うのがいい。 DXは3D弱いからそれ以外で。 自前で1から3Dエンジン組んでたら完成は老後になってしまう。
構造体の解説(笑)はまだか? せっかく楽しみに待ってたのに
ってか暇なんか
>>419 なんか似たような奴あったね。
というか丸パクリじゃ…
よし、でけた。(^^ こんなもんだな。 これなら誰でも理解できると思う。 あー疲れた・・。 これだけの解説を作るのに、 どれだけ苦労したか・・。 よし!次は列挙体を解説するぞー!!
構造体の宣言は関数の外でやらないと関数抜けたら使えなくなるとかも書いといたほうがいいんじゃね?
これ…書きかけだよな?使い方書いてないじゃん
424 :
名前は開発中のものです。 :2010/09/16(木) 00:23:27 ID:0GyZYCG8
メモリ内部って描く必要ないだろ、これ。
実は、この後forを使って、 各構造体の各領域の内容を一発で表示させる解説を書いていたんだけど、 まだ、forとか解説していないことがたくさんあったのでやめといた。 間違った使い方も作っていたんだけど、 疲れてきたのでやめといた。 とりあえず、構造体がどういったものかを 解説できればいい。 この後、列挙体を解説してから、 構造体と列挙体を組み合わせて、 共用体の実用的な使い方とやらを解説してみせるぜ。(^^
さらに、こんな基本的なことを使って、 Direct3Dに繋がるわけです。 だから、C++を覚える前に、 もっと基本となるC言語を理解しておく必要があるのよ。 まあ見てて頂戴。 ここに来ている素人さんを 気が付いた頃にはゲームが作れるようにしてみせる! だからね? もう少し長い目で見ててちょうだい。(^^;
anataをチョメチョメしてないな CとC++の違いについてどうお考えですか?
おいお前らバカだな。
お前らが突っ込みたくなる気持ちは痛い程良く分かるが、突っ込んでこのスレが盛り上がれば
>>1 の思う壺だろ
>>426 のこれでもかというぐらいの上から目線のレスで良く分かった。
なんだ最後の5行バカにしてんのか
こいつはマジもんでちょっとズレてる、もうレスすんなよ。
俺はもうレスしない。
なんだっけ、原文忘れたけど
「人間の救いがたい悪癖は、人の師となろうとする事だ」
って言葉があったな。
要するに教えたがりの語りたがり。
>>1 しかり、それに親切にレスする人しかり。そして俺も。
>>428 好 き に し な さ い。
イチイチ宣言せんでいい。
お前なんて最初から眼中にないし興味もない。
スレというのは、
興味のある人が偶然訪れて、
自分の意思で、好きなレスを、好きな時間につけていくものです。
それぐらいの自由は認めなさい。
レスは全ての人に与えられた権利です。
俺からすれば、
あんたみたいに、住人のことを「バカ」と言っておいて、
頭ごなしに「レスすんな」って命令とかして、いったいお前、何様やねん?
って感じやね。
とうとう本性表したって感じだな。
だから、俺とかに荒らし認定されてしまうんだよ。
そんなことしてると、
誰からも嫌われるよ?
>>430 > そんなことしてると、
> 誰からも嫌われるよ?
ブーメランって知ってる?
>>431 俺からすると「思う壺」の意味がよく解らん・・。
なんだ?思う壺って?
思う壺になるのを阻止したいから、
命令してまで、レスをやめさせようとしているんだろう?
なぜ、そこまで思う壺とやらにさせないように必死になってんの?
このレスが盛り上がるとする。
そしたら住人が楽しい体験を得ることになる。
それが嫌なのか?
それとも、
このスレでRPGゲーム制作技術について語られると、
みんなのタメになるから、それが嫌なの?
なぜ?
このスレがきっかけでプログラムが好きになり、
プログラマーが今より増えてしまうと、
自分の仕事がなくなるから、
今のうちに根を絶っておこうとしているの?
>>428 の頭の中が、イマイチ理解できない。
まあ、別にどうでもいいけどさ。
>>1 ここが盛り上がっているのは主にお前が、異常だからだ。
そして、その盛り上がりには殆ど不快感しかない。
>このスレでRPGゲーム制作技術について語られると、
>みんなのタメになるから、それが嫌なの?
お前がいつタメになる製作技術を語ったのか?
>>1 の頭の中が、イマイチ理解できない。
まあ、別にどうでもいいけどさ。
ああ、それと思う壺っていう言葉の意味くらいは社会人なら知っておいたほうがいいよ。
オススメの辞典とか紹介してあげようか?
>>1 を見てても、そこらの落ちこぼれのほうがまだ吸収早いってことは分かるな。
ところで、構造体ってものがあるわけなんですが、
>>1 の説明で、nameに、sendoとanataって入れるところありますよね?
あれで、name[6]が0になるのって、確定していることじゃないんですよ。
VCではどうもそうなるみたいですけど、GCC(cygwin)で試したらならなかったので一応忠告しておきます。
本来なら
>>1 的にいう「空っぽ」っていうのが近いです。正しくは「不定」です。
ttp://codepad.org/LsCaHQGw >>1 はVC "し か" コンパイラーを動かせないだろうと思いますので、
↑に参考URLとして自分が書いたコードとその実行結果載っけておきます。(memcpyって何?とか聞かないで下さいね//)
こういう一部のコンパイラでしか動かない言語仕様上保証されていないコードを書く方がいるせいで、
世の中にバグゲーと呼ばれるゲームが出現するんですよね。
まぁ、自分はあんまりゲームとかしないのでどうでもいいんですが。
>>430 ,432
よくそんな恥ずかしい文章書けるな。一度声に出して読み返してみろ。
中学生でもお前よりはまともな文章を書ける。
お前らその辺にしとかないとまた「なんで不定なんですか><」が飛び出すぞ
>>432 >このレスが盛り上がるとする。
>そしたら住人が楽しい体験を得ることになる。
今のところお前が上から目線で嘘を書き散らして、住人に解説させてなぜか悦に入ってるだけだからだろ
悲しみしか産んでねぇし産まねぇ
>>432 じゃあ俺の頭の中を低脳なお前でも分かるように説明してやるよ。
まず本当に作る気があって、本当にやる奴は黙って勝手にやるんだよ。
普通は言語説明もしないし、最悪SSが撮れるまでサイト作らない。
てめーは誰かに見られて偉そうにして無いと作業できねーのかよ
本当に作る気があるんだったら、黙って2chしてる暇あったらコードの一行でも打てカス
>>432 一つ言っておくと
>>428 は命令はしてないと思うんだがな
自分の考えを示して提案しただけだろ?
あと
>>1 と
>>428 の「バカ」はニュアンスが違う気がするぜ
>>1 の「バカ」は完全に罵倒してるが、
>>428 の「バカ」は熱くなってないで冷静に考えてみろ的な意味だろ
>>432 で必死になってるとか言ってるが、
それはあんたの方だろ?
>>428 でレスが少なくなるのが困るんだろ?
ということで
>>428 に一票
俺はヲチスレに帰るわ
ヲチスレあるのか
あれ?ヲチスレ落ちてなかったっけ
まあいいや。 そんなことどうだってw とりあえず、次はいよいよ定数と列挙体の解説になります。 これはゲームプログラムに当たり前のように使われている技術だから、 かなりためになると思う。 こうやって少しずつゲームプログラミングに近づいていってるから、 気が付いた頃には、 ゲームプログラミング技術について語り合ってるよ。 てなわけで、紅茶飲んでから、 ボチボチ新しい解説を作ります。
定数の解説どうしようか悩んでいます・・・。 数学での定数の考え方を説明してから、 C言語の定数を解説しようかな・・。 でも、それだとややこしいかな? 普通に、C言語の変数と定数の違いを解説しようかな・・。 うーん・・。
都合が悪くなると「まあいいや」でスルーか。
>>442 定数ごときで悩んでどうする
一つ確かなことは
ここに教えを請いにくる初心者は明らかにいないということと
ヲチスレとここの違いは
>>1 がいるかどうかだけだということだな
…すまん、スペイン宗教裁判呼んでくれ
>>443 そうかな・・。
俺が初めてC言語の定数に触れた時は、
結構混乱したよ。
定数っていったら、
高校で習う定数を思い浮かべるだろ?
だから、「ああ、あれを使うんだね」って思って、
数学の定数をそのままC言語の定数に当てはめて考えたとき。
「はぁ??」って思った・・。
C言語の定数を理解するのに
かなり苦労したよ。
だから、あえて数学の定数を持ち出さなくて、
「#defineで定義すればいいのです」と解説した方が、
混乱しないかな?と思っています。
「定数を使う」と、「定数を理解する」は、また別次元の話です。
#defineは定数じゃないぞ あんたが言っているように 「定数として使うこと」と「定数を理解すること」は違うからな
>>446 え?なに言ってんの?
俺が言いたい事理解出来て発言してる?
ていうか、数学定数は解るよね?
ほら、
1.414213562373 を「ひと夜ひと夜に人見頃、爺さん並み」
1.732050807568 を「人並みにおごれや、罠込むや」って感じで覚えたでしょ?
まあ、日常生活には、どーでもいい知識だから
今はほとんど忘れたけどね。。(^^;
でね?その数学定数をC言語の定数で使うんだな・・。
とか思っていたら、
全然意味が違っていたから俺は混乱しました。
ということを言っている。
まあいいや。
以下の問に答えよ。ただしH=1, O=16とする。 1) 酸素の分子量を求めよ。
まずこいつ数学における定数も理解してないし。てか高校の数学の広い範囲で理解が怪しいっぽいな。
http://en.wikipedia.org/wiki/Constant_ (mathematics)
>Constant (mathematics)
>In mathematics, a constant (more precisely, constant quantity) is a non-varying value, i.e.
>completely fixed or fixed in the context of use. The term usually occurs in opposition to
>variable (i.e. variable quantity), which is a symbol that stands for a value that may vary.
http://en.wikipedia.org/wiki/Constant_ (programming)
>Constant (programming)
>In computer programming, a constant is a special kind of variable whose value cannot typically be
>altered by the program during its execution (though in some cases this can be circumvented,
>e.g. using self-modifying code). Many programming languages make an explicit syntactic distinction
>between constant and variable symbols.
>Although a constant's value is specified only once, a constant may be referenced many times in a
>program. Using a constant instead of specifying a value multiple times in the program can not only
>simplify code maintenance, but it can also supply a meaningful name for it and consolidate such
>constant bindings to a standard code location (for example, at the beginning).
http://dictionary.reference.com/browse/constant > ?noun
> 7. something that does not or cannot change or vary.
> 8. Physics . a number expressing a property, quantity, or relation that remains unchanged under specified conditions.
> 9. Mathematics . a quantity assumed to be unchanged throughout a given discussion.
俺の好みは最後の" a quantity assumed to be unchanged throughout a given discussion."かな。
与えられた議論の中において不変であると理解される量。
451 :
449 :2010/09/16(木) 17:16:14 ID:BlwHvPUT
constの方が厳密になるんだな。
>>1 のおかげでなんか勉強になった。
>>450 英語苦手だからやめてーw
>高校の数学の広い範囲で理解が怪しいっぽいな。
中学生かもね
一応、俺、高校の頃は、 数学は学年トップの成績でしたよ。(^^ これだけは自慢。 数学は面白かった。 他の教科と違って覚えること少ないし、 公式を覚えるだけで問題が解ける。 でも俺の場合、 うっかりミスばかりで、 いつも100点を逃していたよw 計算式は合ってるのに、 足し算を引き算で計算してたりとかwwww そうそう。これはウンチクだけど、 一説によると、0という数字はインド人が最初に発明したそうです。
>>452 >数学は学年トップ
嘘つけ
>うっかりミスばかりで、
ケアレスミス発見した時は落ち込むよな
>一説によると、0という数字はインド人が最初に発明したそうです。
数字じゃなくて数じゃね?数字自体はもっと前からあったとか
まぁ、高校数学は文系のほうが得意とか言うしな。 例えば1.414213562373 はふつう定数とは言わないし、計算だけできても 概念理解が怪しいんじゃあんまり意味がないっつこったな。
3Dを扱うと数学の知識も必要だから、 数学が苦手、もしくは嫌いな人はキツイかもしれません。 まあ、でもきっと大丈夫。 俺が小学生でも解るような解説を書くからね。 俺は、神解説を目指している。
>>449 補足thx
そういうことね
#defineはただのリテラルだからな
どうでもいいけど、ルートの値は定数とは言わねーぞ
πとかネピアの数とか有名なもんあるだろうに
458 :
名前は開発中のものです。 :2010/09/16(木) 17:41:21 ID:BlwHvPUT
>>456 神解説()笑
一度市販のゲーム制作入門書買って読んでみようよ。
>>406 毎度のことだけどな、ここ初心者いないからさ。理解してないのお前だけなの。
なんで常に上から目線で教えを請うの? へりくだれとか媚びろってんじゃなく、なんで
あえて対等とかちょい上じゃなく極端に上に持ってくん?
あ・・しまったw
また嘘教えてることに気づいたww
やっと
>>427 の発言の意味が理解できましたw
あとで修正しておきます。
ありがとう。
461 :
名前は開発中のものです。 :2010/09/16(木) 17:46:47 ID:IPjawOgo
上から全部読んでみたが、 95%は主が間違ってて、5%はそれ以外の人が間違ってると思った。
>>1 を3Dゲーム作れるようにすること自体難易度高い
>>462 あなたは、やっとスレの趣旨が解ってきたようだね
>>461 つまり合わせて100%このスレが間違ってると
同感だな
どうせならkazukiリストラして他の奴鍛えたい
>>465 もっとカワイイ弟子なら、一生懸命に教えちゃうけどね
>>465 なら俺を鍛えて欲しいんだが・・・。
ってか、ヲチスレってどこー?
本スレでヲチスレにポインタ貼ったら英雄的行動と言わざるをえない状況になるな 俺も知らんけど
今更だが、なんで俺
>>303 で真面目なアドバイスしたんだろ…
まったくもって
>>305 の助言通りじゃないか。
472 :
sage :2010/09/16(木) 18:53:21 ID:IPjawOgo
そろそろ始めて4ヶ月らしいね。本気で4ヶ月もやってるなら、 シェーダープログラムとか、ストーリーとか、メインテーマとか、 グラフィックとか、何か一つでも完全に完成してる頃でしょう。 別に音楽全曲とかグラフィック全部とかじゃなくて、1つだけでいいから 神プログラムでも神曲でも神グラフィックでも何でもいいから、 市販ゲームに負けてない部分公開してみんなを納得させようず。 口先ばかりと思われないためには、文句の付け所の無い作品を出すのが早いよ。 そういやドラクエ4レベルはもう作れるんだっけ?だったらそれでもおk。 まさかまだ1曲も完成してないとか、1グラフィックも完成してないとか、 4ヶ月も経ってまだ企画やってるとか、そんなことない…よね? …そういや初期の頃、ニコ動で主に 「ゲームを作るのに5年も10年もかかるんだって」って馬鹿にされた気がするけど、 あの頃が懐かしいなぁ。
都合の悪いレスは全てスルー
>>472 この調子だと数十年単位で時間が掛かりそう
>>473 ×都合の悪いレスは全てスルー
○都合の悪いレスは憎むべき荒らしまたは馬鹿な初心者
476 :
名前は開発中のものです。 :2010/09/16(木) 19:00:26 ID:5u5q27MB
単に逃げたんだろ?w ここまで頭の悪さ露呈したら、そりゃ恥ずかしくて生きていけないだろ?w
>>475 同感www
謝ることは謝る&単なる攻撃はスルーっていうのが出来てたら
今頃いい支持者が沢山ついて、もっとゲーム開発進んでるよw
>>472 少し前にニコニコ動画で散々見せたよ。
・メタセコイヤを使って3Dポリゴンを作っているところ
・イラレでテクスチャをイチから作ってるところ
・メタセコイヤで3Dポリゴンにテクスチャを貼り付けているところ
・イラレでフィールドの原案を描く
・それをメタセコイヤで3Dフィールドにする
・実際にプログラムを実行させて
3Dフィールドを表示させて、3Dポリゴンキャラをジョイパッドで自由に動かす
こんな感じだったかな?
あの頃はDXライブラリを使ってプログラムを組んでいたけど、
今は、DXライブラリを使わないで実現させることができて、
さらにそこから少し進んで、会話ができたり場面を変えたりすることができた。
というところですね。
最初にDXライブラリを使用していたものを
オリジナルプログラムにしてみるところでかなり苦戦しました。
だから、最初っからDXライブラリなんて使わずに、
C言語の基礎から始めたほうがよかったと思っています。
そっか、指摘に対して上からレスすれば第三者には「間違った指摘を訂正してあげた」ように見えるのか。
見えないけどな。
>>476 馬鹿だね。全然分かってない。逃げるのは卑怯者のすることだよ。そんなことだから
今も底辺職でヒィヒィ言いながらこんな所で鬱憤晴らしすることしかできないんじゃないの?
ま、その間に俺はゲーム完成させますけどね。
…こんな感じかな。
>>478 訳:
絵はかけます
サンプルソースも動かせました
改変が出来なかったので諦めました
ある程度のところまで進んだけど、 それを一旦リセットして、 C言語の基礎のところからイチから始めたから、 進捗状況が遅いんだと思う。 でもね。 DXライブラリを捨てたことは正解だったと思うよ。 入門者は、とりあえずDXライブラリである程度までプログラムを組んで、 それから、DXライブラリを卒業すればいいんじゃないかな? だって、早く動いているところを見てみたいですからね。 でもね。 やっぱ俺はC言語の基礎から学んでから、 C++にステップアップした方がいいと思う。
>>478 Microsoftのサンプルコードを数文字変えて、他人のモデルを盗んできて、コミュ掲示板でツッコまれたら
荒らしまくった挙句コミュ潰して丸ごと証拠隠滅しようとしたけど結局素材が非公開にされちゃったんじゃ
…なかったっけ?
あくまで仮の素材なら盗用してもいいんだっけ そうだよね仮だもんね
>>480 うん。
悔しいがその通りだ。
あの頃は、DXライブラリを使って
プログラムを作れる気になっていた。
でも、そこから進もうとした時に、
解らないことがたくさんあったので、
一旦挫折・・。
これはC言語の基礎から学ばないとダメだ。ということに気が付いて、
それまでのものを全て捨てて、
C言語の入門から始めることにしたのです。
だから、基本的なことも知らない癖に、
もっと高度な技術をすでに知っていたりする。
盗用したら、 即刻 犯罪者。
>もっと高度な技術をすでに知っていたりする。 kwsk
注:知っているだけで、応用理解は出来ません
解説もできません
>>486 いや、だからDirectX9の技術だよ。
DXライブラリを捨てて得たものは多い。
DirectX9やDirect3Dとか色々知ることが出来ましたからね。
まあ見てなさい。
解説をしながらですね。
少しずつゲームが完成していってるところを見せてあげる。
そしたら、これはただの盗用プログラムではないことが
立証できると思うしね。
変な因縁つけられるのが嫌だから解説をしてるです。
多分、今の時点で完成したゲームを公開したら、
また、「こんなの流用しただけ」とか
つまり「実力じゃない」というような変な因縁つけれれるのが目に見えています。
×もっと高度な技術をすでに知っていたりする。 ○もっと高度な技術をすでに見たことがある。 コンピュータの存在意義はデータ処理。ソースを公開してれば十二分。 目的に専念しろよ。あぁ、してるのか(笑)
「泥縄」
>>489 じゃあ、ソースや仕組みの解説はいいから、
一度3Dゲームを作ってみてよ。高度な技術とやらで(笑
きちんとしたゲームが作れたら、
サークルにも人が集まるだろうし。
もしかしたら、このスレを見てる人もお前の事を見直すかもしれない。
まあ、無理だろうけどね。
>>489 ソースコードだしゃ済む話だろ
>>67 の動画とソースだせば実力はわかるんじゃね
同人ゲームを作っている人はたくさんいます。 だが、同人RPGを作ってる人は少ない。 さらに、本格3DなRPGに挑戦している人はいないのではないでしょうか? 対外の同人ゲームは、 東方みたいなシューティングや エロゲみたいな同人ゲームです。 なぜですか? 今の俺ならその意味が何となく解る。 つまり、RPGはそれほど作るのが困難だからです。 エロゲならイラレとかで画像を多量に描いておいて、 声優を募集して声を吹き込んでもらって、 プレイヤーの選択結果によって、 表示する画像を変えるようにすればいい。 作るのはかなり簡単です。 まあ、大量の画像を描くのは大変ですがね。 シューティングゲームなら、 パターンを決めておいて、 敵と自機に当たり判定をつけて、 弾があたったら死ぬようなロジックを組めばいい。
もしも、
>>493 の言う ソースコードが出てこなければ、
コードを盗用した事実を認めたことになる。
自作のコードならば、すぐにコードを公開する事ができる。
>>492 少しずつだけど、
スペシャルサンクスが増えてきているから別にいい。
>じゃあ、ソースや仕組みの解説はいいから
お前が決めるなよw
3DRPGだのシューティングだの以前に、オセロ作れるかどうかも怪しいレベルだろ
ここの
>>1 は
ここ3日くらいで高校数学も理解してないことが明らかになったから あとは推して知るべし
>>496 ほう…回避されたな
そんなに自信無いのか。
>お前が決めるなよw
いや、どうせまた、
「初心者のために基本から解説していきます」
とか言って逃げると思ってな。基本すら怪しいがww
つか
>>1 が判断することじゃないだろ
信頼が欲しいなら、リクエストに答えるべき。キューブが回るデモでも公開すればいいんじゃね
俺のレベルが知りたいなら 俺の解説を読めばいいでしょ? そしたら、この人はプログラムをどこまで理解しているのかが解ると思う。 ソースなんて公開したって、 どこかから拾ってきたソースを自分の実力だと偽っていることもありえる。 でも、解説をすれば逃げ道はないよね? ところでどうよ? これまでの俺の解説は。 一応、ちゃんと理解してるでしょ? とりあえず、俺が知ってることは全部教えるから、 それから判断してほしいね。
何も理解してないことは明らかだし、ここでエラーなくビルド通るスクラッチGUIアプリのソースが出てきたら またパクったのかと確信できる。
>>501 お前の解説のレベルが低すぎるから言ってんだろ。
とても理解しているとは思えない。
んーー・・・。 とりあえず、何でもいいから、 俺のやりたいようにやらせていただきます。 あのサイトの管理者は俺なんだからね。 興味がある人だけ見て行ってください。 それ以上のことは言いません。
>>501 理解している?
まさか
もうこれまでの突っ込みは忘れ去られたのか
今の状態も
>>484 の状況と変わってないことをまず理解しろ
DXライブラリがDirectXに変わっただけだぞ?
つか一通り理解せずに解説してるんだから 今の解説もパクリみたいなもんなんじゃないの
> ところでどうよ? > これまでの俺の解説は。 > > 一応、ちゃんと理解してるでしょ? 高レベルのギャグだな どこで学んだの?そのギャグ
解説する内容を先に言っておきます。 ・C言語の定数と列挙体 ・C言語のif文と条件分岐 ・C言語のループ処理(for文、while文、do文など) ・C言語の値渡し(return文) ・C言語のポインタ ・C言語のヘッダファイル作成 こんな感じかな? これら全ての解説が終わってから、 ちょこっとだけC++を解説してから、 本格的なDirectX9編の解説に移ります。 おたのしみに。
>・C言語の値渡し(return文) この見出しだけで地雷だとわかる不思議
故人曰く、人に教えるには3倍理解していなければならないってね
こいつ、DXライブラリ云々言ってるけどただC言語の理解が足りなかっただけじゃないの?
60分経過しました。
>>493 の言う ソースコードが公表されなかったので、
>>1 である Kazukiはウソツキでコードを盗用した事を認めました。
そして、C言語の小さいコードすらも書く事が出来ないことを認めました。
Insanity: doing the same thing over and over again and expecting different results. Albert Einstein, (attributed) US (German-born) physicist (1879 - 1955)
>>512 はいはいw
ワロスワロスww
では、また。
>>508 楽しみだな
待ってるぜ
>ちょこっとだけC++を解説してから、
C++をなめちゃいけないよ
>>508 見て
レスしないって言ったのにどうしても突っ込みたくなる
我慢出来ない煽りたい、なんでちょこっとだけしかC++やらねーのか聞きたい
C言語より解説する所多いし濃いだろ
継承から始まって包含、operatorとか、template、virtual、参照…etc
お前はC++をちょこっとで説明できんのかと
Kazukiを二次電池だと思ってはいけない――せいぜいウルトラキャパシタか、ひょっとするとセラコンかもしれない。
2000年頃の電解コンデンサーは設計不良で火を噴く。臭い煙が出るから注意
kazukiって
>>66 でシェーダの話してるけど、出来るんだ?
>>1 は前にニコニコに上げた動画の中で、クラスが理解できないから中身を外に出したとか
言ってたような……
>>515 C++って多すぎるから、
全部カットしますw
とりあえずマクロに少しだけ触れてから、
あとは、DirectX9を触りながらC++を解説していくということ。
DirectX9は、C++で組んでいくわけですから。。
それに、ゲーム作ってるところを見せながら解説した方が
面白いと思うしね。(^^
訳:C++は手に負えないので、コーディングスキルがあると錯覚させられそうなところまで 解説したらあとは無料公開のソースから継ぎ接ぎしてバイナリだけ公開します
ちょっとCとC++の関係どういう風に考えてるか聞いてみたいな CをやらないとC++出来ないとか考えてるんじゃないだろうね
C++の解説第0回 初期化されていない変数の通常とる値とその原因
>>525 ああそう。
じゃあ、お前にはDXとC++を同時に解説していくだけのスキルがあるんだな。
どういう風に解説していくのかだけでも聞かせてくれ
>>527 どうやって解説するってあんた・・。
Direct3Dのメソッドを呼び出して、
それを、C言語の基本ルールに従って
組み合わせていくだけです。
その一連の流れを図解入りで解説するわけです。
例えば、
GetAdapterDisplayModeメソッドを使用する時は、
引数に指定したアダプタ(3Dビデオチップのこと)の設定を
D3DDISPLAYMODE構造体に格納してから・・・。
という感じかな?
構造体って言ったら、
今、解説している内容だよね?
>>530 レス読んでからアンカー付けてね^^
こいつC言語とC++の違いすらわかってなさそうだな。
公式サイト見てたら、C言語の解説にC++のソースが混じってたし。
ってかどうせ.cppでコンパイルしてる癖にC言語やってるつもりなんだろ
C99なのか
>>532 簡単なプログラムしか組んでないと下位互換だから気づかないんだろ
今こいつのサイト見てきたけど とりあえずDIMMの画像の引用元探して通報しようかなと思った
typedef struct _D3DDISPLAYMODE { UNIT Width; //デスクトップの幅 UNIT Height; //高さ UNIT RefreshRate; //リフレッシュ D3DFORMAT Format; //色深度 } D3DDISPLAYMODE; 例えば、こんなコードを書いたとする。 typedefは型を省略するためのものですね? structは、構造体を定義するためのものですね? { } の間に入っているのはメンバ変数のことだよね? まだ言ってないけど、 構造体の宣言時に、構造体変数をまとめて宣言することもできます。 全部、現在までの公式サイトで解説していることです。
>>540 >ヘッダー d3d9types.h
ヘッダファイルってソースの一部じゃないかなぁ
>typedefは型を省略するためのものですね? ちがいます
>>542 んなこたぁ分かってるよ糖尿
お前が書いた訳じゃないだろ、Direct3Dで定義されてるやつお前もう一度書くつもりだっただろ
UNITわろた コピペもできないのか
ちょっとkazukiさん、この問題やってみてソースうpしてよ 流石にFizzBuzz問題は出来るよね? 1 から100までの数を順に表示する。 但し、その数が 3 で割り切れるならば数字の代わりに Fizz と、5 で割り切れるなら Buzz と表示する。 3 でも 5 でも割り切れる場合は、FizzBuzz と表示する。
テスト
>>546 どうせ、そんなことはどうでもいい、で流される。
>>1 はどうしようもないバカなんだが、この言葉が強すぎる。
エロゲの主人公の名前を自分のHNにする時点でお察し
こいつの書いてるのは全部 本からの丸写し、サイトも。 おめえ、参考書を一冊しか持ってねぇのかよ
>>546 これよく出す人いるけどさ
剰余演算子知ってるかどうか「だけ」の問題じゃね?
よしんばそれを禁止しても代えになる方法を当てはめればいいだけで
完全に覚えゲーなのにPGの腕がどうとか言い出す馬鹿がいてマジで
こんなんで判断する奴みると頭の形が変形するまでボコりたくなる
俺の前で二度と発言するなお前
>>551 こいつは、さっぱりコードが書けない。
>>546 のコードも書けないだろう。
レベルが低い。想定外に低い。
出てくるのは丸写しのコードだけだ
「数当てゲーム」を作ってみろと言っても、出来ない。その程度。
少なくとも少しはプログラムが書けるかどうかの判断にはなるんじゃねーの fizzbuzzができないプログラマなんて居ないだろうし そうカリカリすんなよ
>>551 この問題ってプログラマの腕とか関係なくね?
真性のアホかどうかを見極める問題だろ
PGの腕()とか何言ってんだお前、高い技術使っても低い技術使っても出来上がったexeとリソースがモノを言うんだよ
そういうのはゲ製作板よりプログラム板とかの技術屋が居る板で声高々で文句言って来い
ちなみにだが、もう最適化はされてたりするけどこういった簡単な問題でコードゴルフとかするヤツいるから
そういう人らのソースはお前がおっしゃってるPGの腕なんじゃないの?
ごめんね、しゃべっちゃって、てへ。
つーか主が成果を見せれば多少期待出来るのに 今までひとつもオリジナルの成果物見せてないからな 信用されないに決まってる テトリスすら作れるのか怪しいな
3Dゲーム開発の基本問題かぁ。ちょっと本気で問題を作ってみた。 1)CPUとGPU(グラボ)のそれぞれの特徴と得意分野を述べよ(どうしてCPUだけではいけないのか?) 2)近年シェーダー等のプログラマブルパイプラインが重要となっている理由を述べよ 3)固定パイプライン時代の、3次元ポリゴンモデルからディスプレイ上のピクセルに変換するまでの処理手順を述べよ 4)ポリゴンの陰付けの最も単純な方式「グーローシェーディング」「フォンシェーディング」の仕組みと特徴を述べよ 5)バンプマッピングを用いることで、ポリゴンでは表現できない服のしわなどを再現できる。その仕組みを述べよ 6)単純なユークリッド座標系(x, y, z)より、同次座標系(x, y, z, w)を用いる方が3次元座標変換処理において優位性がある理由を述べよ 7)遠くなるほど物が小さくなる「透視変換」が単純な行列変換だけで実現できる理由を同次座標系を用いて示せ 8)DirectX11 ではテッセレーションが標準機能化された。これによるメリットを述べよ 9)NVIDIA が CUDA 技術で牽引するようなGPGPU処理と、通常のグラフィック処理の関係性を述べよ 10)アニメに用いられるトゥーンレンダリングの仕組みを述べ、それを実現するシェーダープログラムを示せ 11)リアルなレンダリングに用いられる有名な手法の一つ「BRDF」の仕組みと特徴を説明せよ 1〜5は3D基本問題、6〜7は3Dで使われる最も基本的な数学問題、 8〜9は最近の話題関係の問題、9〜11はシェーダープログラムに関連する問題。 このくらいが普通にわかる知識と経験があれば、 とりあえずそれなりのリアルさのシンプルな3次元ゲームは作れるかな?
>>556 俺が分かる範囲で全力で答えるから、ちゃんと答え合わせしてくれよな?
後俺が答えられなかった所も答えろよ、問題出したんだから、そっちから振ってきたんだぞ?
1)CPU(汎用性高)とGPU(並列処理に特出)を比べた場合、GPUの方が演算能力が高い。
なので3Dゲームなど行列演算を多く使う場合にはGPU側に処理を任せた方が効率が高い
2)GPUの性能がめちゃくちゃ上がってるからCPUでやる必要ないからじゃね
最近のDirectXなんかはシェーダ使う事前提だし。
3)ローカル座標からモデリング変換してワールド座標にして、視界変換してカメラ座標系にして
更に射影変換して、ビューポート変換して出てきたのがスクリーン座標系
4)ピクセルシェーダの一部、確かグラディーションに用いる。フォンはしらん。
5)通常のテクスチャ+法線マップを使い、ポリゴンに凹凸を付ける技術。
法線マップってのは法線ベクトルのxyzをrgbとして表していて、法線ベクトルの向きを表している。
それにピクセルシェーディングをかけてライティングを行うと陰が出来ている風に見える。
6)単純にクオータニオンは任意軸の回転を表すから、回転行列の代わりに使える
それと補完を行う為にアニメーションのキーとして使用する。→ってかこれが入らなければ行列で良い
7)普通に自作しようと思っても計算式が有るから?基本的には標準のprojectionを使うので分からん
ちなみに計算は単純じゃないです、逆行列を求めるプログラムと比べたら相当単純だけど。
8)触ってない知らない
9)詳しく知らない
10)セルシェーディング(トゥーン)の作り方
拡散反射光の数値をテクスチャにマッピングして、まずは輪郭専用のモデルを描画(面カリングしとく)
法線が向いている方向に拡大したポリゴン描画して、カリング有効にしてセルシェーディングしたポリゴン描画。(合計2パス)
画像はトーラスにセルシェーディングして実行したモノ。
http://www.uproda.net/down/uproda140772.jpg 11)流石に分からん。
あ、ちなみに実行環境はC++/OpenGL + HLSL(cgfx使用) 答え合わせと回答よろしくね、楽しみにしてるよ。
>>530 とりあえずその程度の理解でDirectX叩いてゲームに出来ると思っていることに呆れた
2BpkBEPJ さんは主さんじゃないの? まぁ、主さんから逆行列っていう言葉は出ないと思ってたんだけど… どっちにしても、各問題2〜3行だけどきちんと回答するよ。 ってか主に対する問題だから、主さんじゃなければもうちょっと待ってみる。
561 :
名前は開発中のものです。 :2010/09/17(金) 02:14:01 ID:zHlo0awp
多分お互いがお互いを
>>1 だと思ってるような気がするw
ぬ、釣りかどうか判断が難しいなこれ。
てっきり
>>556 の内容と最後の数行から
>>1 だと推測したが、違うのか?
とりあえず、俺は主(
>>1 )じゃない、と言っとくw
ID 機能してねぇww
なんだ、てっきり
>>1 が出したのかと思ったわ
真面目に解いたのアホらし寝る
普通に主にしてはレベルが高い返答が返ってきて俺も一瞬びびったおw その前に今の主のレベルだとこんな出題無理だからw トゥーンのプログラムしっかり作りこんでくれてマジ乙w …回答、どうする?あえて出さないでおこうか?
まぁ、主さんに
>>557 に対する意見を聞くのでもいいな。
可愛い二人だw
楽しそうなことやってるじゃないの
まず同人3DRPG制作ってのに惹かれたわ。 俺も同人で3DRPG作ろうと思ってるんだけどそもそも同人で3DRPG作ってるとこって少なくない? ちょっと考えてみたとこEadyGameStationさんとこのくらいしか思い浮かばない。
だって同人でやるには3DRPGはあまりにもやることが多すぎるもの
571 :
名前は開発中のものです。 :2010/09/17(金) 05:02:38 ID:NZV8ZnNu
なんだかにぎわってると思ったらw どうしてこのスレでだべってるんだ。 ほかのスレで話したほうがよくね? 勢いでパートスレ化されたらたまらんぞw
隔離してんだよ言わせんな恥ずかしい
>>573 アンリアルエンジンは使ってるサークル見たことないな
公式サイト更新きてた 思いっきり間違ってるし。 #defineが何なのかわかってないらしい
ったくw
二人とも何、深夜にバトっちゃってんのよwww
マジでコーヒー吹いたwww
懐かしい遊びしてますね(^^
2chの面白さの真髄を垣間見たような気がするw
>>557 は
>>556 の出題者を
>>1 だと思ってムキになり、
>>556 は
>>557 の回答者を
>>1 だと思って会話。
そしてお互いが違うかったことに気づき、
思わず赤面。
他の住人は思わず、クスクスと笑うww
匿名掲示板2chならではの遊びですね。(^^
これは、日付が変わることでIDがリセットされることと、
匿名掲示板だからこそ実現できた遊びですねw
これが2chの面白さの真髄であり、
2chの真骨頂でもある。
朝から面白いものを見させていただきましたwwwwwww
>>576 へえ。IDが変わるのがおもしろいのか。
死ぬまでルーターのリセットボタン連打してろks
うちのルータだとip shutdown FE1/1.1かな いずれにしろ主はバカっぽい文章と改行ですぐ分かると思うけどな ところで数学に続いて英語もできないことが発覚したの?
581 :
556 :2010/09/17(金) 08:34:36 ID:/2a5uZT0
え?俺は直後の560でいきなりこのレベルの高さは主じゃないと見抜いてるぜw どこをどう読み間違えたのかな? それに主だと思ってたらすぐに答え出してるはずだし。 まー確かに、4ヶ月間主が必死に勉強してここまでのレベルにまで到達した、 という可能性を一瞬考えたのは事実だけど。 でも、ゲーム開発にプラスになるかもしれない「問題の内容」に食いつかずに、 ゲーム開発に関係の無い「ちょっとした人の失敗」だけに食いついて馬鹿にするんだね。 いつも通りというか何というか、成長してないことになんか逆に安心してしまったわ。 でも2chとかあまり利用しないし、確かにID変わるのは知らなかった。 …ところで、主はギブアップ(または問題無視)でおk? まぁ、暇つぶしに問題考え始めたらいい感じに完成してきて つい書き込んでしまっただけだから、別にまともに答えてもらわなくてもいいんだけど。
>>576 -100から+100の範囲にある自然数のうち、3と9で割りきれて
6で割れない最小の数は?
ひっかかるとこだったw
お前ら答え言うなよ 自明だからな
もっとゲームで使いそうな技術問題を数問を足したりして問題を補完してみた。 誤解されてる問題もあったので、全体的に問題を厳密化してみた。 長文すまそ。あまり詳しくない方&市販レベルのゲームを開発しない方はうざいと思うので無視よろしく。 1)CPU と GPU(グラフィックボード)のそれぞれの特徴と得意分野、また CPU だけで完結するより GPU も併用した方が良い理由を述べよ 2)独自シェーダの実装を可能とするプログラマブルパイプラインが近年重要視されてきている理由を述べよ 3)固定パイプライン時代において、三次元ポリゴンのモデルがディスプレイ上のピクセル(ドット)に変換されるまでの処理手順を述べよ 4)Phong の反射モデルにおいて「鏡面反射」「拡散反射」「環境反射」それぞれの成分がピクセルの輝度値にどのように影響を与えるか述べよ 5)ポリゴンの滑らかな陰付けに関する手法「グーローシェーディング」「フォンシェーディング」の仕組みと特徴(長所・短所)をそれぞれ述べよ 6)地面に影を落とすために用いられる手法の一つであるステンシルシャドウボリュームの仕組みと、その弱点を述べよ 7)金属の表面にはよく周囲の風景が写りこんでいる。これをCGで再現するための環境マッピング手法を一つ挙げ、その仕組みを述べよ 8)バンプマッピングを用いることで、単純なポリゴンやテクスチャだけでは表現が難しい服のしわなどを表現できる。その仕組みとこの手法の短所を述べよ 9)三次元座標変換処理において、単純なユークリッド座標系(x, y, z)よりも同次座標系(x, y, z, w)が一般的に用いられている理由を述べよ 10)遠くにある物体ほど小さく見える「透視投影」が、同次座標系において単純な行列演算だけで実現できることを示せ
11)バーテックス(頂点)シェーダ・ジオメトリシェーダ・フラグメント(ピクセル)シェーダそれぞれの役割とこれらの関係性を述べよ 12)アニメのような表現を行う際に用いられるトゥーン(セル)レンダリングの仕組みを述べ、それを実現するシェーダプログラムを示せ 13)フォトリアリスティックなレンダリングに用いられる有名なモデルの一つ BRDF の仕組みと特徴を説明せよ 14)最新版の DirectX11 ではテッセレーションが標準機能化された。この機能を利用するメリットを述べよ 15)NVIDIA が CUDA 技術で牽引するような GPGPU 技術と、これまでの( GPGPU を除く)グラフィック処理との関係性を述べよ 1〜4は3D技術一般の問題、5〜8は様々なレンダリングテクニックに関する問題、 9・10は3D処理に用いられる数学の基本問題、11〜13はシェーダプログラムに関する問題、14・15はいわゆる時事問題。 最後の2問以外は、どれも市販レベルのゲーム開発をする上で開発者が知っておかなくてはならない常識ばかりを集めてます。 (専門書の各章の一番初めに書いてありそうなことばかり、しかも役立ちそうなことばかりを選んで問題を作ってます)
>>588 なんかいかにも専門家とか専門書が好きそうな内容だな。
こんな事しってても実務にはまったく意味がないっていうなんとか検定と同じだな。
正しい泳ぎ方や理論を知っているのと自分が泳げるのとは別の話だ。
プログラミングの話なんだから理解してりゃ扱えるだろ
今回の解説は正しいところを見つけるのが難しいな とりあえず致命的な部分上げとこうか ・定数の解説といいつつ定数に触れてない件について ・#defineはメモリに一切関わらない ・文字を定義するときの""に関する説明 ・#define c a+b を使うときに間違えないための回避法 正しいところは #define a b でaがbに置き換わるところだけだな
本当だ。 最初の一行目から間違いだらけ マクロと定数は別物
>>589 ごめん、マジで言ってる?結構実際のゲーム制作の現場を想定して、
(最後の2問以外)よく実務で使った経験があるものばかり、
レベルが低いものを集めたつもりなんだけど。
ってか上の問題がわからないレベルだとまともなゲーム作れなくね?
それとも実務ってのは2Dゲームとか、最先端グラフィック以外の部分を指してる?
少なくとも大手で3Dゲーム技術開発系に携わる人なら、
みんな全問答えられるレベルだと思うぜ。
マクロはプリコンパイラがソースを置き換えしてるだけ 本当に意味不明な解説だな。
>>593 もっと基本的なことから聞こうぜ
アルゴリズムとか基本的な数学上の概念とか
もっとHな
>>596 長文書きながら空気読めてねぇ、とは思ってた、すまそ。
>>1 # で始まる(#defineとか)は、プリプロセッサにより
「ビルドする前に」処理されて置き換えられるよ。つまり、
#define a 10 → printf("%d", a); とすると、#define 行は消えて
printf("%d", 10); に変換されてからビルドされる。
つまり、下の2つのはビルドする瞬間には全く同じコードになる。
#define a 10 → printf("%d", a);
printf("%d", 10);
ビルドが始まる頃には #define も a も消えてなくなるから、
プログラム実行時に a というデータがメモリに格納されることは無いよ。
そうだな
>>587-588 の質問は意味を理解できないレベルの質問な気がするぜ
もっと基本的な
CとC++の違いとか
FizzBuzz問題とかソートとか
回転行列導けとか
そのくらいからじゃない?
define でメモリを使ってないという証明のためには、 プログラム実行時のメモリの中身を調査すれば早いけど、初心者には難易度高いか。 …そうだな、#define を1万個入れてビルドした奴と、 define 使ってないプログラムを作って、 タスクマネージャで消費メモリを比べたらいいよ。
とりあえず3と9で割れて6で割れない最小の自然数xを早くだな 範囲は-100<x<100で
>>599 プリプロセッサで処理されるのは常識なんだから、証明責任は向こうにあるんじゃね?
あと、本人くる前に説明すると
んなこと知ってるよwwww
どーでもいいしwww
わかりやすいようにああ書いたんだよwwwww
って言われるから注意な
ちなみに上の問題がもし全部わからなかったらこうなるとせっかくだから書いとく(@長文出題者) 長文これラスト。 地面にはリアルなキャラの影が落ちてなくて、肌とか顔がプラスチックみたいになって(BRDF無し)、 背景にある金属には周囲の写りこみも無く金属にすら見えなくて(環境マッピング無し)、 服や顔のしわとか細かい部分を見るとどれも平坦で作り物感がして(バンプマッピング無し)、 滑らかなシェーディングの仕方が分からないとなると、デフォルトのグーローが使われて、 何も知らずにこれに適してないモデルを作ってしまうとポリゴンの継ぎ目がカクカクになって、 CPU と GPU の役割分担わからないから適当にしたら CPU 忙しいのに GPU 暇とかが頻繁に発生して大したこともしてないのに処理落ちし始める。 シェーダの役割とか3D数学もわからないとなるとそもそもシェーダプログラムができなくなる。 (シェーダープログラム内では 4x4 同時座標系の行列が使われている) 独自シェーダを使わなかった場合、昔ながら Phong の反射モデルベースのシェーディングが 自動的に使われることになるけど、Phong の反射係数の意味すらわからないとなると、 パラメータを訳も分からず適当にいじるしかなくなって、何もできなくなる。 っていう感じで、全部一つに繋がってる。
>>589 同人2Dゲーだったらともかく、同人3Dゲーをガチで作ろうとすると避けられない所もいくつかあるよ。
最悪でも三次元ベクトルと行列の基礎知識ぐらいは必須になる。
まぁでも2.5D(3D空間だけど、2Dアクションみたいな)のゲームだったら二次元ベクトルの知識があればなんとかなる。
2Dゲーと3Dゲーの違いとして、リソース=クオリティが技術力=クオリティになるのは確か。
2DはテクスチャとかUIがしっかりしてて、適当なエフェクト(ムービーテクスチャでも)出せばそれなりに見える。
でも3Dは
>>602 が書いてある通り、「綺麗に魅せる為」にはそこそこ高い技術が使わないといけない。
まー最悪基本ライティングとかのみでも一応出来るっちゃ出来るけど、高クオリティを求めるならば、確実に見劣りする
>>603 >最悪基本ライティングとかのみでも一応出来るっちゃ出来るけど、高クオリティを求めるならば、確実に見劣りする
でも同人ゲーでノーマルマップまで使えるようなとこってほとんど無いような気もする。
思いつく限りではソウルゲイナー作ってたとこと妖々剣戟夢想作ってるあんかけスパくらいかな。
あとは大体のサークルが基本ライティングのみかもしくはキャラにはライティングしないでテクスチャの色のみでお茶を濁してるのが現状だよ。
まぁ同人ゲーであんまクオリティ高くすると売れないからな 同人ゲーマーにそんなハイスペックなPC持ってる人が少ないからね
まぁそこまで高い技術使う必要無いからな そういった技術を覚えればゲームが面白くなる訳でもなんでもないし 面白くてナンボな世界に技術はいらない。 個人的に作る時にも実装ガンガンしていって方が面白いしww 3D作ったとしても綺麗にする為に労力使おうとは思わないなぁ、ってか時間的に無理
まあ「できない」なのか「やらないだけ」なのかはサークルによって違うだろうけどとにかく実際問題少ないことは間違いないわな。
>>599 そんなバカなw
じゃあ聞くが、あんたは、システム領域、ヒープ領域、コード領域、スタック領域で、
メモリを全て使い切っても、静的領域を使えるとでも言いたいのか?
そんな馬鹿なw
ちなみに、静的領域はグローバル変数で使う領域のことです。
そもそもプログラムを実行しているのに、
メモリを使っていないとか絶対にありえない!
どんなプログラムも必ずメモリを使用して動いているのです。
ちなみにメモリとはCPUにデータを移す前のデータの一時保管場所。
ああ。違う違うw CPUはメモリのデータを使って、 プログラムを実行させるための頭脳かw
>>AmJCQRbxが
>>1 さんなのかな?
とりあえずはじめまして(違ってたらごめんなさいね)。
>>608 defineてものをわかってないようだね
ちなみに、それまで1GBのメモリを搭載していたパソコンに、 2GBのメモリに増設すれば、 パソコンの動きが早くなったりします。 あれはどうしてなのかと言うと、 増設した分、メモリで使用できる領域の全体容量が増えるため。 ちなみにAdobe製品のCS4は、 64bit版のWindows7に対応しています。 64bitになると、128GBまでメモリを増設できるため メモリ内で一度に扱える容量が増え、 それに対応するようにCS4製品はプログラムが組まれているため。 パソコンに1GBしかメモリを搭載していない場合は、 1GBまで用のメモリ容量確保プログラムが動き、 2GBに増設すれば2GB用のプログラムに切り替わり実行される。 ちなみにグラボにもメモリが搭載されていて、 ゲームの3D描画は、マザーボードのメモリではなく、 グラボのメモリを使う。 ちなみに、サウンドボードを付ければ、 音楽はサウンドボードでデータを扱う。
なので、どんなプログラムもメモリを使って動いています。 メモリを使わないで動くプログラムなんて存在しない。 まあ、HDD内の仮想メモリを使う場合もあるけど。。 これで俺のレベルが解った? 解説にメモリの図解を使用しているのは、 それを初心者にも解りやすく解説するためです。
>>613 defineを使っても実行ファイルの使用メモリに影響しないってのを言ってるんだよ?
>>612 >ちなみに、それまで1GBのメモリを搭載していたパソコンに、
>2GBのメモリに増設すれば、
>パソコンの動きが早くなったりします。
マジですか?!
情報サンクスです!!
でもうちのPCはけっこう小さな机の上に置いてるのであんまり激しく動き回られると机から落ちてしまいそうでちょっと怖いです。
>>608 defineは静的領域すら使わない
defineを使おうが使うまいがメモリの使用量は変わらない
だからあんたはdefineを理解してないって言ってんだよ
もはや、
>>1 のは理解出来ないフリじゃね?
俺らを怒らせて楽しんでいるようにしか見えん。
ポ
>>616 えええ??
そうなのか?
なんか混乱してきた。。
じゃあ、定数で使用するデータはどこで扱っているのですか?
定数ってのは、実はint型とかchar型を使用していたりするのですが、
それらのデータは、どの場所の領域を確保して
データを扱っているのですか?
どの場所に領域を確保 定数で指定したデータは、 どの場所に運ばれているのか? という質問です。
>>618 int型もchar型も使ってないよ
しいて言うならコード領域に入ってる
お前が無知だと自省したら教えてやるよ
ほんとうにわからないのだろうか
>>608 ちょっと待ったなんか微妙にdefineの話と定数の話がごっちゃになってないか?
プログラム実行の流れ 1.コンパイルを実行 2.ソースコードの全文は、コード領域に運ばれる 3.引数やローカル変数は、スタック領域に運ばれる 4.グローバル変数は、静的領域に運ばれる 5.コンパイラがコンピュータが読める内容に翻訳 6.リンカで、ソースファイル、ヘッダファイル、リソースファイルを実行ファイルにする 7.CPUが動く(すでに動いてるが) 8.CPUが実行ファイルを読みにいく 9.CPUが高速回転して処理 10.最後に実行結果をディプレイに表示する
>>623 defineを定数だと思ってるんだから仕方ない
>>624 >9.CPUが高速回転して処理
うちのPC古いから手回し式だわ
このスレの話題のレベル差ぱねぇ const static int AAA = 10;
| ゴロゴロゴロゴロ |r'⌒X⌒X⌒X⌒X⌒X⌒ヽ ⊂゙⌒゙、∩ |ヽ__乂__乂__乂__乂__乂__ノ ⊂(。Д。) ←CPU
>>621 なんだw
ただの釣だったのかよww
説明できないなら、
適当なこと言うなよな・・。
>>631 じゃー説明して正しかったらお前が無知だと認めるか?
ここでそう思ってるのはお前だけだぞ
>>627 うん。
6と7の間に、
メモリのシステム領域を使用してますね。
システム領域は、
システム自体が利用する領域のことです。
>>633 また変な解釈する…
日本語読めないの?在日?
>>631 教えてあげるから
>>632 にごめんなさいしてね
分かりやすい例を示すと、
#define hoge 100
int hige=hoge;
ってプログラムなら、コンパイルするときに、
int hige=100;
に翻訳されてからコンパイルされる。
つまり、defineは、君のいうプログラム実行の流れの2の前に実行されるんだよ
>>633 そういう意味じゃねーw
>>624 の突っ込みどころは
コンパイルから実行までをつなげて書いてるところだよ
基本的にコンパイルといわれる作業は実行ファイルを作るところまで
その後それを実行することで結果を確認するんだよ
#define SAFE_DELETE(p) if ( (p) != NULL ) { delete (p); (p) = NULL; } ↑これなんかは#defineと定数が全く無関係なのを説明するのに良い例だと思うんだよね。
>>637 千堂和樹がマクロ関数を理解できるわけないじゃん
プリプロセッサも知らないのにプログラミングが簡単とか仰るバカがいるのはこのスレですか?
>>615 パソコンは電圧を変化して動いてるから、
どんなにパソコンが激しく動いても、
携帯電話のバイブレータ機能みたいに、
ブブブーンとは動かないよw
パソコンの基本は、1と0の数値です。
全て1と0で動いています。
スイッチオンで1、スイッチオフで0の状態。
電極には、+極と-極があって、
それを操作することでスイッチをオンしたりオフにしたりする。
ちなみに、この1と0の単位がビットであり、
2進数の一桁の単位です。
>>640 それがわかれば苦労しないけどね…。
救いようないよ
>>643 それは驚きだ
必須環境:VC2010以上
ですねわかります
基本情報とか持ってるけどプログラム出来ないヤツに似てる
片手で数を数える時、 5までしか数えられないと思うかもしれないけど、 工夫すれば、5以上も数えることが出来ます。 人差し指だけを立てて 他の指を閉じた状態を6にするとか。 そういう風に考えれば解りやすいかな?
>>642 そうなのか。
また一つ勉強になりました。
ありがとうございます。
でも俺が目を離した隙に動いてる可能性もあるので一応机に縛っておきます。
>>647 それはともかくこれで定数と#defineの違いはわかってもらえたかな?
>>636 >基本的にコンパイルといわれる作業は実行ファイルを作るところまで
悪いけどそれは間違い。
全体を指してコンパイルと読んだりしますが、
実際は、翻訳するところだけがコンパイルです。
そんな基本的なことも解ってなかったのですか?
マジですか??
>>651 狭義のコンパイルの意味は知ってるよ
「基本的にコンパイルといわれる作業は」って言ってるだろ?
gccとかmakeとかVCでビルドとかするときはそれらすべてまとめて「コンパイルする」って呼ぶことが多いだろ?
そういう意味だよ
まあいいや。 そんなことどうだってw こんなコンピュータの構造なんて知らなくても、 ゲームプログラムは組めるし・・。
>>651 まあコンパイル後にリンクやらがあってこそのビルドなわけだからそういう意味じゃ確かに言うとおりだわな。
しかしそんなに鬼の首を取ったように喜ばんでもええわw
ごめんなさいはまだですか ってか理解できなかったのかしら
>>653 んでプログラムに必要な知識である
定数とdefineの違いについてはわかったのかい?
>>653 そうだよ本題は定数と#defineの話。
あれでだいたいわかった?
自分の知らないからって流さなくてもいいだろ
よし。 では、次は、列挙体と列挙型の解説を書くことにしよう。 ここまでくれば、あともう少しですね(^^
660 :
658 :2010/09/17(金) 17:47:16 ID:sYa04YS8
やばい。やめるボタンと間違って投稿しちまった。
列挙体や列挙型にも 定数を使うんだけど、 少しだけ意味が違うんだな。(^^
またそうやって、理解できてないのに先へ進む…
>>1 を止められるのは
>>1 のかーちゃんだけか
>>659 >では、次は、列挙体と列挙型の解説を書くことにしよう。
オイ!!
その前にだよ!その前に定数と#define!
こっちを先に片づけてから先に行こうよ
>>653 これがメモリの仕組みとか言ってた人間の発言である
>>663 俺はもう十分解説してるでしょ。
定数を使う時は、
マクロ名を付けて
そのデータをメモリに格納されると。
解説できていないのは、
上の発言者の方です。
解説できないところを見ると、
「やっぱ釣だったのか・・」と俺は理解できた。
俺の質問は、
#define A 10
こんな風に定数を宣言した時、
「10という数値」はどこに運ばれるのか?ということです。
俺は「メモリに運ばれる」とはっきり言っている。
論点はここ。
>>653 前にメモリの仕組みとかドヤ顔で言ってたじゃねーか
救いようねーな
>>667 何言ってやがるw
プログラムを実行しているのだから、
変数だろうか定数だろうか、
そこに書かれているデータをまずどこかに運ばないと動かないでしょ。
そんなの常識でしょ?
俺はそんな基本的なことを言っている。
#define A 10
こんな風に書いたら、実際には「10」は関数内で呼び出されて使うんだけど、
俺が言っているのは、呼び出す前の状態です。
10 → □
こんな感じに□←の入れ物に「10」が入る。
この、□の「場所」を言ってるの。
だ か ら メ モ リ で し ょ ?
と俺は言ってる。
間違ったことは言ってないと思うのだが。
じゃー説明してやるからちょっと待て ついでだから今日の書き込み分全部訂正してやるよ 俺も完全に理解してるわけじゃないから間違ってたらすまんな 適当に補足してくれ<ALL でもお前よりはきっちり理解してるってのは明白だがな
>>668 #defineはプリプロセッサ命令なんだよ。
#define A 10
としたら、コンパイル前にプログラム中の A がすべて 10 に置き換えられる。
int A = 10;
とは意味がまったく違う
>>668 入 れ 物 に は 入 れ ま せ ん
#define A 10
ってのは、「Aって書いてある部分をみんな10に書き換えてからコンパイルしてね〜」っていう
コンパイラ宛のメモ。
>>672 ほら見ろ。メモリを使ってるじゃないかよ。
プログラムは何もかもメモリに運ばれて動いているのだから、
その時に、「10も含めて」メモリに運ばれているじゃないか。
>>665 >#define A 10
>こんな風に定数を宣言した時
早い話がこの文章がもう間違ってるわけだ
これはそもそも定数宣言じゃありません。
>>673 いや、そうとも限らんぞ。
例えばソースに
#define A 10
を定義しておきながら結局Aを一度も用いなかった場合。
この場合は「10がメモリに運ばれることは一度たりとも無い」
ちょっと聞きたいんだが
>>1 よ。
C言語を勉強するのに使った参考書を、教えてはもらえないだろうか?
参考にさせてもらいたい。
>>673 コード領域に格納されるのは自明だからあえて言及しないのが普通じゃないのか?
メモリに確保するって言うのは、コード領域以外の場所を使うってことだろ
あと俺が「しいて言うならコード領域」って回答したのわかって
「ほら見ろ」
とか言ってるんですか?
>>673 あえていうなら、コンパイル時のみはメモリを使う。
でも生成された実行ファイルはそれによってメモリを使うことはないのよ。
すでに書き換えられてるから
って私へのレスじゃなかったのね
>>674 じゃあ、マクロって言えば満足?
ちょっとググってみたけど、
どこの定数の解説で
#define A 10
こんな感じで解説してるけどなぁ・・。
じゃあ、あれは全部間違った解説なのね?ww
ははwそんなバカなwww
だから釣だったんでしょ?(^^
>>681 >もちろん定数として使うことも出来るが
>>681 「define=定数」ってことじゃなくて、
「define=マクロ機能」で、マクロ機能で定数を実装することもできる、ってこと
#define A 10 こんな感じに書いた場合 定数Aは数値10を表す マクロ名Aは数値10を表す という表現をします。 定数名といったりマクロ名と言ったりするけで、 言い方を変えているだけで、 二つとも同じ意味。 「マクロ名」と呼ぶ方が正確だと思うが。。
>>668 ちなみにプリプロセッサの話だけじゃなくてソース内部で宣言された変数でも宣言だけされてその後一度も使われてないような奴はコンパイラの最適化オプションによっては最適化時にはじかれて
変数として宣言されてるのにメモリには一切乗らない
ってこともあるわけだ
>>681 むしろお前のレスが全て釣りであって欲しいんだが・・・。
とりあえず、ゲーム制作の基本であるC言語を勉強するのに使った参考書を教えてくれないかな?
参考にしたいから。
ちょっと不安になったので基本的なおさらいをします。 変数と定数は似たような名前だが、 意味が全く違う。 変数は代入して使います。 なので、計算結果を入れて、変数の中身を変えることが出来る。 int a = 0; a = 1 +1; こんな感じに書けば、最初は0だったものが2に変わる。 だが、定数は代入するのではなく「置き換える」という意味。 なので、変数みたいに、計算結果によって中身を変えることは出来ない。 #define A 10 こう書けば、Aは10という意味。 #define B 10 #define C 10 #define A B + C つまりこう書けば、Aは20ではなく、B+Cという意味。 俺はこのように理解してるけど、 間違ってないよね?
>>684 #defineは定数以外の事にも使う
つまり定数名≠マクロ名
あくまで#define A 10が定数に使えるってだけ
#define A 10 #define A = 10 + 10 つまり、このようにAを10にしているのに、 次の行で、Aを20に変えることは出来ない。 これが定数の基本です。
>>684 じゃー定数なんて題付けずにdefineマクロの説明にしときゃよかったんだよ
このようにdefineマクロをつかって定数を表現できます
なら突っ込みは入らない
定数はマクロで文字列を格納する仕組みのことです
だと厳密には定数はconstって別の物があるんだから嘘を言うことになる
そしてdefineマクロにメモリは使わない
この2点において大嘘である
>>687 定数の意味は「数値が定まっていること」それだけだ
#define A B+C
は「定数」とは呼ばない
無知晒すにしてももっと高度なとこで晒せよ
プリプロセスとか変数の初期化とか演算子とか
ゲームもDirectXも関係ない低レベルな間違い多すぎ
>>273 とか始めて二日の素人でも間違わないだろ
ちなみに、なぜ定数があるのかというと、 これは、プログラムを読みやすくするためにあります。 ゲームプログラムを組む場合は、 ソースの冒頭に定数をまとめて定義し、 あらゆるパラメーターを定義しておきます。 そうすることで、 定数の数値を変えるだけで主人公の動くスピードとか、 カメラ視点の動くスピードなどを設定を簡単に変えることが出来る。
マジックナンバーを減らせる
そろそろ
>>1 はコテつけるかトリップつけろよ。だれがだれかわからなくなってきた
定数の説明って難しいね・・。
>>695 それが2chの面白いところである。
今朝も笑わせてもらったしw
constと#defineの違い理解してるんだろうか
おそらくあんたの説明しようとしてるのは 所謂「定数」とは別もんだ まずは本来の意味の定数であるconstの使い方理解して来い const int * p とint * const pの違いがわかるようになれば十分だろ
たぶん
>>1 はプログラミングの知識以前に日本語がよくわかってないんだろう
const int A = 10; こんな感じにして、 constをint型のAを10で定義します。 と書いてもよかったけど、 ややこしいし、実際にはこんな使い方しないから、 #define A 10 こうしました。 ちなみに両方とも同じ意味です。
>ちなみに両方とも同じ意味です。 (゚Д゚)…
上にあるDirectXの質問スルーされたな。 以前こうやって間違いに皆で突っ込んだ事あったんだよ その時なんて言ったと思う? 「お前らが間違っている!」だぜ?
>>705 ごめんね。
じゃあ、そろそろいいかな?
メシ食ったらボチボチ列挙体と列挙型の解説を書きます。
気が付けば、
もう7つもC言語を解説してるね。
あと、もう少しだ。
ポインタの解説がややこしいけど、
もう少しでC言語の解説が全部終わります。
DirectX9の解説までもう少しなのでお楽しみに。
ではまた。
ポインタの解説が楽しみだな。待ってるぜ
>380 名前:名前は開発中のものです。[sage] 投稿日:2010/09/15(水) 17:32:09 ID:CElqmS7j
>
>>375 >ポインタぐらい知ってるよ。
>
>まあ、でも実際のところ、
>中身までは知らないけど。
>
>とりあえず、*をつけて宣言しておき、
>&を使ってデータを呼び出して使う。
>
>そんなことぐらい俺でも知ってるよw
今必死でポインタをぐぐってるな そして理解できないところを妄想で埋めてる
>>707 ポインタを使うとき、
メモリ内部で何が起きてるのかとか詳しく解説する予定だけど・・。
ちょっと、どうやって解説するのかに頭を悩ませている。
ポインタでポインタを使った時とか、
本当にややこしい。
>>706 列挙体と列挙型は飛ばしてポインタ行かないか?
あとメシなら俺が代わりに食べてきてあげたよ。
ポインタはね。 一瞬だけ引数ってのを使ってるんです。 でも、その引数はすぐにメモリから消えてしまいます。 ややこいいね
!?
おねーさんビットフィールドも知りたいなぁ
>>710 だめだめ。
一足飛びは無理です。
ポインタを解説する前に、
引数も解説しておく必要があるし、
ポインタの解説が終わればC言語は終わりですね。
つまり、ポインタはファイナルステージです。
おまけにヘッダーファイルの作り方も解説して、
C言語編を終えます。
ちなみに、全部理解できれば、
プログラマーになれます。
あのさー、教育機関じゃないんだから、例題を解かせて正解に導いても全然面白くないのね 自身の能力を少し越えさせて、コケたところを構えて突くの 実力ないのわかってんのに実力測るテストなんかやってもしょうが ないんだよ。実力がないことを最小の手数で示さしてやるんだな。 今の例だと、全くメモリ食わないソースとバイナリ。
>>711 うん、そうだね。割と間違ってるね^ ^;
ところで、C言語学ぶときに使った参考書教えてもらえない?
一番最後にポインタを持ってくるなんて珍しい解説だな >ちなみに、全部理解できれば、 >プログラマーになれます。 そんなに甘いもんじゃないと思うよ^^;
>>711 ポインタの説明がすっげー楽しみになってきた
>>716 俺の予想はグーグル先生
DirectXの書籍は読んでるらしいから
そこでわからない単語をググってるんじゃね?
今までの様子だと「読むための解釈」は出来そうな知識だからな
適当にサイト見て納得した気になってるだけなんだろ
「作るための解釈」には程遠い
>>716 C言語の教科書はありません。
すべて独学です。
自分が知りたいことを一つ一つググって
あっちこちの解説をメモ帳にメモして、
それを自分の解釈でまとめて
解説を書いています。
なので、あの解説は俺のオリジナル。
>>720 DirectXは、最初は本で勉強していたけど、
ある程度まで解ってきたら必要なくなってきて、
今は、DirectXヘルプを読んでいます。
>すべて独学です。 なるほど、それで間違いまくった解説になるわけね
未だに「定数」の辞書的定義が理解されてない件
>>724 ググレカス
って言葉知ってますか?
あなたが小学生の頃に流行った言葉です。
>自分の解釈でまとめて あぁそうか こいつの言っている「C言語」って こいつの脳内言語か 通りで話がかみ合わないわけだ
>725 仕様書すら未読の奴が言う台詞じゃない
なんでこう見当違いなレス返すかな〜
>>725 じゃあ定数って何
あと-100より大きくて100より小さい自然数のなかで
3と9で割り切れて6で割れない最小の数はなに
まあ、要するに 必要以上知る必要はないってことです。 確かに俺は定数の本質を理解していなかったかもしれない、 そして、ここの住人は俺より詳しい知識を知っていた。 でも、そんなの知らなくても、 使い方を知っておけばOK。 定数なんてソースの冒頭で ちょこっと書くだけだし、 それを呼び出して使ったりとか普通にしてるし、 そんな深いところまで知る必要ないんじゃないかな? 俺のサイトでは使い方を解説をしているんだから、 入門者は定数の使い方さえ知ることができれば、それでいいじゃないか。
ありゃ、ID変わってた
>>730 まあ、お前以外の初心者は見ないサイトだし、いくら間違っててもいいんだけどな。
もっと知りたければググレカスですw
>>730 そうやって期末試験だけ点とってきたんだ。よかったね、基礎を固めてない分
死ぬまでに余計なtodoが積めて
>>305 の指摘も当たってるね
あぁ、そもそも彼が理解してないのは数学に限らないのかな 日本標準語の単語にも理解の確かでないものがいくつかあるんだろうか
>>733 あのさ、言語の教科書って少し高いから買うのをためらうのかもしれないけど、
本当にゲーム作りたいなら何か一冊買ってとりあえず、読んだりコード打ち込んだりしたりしようぜ。
断片的な情報しか手に入れられてない上に、それらがうまい具合にズレて結びついているからおかしな理解になるんだと思うな。
あ、ちなみに俺のオススメは大槻 有一郎って人の本ね。14歳からとか書いてあるやつ。
内容は非常に高度だよ。基礎からDirectXまでのことが書いてあるし、デバッグの基本とかも身につくよ。
>>732 何年先になるか解りませんが、
インターネットデビューしたててで、
プログラミングを全く知らない人が、
ふとした拍子に、「ちょっと同人ゲーム作ってみたいな」という気持ちになって、
ググった時に、俺のサイトに訪れて、
その時、その人の力になれればいいよ。
これは解説サイトを運営しているすべての人に共通していると思うけど、
そういう人たちに共通しているのは
「誰かのためになりたい」という善意の気持ちだけです。
人によっては、
苦労して得た知識をなんでタダで教えなきゃいけないんだよ。
とか思うようなプログラマーもいますがね。
そんな人には、
難しいプログラムは理解できても、
俺の気持ちなんて解りゃしないんだよ。
俺、口と態度は悪いけど、
根は素直で優しい人なんだ。
優しさには自信があります。
俺は優しさと真心を込めて、 あのサイトを運営しています。 うえwwwうえwwwwww
はあ… 馬鹿に共通してるのは、自分が何をやってるのかわからない、って事かな。
優しさと真心と正しい知識を込めてカズキ君にC言語のことを教えてあげてるのにスルーされるお(;ω;)
主ほどすさんで歪んだ人もぶっちゃけ見ないのは俺だけだろうか まるで差し伸べた手を噛みちぎろうとするような
>>742 ぶっちゃけ俺もだ
まだ教えて君の方がマシ。…どっちも欝陶しいけど
>>703 マクロを定数ぽい物として使うのは
コンパイラに定数宣言が実装されて無かった頃の古い方法
型がいい加減だから今のプログラムでは推奨されない。
>>737 そのためにも嘘を当然のように広げるってのだけは勘弁な。
プリプロセッサなんて説明してもわかりゃしねーよどうせ
こんな状態で出来るゲームって一体どんなものやら…
>>721 あのね。独学ってのは師匠(先生)をもたないで一人で勉強する事を指すんだよ?
もちろん書物は使う。
参考書を使わないから独学、ってのは見当違いもいいとこ。
>>737 共通してるのは「間違った事を書かない」事だと思うけどね
そのために「指摘を真摯に受け止める」もある程度共通してるかもね
「あわよくば書籍化して一儲けできないかな」ってのももしかしたら共通してるかもね
俺が
>>1 の変わりにプログラムの説明したいぐらいだ
1のソースを見てないから分からないが ここを読んでるとスパゲッティコードなってそうだな。 正直この理解は酷い。 参考書を使わなくてもネットでも良いから きっちり解説したサイトで勉強しなおすべき。
751 :
名前は開発中のものです。 :2010/09/17(金) 20:49:09 ID:Z5id/QBW
C言語ではまだコンストないでしょ
>>751 今は実装されてる事がほとんどだからコンストが推奨される
>>750 多分スパゲッティになるほど長いコードまともに書けないんじゃないかな。
まぁ、時間が経てば自分の理解が実際とずれていることに気がつくでしょう。
そして、解説続けられなくなって涙目www
いつ気づくのか楽しみにしてます ^ w ^
そういえば4ヶ月も公開羞恥プレイしてる割に一度もプログラムのソースコード出したことないんだよな
>>546 のFizzBuzzとか1分あれば出来るんだからちょっと作ってみてよ
>>729 にも答えてほしいな
高校出てればわかるはず
>>754 解説の様子を見ると、一応コンパイルして実行してるみたいだから、
いつか自分が意図した動きをしなくなりだしたときに、気づくと思う。
このペースだとあとどれぐらいで完全に息詰まるんだろう。
俺はあと半月続いたあたりで、崩壊するとおもうな。
書籍もまとまった解説サイトも見ないとしても
主の理解は間違い過ぎ
多分読解力と理解力が絶望的なんだろう
例えば定数だって
c++ 定数
とかでググればconstと#defineの違いとかconstの利点とかすぐ出てくるのに
>>703 のような事を言ってるし
>>757 >解説の様子を見ると、一応コンパイルして実行してるみたいだから、
たまにテストしてないコード出してくるからな…
まあ、気づくだろうというのは同意。
>俺はあと半月続いたあたりで、崩壊するとおもうな。
半月も持つかなぁ?
>>757 半月後に何時の間にか解説を消して
このスレで俺らのせいだと罵倒
公式サイトからはリンクを外し新参者(居るのか知らんが)からは何事もなかったかの様にする
と予想
うーむ、wktkが止まらないw
有害サイトとして指定していいな こんな嘘っぱちサイト作って仕事でググったプログラマを困らすなんて 応援しちゃう!
俺も何か作りたくなってきたなぁ
>>763 俺もだ
最近はあんまりゲームとか作らないし、息抜きに作ろうかな
逆IT革命とかいいかもしれないなw みんなで共同して嘘ッパチサイトたくさん乱立して 何が本当で何が正しいのかググってもまったくわからなくしちゃうとか・・・w
X何が本当で何が正しいのか ○何が本当で何が間違ってるのか アフォなこと言ってたらkazukiウィルスが回ってきた
>>737 お前のサイトはググって行き着いたプログラミングを全く知らない人間に間違った知識を教えて破滅させる悪魔のようなサイトになってるんだよwwwwwwwwwwww
これだけ多くの人間に間違いを指摘されて開き直るなんて正気じゃねーよwwwww
#defineの説明するってーからプリプロセッサが何をするのかくらい理解してると思ったらこれかよ…
もっと基礎を勉強してきちんと理解してから教えようとしやがってください馬鹿野郎
いいこと思いついた。サイトのトップに 「以下の説明には間違った部分があります。見つけてみよう☆」 とか書いといたら有益なサイトになるんじゃね?
>>767 でもよくよく考えてみるとそれって
正しく掲載されてるサイトの質を上げることにつながらない?
俺はkazukiもアリでいいと思うようになった(なんか今日1日でw)
反面教師だな。こうならないようにとキャラまでつけて必死に教えようとしてくれているんだよ。きっと
よいこのみんなはkasukiのマネしちゃだめですよ、カスになっちゃいます。
解説で使用されてるソースコードの内vc++2005で.cでコンパイルしてみて以下のコードが通らない
C言語の基本ルール
ttp://www.kazuki-sendo.com/game/?p=313 2番目の図のコード
文の終わりに「;」が無い
ついでに"Hollo World!!"(おーい!世界!!)
C言語のローカル変数とグローバル変数
ttp://www.kazuki-sendo.com/game/?p=338 2番目の図のコードおよび1番目の図の、エラーとコメントされてる行をコメントしたコード
・include<stdio.h>がない(vcだと警告)
・forの()内で変数の宣言してる(C++の仕様で書いてる)
ついでにグローバル変数の初期化がない。静的領域なら別に無くてもいいかもしんないけど結果が味気ない
突っ込みどころを細かくリストアップしてたらおびただしすぎて力尽きたんで僕これだけにしとく
774 :
名前は開発中のものです。 :2010/09/17(金) 23:37:42 ID:Z5id/QBW
まあその程度の突っ込みなら大したことない気が あとまあデファインの間違いの思い込みでもプログラム動かすには問題ないな
>>1 本気でゲーム作りたいのなら、細かいところもこだわった方がいいよ。
いいゲーム作りたいんでしょ?だったら、
define みたいな細かいコンピュータの動作や仕組みの方を大切にしないと、
チューニングしたりパフォーマンス最適化したりできないよ。
(仕組みを知って初めて、どういう場合に define を使うと最適か自分で判断できるようになる)
あと、最低限「Kazukiという人のサイトは間違いだらけだ」という噂が広まる前に
間違ってると自覚した解説だけでも直すか消した方がいいと思うよ。
でないと、「Kazuki の同人ゲーム」というもののイメージ悪くなってしまうと思う。
初期からヲチしてる俺としてはこれ程大物になってくれて嬉しいよ
>この時、kazuki[5]に要素を代入しようとした場合、 >kazuki[5]が存在しないため、 >sendo[0]の領域の内容が書き換えられることになります。 コンパイラ依存。つーかVC2010でも違うじゃん テストしてないのか。 >C言語の計算式は、後ろから前に向かって考えます。 ねーよwww int a = 10 / 5;これは2になる。 >理論演算子という演算子もあるのですが、 論理演算子 ほんと、見てて楽しいな。
次スレのタイトルはkazukiをみんなで育てるスレにしろよw
悲しいが俺は不器用なほど馬鹿なのかもしれない・・。 そんな悲しい馬鹿な俺だが。 人はそんな俺を見て指を指して笑うでしょう。 だが! プログラミングを知りたい! プログラミングを身に着けたい! そして、いつの日か自分が考えた世界に一つしかない面白いゲームを完成させて、 その面白いゲームをプレイしてもらって、 国境を越えて、全ての人々をゲームで笑顔にしてみせたい! 人々が笑顔になれば幸せになれる。 そしたら、犯罪なども減り、 世界人類が平和になる。 そして、そんな面白いゲームの作り方をもっと多くに人に知ってもらって、 面白いゲームが増えていけば、もっと平和な世の中になります。 どんな若者でも一度はゲームをプレイした人はいるでしょう。 そして、一度はゲームを作りたいと思うことでしょう。 でも、プログラミングという大きな壁を前にして、 その夢を諦めて別の道に進んでしまう。 俺は、悲しいほどの馬鹿ですが、 悲しいほどの信念を持ち続け、 そして、自分のゲームを完成させれる日を誰よりも素直な気持ちで信じています。
なーんちゃってwww
今日のIDはソレか
しかし、逆にみんなにこんなに教えてもらえる
>>1 さんに嫉妬。
俺も何か新しく勉強したい時に
>>1 さんみたいに煽り口調のスレ立てて
煽ってアンチに間違い指摘してもらいながら勉強しようかな。
テキスト以上に具体的に教えてもらえるし、滅茶苦茶伸びそうな気がした。
単に質問スレで質問してもスルーされるだけなんだorz。
…ま、もちろんやらないけどね。
あ、大事なことだからもう一度言うけど、
95%は主が間違ってて、5%はそれ以外の人が間違ってると思った。
まあ、これだけは言わせてね。 今はみんな俺を馬鹿にしてるけど、 いつの日か、ゲームを完成させてみせる。 そしたら、少しぐらいは俺を見直してよね(^^; まあ、近いうちに完成しま・・というか、 もうすでに完成してんですけどねw ミニゲームですが・・。 いやいや。そういう意味じゃなくて、 いつか、ちゃんとしたゲームを作ります。 多分、その時に、俺を初めとして みんな感動するんだろうな(^^ 「あんな奴がゲームを作りやがった・・」とか何とか言ってww ゲームの完成が本当に待ち遠しいぜ!(^^
>もうすでに完成してんですけどねw 完成してるならうpしろよ。実行形式じゃなくてソースで頼むぜ
せっかくテストプレイってのがあるんだから上げりゃあいいじゃんとは思うけれど ミニゲームってどんなん作ったの?
解説という名の間違い探しこそがkazukiの作ったゲームなんだよ
>define がメモリを使わないまとめ ソースコード(.cpp)→プリプロセッサ→コンパイラ→プログラム(.exe) exe が完成したら、ソフトを使いたい人は exe を実行する int a = 10; printf("%d", a); とやると、 exe の中に「a という領域をメモリ上に作って、10 を入れ、メモリの a の中身を表示してね」 というコードが exe に含まれる。 #define a 10 printf("%d", a); とやると、 まずプリプロセッサがコードを printf("%d", a); に変更してからコンパイル(ビルド)される。 結果、exe には「10 を画面に表示してね」というコードになっていて、 exe には a という名前すらどこにも含まれてないことになる。 define を使わない exe → 「a という領域をメモリ上に作って、10 を入れ、メモリの a の中身を表示してね」 define を使う exe → 「10 を画面に表示してね」 define は英語の意味「定義する」という意味から考えても定数じゃなくて、 いろんな使い方があって、定数としても使える、といった感じ。 確かに、define を見たらほとんど定数定義に使われてるのは事実だけどね。
×まずプリプロセッサがコードを printf("%d", a); に変更してからコンパイル(ビルド)される。 ○まずプリプロセッサがコードを printf("%d", 10); に変更してからコンパイル(ビルド)される。
>>785 前に言ったけど、
簡単なシューティングと簡単なRPGです。
「テストプレイ」というコーナーがあるのは、
完成したゲームを公開するためにあります。
でも、今はまだその時ではない。
C言語編の解説が終わって、
いよいよゲームプログラミングの解説になった時に、
ちょくちょくアップしていくよ。
その頃には、ニコニコ動画やaoome動画で、
動画を使って大々的に紹介していくつもり、
そのために、ニコニコ動画やzoomeにコミュニティを開いているのです。
意味もなくコミュなんて開きません。
近いうちに面白いことをするので、
ちょっと待っててね。
動画編集技術の腕もあの頃より上げたので、
今なら、すっごくカッコいい動画が作れます。
>でも、今はまだその時ではない。 また逃げたか
1.ミニゲームを「テストプレイ」コーナーにアップ 2.それをニコニコ動画とzoomeで動画で紹介 3.その動画を公式サイトに貼り付けて、さらに詳しく紹介 まあ、こんな感じかな? 「今回は、こんなゲームが出来ました。 こうやって操作して敵をやっつけます。」 とか言って、動画内や公式サイトの記事で紹介。 「では、次回はこんなゲームを作ってみます」 とか言って、次回予告になります。 少しずつ少しずつ、小さなゲームが完成していって、 そのうち、本命であるゲームの方のキャラクターイラストを描いて 公式サイトでご紹介。 今の公式サイトの上部には、 森の中の写真を表示されていますが、 やがて、あそこに俺が描いた主人公などのキャラクターイラストが載るようになります。 そうやって、あのサイトは少しずつ充実していって、 面白いサイトに進化していくのです。 一応、そんなシナリオを考えています。 もちろん、プログラミングなどの技術的な解説もやりますよ?(^^
>面白いサイトに進化していくのです。 もう既に面白いサイトです^^;
>>791 一個前の発言と言ってることが真逆なんだけど
ミニゲームも結局テストプレイにアップするのね?
ミニでもRPGは興味あるんだけどやっぱりソースまで公開するつもりは無いんだよね?
ボリューム満点なサイトになって行きますので、 楽しみにしておいてほしい。 ・ただ面白いゲームをプレイしてみたい人 ・ゲームプログラミングを学びたい人 多分、その二種類の人が、 あのサイトに訪れるようになると思います。 解説を完成させてしまおうと思ったけど、 思っていた以上に時間がかかったから今日はネトゲでもして、もう寝るよ。 明日中には新しい解説がアップされてるんじゃないかな? では、またね。
それって既存のプログラムに既存の素材組み合わせた奴でしょ
>>793 これでもサイト運営についてはちゃんと考えています。
本来、そっちの方がメインの人ですからね。
ソースコードもちゃんとダウンロードできるようにします。
そのソースコードを盗むなり、
ソースの組み方を学ぶなり好きにすればいいさ。
まあ、本命の3DRPGの方は、
残念ながらメインメンバー以外の人には公開できませんけどね。
一応、営利目的ですので。。
>>795 そういうことを言わせないための解説です。
今すぐに、ソースコードをUPしないのは、盗みに行くのか、これから作るのか どちらですか? そうでないのなら、今すぐにソースコードをUPしなさい。
#define aho int main #define kazuki () #define sine { return 0; } aho kazuki sine Kazuki理論ではこれコンパイル通る?
>>801 あれ?通ってるね
kazukiコンパイラではエラー出まくりなんだけどwww
>>802 kazukiは#defineの意味を理解しないままポインタへ進むらしいな
バイナリからでも盗用したソースは判別できることがあるのを覚えててね
>>798 ご想像にお任せ致しますw
一言言わせて頂きますが、
ちょっと、あなた方は俺のことを見くびりすぎですよ。
そりゃ基本的なことは理解してなかったかもしれません。
そして、そんな基本知識を口では文句を言いながら、
素直に受け止めています。
でも、なぜかそういうことを理解していないのに、
ゲームが作れてしまっているから不思議ですね。
多分、偶然、そういう壁にぶち当たっていないからかな?
でも、上の人が言ってるみたいに、
俺がとんでもない解釈をしてて、
意図しない動きになることもあるでしょう。
そしたら、そこからまた学んでいけばいいと思います。
>>1 にも公式サイトでも言ってますが、
発展途上中の素人が3DRPG制作に挑戦しています。ってことっす。
じゃあ、そろそろ落ちる。
何故否定しない?
皆、ほっときゃいいのに。 いちいちつつくのは教えたがりという意味で主と同類だ。
ここまでの解説通りの誤解をしているとなると、 ゲーム制作にもかなり支障が出ると思うんだが
素人中の素人が解説することに疑問は感じないの?
>>807 他人を罵倒するしか能のない馬鹿が自爆するのを見るのが楽しいの。
> でも、なぜかそういうことを理解していないのに、 > ゲームが作れてしまっているから不思議ですね。 不思議だから疑うんだろう。 前科もあるし・・・ 俺は正直ようやく出てくる動く物には少し期待したいよ
>俺は正直ようやく出てくる動く物には少し期待したいよ 無いよ、何も無い。 今、ソースコードが出てこない事は、ソースコードが無いからさ 俺は決して 凄いコードを期待していない。 50行ほどのコードが出てくれば良いと思う。 ただ、ウソがいけない、ウソの上塗り。 見栄だけで中身が「からっぽ」 典型的なコードを書けない奴。 このまま変わらないと、できないままだよ。
FizzBuzzも算数の問題も言葉の定義も何一つ出てこないじゃないか まずPCの使い方覚えろよってレベルでモノが出てくるとしたらパクリしかない
主とか言ってる奴キメェ
>>1 と書くが通例だろ。どこから来たんだよw
>>814 そうだなwもともとコミュ主で、そっちの掲示板では「主」と読んでいて
その流れでこっちに来たからなw
確かにここだけ見ると「主」と見ると浮いてるな、自重する。
このスレももう800か… 次スレが立たない事を祈ってるよ
多分この勢いで次スレ立ったら 「にちゃんねるで●日でスレが埋まった期待のプロジェクト」 とか言い出す
>>818 ある意味で期待のプロジェクトではあるが・・・・。
820 :
名前は開発中のものです。 :2010/09/18(土) 09:43:55 ID:raq7WPwR
次の解説まだかな
超展開なオカルト解説を期待してる
1+1が2なのはなんでですか
>>818 確かのここのスレの勢いは凄いな・・。
今調べると、勢いは99.7でした。
そして、2位が「■ゲーム製作技術自治01」というスレで、
そっちの勢いは、11.9です。
つまり、この板で一番勢いがあるのが
このスレであり、
このスレがこの板で一番注目を浴びているスレということですね。
運営さんもチェックしてんだろうな。
俺もマークされてんだろうな(^^;
>>823 >今調べると、勢いは99.7でした。
お前がブラウザから直接書いてるのは分かった
>このスレがこの板で一番注目を浴びているスレということですね。
悪い意味で注目されてるな。
>運営さんもチェックしてんだろうな。
>俺もマークされてんだろうな(^^;
??
何言ってるんだか
>>825 きめーん = キモイ = 気持ち悪い
それはあんたの主観。
あんたの個人の感情を説明しているだけ。
あんた以外の人は、別に「キモイ」とか思っていない、
そこにスレがあるから、軽い気持ちでレスを付けていってるだけ。
上の発言で、
>>1 を主と表現していることについて、
「キモイ = 気持ち悪い」と言ってるが、
俺は別に何とも思わない。
多分、他の住人も同じこと。
俺は、お前みたいに、どーでもいいことに対して必要以上に着目して、
勝手にキモイと感じるだけでなく、それを言葉にしてしまう。
肝っ玉の小さい、お前の本音の本性の部分が、情けないというか何というか・・。
>馴れ合ってる気になってる
>>1 がきめーんだけど
うん。わかった。
で?どうするの?
>>826 その通り
俺がきもいと思ったからレスしただけだが?
そこにそれ以上の意図も意味もないぞ?
んで、そんな当たり前のことに長文で反論することになんの意味があるんだ?
もっと、解りやすく噛み砕いて説明すると。 別にキモくていい。 キモい = 馬鹿な人 = だから面白い つまり、こういうことだな。 多分、2chを非難している人からすれば、 2chを利用している人全員を「キモイ=気持ち悪い」と思ってるだろうよ。 悪いが、あんたは2chをちっとも理解していない。 キモくていいのです。 馬鹿でもいいのです。 肝心なのは面白いかどうか。 ここ言う「面白い」とは、 暇つぶしが出来るかどうかです。 暇つぶしにもならないスレが面白くないスレで、 なんてタイトルだっけ?あんたが立てた、俺のオチスレ。 わずか10レスぐらいでDAT落ちしたし、 住人はすべて身内だったじゃないか。
>>1 を主と表現している人に対して、
キモイとか言ってるけど。
んなこと言ってやんなよ。
お前には言論の自由すら認めないのかよ。
そんなの本人の自由じゃないか。
好きにさせてやれよ。
あんたは心が狭い!
きっと、あんたについて行くような人なんていないと思う。
多分、あんたは俺の味方につくような人を、
片っ端から「キモイ」とか言ってそれを阻止しようとするんだろうな。
あんたみたいな人が一番手に負えない人なんだよ。
あんたのリアルの友達や、
会社の同僚も、うわべだけ笑顔で接してくれてるかもしれないが、
内心、「チッ!うっとうしい奴だな・・」とか思ってんだろうなw
要するに何が言いたいのかと言うとだな・・。 あんたの行動を見ていると、 自分が気に入らないスレがあったから、 あの手この手で、回りには悟られないように、 邪魔をして、このスレを潰してやろうとしているわけ。 そういうあんたの心の内の、本心をずっと前から俺は見抜いている。 気に入らないから、それをぶっ壊すのではなく、 あんた一人が、このスレから出て行けばいい。 専ブラからも、ここのスレの登録を消して、 ここに二度と近づかなければいい。 俺ならそうするけどね。 だから、あんたは俺に「荒らし認定」されてしまってるの。 「キモイ=気に入らない」ならあんた一人が出て行きなさい。 そして、それ以外の人がこのスレを利用して、 暇つぶしという名の遊びを楽しめばいい。 でも、ここは荒らしも認めているから、 あんたみたいな人の人権も俺は認めている。 もう、こんなつまらないこと言わせるなよな・・。
はいはい。 てなわけで、こんな糞つまらない話題は終了! さてさて、今日は大阪で岸和田のだんじり祭りが行われる。 祭り好きの俺からすれば、 楽しみで仕方がないよ。(^^ ところで、もう800レスを越えたか・・。 もちろん次スレは立てるけど、 次スレは俺以外の人が立てたスレは無効だからな? それだけは今のうちに言っておく。 あと、一般的なスレみたいに、 950レスを越えたあたりで次スレを立てて、 そこに誘導するようなことはしない。 スレは、このスレで完結させることにする。 スレが埋まったらスグに次スレを立てるのではなく、 立てたくなったら、こっそり立てます。
ああ。そうそう。 スレが埋まったら、 俺がHTML化して公式サイトからいつでも見れるようにします。 あと、次スレを立てる時に、 そこに、前スレのURLは貼りません。 壺持ってなかったら見れないし、 それだと意味ないですからね。 HTML化していつでも読める状態にしておいた方がいいでしょう。
結局「定数」の意味は分かったのか?
>>1 を主と呼ぶのがキメェとか言ったのは俺なんだが、誰に噛み付いてるんだ?w
2ちゃんでスレ主とかトピ主とか普通にいわねーよ
俺は
>>1 には言ってないので、大体
>>1 が反応するような話じゃあない
ああ違うか主呼ばわりについても反応してるな。なんでだ。
もう
>>1 がなに考えてるのかわかんない
天才ってやつかこれが・・・
>>816 解ってくれて嬉しい。
殺伐としたふいんき←なぜか変換できない
を楽しんでくれ。
俺は
>>1 についてとんでもない馬鹿なやつとは思うけど、
過疎板を盛り上げてるので熱烈歓迎してるぞwww
列挙体と列挙型の解説を今作ってるが、 我ながら、解りやすい解説だなと関心しているw もう少しで完成するよ(^^
>>834 #defineでマクロを使う
enumでマクロを使う
これでいいかい?
そう言ってんだけどな・・。
定数ってのは、呼んで字のごとく。 定なる数って意味。 列挙体は、それを列挙に扱えるようにしたもの。 列挙型は、それをさらに型で扱えるようにしたもの。 前の構造体の解説をした時に、 使い方まで解説してなかったけど、 今回の解説で、列挙型と構造体の使い方(呼び出して表示させる)をまとめて解説するよ。 ふたつとも使い方は同じですし。
>>842 定数の説明ってのは難しいんだよ。
じゃあ、あんたには定数を説明しきることが出来るのか?
ちょっと、やってみてよ。
訂正 構造体と列挙型の使い方 列挙体と列挙型は、 またちょっと意味が違う。
勘違いが酷過ぎてどこから訂正すればいいのか分からないレベル
記憶喪失になってから改めて勉強しなおした方がいいんじゃないの
>>1
カズキ君ってモテなさそうだよね。 公開したゲームが面白かったらエッチさせてあ・げ・る♪
ってかまだ定数だの列挙体だの構造体だのって低レベルの話題してんのかよ 未だにC言語のCUIレベルの事やってるってどんだけだよ ゲーム作る気全く無いんだなコイツ
>>848 超上から目線ですね。
まあいいよ。
俺は初心者の味方だから。
多分、あんたに列挙体や構造体の質問を初心者がすれば。
「そんなことも解らないの?」
と散々馬鹿にした挙句、
「ググレカス」とか言って結局教えないんだろうな。
そして、初心者のやる気を喪失させてしまうだけ。
結局、偉そうにしたいだけなんだよ。
でも、俺の場合は、
「列挙体ってこういう意味なんだよ。」とか言って優しく教えるけどな。
まあ、そんなんどうでもいいけど。
>でも、俺の場合は、 >「列挙体ってこういう意味なんだよ。」とか言って優しく教えるけどな。 間違った事を教えるのか。
>>841 enumでマクロ使わなくていいし、constが無いし
間違ったこと教えられるより「ググレカス」の方が1000倍マシだけどな
初心者の敵だろどう考えても
初心者は知識がないんだから
>>1 の間違った解説を真に受けてしまう
最初に間違ったこと教えられた人はかわいそうだろうなぁ
間違った理解でコードが動かなかったらデバグしにくいし
後で間違いに気づいても混乱するだろうし
>>1 の解説はC言語勉強したい人の邪魔な障害
ググれの方がはるかにまし
いいんだよkazukiはそれで こういうやたらと役に立たないand間違ってるサイトがあったほうがエキサイティングだろw
ジョークサイトとして楽しめるね。
多少知識あれば間違い過ぎてて楽しめるけど ガチで初心者のためとかはやめてほしい 万が一こいつのサイトで学ぶ人がいたらかわいそうだ
というか、このサイトは
>>1 が勝手にプログラムして、同人3DRPGを作るスレだよね?
言語解説サイトを作るスレじゃないよね?
全然目的が分からないんだが。
>>857 頓挫して余計なことやっちゃうところも初心者っぽいだろ
さっさと3DRPG作れよって思うんだけど
ここまでバカだと人生幸せなんだろうな 周りは不幸だけど
すんげぇ
>>1 よりに考えた。これでどうだろう。
定数ってのは
「定義された数」だと思う。
定義が先にあるので必然的に意味を持っていないといけない
例としてはπやネイピア数やグラハム数、物理学とかじゃ光速度や地球の重力加速度とかが定数のうちで有名なものだけど
どれもたった一つの値と意味をもってるように見える。だから書き換えられないconstやdefineで表現できる。
ところがどっこい、光速や、重力加速度なんかは単位系によっては値がバスバス変わっていくし(結局は同じ大きさだけど)
不定積分の積分定数は逆に定数って名前がついてるのに全ての値を指してる。
こう見ると定数の値には実は意味が無い。つまり定数が意味してるのは実は定義のみなのではないか。
結論付けると定数とは定義によって数が意味を持っていて、
その値は定義に沿っていればどうでもいい(場合によっては値は1つではないし、変数でもいいかもしれない、いっそ無くてもかまわないかもしれない)
constはただ不変なだけであるのに対し、
使用時に定義そのものを埋め込むdefineこそが定数なのである。
書いてると不思議と本当にそうなんじゃないかという気持ちになってくる。
>書いてると不思議と本当にそうなんじゃないかという気持ちになってくる。 Kazukiウイルスが伝染しちまったか…
>>1 って、1つの事を何行にも渡って説明したり
1つの事を何レスにも渡って説明してもらった挙句理解してなかったり
すごくイライラする(´・ω・`)
説明は愚かただの雑談的レスでも 何行も何レスも使って要約すれば数行、酷いと一行な内容書いてたりして読んでてイライラするな
ふう・・ようやく全ての画像が完成した。 あとは、この画像を切り抜いて、 記事を書くだけです。 その前に紅茶でも飲んで一服。。 しかし、どうして誰も、 こうやって初心者向けに超優しい解説サイトを作ってくれないんだろうな・・。 小学生でも解るぐらいの解説、誰か作ってほしいよ。 って、それを俺が作ってるんですがね(^^; 世間にある解説サイトは、 どれも内容が難しい。 読んでる途中で「ん?これはどういう意味?」って思うことがよくあって、 でも、それについては全然触れてくれない。 だから、またググる必要がある。
>世間にある解説サイトは、 >どれも内容が難しい。 見てないのに分かるんだ。すごいね^^;
constantの定義は上に貼った通りだけど ・以下の問に答えよ。 ただし必要ならH=1.0を用いよ。 1) 水素の分子量を求めよ。 ↑ 単にこういうことでしょ 高校レベルの理解が酷すぎなんだよ
自分の作ったもんに対するバイアスがやたらとでかいところもkazukiっぽくてGood!
>>861 その解説、小学生が読んでも理解できますか?
正直、読んでる途中で
質問したことがたくさんでてきました。
そういう解説をされるから、
またググる必要があるわけで、
そのググってる途中で歪曲されてしまうのよ。
まあ、でもありがとう。
あなたの解説、大切に保管させていただきます。
>>865 >小学生でも解るぐらいの解説、誰か作ってほしいよ。
いっぱいあるよ!
貴方の理解力が崩壊してるだけだよ!
人にものを教えることは。 実は、とても難しいことなのです。
理解が難しいと言うより 高卒程度の理科知識が要求されてるだけ
じゃあ大サービスで3と9の公倍数の正解教えてあげる Hだよ
理解する気の無い奴には理解できないだけ プログラミングは小学生でもできます
>>861 最後の
>使用時に定義そのものを埋め込むdefineこそが定数なのである。
↑
これだけでいいんじゃないの?w
公倍数のやつは我ながら、たまたまにしちゃよくできてたなぁ 定義がわかってないまま「相かけると出ることがある」って知識だと間違えるし 用語知識も見られるし しかも正解はH
ねぇゲーム作らないの?
>使用時に定義そのものを埋め込むdefineこそが定数なのである。 ↑ これをさらに短くして 「defineが定数なのである。」 ↑ これだけでいいじゃん(^^ 「では、defineの使い方を教えます」 と言って、その先が俺のサイトの解説です。
初心者に厳しい解説だなあ
>>869 ろくに調べもしないし、わざと錯覚するような罠も配置してる
理解できた人は内容に突っ込めると思う。
小学生に理解されたら気の毒だし
理解すべき内容でもない。
算数に定数は(たぶん)存在しない
というかみんなごめんね
ある数が定数である、とするのとその数を具体的に与えること どう違うのかって、言ってもわかんねぇだろうなぁ
なんていうか、実行・命令文の説明って言うより書き方の説明をして 適当に動作とか説明してる感じ
あと前から言いたかったんだけど 簡潔であるという意味の「簡単」と 習得が容易であるという意味の「簡単」は むしろ180度意味が違うからね
>>881 円周率は定数だよ。3とか3.14、sqrt(22)/7とかあったっけ
もちろん1でも6でも2iでもいいけど
>>885 簡潔なものは美しいよ。180度は言い過ぎだと思うなぁ
初心者は難しい解説は求めていません。
端的に簡潔にズバッと教えてほしいと思っています。
もし、難しい解説をするなら、
全部教えてほしい。
例えば
>>861 の解説を例にして取り上げるなら・・。
ネイピア数って何?
グラハム数って何?
物理学って何?
光速度やって何?
地球の重力加速度って何?
こんな疑問が次々に浮かんで、
読んでいるうちにパニックになる。
そして「俺には無理だ・・」とか何とか思って諦めて挫折する。
プログラミング勉強を止める、ゲーム作りも止める。
そういう流れになっていく、
でも、俺の場合、勉強とか学ぶことが好きなので、
そこで諦めない。
さらにググる。
ググっても出てこなければ、
書店で立ち読みする。
なければ、図書館に行く。
このスレ見てたら不安になってきたから誰か教えてくれ プリプロセッサってのは前処理だから コンパイル時にはincludeやらdefineなんてものはまったくソースコード内に無いんだよな?
>>888 そういう意味で「おまじない」が存在するんだよ
段階を踏んで学んでいく事で理解してもらえるようになるからね
おまじないの意味すら分かってなかったのかよ脳味噌あるの?
これまで「おまじない」で済ます解説を読むたび。 「ああ・・この人、めんどくさがりなんだね・・」とか思って、 解説サイトを閉じていたよ。 #includeを「まじないです」とか何とか言って解説してるのを見るたび、 「だめだこりゃ・・」とか思って、即行で閉じていました。
>>889 コンパイラーに渡されるデータは
プリプロセッサコマンドによって置き換わった後のデータだと思うよ!
今まではどう思ってたのかな
>>892 どうみてもキチ○イか知障。
誰だよこんなやつにネット使えるようにしたやつ。
"-so, here we define pi, a number constant throughout our discussion, as 3.14"
P.13-37, Mathmatical Ideas for Braindeads,
Mingmei University Books, 2010
>>889 つsed
初心者の気持ちって奴をどうか解ってほしいね。 きっと、プログラミングに挫折した人とか 世の中には、たくさんいると思うよ。
>>898 職業プログラマーでもない限り、「挫折」で終わってしまったのなら仕方がないんじゃないかな
救済とか考えても「本人のやる気」がなければ仕方がないよ!
逆にやる気がある人は自力でなんとか出来るだろうし
>>894 サンクス、ただの機械的な置換処理ってことだな
上の方で実行時のメモリの使用がどうのって話があったから
何か考え違いしてるのかと不安になった
そらさ、pre-processするんだもの
初心者の気持ちって奴をどうか解ってほしいね。 きっと、変な解説に惑わされてプログラミングに挫折した人とか 世の中には、たくさんいると思うよ。
>>901 プリプロセッサプログラムとコンパイラプログラムに「ソースコードを渡す段階では
メモリを使う」って言う話でスレ内では解決したはず
>>1 が「実行ファイル実行時にプリプロセッサが働く」と思っちゃってて
プギャーされてたみたいだよ
実行時にプロセスしたらrun-time processでんがな
>>902 ,905
元の表記にした方がよく分かりますね!
脱線するけど、カタカナ英語っていう文化は良くないと思う
だから高卒程度の知識が必要なのさ。自信持って高校でてますって言うの 簡単じゃないよ?
>>879 >「defineが定数なのである。」
>↑
>これだけでいいじゃん(^^
良くない
>>910 region?
libもpragmaで取り込めるし便利だよね
>>911 それそれ、コメントも付けられて読みやすさ倍増
> 「defineが定数なのである。」 こんな解説したら初心者を後々混乱させるだけ あんたのしてることは初心者を救ってるわけでもなんでもなくて 誤った考えを初心者に植え付け正確な理解を妨げてるだけに過ぎない
A pre-compiler directive "#define" is used to define constants and other symbols separately in a source code to ease code maintenance. With "#define" directive pre-processor will replace symbols in source codes with given value in advance to build. 英語だとすんなり書けたりするよねー
ちなみに英語で書いたのは主さんに理解できないようにする配慮です^^ 俺はコード書けません^^^^^
よし・・。 今、新しい解説をアップしてきた。 あー疲れた(^^;
乙・・・といいたいが、enumの中はマクロじゃねぇぇぇぇwwwww もはや釣にしか見えないw
enumとかtypedefを、今のまま理解していたら STLたtemplate使うときに張っ倒されるぞwww
enumの中身がマクロとか C言語じゃなくてどこかの超言語だそれ
大丈夫、コイツはSTLやtemplateどころかクラスすらロクに解説出来ないだろ
初歩の初歩基本の基本の代入ですら理解して無かった(
>>273 あたり)からなこいつ
こんなレベルで解説とか笑わせるぜ…
ゲームプログラムしようぜ kazuki君が作らないなら僕が作っちゃうぞ^^っと
超言語wwww 実際のところマクロ名なのか何なのか解らんかったから、 マクロ名ってことにしておいた。(^^ まあいいじゃん。 名称の呼び方なんて・・。 ちゃんとプログラム動いてるんだし・・・。
>>923 オープンソースで東方みたいなゲーム作ってみない?
それでスレに晒して見てもらえばkazuki君がどれほどの実力か分かって良いじゃん。
口より物だよ。
あとで、マクロ名を「マグロ名」にしておくかw
さて、次の解説だ。 次はいよいよ、if文や条件分岐などを解説します。 これが理解できないとプログラムは組めません。 これまでの解説は、 指定したデータをそのまま表示させるだけでしたが、 それを条件をつけて表示させます。 ここから少しずつプログラムっぽくなって行きますね。 ifが終わったらループです。 ここまで解れば十分でしょう。
ねぇ作る気無いの?なんで作らないで解説してるの?
ループまで解説したら、 ちょっとC言語で簡単なゲームでも作ってみようかな。
これでenumの中身はintだって言ったらまたふざけたこと言い出すんだろうな
解説じゃなくて覚書だね!
ちょっとC言語だけでゲーム作ろうとしたら、どうやら俺はオブジェクト指向脳になっているらしい事が判明した。
つーか動けば良いは制作するだけならまぁ正しい(そのせいで効率が落ちる事も有るけど) でも解説としてる以上動けば良いじゃダメ
そのうち(解説するもののレベルが高すぎて解説できなくなり)消えるに500ルピー たぶんクラスかポインタだな
俺もCだけとか無理そうだな…、DXライブラリは使っているけど
東方作るにしても
>>832 で書いてあるとおり暫く次スレ立てそうにないよ
そのまま逃走するかも
じゃあ、950で次スレ立てちゃおうぜ 主が来ない? ヲチスレとして再利用だ
>>935 もうこいつ3カ月以上こんなことしてるんだよ?
消えるんじゃなくて無限ループするんだよ
しかも低いレベルのところで
くそー 出かけてる間に伸びてるじゃん
俺もDXだ、安心しろ ってかガチでCだけでオブジェクトの管理とか面倒すぎるだろ。 久しぶりにCだけでやると余りの面倒さにALT+F4押してた やっぱりゲーム製作は特徴的にC++じゃないと面倒臭いね。 まぁ今度はクラス作るの面倒なんだが、Cよりマシ。
せっかく勢いあるんだし次スレ勝手に立てても良いかもね
>>1 の解説を肴にゲームプログラミングを語るスレとかにすれば
板違いでも無いだろうし
シングルトンしたクラスを見よう見まねでライブラリ化したらリンクエラー てめーら俺を育ててくれよ!!
やなこった
>>942 シングルトンはグローバルな領域にクラスを一つ作る事になるので、害悪。
使わずに出来るならばそれを採用するべき。
俺は会社で、女の子にソフト開発を教える、3ヶ月ぐらいで中くらいのソフトを作り上げる。 女の子がゼロからでも出来るようになる、教え方もあるけどね。 ポイントは、言語の部分は丸暗記する、理屈を入れる子は使えない。 理屈を入れて考える部分は仕様書からコードへ落とす部分で、使い手の立場を考える。 素直な子は早く覚えるし良いコードを書く、そして俺の技術を吸収する。 昔のC言語は方言が多かったが、今のC言語は仕様が厳密に決まってるから下手な説明は不要だ。
そもそも使わないけどできる解説が多くてうんざりしたことはあるけどな 特にポインタまわりの解説とか 変数と関数と構造体とクラス当たり知っておけばとりあえず読めるんだから 後は実際に動く小規模なコードで説明してったほうがいいと思うんだよね 俺は言語の機能別解説のほうが嫌いだったな とにかくサンプルコードを全文書き取りさせるような入門書のが好きだった
そろそろ次スレ
定数の話があるが、誰も使わない。だから解説も無い。 変数へ値を入れておけば済むことです。 遥か昔はCPUが非力でスピードアップの為に#defineを使う。 今時は、定数を変数に入れておけば、コンパイル無しで定数を変更できるから その方が自由度があって有利だろう。 こんな些細なことに無駄時間を過ごすよりも 良いアルゴリズムを覚える時間に価値がある、そう思わないか。
ん?日付変わってないし 別人か
エンドレスエイト
Kazukiはクズだ、同じに扱われては困る。
デファインとコンストって速度変わんないんだっけ
>>949 ,953
ちょっと落ち着け
kazukiみたいに話が通じないと決まったわけじゃないんだからとりあえず話し合おうぜ
俺の
>>948 の疑問点は
・#defineでスピードアップ
・コンパイル無しで定数変更
かな
ちょい説明よろ
>>954 そんな事よりお前が書くプログラムには
他にもっと気にしなくてはならない事があるはずだ
>>946 メモリ消費を気にしないとしても
小規模なら大丈夫かもしれないが
const忘れるとプログラムの途中で書き換えてバグる危険性が増える。
>>946 言語である以上、なるべくワイヤードロジック使うように脳を組むべきなんだろう。
理屈から入る理解ってのはいわばエミュレーションなわけで
>const忘れるとプログラムの途中で書き換えてバグる危険性が増える。 ないなー 絶対ねぇよ どんなプログラム組んでんだよってC/C++設計者に問いたい問い詰めたいってマジで思う そういえばマイクロソフトがstr系の関数に警告出すようにしたけど んなところでバグったことねーっつのってぐらいアレ
>>960 たしかにないけどconstを付ける目的はそれだけではない
関数プロトタイプを見ただけでコメントが無くても
constが付いていればこの引数は入力なんだなってのが
分かる
>>961 そんな入力か出力かわからない状態で関数使わないよw
>>944 まじでか、ちょっと考えてみるわ
デザインパターンに意味も無くあこがれんのも考えもんだな
でも糞みたいに便利なんだよな
ていうか・・ぶっちゃけ・・・。 公式サイトでマクロ、マクロって言ってけど、 マクロってなんなんだろうね・・www 未だによう理解できない。 昔、マクロスってアニメがあったけど、 あれの親戚? マクロスってのは、マクロ達って意味? うーん。 まあ、俺はマクロをマクロスと読んで、 何か、計算式みたいなものを格納しておいて、 必要な時に呼び出すもの。というように理解している。
(、_'' (o)_: ( [三] ) _(o)`_, :::) うわぁぁぁああ!!
関数ってのが巨大要塞なのだ。 その要塞の中に、 マクロたち(マクロス)は、 外側から乗り込んでいって攻撃する。 ドカンドカン!ピュードッカーン! って感じかw 俺がプログラムの勉強をする時は、 こんな感じにアニメとかに置き換えて考える癖があります。 だからプログラムが面白いんだw
>>962 memcpyを例に出すと、
void *memcpy(void *buf1, void *buf2, size_t n);
プロトタイプだけ見るとコピー元が第一引数なのか第二引数か
関数の説明を見なければ分からない
ところが、constが付いていると
void *memcpy(void *buf1, const void *buf2, size_t n);
あら不思議関数の説明を見なくても分かってしまう
つまり、マクロに格納されたものは銃弾みたいなものなんだ。 それを関数の狙ったところに打ち込む!!
>>964 さすが本物は格が違うね
わからなければそれこそ「ググレ」よ
>コンピュータ言語においてマクロとは、プログラム中の文字列を、あらかじめ定義された規則に従って置換すること。
>マクロを展開するプロセッサ(処理系)をマクロプロセッサという。
>転じて、アプリケーションソフトウェア上の作業を自動化する機能やプログラム言語(マクロ言語)のこともマクロと呼ぶ。
(wikipediaより)
マクロ=置換するための機能
マクロ名=その機能に付ける名前
お分かり?
>>955 なんかゴメンね
>>960 一人でならいいだろうけど、共同開発だとそれヤバくね?
constなら違う型名突っ込むこともなくなるし
>>967 なんで普通にマニュアルみないの?
っていうかmemcpyも引数の名前に出力だったらoutってわかりやすい変数名使えばいい話であって
それをconstで表現する意味なくね?
>>971 お前初心者か?
複数人で開発したことないだろ
>>970 いや、別に複数に増えたところで新しい問題が起こるわけでもないと思うんだけど?
何を気にして言ってる?
この部分でもし間違うなら個別に訪問してひとりずつぶん殴って教えるしかないと思うよ
>>973 ぶん殴って何を教えるのか知らないけど
constがある理由はそのぶん殴る手間を省くためじゃね?
人としてありえないレベルを気にしすぎてるって俺は言いたいんだよね まあ、俺のいる職場、採用条件が「スキンメッシュが組めること」程度で集めたPGだけど さすがにそんなレベルの人にあったことないわ まあ、ちょっと俺にとってかなりくだらない内容なのでこれ以上議論はしないわ
その昔、ニコニコ動画に一時間以内にテトリスを作る動画をアップしてくれている人がいました。 今でもあるのかな? 知らない人は、ちょっとググって見て見てください。 あの動画のコメントで、 「理解できない」というようなコメントを付けている人がいるけど、 全部とは言わないけど、 ある程度までなら俺、あの人の言ってること理解できるよ? 最初の素材作成は飛ばすとして、 その後、何かサイトからコピペしているんだけど、 アレの意味、君たちに理解できる? 俺なら理解できます。 ちなみに動画には、あの時点で「理解できない」と言ってる人がたくさんいた。 つまり、俺はあの人たちよりもレベルは上です。 君たちに解るのかな?
ニコ厨うぜえ
ってヤベぇ・・・。 油断してたら、 もう、977レス切ったか・・。 DAT落ちする前に、 全データ保存しておかないと・・。
よーし、埋めるか
constの意味合いって人的ミスを減らすためじゃないの 定数で値を変えちゃいけないところに「間違えて」値を入れた場合に、 エラー吐いて注意してくれるって言う。 厳密にコーディングすれば、constなくても問題なく作ることは出来るよな? でも、その場合、定数であるはずの値を書き換えてバグった場合、そのデバッグが難しくなるんじゃない? そういったミスを減らすためにconstを付けて、間違った使い方しようとしたときにエラー出してもらうってことがミソだと思うぜ そんなもん間違えるはずねーよってぐらいのコーディングスキルあるなら好きに使えば良いんじゃない?
間違えにくいコードを書くのもコーディングスキル
俺もニコニコ動画で、 一時間以内にゲームを完成させる動画に挑戦してみようかな?(^^ でも、タイピングには自信がないから、 コピペ式で解説しながら、 一時間以内にゲームを完成させる。 ゲームって言ってもPS2みたいな凄いのは期待しないでね?(^^ ファミコン時代のゲームを想像してほしい。
>>932 >コピペ式で解説しながら、
>一時間以内にゲームを完成させる。
一時間で作ってないじゃん
985 :
名前は開発中のものです。 :2010/09/19(日) 00:29:47 ID:yDjNzoWL
>>977 ずぶの素人に勝って何が嬉しいんだろう
4ヶ月も勉強してるんだから当たり前だろうに
そういう動画をアップすれば、 「お?コイツ結構やるな・・」と言って見直してくれるかもしれない(^^ 同人ゲームサークルの代表が、 てんで出来ない人だと、 ちょっと問題ですからね。(^^ てなわけでさ。 もうすぐこのスレが埋まった一旦休憩にします。 そして、数日後?数時間後?ぐらいに 次スレをこの板内に立てます。 URLは貼らないけど、 みんな、各自で見つけてやってきてくださいね。(^^ 脱落者がいたら、 この時にスレから離れていけばいいよ。 嫌な思いをしてまで無理して参加することは、ないんですからね(^^ 上で文句言ってる人は、 そのタイミングでスレから離れればいいんじゃない?
理解できてないのに理解できたと思い込んでる
>>1 より、自分が理解できてないことを理解してる分上等
では、最後に・・。 皆さん、こんな俺にここまで付き合ってくれてありがとう! 心から感謝しています。 皆さんを愛しています。 うえwwwうえwwwww 発展途上中の素人kazukiは、 これからも3DRPG制作に挑戦し続けます! それを誓って、 このスレの締めの挨拶にさせて頂きます。 おれ・・口悪いけど・・。 本当は、皆さんを心から尊敬して、 感謝しています。 みなさんありがとうございました! では。またねー!!(^▽^ 皆さん、お元気で!!
またやり直し仕切りなおしですか せっかくなんで解説もやりなおしてくらさいね
解説は間違ってるところを除けば図が綺麗でよかったと思う
このスレの全住民(荒らしも含めて)に、感謝!!
ume
ume
梅ってウメーおーw
kazukiの同人3DRPG制作【第一話】 完!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。