トップページgamedev
1001コメント423KB

Kazukiの同人3DRPG制作【第一話】

■ このスレッドは過去ログ倉庫に格納されています
0001Kazuki2010/09/10(金) 06:35:05ID:8vGP1TSQ
Kazukiの同人3DRPG制作 公式サイト
ttp://www.kazuki-sendo.com/game/


発展途上中の素人Kazukiを中心として、
DirectX9による3DRPG制作に挑戦します。


開発言語は、C++です。
長く苦しい戦いになると思われますが、
同人ゲーム制作の限界への挑戦が、当企画のテーマでもあります。

2ch当スレを本スレとし、
ニコニコ動画、zoome、mixi、の3コミュメンバー合同で同人3DRPG制作に挑戦します。

※本格的にゲーム制作に協力していただけるメインメンバー様へは、
 ゲーム完成後に平等に利益分配されます。
 (詳細は公式サイトのメンバーページ)
0547名前は開発中のものです。2010/09/16(木) 22:58:04ID:YvQOVgx9
テスト
0548名前は開発中のものです。2010/09/16(木) 22:58:12ID:e3Fk+xkR
>>546
どうせ、そんなことはどうでもいい、で流される。

>>1はどうしようもないバカなんだが、この言葉が強すぎる。
0549名前は開発中のものです。2010/09/16(木) 23:01:04ID:XAyaeF6M
エロゲの主人公の名前を自分のHNにする時点でお察し
0550名前は開発中のものです。2010/09/16(木) 23:05:03ID:9kx0gCKA
こいつの書いてるのは全部 本からの丸写し、サイトも。
 おめえ、参考書を一冊しか持ってねぇのかよ
0551名前は開発中のものです。2010/09/16(木) 23:38:53ID:+iepTC2N
>>546
これよく出す人いるけどさ
剰余演算子知ってるかどうか「だけ」の問題じゃね?
よしんばそれを禁止しても代えになる方法を当てはめればいいだけで
完全に覚えゲーなのにPGの腕がどうとか言い出す馬鹿がいてマジで
こんなんで判断する奴みると頭の形が変形するまでボコりたくなる
俺の前で二度と発言するなお前
0552名前は開発中のものです。2010/09/16(木) 23:47:15ID:9kx0gCKA
>>551
こいつは、さっぱりコードが書けない。 >>546のコードも書けないだろう。
レベルが低い。想定外に低い。
出てくるのは丸写しのコードだけだ
「数当てゲーム」を作ってみろと言っても、出来ない。その程度。
0553名前は開発中のものです。2010/09/16(木) 23:47:52ID:4WLv9Trn
少なくとも少しはプログラムが書けるかどうかの判断にはなるんじゃねーの
fizzbuzzができないプログラマなんて居ないだろうし
そうカリカリすんなよ
0554名前は開発中のものです。2010/09/16(木) 23:50:14ID:9LrIGaRn
>>551
この問題ってプログラマの腕とか関係なくね?
真性のアホかどうかを見極める問題だろ

PGの腕()とか何言ってんだお前、高い技術使っても低い技術使っても出来上がったexeとリソースがモノを言うんだよ
そういうのはゲ製作板よりプログラム板とかの技術屋が居る板で声高々で文句言って来い

ちなみにだが、もう最適化はされてたりするけどこういった簡単な問題でコードゴルフとかするヤツいるから
そういう人らのソースはお前がおっしゃってるPGの腕なんじゃないの?

ごめんね、しゃべっちゃって、てへ。
0555名前は開発中のものです。2010/09/16(木) 23:50:42ID:4WLv9Trn
つーか主が成果を見せれば多少期待出来るのに
今までひとつもオリジナルの成果物見せてないからな
信用されないに決まってる

テトリスすら作れるのか怪しいな
0556名前は開発中のものです。2010/09/17(金) 00:25:49ID:/2a5uZT0
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次元ゲームは作れるかな?
0557名前は開発中のものです。2010/09/17(金) 01:09:46ID:2BpkBEPJ
>>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)流石に分からん。
0558名前は開発中のものです。2010/09/17(金) 01:20:35ID:2BpkBEPJ
あ、ちなみに実行環境はC++/OpenGL + HLSL(cgfx使用)

