[過去ログ]
親父PGがゲームを作り始めるスレッド (668レス)
親父PGがゲームを作り始めるスレッド http://mevius.5ch.net/test/read.cgi/gamedev/1080582036/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
10: 親父PG [] 04/03/30 11:25 ID:nbxm21Tx >>7 歓迎いたしますよ! 何か出来たことを報告してくれると、盛り上がって良いと思います >>8 >この板にはたくさんの厨がいる そいつらは開発ってのを分かっていない 私の個人的な意見を言わせていただければ、もしPGの事が解って無くても また、開発の事がわかってなくても、なんというか、「組立てるセンス」あれば ある程度の事はできると思う。それは他の事でも物事を組み立てて考える力さえあれば、PG習得もその応用にすぎないからなのです。 PGには3つの壁があり、 プログラム理論ロジック習得の壁 if for 言語そのものに対する知識の壁 C++ int 環境に関する知識の壁 Windows DirectX があると私は思っています。これらを分けてひとつひとつ知識のリンクを、つないで行けば自ずと光が見えてきます。 >ここは一つ、お前さんが連中を管理して... そんな大それた事はできませぬ^^ 参加したいのであれば年齢は問いませんが、姿勢は問いますよ。 >>9 >みんなリストラされたのか? あはは、冗談きついなぁ。 取り合えずSDKのサンプル「三角形を回す奴」をコンパイルして実行する事 これが出来ないと先へ進めません。 回る三角形ができたら、これを四角形にする(頂点数の変更) FVFフォーマットを変えて実験してみる。 テクスチャを張り込むにしても4画ポリゴンは基本となるので、 まずはここまでを目標にしましょう!! http://mevius.5ch.net/test/read.cgi/gamedev/1080582036/10
13: 親父PG [] 04/03/30 12:47 ID:nbxm21Tx >>7 偉そうな事を言える立場ではないですが、書き込みの内容を拝見するに 基本的なプログラムの技術をお持ちだと思いますので、ますはSDKサンプルの ライブラリを見てDIRECTXの初期化とWINSOWSループあたりを見てみると良いのではないでしょうか? WINDOWSのサンプルは描画速度はマシン速度(環境)に依存しています。 このままでは定期的な処理ができないので、PeekMessage周りを調べて定期的タイマーで特定の処理を呼び出すようなものを作ってみてはどうでしょうか? while( WM_QUIT != msg.message ) { if( m_bActive && m_pd3dDevice != NULL ){ if ( tTake==FALSE ){ QueryPerformanceCounter( ( LARGE_INTEGER * )&sTIME );//時間計測開始 FSP60call();//同期して動かすものはここで } FSP60nonSYNCcall();//何か出来ることあればやってしまおう } th_GetandPeekMessage( NULL );//Peek Message func if( bGotMsg!=TRUE ){ if( m_bDeviceLost ){ // Yield some CPU time to other processes Sleep( 100 ); // 100 milliseconds } if( m_bActive && m_pd3dDevice != NULL ){ if( FAILED( Render3DEnvironment() ) )SendMessage( m_hWnd, WM_CLOSE, 0, 0 ); QueryPerformanceCounter( ( LARGE_INTEGER * )&eTIME );// 計測終了 DWORD wTIME; wTIME=( DWORD )16666; if ( ( eTIME.LowPart - sTIME.LowPart )>wTIME ){ tTake=FALSE; }else {tTake=TRUE;}//endof if } } 私が自作した部分ですが、サンプルのソースに試行錯誤を繰り返しこのような形になりました。 http://mevius.5ch.net/test/read.cgi/gamedev/1080582036/13
14: 親父PG [] 04/03/30 13:12 ID:nbxm21Tx >>11 >計算機の動作原理の理解に対する壁が抜けてるな。 理解に必用なヒントがあれば是非紹介してください。^^ これはネタとして昔やったアセンブラの事を紹介します。 PUSH AX PUSH BX PUSH CX CALL fanction function: MOV BP,SP MOV SS,AX MOV AX,ES ;スタックポイントへのアクセス MOV DX,ES:[BP+0] MOV AX,ES:[BP+2] このような形でスタック上の価(引数)にアクセス.... 80186(V30)のころのスタックフレームへのアクセス方法です。 いまやアドレス空間幅は32ビットに広がり、 このようなことは必要ありませんが(W かつてはCPUの動作を知らないとPGが書けなかった時代がありました。 現代の目で見ると、私の書いたような事はもはや御伽噺になっておりますなぁ... http://mevius.5ch.net/test/read.cgi/gamedev/1080582036/14
18: 親父PG [] 04/03/30 13:47 ID:nbxm21Tx >>15 >11は親父PG氏に計算機の動作原理の理解がない、と言ってるんじゃなくて 私もそうとってますよ^^; 11氏が提案する部分で、具体的な話があれば是非紹介して欲しいなぁと思って... >>16 すんませんorz 自分でも汚いと思っております(反省 訂正 違 MOV SS,AX MOV AX,ES 正 MOV AX,SS MOV ES,AX ネタとは言え恥ずかしい....orz 価の移動は右から左だった。 というかセグメントレジスタに、直接価が入れられない制約があったんだよね。 (なんかまだ間違ってるような気がするけど、深く考えないようにしよう) まだ取り組んでいませんが、シェイダーの扱いで一部アセンブラライクなものが あるみたいなので、アセンブラの知識が(一部)役に立つかもしれません(笑 http://mevius.5ch.net/test/read.cgi/gamedev/1080582036/18
19: 親父PG [] 04/03/30 13:52 ID:nbxm21Tx >>17 おお! 御指摘ありがとうございます早速、修正させてもらいます。 とはいえ >QueryPerformanceCounterで取ってきた値を1/1000msecとして扱ってるが >その値は思いっきり環境依存です このあたりを解決するには調べることがありそうですね。 頑張ってみます^^ http://mevius.5ch.net/test/read.cgi/gamedev/1080582036/19
22: 親父PG [] 04/03/30 15:29 ID:nbxm21Tx >>20 なんだかありがたいなぁ。 悪いねぇ。。。。orz いろいろ教えてもらって^^; 他の方にも参考になると思います。 こういうレスがついてくることを、内心期待してはいましたがほんとにくると嬉しいです。 これからもいろいろと私にできる情報を提供使用と思います。 高精度タイマーが使えない環境はない! と私も決め打ちしています。 このへんは「ゲーム」という事で許される範囲ですかね。 高精度タイマーが動かなければ、おそらく他のゲームも動かないでしょうから^^ wTIME=( double )16666; //駄目コード if ( ( eTIME.LowPart - sTIME.LowPart )>wTIME ){ if ( double( eTIME.QuadPart - sTIME.QuadPart )>wTIME ) 安易にこんなことしてましたが、>>20の書き込みも参考にさせていただきます。 http://mevius.5ch.net/test/read.cgi/gamedev/1080582036/22
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s