Windowsゲームプログラミング 質問スレ
■ このスレッドは過去ログ倉庫に格納されています
0001うゆ ◆vvvK3Fcqdg
2008/11/06(木) 21:28:45ID:lNn2skuQ【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
0074名前は開発中のものです。
2008/12/23(火) 02:14:34ID:vL1qdlBE72書いた者だけど、質問の意図は分かります。
ただ、どれだけ気にしてもやっぱり動かない環境は残ってしまって、
そういう環境のユーザーほどマシンスペック分からずに苦情出してくるからな〜
すんません。個人的トラウマでした。
否定的な意見はやめて、
DirectXなら、使用するDirectXのバージョンがそのままマシンの世代を表しているって
考えてもいいんじゃないでしょうか?
例えば、DX7使用ならVRAM8MB、DX8ならVRAM32、とか。
あ、値は適当ですが。
0075名前は開発中のものです。
2008/12/23(火) 20:12:05ID:NOdX60e00076名前は開発中のものです。
2008/12/23(火) 20:41:02ID:DrL02hk40077名前は開発中のものです。
2008/12/24(水) 13:55:34ID:ir5LUNRvDirectDrawなら
IDirectDraw::GetCaps( )で
http://msdn.microsoft.com/ja-jp/library/cc353808.aspx
dwVidMemTotal
ビデオ メモリの合計容量。
007873
2008/12/26(金) 16:23:02ID:YwwBT0Kvどうもサンクス。
トラウマ…なんとなくわかります。
0079名前は開発中のものです。
2008/12/31(水) 14:01:10ID:VvNRRwGlコントロールをドラグ&ドロプ、リリスしたとき、
定位置に整列する(磁石に引きつけられるように)コードの
せめて考え方、ヒントを教えて頂けないでしょうか
0080名前は開発中のものです。
2008/12/31(水) 14:11:55ID:Zi1V94lh0081名前は開発中のものです。
2008/12/31(水) 14:12:09ID:sicDYG8u0082名前は開発中のものです。
2008/12/31(水) 14:25:51ID:M5esy22P線が引ければ途中のXY座標もわりだせるだろう。
0083名前は開発中のものです。
2008/12/31(水) 14:42:28ID:Y1/xuelj移動前の座標 (sx,sy)
移動後の座標 (ex,ey)
Aパターン
x+=((ex-sx)/m) ;
y+=((ey-sy)/m) ;
単純に終点へのベクトルを座標に足していく
mの値が大きければ遅く小さければ速く移動
x+=((ex-x)/m) ;
y+=((ey-y)/m) ;
とすると遠いときほど早く近いときほど遅くなり磁石っぽい
Bパターン
x=sx+(ex-sx)*m;
y=sy+(ey-sy)*m;
mを0から1.0へ増やす
mの値にsin(0)〜sin(π/2)を使うと磁石っぽい
Aとの違いは始点と終点の距離にかかわらず同じ時間で終点に到達する
0084名前は開発中のものです。
2008/12/31(水) 20:18:33ID:Zi1V94lh磁石は距離が近くなるほど磁場が強くなるので、遠いほど遅く、近くなると速くなる。
つまり真逆。
0085名前は開発中のものです。
2009/01/04(日) 15:53:08ID:PprE941C参考にしたいのですが、ググり方が悪いのか出てきません
ソースの置いてある場所があったら教えて頂きたいのですが、ないですかね
0086名前は開発中のものです。
2009/01/04(日) 17:35:22ID:VQhzW2V4ぐぐってパクるだけで分け与えなければどこにもなくて当たり前じゃないですかね
馬鹿ですかね
0087名前は開発中のものです。
2009/01/05(月) 01:19:54ID:HsIAylDpガキ臭い煽り方だな
なんか嫌なことでもあったのか
0088名前は開発中のものです。
2009/01/06(火) 13:57:16ID:24x5pO5Z0089名前は開発中のものです。
2009/01/06(火) 14:37:31ID:ZJKN10wA「どうすればいいのか、どうすればいいのか、と考え悩みぬいた者でなければ
私にもどうしようもない」
最初から他人をアテにしてるようじゃダメってことだな。
0090名前は開発中のものです。
2009/01/06(火) 19:50:41ID:5KaPAE6Y0091名前は開発中のものです。
2009/01/06(火) 21:55:02ID:3TYaYHJU格闘げーはアニメーション画像が命みたいなところがあるから、
素材の用意が大変過ぎてプログラミングの教材には向かない罠。
0092名前は開発中のものです。
2009/01/06(火) 22:09:59ID:kH8rEgPB逆にいえばアニメーション、当たり判定、キー入力ができれば作れるともいえる
キー入力はちょっと特殊だけどそれ以外はインベーダーゲームの応用
0093名前は開発中のものです。
2009/01/06(火) 22:15:01ID:NsliiIma0094名前は開発中のものです。
2009/01/07(水) 08:43:07ID:tOeiWdUq0095名前は開発中のものです。
2009/01/07(水) 16:52:39ID:F0TH9wEI0096名前は開発中のものです。
2009/01/07(水) 17:03:09ID:DnzfbcT/アレのすごい所って主に物理演算の部分だろ?
まったく別問題な希ガス
0097名前は開発中のものです。
2009/01/07(水) 17:10:42ID:F0TH9wEIあの程度なら余裕なはず
0098名前は開発中のものです。
2009/01/07(水) 17:14:31ID:F0TH9wEIプログラムは出来るけどCGに関してはまったくの素人なんで
0099名前は開発中のものです。
2009/01/07(水) 19:51:09ID:ZchRr+VSモデリングとアニメーションツールの勉強から始めなきゃならないじゃん。
プログラミングの勉強としてはすっごく遠回り。
0100名前は開発中のものです。
2009/01/08(木) 02:23:25ID:OwvAnpBEとりあえずBlenderでも弄ってみたら
質は遠く及ばんなりに、基礎やクオリティ上げる定番手法は一式遊べるよ
0101名前は開発中のものです。
2009/01/08(木) 13:45:17ID:NsMjn5lDデザイナーと会話できないからな
0102名前は開発中のものです。
2009/01/09(金) 00:10:10ID:xgPo70G10103名前は開発中のものです。
2009/01/09(金) 00:31:42ID:venL3ic3CG板で聞けば?CGの話なんだし
0104名前は開発中のものです。
2009/01/09(金) 02:32:56ID:2uf5nwF0つ>>96
表示だけならDirectXでもできるぞ。他の人間も指摘してるとおり
データ(モデル・モーション・マテリアル(まぁシェーダーも含むが))を用意できればの話だがな
動きについては物理シミュ用のライブラリ(bulletとかPhysX)でもひっぱってきたほうが楽だな
ただアレの爆発エフェクトを真似るためには簡易なCFDのコードが必要だが、ゲーム用のフリーの
ライブラリでそういう機能を提供してるものがあるのかどうかは知らん
なければ適当に2D格子用意して格子気体法とかCIP法の劣化版みたいなコードを組めばいい
どうせシミュったって何かを厳密に再現する必要はないし、支配方程式が導出できる必要も無い
それっぽい流れ場のアニメーションができればなんでもいい
>で具体的にどうやればあんなクオリティのCGが作れるのか知りたい
つ>>103
データを作る部分の話はCG板で聞いたほうがいいんじゃね
ティーポットとかトーラスとかシリンダに毛とか生やすだけでおkならD3DXでいけるけどな
0105名前は開発中のものです。
2009/01/09(金) 03:03:09ID:xgPo70G1モデルとかそういう問題なの?
ただの無地の球体でもレイトレーシングのアルゴリズムで全然違うでしょ
レイトレーシングの仕方なんて聞いてないんだよ
同じ効果をDirectXで高速に描画出来る方法があるのかって話をしてるの
0106名前は開発中のものです。
2009/01/09(金) 03:06:00ID:xgPo70G10107名前は開発中のものです。
2009/01/09(金) 03:22:44ID:2uf5nwF0おかしいな。分かるならCUDAとか使ってるだろうし
GLSLやHLSLでサクサクと俺シェーダー組めてもいいはずだが・・・
リアルタイムなCFDをやる場合って差分スキームはいつもナニ使ってるの?
後学のために教えてください
0108名前は開発中のものです。
2009/01/09(金) 08:06:03ID:xgPo70G1物理演算をリアルタイム処理する人しかこの世にいないと思ってんの?
0109名前は開発中のものです。
2009/01/09(金) 08:10:48ID:xgPo70G1シェーダー分かったらなんなんだ
超リアルなCGが書けるのか?書けないだろ?
0110名前は開発中のものです。
2009/01/09(金) 08:22:52ID:xgPo70G1PS3でもさすがにフルHDをレイトレーシングするような能力は無い
君の大好きなCUDAやGLSLを使ってもPCでは到底無理なの
PS3はDirectXベースに作られてるんだから当然同じことがPCでも出来るだろうと思ってるわけ
レイトレーシングはあり得ないのでどうやってんのかを知りたいの
物理演算とか誰も聞いてないから
0111名前は開発中のものです。
2009/01/09(金) 08:49:59ID:9nYZuqdQ0112名前は開発中のものです。
2009/01/09(金) 12:20:56ID:FD9CF3VW0113名前は開発中のものです。
2009/01/09(金) 13:18:37ID:i9tzRBGbhttp://alfalfa.livedoor.biz/archives/51415753.html
0114名前は開発中のものです。
2009/01/09(金) 18:15:29ID:xgPo70G10115名前は開発中のものです。
2009/01/09(金) 20:40:58ID:GzTmK6ph0116名前は開発中のものです。
2009/01/10(土) 03:00:31ID:1Stepbtb0117名前は開発中のものです。
2009/01/10(土) 17:35:41ID:mQJ59Fn9で、リアルタイムレイトレーシングが無理だと判ってるなら
工夫して俺シェーダー積み上げるしかないのも判ってるんでしょ
リアルに見せるフェイク処理の引き出しを地道に増やすしかあるまいて
0118名前は開発中のものです。
2009/01/10(土) 20:43:58ID:BBJn1kSxハード的にDirectXベースというのは間違いでもないよ。
LBPに関しては、何か特別なレンダリング技術を使ってるわけじゃなく、
単にアートディレクションと、質感の設定が秀逸なだけだと思うけど、
「この部分の質感が」とか「この部分のエフェクトが」とか、
具体的に言わないと誰もわかんないんでは?
0119名前は開発中のものです。
2009/01/10(土) 21:37:42ID:VXNtlD0N>ハード的にDirectXベースというのは間違いでもないよ。
間違いを認めず、こういう恥の上塗りをする奴って、
いったい何を考えて生きてるんだろう?
ハッキリ言うが間違い以外の何ものでもない。
0120名前は開発中のものです。
2009/01/10(土) 21:47:52ID:cb8O919u0121名前は開発中のものです。
2009/01/10(土) 21:59:30ID:6nsF3ORJ0122名前は開発中のものです。
2009/01/10(土) 22:06:42ID:t9/hm2L8あまり人付き合いがなさそうな人に送る、座右の銘。
「土下座する、勇気」。
退く勇気は、がむしゃらに突撃する勇気よりも、大切なんだよ。
0123名前は開発中のものです。
2009/01/10(土) 22:10:51ID:6nsF3ORJ0124名前は開発中のものです。
2009/01/11(日) 20:03:10ID:X63+5W++0125名前は開発中のものです。
2009/01/11(日) 20:09:11ID:HfT5qRpCRSX叩くにはPSGLやlibgcmってライブラリを使う
シェーダ言語はCg
0126名前は開発中のものです。
2009/01/12(月) 01:15:34ID:wGDVqFsBlinuxについてるGlineというゲームを、
勉強がてら.netのC#で作ろうと思っているのですが、
できれば得点などのロジックをオリジナルに忠実に再現したいと思っています。
オリジナルのソースもしくは得点ロジックが出ているところってありますでしょうか。
0127名前は開発中のものです。
2009/01/12(月) 02:32:32ID:St/Xi0CEgnome-gamesってソースパッケージがあるはずだから
yumなりsynapticなりで探せ
その中に含まれてる
どうしてもみつからなかったらもう一度聞いて
0128名前は開発中のものです。
2009/01/12(月) 20:19:41ID:Ucs8+CZOそれを総合してDirectXって言うんだよ。
0129名前は開発中のものです。
2009/01/12(月) 20:52:24ID:XiJ3otEjお前の言っていることは、
PCがあったら、Linuxが動いていようがFreeBSDが動いていようが、
それを統合してWindowsだと言っているほど間抜けだぞ。
0130名前は開発中のものです。
2009/01/12(月) 21:16:19ID:bD3J7wUJファーレンハイトが懐かしいぜ
0131名前は開発中のものです。
2009/01/12(月) 21:18:31ID:sqS0O25/全部ウォークマンですね。
0132名前は開発中のものです。
2009/01/12(月) 21:34:42ID:tFvWI/5z0133名前は開発中のものです。
2009/01/12(月) 21:40:02ID:17ZETQ9SPS3の開発環境は既にDirectX対応してなかったけか、PhyreEngineで。
DirectXのAPIも実装済みで、OpenGLとDirectX、どちらでも好きな方を選べるとか。
0134名前は開発中のものです。
2009/01/12(月) 22:38:10ID:bD3J7wUJローレベルライブラリじゃなく、フレームワークにあたるエンジンだ
PC/XBOX版で下層エンジンにDirectXも選べるという構成のようだね
0135名前は開発中のものです。
2009/01/12(月) 22:59:42ID:r1loPmTT0136名前は開発中のものです。
2009/01/13(火) 23:52:00ID:31cKUcOq0137名前は開発中のものです。
2009/01/13(火) 23:55:09ID:IjMcH/Ql0138名前は開発中のものです。
2009/01/13(火) 23:55:48ID:UVAnUSa6ああ、髪が表示されないのは、レンダリングが遅いだけだから。
0139名前は開発中のものです。
2009/01/14(水) 00:26:48ID:Xhrp9vz4大阪証券取引所はOpenGLで動いているという事実
0140名前は開発中のものです。
2009/01/14(水) 09:51:30ID:ffiL9vPn・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・製作者はなんと「モノリスフィア」やツクール2000で「シルフェイド幻想譚」などを製作した
SmokingWOLF氏だよ。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
慣れた人や、RPGツクールでは物足りないけどプログラミングはちょっとという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、不満点、バグ報告などなど書き込みお願いします。今もどんどん進化中です。
・それとマップやキャラなどのドット素材もじゃんじゃん募集中ですので
一度サイトにお越しくださいませ。
・このツールで作ったゲームをサイトで紹介してるから、ダウンロードしてどういう
ゲームが作れるのか見てみてね。
2ちゃん本スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1229261856/l100
0141名前は開発中のものです。
2009/01/16(金) 20:27:23ID:2P1JjUIA0142名前は開発中のものです。
2009/01/26(月) 11:18:31ID:fNy7USfUHDC off,hdc;
PAINTSTRUCT ps;
hdc = BeginPaint(hWnd, &ps);//hWndは描画先のウィンドウはんどら
off = CreateCompatibleDC(hdc);
<offに対してBitBltやらなんたらかんたら>
BitBlt(hdc, -----, off, 0, 0, SRCCOPY);
EndPaint(hWnd, &ps);
でできると思ったのにうまくいかない。。
どこが悪いか指摘求む|・`)
0143名前は開発中のものです。
2009/01/26(月) 11:23:21ID:jYriVdypもししてないならば、1x1ドットのモノクロビットマップになってるんじゃないか。
0144142
2009/01/26(月) 14:32:33ID:fNy7USfUありがとう。
BitBltとかする前にCreateCompatibleBitmap(hdc, X, Y)したHBITMAPを
offにSelectObjectしたらできた。
HBITMAPは使用後Deleteしないと危ないってことも身をもって理解した。
0145名前は開発中のものです。
2009/01/26(月) 15:12:42ID:jYriVdyp大きさ変わらないなら、ウィンドウができた時に1つ作っておいて使いまわせる。
ウィンドウサイズが変わったら作り直して、ウィンドウ破棄の時に消す、とかね。
0146142
2009/01/27(火) 11:20:58ID:63/MDkS6WM_PAINTは無効にして、好きなときに再描画するようにしてるんだが、、まぁいいか)
再描画する関数が呼ばれるたびに作ってDeleteしなかったな。
タスクマネージャー開くとメモリ使用量のグラフがぐーんとのびてた)
1つを再利用する案、使ってみます(`・ω・´)
0147名前は開発中のものです。
2009/01/27(火) 11:46:12ID:g6Z0rQ8mBeginPaintがあったからだよ〜ん
0148名前は開発中のものです。
2009/02/06(金) 09:00:05ID:SU1u5PRJ複数のエンジンを搭載した宇宙船をエンジンの出力調整で移動させたいのですが
物理に不自由な人間なもんでまったくどうすればよいのやらこまっております
下の図の矢印のようにエンジンがついてると仮定して
←△→
□
←△□△→
↓
左上のエンジンと右下のエンジンの出力を上げると機体が回転するだろうなとはわかりますが
プログラムまでもってけないわけです
一応2Dでの運用を想定しております
複数の速度ベクトルを合成?するのかな
でも回転するとしたらどうすれば…
よくわかりません…orz
0149名前は開発中のものです。
2009/02/06(金) 09:32:08ID:IDvsYi6Yつ Amazon.co.jp: ファインマン物理学 (1): ファインマン: 本
http://www.amazon.co.jp/dp/4000077112
0150名前は開発中のものです。
2009/02/06(金) 12:07:05ID:f9/yfsRC0151名前は開発中のものです。
2009/02/06(金) 14:12:04ID:2FMS0uiB中心軸を1点にしておいて、そこを中心に
右上か左下に出力があるときは反時計まわり
左上か右下に出力があるときは時計まわり
移動はすべての出力のベクトルの和
これだけでそれっぽく動きそうな気ガス
0152名前は開発中のものです。
2009/02/06(金) 16:59:07ID:R0I8WLM/下の出力で上にずらす
両方の出力だと相殺されてずれない
でどう
0153名前は開発中のものです。
2009/02/06(金) 19:21:57ID:IDvsYi6Y0154名前は開発中のものです。
2009/02/06(金) 22:01:45ID:aGsbwcTW静止状態から真空無重力だと148の左上だけ出力した場合回転するんだっけ?w
0155名前は開発中のものです。
2009/02/06(金) 22:13:48ID:d5elOzBE操作が直感的じゃなくなってプレイヤーのストレスになりかねないから
嘘物理でいいんじゃねって話
0156名前は開発中のものです。
2009/02/06(金) 22:52:53ID:aGsbwcTW実装はそうだろうけど、知ってた方が、それを基本に考えられるから無駄にはならんと思うがw
148のを自分で組んでみようと思ったら154のが気になって止まったw
で、どうだっけ?w
0157148
2009/02/06(金) 23:19:27ID:SU1u5PRJごめんなさい、回転行列がわかりませんorz
>>151>>152
私も同じような考えにたどり着きました
必死に考え直した結果こうなりました
まちがってるかな?
ttp://www.dotup.org/uploda/www.dotup.org21184.png
中心:緑丸
エンジン:青丸
出力方向:紫矢印
エンジンの出力ベクトルを中心点とエンジンを結んだ線とその垂直線を座標としたベクトルに分割し
赤を回転用のベクトル、水色を移動用のベクトルに分ける
あとは回転と移動をそれぞれ計算すればOK?
すいません日本語にも不自由しているようですorz
0158名前は開発中のものです。
2009/02/06(金) 23:48:02ID:T8ShVnXbそれで合ってるよ。もっと正確に言えば、中心点ではなく重心。
あと、そこについてるのがロケットエンジンなら、普通は矢印は逆向きだな。
そこから真面目に回転速度を求めるには、「慣性モーメント」という知識が必要になる。
値は適当にでっちあげでいい。
0159名前は開発中のものです。
2009/02/10(火) 15:41:10ID:eV8ZtmO6ゲーム開発だとどちらが役に立ちますか?
0160名前は開発中のものです。
2009/02/10(火) 15:52:39ID:Xj3fFujS言語はC++のみ?
0161159
2009/02/10(火) 16:05:56ID:eV8ZtmO6微妙ですか;
どの言語で学びたいというのは,特に無いですが,
C++がコード書いてる量多いです.
VBは入門書通して読んだので簡単なアプリケーションなら作れる程度で,
C#はJavaに似てるから読めるってくらいで,書いたことはないです.
0162名前は開発中のものです。
2009/02/10(火) 16:12:06ID:Xj3fFujSMFCでゲーム部分で役に立つところは少ないと思うよ。素でAPI呼ぶのとかわらない。
どっちもウィンドウ作ったりイベントハンドラ使ったりするところは楽できるけど
そういうのを生かすゲームを作るのかどうかってとこだね。
言語とライブラリやフレームワークで選んで、それが.NETやMFCを使ってたら
それも覚えるって感じでいいんじゃないかな。
0163159
2009/02/10(火) 18:33:00ID:eV8ZtmO6深い部分の機能まで扱う訳じゃないんですね.
一冊買って読もうと思ってましたが,
Webで調べて動かしてみる程度にしようと思います.
ありがとうございました.
0164名前は開発中のものです。
2009/02/10(火) 21:26:47ID:jpQUb+L2C++にSDKがシンプルで案外楽なんじゃないかな。
描画や音でハードなことやろうとしたらDirectXやOpenGL/OpenAL使えばいいしね。
0165名前は開発中のものです。
2009/02/11(水) 12:06:33ID:4NJho4Vsゲーム本体作るなら、C++ + DirectX
ツール作るなら、.NET(C#)だな
0166名前は開発中のものです。
2009/02/12(木) 20:13:23ID:GF7pXsC2こういったものの具体的なアルゴリズムが書かれてある書籍を教えて下さい。
よろしくお願い致します。
0167名前は開発中のものです。
2009/02/12(木) 21:16:01ID:qYzhx+290168名前は開発中のものです。
2009/02/13(金) 03:30:08ID:YfvPS2XS普通に素のモデルを画面に表示できるようになれって話だな。
0169名前は開発中のものです。
2009/02/13(金) 10:16:54ID:XaGVfN4Qどういうことですか?
0170名前は開発中のものです。
2009/02/13(金) 14:18:20ID:n2spZu5F垂直同期てなんですか
フィルタなんですか
アルゴリズムなんですか
0171名前は開発中のものです。
2009/02/14(土) 17:18:16ID:sx6BcV1l一般的にどの関数使うんでしょうか?
あと、昔、DOSで作ってたころはVシンク割り込みでどうたらこうたら、ってやってたきがするんだけど、
これって今の液晶画面で計測できるもんなんでしょうか?
0172名前は開発中のものです。
2009/02/14(土) 17:43:59ID:9hSEub+0Windowsでは垂直同期の周期は環境によって全然違うので、
基本的には垂直同期に依存しないように作る。
0173名前は開発中のものです。
2009/02/15(日) 00:36:23ID:FJmkH997精度がミリ秒程度でよければ、timeGetTime。timeBeginPeriodで精度を上げるのを忘れずに。
高精度がいるなら、>>172
■ このスレッドは過去ログ倉庫に格納されています