答え合わせと回答よろしくね、楽しみにしてるよ。
0559名前は開発中のものです。2010/09/17(金) 01:38:06ID:4L5WNVIZ
>>530
とりあえずその程度の理解でDirectX叩いてゲームに出来ると思っていることに呆れた
0560名前は開発中のものです。2010/09/17(金) 01:57:31ID:/2a5uZT0
2BpkBEPJ さんは主さんじゃないの?
まぁ、主さんから逆行列っていう言葉は出ないと思ってたんだけど…

どっちにしても、各問題2〜3行だけどきちんと回答するよ。
ってか主に対する問題だから、主さんじゃなければもうちょっと待ってみる。
0561名前は開発中のものです。2010/09/17(金) 02:14:01ID:zHlo0awp
多分お互いがお互いを>>1だと思ってるような気がするw
0562名前は開発中のものです。2010/09/17(金) 02:23:33ID:2BpkBEPJ
ぬ、釣りかどうか判断が難しいなこれ。

てっきり>>556の内容と最後の数行から>>1だと推測したが、違うのか?

0563名前は開発中のものです。2010/09/17(金) 02:31:22ID:/2a5uZT0
とりあえず、俺は主(>>1)じゃない、と言っとくw
ID 機能してねぇww
0564名前は開発中のものです。2010/09/17(金) 02:34:34ID:2BpkBEPJ
なんだ、てっきり>>1が出したのかと思ったわ

真面目に解いたのアホらし寝る
0565名前は開発中のものです。2010/09/17(金) 02:40:36ID:/2a5uZT0
普通に主にしてはレベルが高い返答が返ってきて俺も一瞬びびったおw

その前に今の主のレベルだとこんな出題無理だからw
トゥーンのプログラムしっかり作りこんでくれてマジ乙w
…回答、どうする?あえて出さないでおこうか?
0566名前は開発中のものです。2010/09/17(金) 02:54:05ID:/2a5uZT0
まぁ、主さんに >>557 に対する意見を聞くのでもいいな。
0567名前は開発中のものです。2010/09/17(金) 03:37:41ID:HdVHm2L4
可愛い二人だw
0568名前は開発中のものです。2010/09/17(金) 03:49:27ID:NhE2dXIC
楽しそうなことやってるじゃないの
0569名前は開発中のものです。2010/09/17(金) 03:54:38ID:NhE2dXIC
まず同人3DRPG制作ってのに惹かれたわ。
俺も同人で3DRPG作ろうと思ってるんだけどそもそも同人で3DRPG作ってるとこって少なくない?
ちょっと考えてみたとこEadyGameStationさんとこのくらいしか思い浮かばない。
0570名前は開発中のものです。2010/09/17(金) 04:57:08ID:ZoVqC4Uv
だって同人でやるには3DRPGはあまりにもやることが多すぎるもの
0571名前は開発中のものです。2010/09/17(金) 05:02:38ID:NZV8ZnNu
なんだかにぎわってると思ったらw
どうしてこのスレでだべってるんだ。
ほかのスレで話したほうがよくね?
勢いでパートスレ化されたらたまらんぞw
0572名前は開発中のものです。2010/09/17(金) 06:44:58ID:dZufG0Uo
隔離してんだよ言わせんな恥ずかしい
0573名前は開発中のものです。2010/09/17(金) 07:17:58ID:iHrQMobI
>>569
つUDK
0574名前は開発中のものです。2010/09/17(金) 07:20:26ID:NhE2dXIC
>>573
アンリアルエンジンは使ってるサークル見たことないな
0575名前は開発中のものです。2010/09/17(金) 07:30:43ID:sYa04YS8
公式サイト更新きてた
思いっきり間違ってるし。
#defineが何なのかわかってないらしい
0576名前は開発中のものです。2010/09/17(金) 07:31:03ID:AmJCQRbx
ったくw
二人とも何、深夜にバトっちゃってんのよwww

マジでコーヒー吹いたwww


