親父PGがゲームを作り始めるスレッド
■ このスレッドは過去ログ倉庫に格納されています
1親父PG
04/03/30 02:40ID:phIrC7nNC++やC、アセンブラは昔こなしたし、プログラムの事なら自信はあるけど
ゲームは作った事が無い方。現場からも引退したし(w。
ここは一つ趣味でDirectXでも勉強して、ゲームでも作ってみようかなぁと思った、
オジサンPGのスレッドです。
一緒にマターリライブラリから作りませんか?
2親父PG
04/03/30 02:48ID:phIrC7nN3名前は開発中のものです。
04/03/30 02:54ID:aArzpmzM はい、華麗に3ゲトーと
4親父PG
04/03/30 03:15ID:phIrC7nN とりあえずC++だけでいいなら19800円(ゲーム作るだけなら他はいらない)
Visual C++ .NET Standard 2003 通常パッケージ 19,800円
アカデミック パッケージ 7,800円
最初の半年の目標
SDKをざっと読む
開発環境を整える
デモをコンパイラする
スケルトンの作成
ここからは目的に応じて多少変化すると思いますが....
タイマー、スケジュール、ポーリング部分をどのように設計するか検討する
上を設計した上で、最小単位のオブジェクトクラス(最初のメンバはLife)を設計
オブジェクトの番号を管理するクラス設計
グラフィック関連
文字関連
テクスチャ関連
マウス・キーボード関連
ビューポート関連
メッシュ関連
ライト関連
STL(動的配列関連)※クラス設計に大きく関係する DirectXとは直接関係ないけどね。
とりあえずこの辺までは共通事項かなぁ。追加があればご指摘ください
Visual C++ .NET Standard 2003 通常パッケージ 19,800円
アカデミック パッケージ 7,800円
最初の半年の目標
SDKをざっと読む
開発環境を整える
デモをコンパイラする
スケルトンの作成
ここからは目的に応じて多少変化すると思いますが....
タイマー、スケジュール、ポーリング部分をどのように設計するか検討する
上を設計した上で、最小単位のオブジェクトクラス(最初のメンバはLife)を設計
オブジェクトの番号を管理するクラス設計
グラフィック関連
文字関連
テクスチャ関連
マウス・キーボード関連
ビューポート関連
メッシュ関連
ライト関連
STL(動的配列関連)※クラス設計に大きく関係する DirectXとは直接関係ないけどね。
とりあえずこの辺までは共通事項かなぁ。追加があればご指摘ください
04/03/30 03:43ID:Pg71ArAR
ゲームを作るのか、ライブラリを作るだけなのか。
C++とかでブイブイやってたんなら、オープンソースのDirectXライブラリ持ってきて
まず何かゲームを作りつつライブラリを解析したほうが良いと思う。
パソコンを勉強するおじ様方に多いけど、本だけ読んでもあんまり身につかないからねぇ。
実際に動かして、動きを見ながらソースをトレースして理解したほうが本読むより早い。
ていうかC++なら0円でIDEも揃うけど。DEV-C++とかEclipseとか。
VC系が必要になるのはポトペタでデザイン作るときだしね。
C++とかでブイブイやってたんなら、オープンソースのDirectXライブラリ持ってきて
まず何かゲームを作りつつライブラリを解析したほうが良いと思う。
パソコンを勉強するおじ様方に多いけど、本だけ読んでもあんまり身につかないからねぇ。
実際に動かして、動きを見ながらソースをトレースして理解したほうが本読むより早い。
ていうかC++なら0円でIDEも揃うけど。DEV-C++とかEclipseとか。
VC系が必要になるのはポトペタでデザイン作るときだしね。
6親父PG
04/03/30 04:08ID:phIrC7nN >>5
早速レスありがとう
>パソコンを勉強するおじ様方に多いけど、本だけ読んでもあんまり身につかないからねぇ。
既にそのレベルは超えてもらわないと話が進まない^^;
スケルトンぐらい(質問はしてもいいけど)自作作成できないとおそらく
オープンソースライブラリなんて使いこなすのは無理でしょう。
>オープンソースのDirectXライブラリ持ってきて
>まず何かゲームを作りつつライブラリを解析したほうが良いと思う。
これは一旦自分で(調べて作って)解析した後でないと、かえって理解が遅くなると思います。
まぁあくまで持論ではあるのですけどね。
DirectXの動きを理解してからライブラリからコツコツと、それも楽しみの一つですから...
[最低でも問題のSDKのHELPは調べる]
親父PGに限った事ではないと思いますが^^;
早速レスありがとう
>パソコンを勉強するおじ様方に多いけど、本だけ読んでもあんまり身につかないからねぇ。
既にそのレベルは超えてもらわないと話が進まない^^;
スケルトンぐらい(質問はしてもいいけど)自作作成できないとおそらく
オープンソースライブラリなんて使いこなすのは無理でしょう。
>オープンソースのDirectXライブラリ持ってきて
>まず何かゲームを作りつつライブラリを解析したほうが良いと思う。
これは一旦自分で(調べて作って)解析した後でないと、かえって理解が遅くなると思います。
まぁあくまで持論ではあるのですけどね。
DirectXの動きを理解してからライブラリからコツコツと、それも楽しみの一つですから...
[最低でも問題のSDKのHELPは調べる]
親父PGに限った事ではないと思いますが^^;
04/03/30 08:25ID:nseNUF3n
ヘタレだけど面白そうだから参加していいかな。
大分前、SDKのみの自前描画で簡単な3Dモデルを表示してみた。
ちょい前、DirectXを覚えようと、とりあえず突貫工事で
Xファイルを表示してキーボードで移動させてみた。
いろんな所からサンプル拾ってほとんどコピペしただけ。
次はスキンメッシュのサンプルをどっかからパクって組み込もうと考えたが
わけ分かんなくて挫折。
最近、TCPとWinsockでS/C型の簡単な一対一チャットを作ったが、
一対多のやり方がワカンネェので挫折。
先週、暇だったからテトリス作ってみた。初めてのゲーム。
ライブラリ?クラス?なにそれ。
分割コンパイルすらままならない、道しるべが欲しいそんなダメオジサン。
大分前、SDKのみの自前描画で簡単な3Dモデルを表示してみた。
ちょい前、DirectXを覚えようと、とりあえず突貫工事で
Xファイルを表示してキーボードで移動させてみた。
いろんな所からサンプル拾ってほとんどコピペしただけ。
次はスキンメッシュのサンプルをどっかからパクって組み込もうと考えたが
わけ分かんなくて挫折。
最近、TCPとWinsockでS/C型の簡単な一対一チャットを作ったが、
一対多のやり方がワカンネェので挫折。
先週、暇だったからテトリス作ってみた。初めてのゲーム。
ライブラリ?クラス?なにそれ。
分割コンパイルすらままならない、道しるべが欲しいそんなダメオジサン。
8名前は開発中のものです。
04/03/30 09:44ID:B2V5bL2qそれより親父さんよ
この板にはたくさんの厨がいる
そいつらは開発ってのを分かっていない
ここは一つ、お前さんが連中を管理してゲームを完成させるスレとかにしてみたらどう?
04/03/30 09:46ID:1T5XDq7M
みんなリストラされたのか?
10親父PG
04/03/30 11:25ID:nbxm21Tx >>7
歓迎いたしますよ! 何か出来たことを報告してくれると、盛り上がって良いと思います
>>8
>この板にはたくさんの厨がいる そいつらは開発ってのを分かっていない
私の個人的な意見を言わせていただければ、もしPGの事が解って無くても
また、開発の事がわかってなくても、なんというか、「組立てるセンス」あれば
ある程度の事はできると思う。それは他の事でも物事を組み立てて考える力さえあれば、PG習得もその応用にすぎないからなのです。
PGには3つの壁があり、
プログラム理論ロジック習得の壁 if for
言語そのものに対する知識の壁 C++ int
環境に関する知識の壁 Windows DirectX
があると私は思っています。これらを分けてひとつひとつ知識のリンクを、つないで行けば自ずと光が見えてきます。
>ここは一つ、お前さんが連中を管理して...
そんな大それた事はできませぬ^^
参加したいのであれば年齢は問いませんが、姿勢は問いますよ。
>>9
>みんなリストラされたのか?
あはは、冗談きついなぁ。
取り合えずSDKのサンプル「三角形を回す奴」をコンパイルして実行する事
これが出来ないと先へ進めません。
回る三角形ができたら、これを四角形にする(頂点数の変更)
FVFフォーマットを変えて実験してみる。
テクスチャを張り込むにしても4画ポリゴンは基本となるので、
まずはここまでを目標にしましょう!!
歓迎いたしますよ! 何か出来たことを報告してくれると、盛り上がって良いと思います
>>8
>この板にはたくさんの厨がいる そいつらは開発ってのを分かっていない
私の個人的な意見を言わせていただければ、もしPGの事が解って無くても
また、開発の事がわかってなくても、なんというか、「組立てるセンス」あれば
ある程度の事はできると思う。それは他の事でも物事を組み立てて考える力さえあれば、PG習得もその応用にすぎないからなのです。
PGには3つの壁があり、
プログラム理論ロジック習得の壁 if for
言語そのものに対する知識の壁 C++ int
環境に関する知識の壁 Windows DirectX
があると私は思っています。これらを分けてひとつひとつ知識のリンクを、つないで行けば自ずと光が見えてきます。
>ここは一つ、お前さんが連中を管理して...
そんな大それた事はできませぬ^^
参加したいのであれば年齢は問いませんが、姿勢は問いますよ。
>>9
>みんなリストラされたのか?
あはは、冗談きついなぁ。
取り合えずSDKのサンプル「三角形を回す奴」をコンパイルして実行する事
これが出来ないと先へ進めません。
回る三角形ができたら、これを四角形にする(頂点数の変更)
FVFフォーマットを変えて実験してみる。
テクスチャを張り込むにしても4画ポリゴンは基本となるので、
まずはここまでを目標にしましょう!!
04/03/30 12:12ID:EfGGMHLP
>プログラム理論ロジック習得の壁 if for
>言語そのものに対する知識の壁 C++ int
>環境に関する知識の壁 Windows DirectX
計算機の動作原理の理解に対する壁が抜けてるな。
>言語そのものに対する知識の壁 C++ int
>環境に関する知識の壁 Windows DirectX
計算機の動作原理の理解に対する壁が抜けてるな。
04/03/30 12:26ID:QXrCIhNo
13親父PG
04/03/30 12:47ID: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
}
}
私が自作した部分ですが、サンプルのソースに試行錯誤を繰り返しこのような形になりました。
偉そうな事を言える立場ではないですが、書き込みの内容を拝見するに 基本的なプログラムの技術をお持ちだと思いますので、ますは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
}
}
私が自作した部分ですが、サンプルのソースに試行錯誤を繰り返しこのような形になりました。
14親父PG
04/03/30 13:12ID: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が書けなかった時代がありました。
現代の目で見ると、私の書いたような事はもはや御伽噺になっておりますなぁ...
>計算機の動作原理の理解に対する壁が抜けてるな。
理解に必用なヒントがあれば是非紹介してください。^^
これはネタとして昔やったアセンブラの事を紹介します。
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が書けなかった時代がありました。
現代の目で見ると、私の書いたような事はもはや御伽噺になっておりますなぁ...
04/03/30 13:22ID:kPTgeVBo
04/03/30 13:26ID:KRMwobBh
コーディングが汚くて読みづらい。
04/03/30 13:41ID:kPTgeVBo
18親父PG
04/03/30 13:47ID:nbxm21Tx >>15
>11は親父PG氏に計算機の動作原理の理解がない、と言ってるんじゃなくて
私もそうとってますよ^^;
11氏が提案する部分で、具体的な話があれば是非紹介して欲しいなぁと思って...
>>16
すんませんorz 自分でも汚いと思っております(反省
訂正
違
MOV SS,AX
MOV AX,ES
正
MOV AX,SS
MOV ES,AX
ネタとは言え恥ずかしい....orz
価の移動は右から左だった。
というかセグメントレジスタに、直接価が入れられない制約があったんだよね。
(なんかまだ間違ってるような気がするけど、深く考えないようにしよう)
まだ取り組んでいませんが、シェイダーの扱いで一部アセンブラライクなものが
あるみたいなので、アセンブラの知識が(一部)役に立つかもしれません(笑
>11は親父PG氏に計算機の動作原理の理解がない、と言ってるんじゃなくて
私もそうとってますよ^^;
11氏が提案する部分で、具体的な話があれば是非紹介して欲しいなぁと思って...
>>16
すんませんorz 自分でも汚いと思っております(反省
訂正
違
MOV SS,AX
MOV AX,ES
正
MOV AX,SS
MOV ES,AX
ネタとは言え恥ずかしい....orz
価の移動は右から左だった。
というかセグメントレジスタに、直接価が入れられない制約があったんだよね。
(なんかまだ間違ってるような気がするけど、深く考えないようにしよう)
まだ取り組んでいませんが、シェイダーの扱いで一部アセンブラライクなものが
あるみたいなので、アセンブラの知識が(一部)役に立つかもしれません(笑
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 性売買「買う側」処罰化と同時に「売る側は処罰せず、支援の対象に」Colabo主催の集会にて★2 [パンナ・コッタ★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! [Ailuropoda melanoleuca★]
- 【高市関税キター!!】個人輸入・少額輸入品への税優遇見直しへ…1万円以下の輸入品にも消費税を課す方針★2 [1ゲットロボ★]
- 立憲・塩村あやか氏 12歳タイ人少女の事件を受け、人身売買を厳罰化する法案を提出へ 「日本人が買って…恥ずかしかったですね」 [少考さん★]
- 【インバウンド】中国政府、日本行き航空便の減便指示、来年3月末まで「当面の措置」外交情勢によって見直しも★2 [1ゲットロボ★]
- トランプ米大統領声明「高市首相は非常に賢く、非常に強い。素晴らしい指導者になるだろう」「私は素晴らしい関係を築いている」 [お断り★]
- 発達障害 国内で87万人 進学や就職で初めて気がつく [459590647]
- ニュース「石破前総理より多い21兆円の経済政策をする高市総理!」 [743638351]
- 日本人「な、なぜだ?なぜこの件で日本を助けてくれる国が0カ国なんだ?」。日本人ようやく気付く [805596214]
- 高市早苗、ネトウヨを裏切るwwwwwww「すまん、外国人の不動産規制やっぱ無理だわ」 [246620176]
- 【文春砲】国分太一降板の原因は女性スタッフへのわいせつ [579392623]
- 近過ぎてしまって見えなくなった考え過ぎて分からなくなった