懐かしい遊びしてますね(^^


2chの面白さの真髄を垣間見たような気がするw

>>557>>556の出題者を>>1だと思ってムキになり、
>>556>>557の回答者を>>1だと思って会話。

そしてお互いが違うかったことに気づき、
思わず赤面。

他の住人は思わず、クスクスと笑うww


匿名掲示板2chならではの遊びですね。(^^

これは、日付が変わることでIDがリセットされることと、
匿名掲示板だからこそ実現できた遊びですねw

これが2chの面白さの真髄であり、
2chの真骨頂でもある。

朝から面白いものを見させていただきましたwwwwwww
0577名前は開発中のものです。2010/09/17(金) 07:35:59ID:sYa04YS8
>>576
へえ。IDが変わるのがおもしろいのか。
死ぬまでルーターのリセットボタン連打してろks
0578名前は開発中のものです。2010/09/17(金) 07:51:53ID:ZoVqC4Uv
少なくとも>>556>>557だと思ってないだろ
日本語読めないのか?
0579名前は開発中のものです。2010/09/17(金) 07:52:58ID:ZoVqC4Uv
失礼
少なくとも>>556>>557を主だと思ってないだろ
0580名前は開発中のものです。2010/09/17(金) 07:54:35ID:iHrQMobI
うちのルータだとip shutdown FE1/1.1かな
いずれにしろ主はバカっぽい文章と改行ですぐ分かると思うけどな
ところで数学に続いて英語もできないことが発覚したの?
05815562010/09/17(金) 08:34:36ID:/2a5uZT0
え?俺は直後の560でいきなりこのレベルの高さは主じゃないと見抜いてるぜw
どこをどう読み間違えたのかな?
それに主だと思ってたらすぐに答え出してるはずだし。
まー確かに、4ヶ月間主が必死に勉強してここまでのレベルにまで到達した、
という可能性を一瞬考えたのは事実だけど。

でも、ゲーム開発にプラスになるかもしれない「問題の内容」に食いつかずに、
ゲーム開発に関係の無い「ちょっとした人の失敗」だけに食いついて馬鹿にするんだね。
いつも通りというか何というか、成長してないことになんか逆に安心してしまったわ。
でも2chとかあまり利用しないし、確かにID変わるのは知らなかった。

…ところで、主はギブアップ(または問題無視)でおk?
まぁ、暇つぶしに問題考え始めたらいい感じに完成してきて
つい書き込んでしまっただけだから、別にまともに答えてもらわなくてもいいんだけど。
0582名前は開発中のものです。2010/09/17(金) 08:45:16ID:uOqx3Zsa
>>576
-100から+100の範囲にある自然数のうち、3と9で割りきれて
6で割れない最小の数は?
0583名前は開発中のものです。2010/09/17(金) 08:50:40ID:pUdFLtsY
>>582
27とか-81だったら吹くな
0584名前は開発中のものです。2010/09/17(金) 09:02:09ID:/2a5uZT0
>>582
さりげに引っ掛けwww
0585名前は開発中のものです。2010/09/17(金) 09:10:30ID:IpJXaF+M
ひっかかるとこだったw
0586名前は開発中のものです。2010/09/17(金) 09:20:29ID:pdpcgBpw
お前ら答え言うなよ
自明だからな
0587名前は開発中のものです。2010/09/17(金) 10:16:35ID:/2a5uZT0
もっとゲームで使いそうな技術問題を数問を足したりして問題を補完してみた。
誤解されてる問題もあったので、全体的に問題を厳密化してみた。
長文すまそ。あまり詳しくない方&市販レベルのゲームを開発しない方はうざいと思うので無視よろしく。

1)CPU と GPU(グラフィックボード)のそれぞれの特徴と得意分野、また CPU だけで完結するより GPU も併用した方が良い理由を述べよ
2)独自シェーダの実装を可能とするプログラマブルパイプラインが近年重要視されてきている理由を述べよ
3)固定パイプライン時代において、三次元ポリゴンのモデルがディスプレイ上のピクセル(ドット)に変換されるまでの処理手順を述べよ
4)Phong の反射モデルにおいて「鏡面反射」「拡散反射」「環境反射」それぞれの成分がピクセルの輝度値にどのように影響を与えるか述べよ
5)ポリゴンの滑らかな陰付けに関する手法「グーローシェーディング」「フォンシェーディング」の仕組みと特徴(長所・短所)をそれぞれ述べよ
6)地面に影を落とすために用いられる手法の一つであるステンシルシャドウボリュームの仕組みと、その弱点を述べよ
7)金属の表面にはよく周囲の風景が写りこんでいる。これをCGで再現するための環境マッピング手法を一つ挙げ、その仕組みを述べよ
8)バンプマッピングを用いることで、単純なポリゴンやテクスチャだけでは表現が難しい服のしわなどを表現できる。その仕組みとこの手法の短所を述べよ
9)三次元座標変換処理において、単純なユークリッド座標系(x, y, z)よりも同次座標系(x, y, z, w)が一般的に用いられている理由を述べよ
10)遠くにある物体ほど小さく見える「透視投影」が、同次座標系において単純な行列演算だけで実現できることを示せ
0588名前は開発中のものです。2010/09/17(金) 10:18:02ID:/2a5uZT0
11)バーテックス(頂点)シェーダ・ジオメトリシェーダ・フラグメント(ピクセル)シェーダそれぞれの役割とこれらの関係性を述べよ
12)アニメのような表現を行う際に用いられるトゥーン(セル)レンダリングの仕組みを述べ、それを実現するシェーダプログラムを示せ
13)フォトリアリスティックなレンダリングに用いられる有名なモデルの一つ BRDF の仕組みと特徴を説明せよ
14)最新版の DirectX11 ではテッセレーションが標準機能化された。この機能を利用するメリットを述べよ
15)NVIDIA が CUDA 技術で牽引するような GPGPU 技術と、これまでの( GPGPU を除く)グラフィック処理との関係性を述べよ

1〜4は3D技術一般の問題、5〜8は様々なレンダリングテクニックに関する問題、
9・10は3D処理に用いられる数学の基本問題、11〜13はシェーダプログラムに関する問題、14・15はいわゆる時事問題。
最後の2問以外は、どれも市販レベルのゲーム開発をする上で開発者が知っておかなくてはならない常識ばかりを集めてます。
(専門書の各章の一番初めに書いてありそうなことばかり、しかも役立ちそうなことばかりを選んで問題を作ってます)
0589名前は開発中のものです。2010/09/17(金) 11:23:05ID:jTQXa+T+
>>588
なんかいかにも専門家とか専門書が好きそうな内容だな。
こんな事しってても実務にはまったく意味がないっていうなんとか検定と同じだな。

正しい泳ぎ方や理論を知っているのと自分が泳げるのとは別の話だ。
0590名前は開発中のものです。2010/09/17(金) 11:55:02ID:Hu/LA875
プログラミングの話なんだから理解してりゃ扱えるだろ
0591名前は開発中のものです。2010/09/17(金) 12:07:05ID:7qBxF+Sk
今回の解説は正しいところを見つけるのが難しいな
とりあえず致命的な部分上げとこうか
・定数の解説といいつつ定数に触れてない件について
・#defineはメモリに一切関わらない
・文字を定義するときの""に関する説明
・#define c a+b を使うときに間違えないための回避法

正しいところは
#define a b
でaがbに置き換わるところだけだな
0592名前は開発中のものです。2010/09/17(金) 12:18:47ID:XrJ9DWhX
本当だ。
最初の一行目から間違いだらけ
マクロと定数は別物
0593名前は開発中のものです。2010/09/17(金) 12:21:00ID:/2a5uZT0
>>589
ごめん、マジで言ってる?結構実際のゲーム制作の現場を想定して、
(最後の2問以外)よく実務で使った経験があるものばかり、
レベルが低いものを集めたつもりなんだけど。
ってか上の問題がわからないレベルだとまともなゲーム作れなくね?
それとも実務ってのは2Dゲームとか、最先端グラフィック以外の部分を指してる?

少なくとも大手で3Dゲーム技術開発系に携わる人なら、
みんな全問答えられるレベルだと思うぜ。
0594名前は開発中のものです。2010/09/17(金) 12:35:30ID:XrJ9DWhX
マクロはプリコンパイラがソースを置き換えしてるだけ
本当に意味不明な解説だな。
0595名前は開発中のものです。2010/09/17(金) 12:57:34ID:dt8bcpPe
>>183
絶賛スルーしたつけが回ってきたかw
0596名前は開発中のものです。2010/09/17(金) 13:08:03ID:XvN3lObH
>>593
もっと基本的なことから聞こうぜ
アルゴリズムとか基本的な数学上の概念とか
もっとHな
0597名前は開発中のものです。2010/09/17(金) 13:22:00ID:/2a5uZT0
>>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 というデータがメモリに格納されることは無いよ。
0598名前は開発中のものです。2010/09/17(金) 13:23:17ID:7qBxF+Sk
そうだな
>>587-588の質問は意味を理解できないレベルの質問な気がするぜ

もっと基本的な
CとC++の違いとか
FizzBuzz問題とかソートとか
回転行列導けとか
そのくらいからじゃない?
0599名前は開発中のものです。2010/09/17(金) 13:29:22ID:/2a5uZT0
define でメモリを使ってないという証明のためには、
プログラム実行時のメモリの中身を調査すれば早いけど、初心者には難易度高いか。
…そうだな、#define を1万個入れてビルドした奴と、
define 使ってないプログラムを作って、
タスクマネージャで消費メモリを比べたらいいよ。
0600名前は開発中のものです。2010/09/17(金) 13:35:12ID:itNV/TuA
とりあえず3と9で割れて6で割れない最小の自然数xを早くだな
範囲は-100<x<100で
0601名前は開発中のものです。2010/09/17(金) 13:45:04ID:cLhPtb1k
>>599
プリプロセッサで処理されるのは常識なんだから、証明責任は向こうにあるんじゃね?
あと、本人くる前に説明すると

んなこと知ってるよwwww
どーでもいいしwww
わかりやすいようにああ書いたんだよwwwww

って言われるから注意な
0602名前は開発中のものです。2010/09/17(金) 13:47:34ID:/2a5uZT0
ちなみに上の問題がもし全部わからなかったらこうなるとせっかくだから書いとく(@長文出題者)
長文これラスト。

地面にはリアルなキャラの影が落ちてなくて、肌とか顔がプラスチックみたいになって(BRDF無し)、
背景にある金属には周囲の写りこみも無く金属にすら見えなくて(環境マッピング無し)、
服や顔のしわとか細かい部分を見るとどれも平坦で作り物感がして(バンプマッピング無し)、
滑らかなシェーディングの仕方が分からないとなると、デフォルトのグーローが使われて、
何も知らずにこれに適してないモデルを作ってしまうとポリゴンの継ぎ目がカクカクになって、
CPU と GPU の役割分担わからないから適当にしたら
CPU 忙しいのに GPU 暇とかが頻繁に発生して大したこともしてないのに処理落ちし始める。
シェーダの役割とか3D数学もわからないとなるとそもそもシェーダプログラムができなくなる。
(シェーダープログラム内では 4x4 同時座標系の行列が使われている)
独自シェーダを使わなかった場合、昔ながら Phong の反射モデルベースのシェーディングが
自動的に使われることになるけど、Phong の反射係数の意味すらわからないとなると、
パラメータを訳も分からず適当にいじるしかなくなって、何もできなくなる。

っていう感じで、全部一つに繋がってる。
0603名前は開発中のものです。2010/09/17(金) 14:44:06ID:2BpkBEPJ
>>589
同人2Dゲーだったらともかく、同人3Dゲーをガチで作ろうとすると避けられない所もいくつかあるよ。
最悪でも三次元ベクトルと行列の基礎知識ぐらいは必須になる。
まぁでも2.5D(3D空間だけど、2Dアクションみたいな)のゲームだったら二次元ベクトルの知識があればなんとかなる。

2Dゲーと3Dゲーの違いとして、リソース=クオリティが技術力=クオリティになるのは確か。
2DはテクスチャとかUIがしっかりしてて、適当なエフェクト(ムービーテクスチャでも)出せばそれなりに見える。
でも3Dは>>602が書いてある通り、「綺麗に魅せる為」にはそこそこ高い技術が使わないといけない。

まー最悪基本ライティングとかのみでも一応出来るっちゃ出来るけど、高クオリティを求めるならば、確実に見劣りする

0604名前は開発中のものです。2010/09/17(金) 14:53:59ID:cJXoUaD/
>>603
>最悪基本ライティングとかのみでも一応出来るっちゃ出来るけど、高クオリティを求めるならば、確実に見劣りする

でも同人ゲーでノーマルマップまで使えるようなとこってほとんど無いような気もする。
思いつく限りではソウルゲイナー作ってたとこと妖々剣戟夢想作ってるあんかけスパくらいかな。
あとは大体のサークルが基本ライティングのみかもしくはキャラにはライティングしないでテクスチャの色のみでお茶を濁してるのが現状だよ。
0605名前は開発中のものです。2010/09/17(金) 15:39:11ID:b92kLMfZ
まぁ同人ゲーであんまクオリティ高くすると売れないからな
同人ゲーマーにそんなハイスペックなPC持ってる人が少ないからね
0606名前は開発中のものです。2010/09/17(金) 15:59:23ID:2BpkBEPJ
まぁそこまで高い技術使う必要無いからな
そういった技術を覚えればゲームが面白くなる訳でもなんでもないし
面白くてナンボな世界に技術はいらない。

個人的に作る時にも実装ガンガンしていって方が面白いしww
3D作ったとしても綺麗にする為に労力使おうとは思わないなぁ、ってか時間的に無理
0607名前は開発中のものです。2010/09/17(金) 16:07:26ID:cJXoUaD/
まあ「できない」なのか「やらないだけ」なのかはサークルによって違うだろうけどとにかく実際問題少ないことは間違いないわな。
0608名前は開発中のものです。2010/09/17(金) 16:18:57ID:AmJCQRbx
>>599
そんなバカなw

じゃあ聞くが、あんたは、システム領域、ヒープ領域、コード領域、スタック領域で、
メモリを全て使い切っても、静的領域を使えるとでも言いたいのか?

そんな馬鹿なw

ちなみに、静的領域はグローバル変数で使う領域のことです。


そもそもプログラムを実行しているのに、
メモリを使っていないとか絶対にありえない!

どんなプログラムも必ずメモリを使用して動いているのです。


ちなみにメモリとはCPUにデータを移す前のデータの一時保管場所。
0609名前は開発中のものです。2010/09/17(金) 16:20:41ID:AmJCQRbx
ああ。違う違うw

CPUはメモリのデータを使って、
プログラムを実行させるための頭脳かw
0610名前は開発中のものです。2010/09/17(金) 16:27:13ID:cJXoUaD/
>>AmJCQRbxが>>1さんなのかな?
とりあえずはじめまして(違ってたらごめんなさいね)。
0611名前は開発中のものです。2010/09/17(金) 16:33:48ID:b92kLMfZ
>>608
defineてものをわかってないようだね
0612名前は開発中のものです。2010/09/17(金) 16:35:56ID:AmJCQRbx
ちなみに、それまで1GBのメモリを搭載していたパソコンに、
2GBのメモリに増設すれば、
パソコンの動きが早くなったりします。

あれはどうしてなのかと言うと、
増設した分、メモリで使用できる領域の全体容量が増えるため。


ちなみにAdobe製品のCS4は、
64bit版のWindows7に対応しています。

64bitになると、128GBまでメモリを増設できるため
メモリ内で一度に扱える容量が増え、
それに対応するようにCS4製品はプログラムが組まれているため。


パソコンに1GBしかメモリを搭載していない場合は、
1GBまで用のメモリ容量確保プログラムが動き、
2GBに増設すれば2GB用のプログラムに切り替わり実行される。

ちなみにグラボにもメモリが搭載されていて、
ゲームの3D描画は、マザーボードのメモリではなく、
グラボのメモリを使う。

ちなみに、サウンドボードを付ければ、
音楽はサウンドボードでデータを扱う。
0613名前は開発中のものです。2010/09/17(金) 16:39:45ID:AmJCQRbx
なので、どんなプログラムもメモリを使って動いています。

メモリを使わないで動くプログラムなんて存在しない。


まあ、HDD内の仮想メモリを使う場合もあるけど。。

これで俺のレベルが解った?


解説にメモリの図解を使用しているのは、
それを初心者にも解りやすく解説するためです。
0614名前は開発中のものです。2010/09/17(金) 16:41:18ID:b92kLMfZ
>>613
defineを使っても実行ファイルの使用メモリに影響しないってのを言ってるんだよ?
0615名前は開発中のものです。2010/09/17(金) 16:41:35ID:cJXoUaD/
>>612
>ちなみに、それまで1GBのメモリを搭載していたパソコンに、
>2GBのメモリに増設すれば、
>パソコンの動きが早くなったりします。
マジですか?!
情報サンクスです!!
でもうちのPCはけっこう小さな机の上に置いてるのであんまり激しく動き回られると机から落ちてしまいそうでちょっと怖いです。
0616名前は開発中のものです。2010/09/17(金) 16:43:49ID:7qBxF+Sk
>>608
defineは静的領域すら使わない
defineを使おうが使うまいがメモリの使用量は変わらない

だからあんたはdefineを理解してないって言ってんだよ
0617名前は開発中のものです。2010/09/17(金) 16:46:28ID:+iJDRTKb
もはや、>>1のは理解出来ないフリじゃね?

俺らを怒らせて楽しんでいるようにしか見えん。

0618名前は開発中のものです。2010/09/17(金) 16:50:31ID:AmJCQRbx
>>616
えええ??

そうなのか?


なんか混乱してきた。。

じゃあ、定数で使用するデータはどこで扱っているのですか?

定数ってのは、実はint型とかchar型を使用していたりするのですが、
それらのデータは、どの場所の領域を確保して
データを扱っているのですか?
0619名前は開発中のものです。2010/09/17(金) 16:51:54ID:sYa04YS8
>>618
コンパイルする前に置換される
0620名前は開発中のものです。2010/09/17(金) 16:52:08ID:AmJCQRbx
どの場所に領域を確保


定数で指定したデータは、
どの場所に運ばれているのか?

という質問です。
0621名前は開発中のものです。2010/09/17(金) 16:53:32ID:7qBxF+Sk
>>618
int型もchar型も使ってないよ
しいて言うならコード領域に入ってる

お前が無知だと自省したら教えてやるよ
0622名前は開発中のものです。2010/09/17(金) 16:56:29ID:b92kLMfZ
ほんとうにわからないのだろうか
0623名前は開発中のものです。2010/09/17(金) 16:59:59ID:cJXoUaD/
>>608
ちょっと待ったなんか微妙にdefineの話と定数の話がごっちゃになってないか?
0624名前は開発中のものです。2010/09/17(金) 17:01:02ID:AmJCQRbx
プログラム実行の流れ

1.コンパイルを実行
2.ソースコードの全文は、コード領域に運ばれる
3.引数やローカル変数は、スタック領域に運ばれる
4.グローバル変数は、静的領域に運ばれる
5.コンパイラがコンピュータが読める内容に翻訳
6.リンカで、ソースファイル、ヘッダファイル、リソースファイルを実行ファイルにする
7.CPUが動く(すでに動いてるが)
8.CPUが実行ファイルを読みにいく
9.CPUが高速回転して処理
10.最後に実行結果をディプレイに表示する
0625名前は開発中のものです。2010/09/17(金) 17:01:05ID:7qBxF+Sk
>>623
defineを定数だと思ってるんだから仕方ない
0626名前は開発中のものです。2010/09/17(金) 17:01:37ID:sYa04YS8
>>624
どこから突っ込めばいいのやらorz
0627名前は開発中のものです。2010/09/17(金) 17:03:49ID:7qBxF+Sk
>>624
最低限6と7分けて欲しいな
0628名前は開発中のものです。2010/09/17(金) 17:04:48ID:cJXoUaD/
>>624
>9.CPUが高速回転して処理
うちのPC古いから手回し式だわ
0629名前は開発中のものです。2010/09/17(金) 17:05:09ID:2BpkBEPJ
このスレの話題のレベル差ぱねぇ

const static int AAA = 10;
0630名前は開発中のものです。2010/09/17(金) 17:06:15ID:sYa04YS8

|          ゴロゴロゴロゴロ
|r'⌒X⌒X⌒X⌒X⌒X⌒ヽ ⊂゙⌒゙、∩
|ヽ__乂__乂__乂__乂__乂__ノ  ⊂(。Д。) ←CPU
0631名前は開発中のものです。2010/09/17(金) 17:06:19ID:AmJCQRbx
>>621
なんだw
ただの釣だったのかよww

説明できないなら、
適当なこと言うなよな・・。
0632名前は開発中のものです。2010/09/17(金) 17:07:30ID:7qBxF+Sk
>>631
じゃー説明して正しかったらお前が無知だと認めるか?
ここでそう思ってるのはお前だけだぞ
0633名前は開発中のものです。2010/09/17(金) 17:09:19ID:AmJCQRbx
>>627
うん。

6と7の間に、
メモリのシステム領域を使用してますね。

システム領域は、
システム自体が利用する領域のことです。
0634名前は開発中のものです。2010/09/17(金) 17:10:01ID:sYa04YS8
>>633
また変な解釈する…
日本語読めないの?在日?
0635名前は開発中のものです。2010/09/17(金) 17:10:02ID:b92kLMfZ
>>631
教えてあげるから>>632にごめんなさいしてね


分かりやすい例を示すと、

#define hoge 100
int hige=hoge;

ってプログラムなら、コンパイルするときに、

int hige=100;

に翻訳されてからコンパイルされる。
つまり、defineは、君のいうプログラム実行の流れの2の前に実行されるんだよ
0636名前は開発中のものです。2010/09/17(金) 17:12:01ID:7qBxF+Sk
>>633
そういう意味じゃねーw
>>624の突っ込みどころは
コンパイルから実行までをつなげて書いてるところだよ
基本的にコンパイルといわれる作業は実行ファイルを作るところまで
その後それを実行することで結果を確認するんだよ
0637名前は開発中のものです。2010/09/17(金) 17:18:49ID:cJXoUaD/
#define SAFE_DELETE(p) if ( (p) != NULL ) { delete (p); (p) = NULL; }
↑これなんかは#defineと定数が全く無関係なのを説明するのに良い例だと思うんだよね。
0638名前は開発中のものです。2010/09/17(金) 17:20:19ID:sYa04YS8
>>637
千堂和樹がマクロ関数を理解できるわけないじゃん
0639名前は開発中のものです。2010/09/17(金) 17:24:00ID:6VFHKBQ3
プリプロセッサも知らないのにプログラミングが簡単とか仰るバカがいるのはこのスレですか?
0640名前は開発中のものです。2010/09/17(金) 17:24:34ID:cJXoUaD/
>>638
じゃあどうすりゃいいってんだ!
0641名前は開発中のものです。2010/09/17(金) 17:24:36ID:sYa04YS8
>>639
ようこそバカ隔離スレへ
0642名前は開発中のものです。2010/09/17(金) 17:24:49ID:AmJCQRbx
>>615
パソコンは電圧を変化して動いてるから、
どんなにパソコンが激しく動いても、
携帯電話のバイブレータ機能みたいに、
ブブブーンとは動かないよw

パソコンの基本は、1と0の数値です。
全て1と0で動いています。

スイッチオンで1、スイッチオフで0の状態。

電極には、+極と-極があって、
それを操作することでスイッチをオンしたりオフにしたりする。

ちなみに、この1と0の単位がビットであり、
2進数の一桁の単位です。
0643名前は開発中のものです。2010/09/17(金) 17:25:29ID:5/0uQ8SZ
>>636
>>1はゲームする度にコンパイルするんだから問題無い
0644名前は開発中のものです。2010/09/17(金) 17:28:19ID:sYa04YS8
>>640
それがわかれば苦労しないけどね…。
救いようないよ
0645名前は開発中のものです。2010/09/17(金) 17:28:28ID:7qBxF+Sk
>>643
それは驚きだ

必須環境:VC2010以上
ですねわかります
0646名前は開発中のものです。2010/09/17(金) 17:30:42ID:2BpkBEPJ
基本情報とか持ってるけどプログラム出来ないヤツに似てる
■ このスレッドは過去ログ倉庫に格納されています