Windowsゲームプログラミング 質問スレ
■ このスレッドは過去ログ倉庫に格納されています
0001うゆ ◆vvvK3Fcqdg
2008/11/06(木) 21:28:45ID:lNn2skuQ【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する香具師 】
・ どんな事で躓いているのか明確にしる。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書け。
0527名前は開発中のものです。
2010/02/21(日) 07:28:08ID:i9ENpozXその方法で問題無いよ。
ただし、1ファイルの読み込みに3秒以上時間がかかったときに処理落ちしてしまう。
この場合はマルチスレッドにして読み込みと表示を別スレッドにするのが一般的じゃないかな。
それ以前に読み込みを高速化させるべきだとは思うけど・・・
0528名前は開発中のものです。
2010/02/21(日) 20:28:55ID:2l2wvu6L有難うございました
0529名前は開発中のものです。
2010/02/22(月) 12:37:06ID:dzJGwHVSを作成するのって可能なんでしょうか?画面にそのままキーボード入力できる箇所を作りたいのですが
0530名前は開発中のものです。
2010/02/22(月) 14:47:05ID:GzvshjVK通常のWindowsアプリならウィンドウに直接テキストボックス貼り付ければいいけど
Directなんとかでやってるなら、SDKのサンプル見てみるといいかも
0531名前は開発中のものです。
2010/02/22(月) 15:07:58ID:FbIcwD45キーやクリックにあわせてカーソルを移動させる。
大して難しい処理じゃない。
0532名前は開発中のものです。
2010/02/22(月) 17:25:48ID:dzJGwHVS>>531
DirectXのサンプルにテキストボックスを扱ったものがありましたが、色々と
インクルードしなければなりませんでした。
531に書いてあるようにキーに合わせてフォントを描画方法でやりたいと思います。
ありがとうございました。
0533名前は開発中のものです。
2010/02/23(火) 12:09:49ID:IDzEfXiXそれ以降の他のクライアントからの接続では呼び出されないのですか?
2人目以降のクライアントはクライアント側のFD_CONNECTしか呼び出されていませんでした。
0534名前は開発中のものです。
2010/02/23(火) 12:36:31ID:IDzEfXiX2人目以降もFD_ACCEPTが呼ばれるようでした。
お手数おかけしました
0535名前は開発中のものです。
2010/02/26(金) 16:14:12ID:vSXVLwvV保存
保存したい変数を文字列で格納→何らかのアルゴリズムで暗号化→ファイル出力
読み込み
保存したファイル読み込み→暗号データから文字列に復元→変数に代入
というかんじでしょうか・・
テキストファイルをそのまま出力してもプレイヤーに読み取られてしまうと思うので
0536名前は開発中のものです。
2010/02/26(金) 18:10:11ID:k8Nclp+oそんな感じです。
0537名前は開発中のものです。
2010/02/26(金) 19:45:39ID:lcr+uN2q文字列にする必要はないけどね。
バイト列の方が扱いやすいし、人間にも読まれにくい。
まぁ、バイト列でもそのまま出力すると、簡単に解析されてしまうが。
XORかけて、チェックサムでも入れとけば十分。
0538名前は開発中のものです。
2010/02/27(土) 04:37:55ID:pMMukQvt0539名前は開発中のものです。
2010/02/27(土) 11:03:05ID:lavVPI3c参考にさせて頂きます
0540名前は開発中のものです。
2010/03/03(水) 00:33:50ID:wPHsfoXn0541名前は開発中のものです。
2010/03/06(土) 21:44:25ID:cKzvkmmpパネポンみたいなパズルゲームのせり上がりの処理って
どういう風に考えればよいのでしょうか?
0542名前は開発中のものです。
2010/03/06(土) 22:05:07ID:oMl4iNGE描画では端数だけ上げて、1ブロック分上がったら
配列を前段繰り上げるようにすればいいと思うけど。
反問するけど、仮にせり上がりがなかったとして
どんな風に実装するつもりなんだ?
0543名前は開発中のものです。
2010/03/06(土) 22:21:04ID:cKzvkmmp何に対しての実装かちょっとわからないんですが、
ゲームの仕様ってことだったらパネポンと大して変わらないもの
を試しに作ってみたい思った次第です。
0544名前は開発中のものです。
2010/03/06(土) 22:32:15ID:JczPuVwf逆だバカ
やりたい事を難しく考え杉
0545名前は開発中のものです。
2010/03/07(日) 03:26:35ID:uh/knnrz出力したEXEでは画像が読み込まれるのですが、
F5やデバッグ開始ボタンだと画像の読み込みに失敗してしまいます。
これってビルドしたEXEを出力してるディレクトリに使いたい画像とかおくだけじゃだめなんですね
何を設定すればいいんでしょうか
一昨日からプログラムを始めたのでコンパイラそのものの仕様がよーわからんとです。
関連付け?カレントディレクトリ設定?と考えたのですがいまいちヒットしないので助力願います
0546名前は開発中のものです。
2010/03/07(日) 03:34:34ID:uh/knnrzなぜかEXEを基準にかんがえてたのでDebugフォルダに画像などを用意してたとです・・・
プロジェクトやソースそのもの位置でいいのですね
お騒がせしましたorzスレ汚しごめんなさい
0547名前は開発中のものです。
2010/03/08(月) 12:39:39ID:0nKKs+l0どうしてもEXEの場所がいいなら、APIでEXEの場所調べてそこ使った方がいいぞ
0548名前は開発中のものです。
2010/03/08(月) 15:10:42ID:OwcKYY2B0549名前は開発中のものです。
2010/03/10(水) 22:52:00ID:fado/aItSLGを作ろうと考えてます。
2Dで3D処理は無しで考えてるのですが、
C++とHSPで作るとしたら、どちらが良いでしょうか?
長所と短所が有ったら教えて下さい。
0550名前は開発中のものです。
2010/03/10(水) 23:06:19ID:cS7N9VCdこれやる位ならCから始めた方がいいかも
HSPは初心者向きの言語って言われてるからC++よりはこっちの方がいいんじゃないか
0551名前は開発中のものです。
2010/03/11(木) 09:51:57ID:ar5ZJEPB0552名前は開発中のものです。
2010/03/11(木) 13:24:30ID:I816Pm6U最初は興味もあるだろうが、ブレーキ、ギア、クラッチ・・・とか延々と続くとやってられない。
目的が運転なら、オートマ車で
アクセル踏んだら進む、ハンドル切ったら曲がる、ブレーキ踏んだら止まる、
とか必要な部分だけをさくっと覚えて、
運転をしたくないか?
つーことで、ゲームを作るのに必要な最低限の機能が備わっている
HSPを覚えた方が良いから進めてるんだと思うぞ。
C++は何でも出来るけど、なぜ何でも出来るかを理解しないと、
何でも出来ないという所があるからお勧めしないんだと思うぞ。
0553名前は開発中のものです。
2010/03/11(木) 14:38:37ID:ar5ZJEPB0554名前は開発中のものです。
2010/03/11(木) 14:42:19ID:VLD8tp4g0555名前は開発中のものです。
2010/03/11(木) 16:22:38ID:0Tgz6gC5より簡単だというんならそりゃツクールとかあるだろうよ
ただツクール金掛かるのが嫌だな
0556549
2010/03/11(木) 21:57:21ID:UxZwAiXZアドバイスありがとうございます。
>>552
更にわかりやすく、噛み砕いた説明ありがとうございます。
SLGツクール系は、買って合わなかったらやだな〜って事で
除外してました。
答えてくれた方々、ありがとうございました。
0557名前は開発中のものです。
2010/03/15(月) 21:07:36ID:q4e6j4OO参考スレ
初心者専用スレ「シミュレーションゲーム」を作らない?2
http://pc11.2ch.net/test/read.cgi/gamedev/1172141181/
0558名前は開発中のものです。
2010/03/30(火) 23:55:58ID:i144vM1oどんなソフトがあれば作れるでしょうか。
当方ズブの素人です。visual studio2008は持っています。
趣味で何年かかけて作ろうとおもっています。
後、初心者でゲーム作るならこの本読んどけってのもあれば
教えていただけるとありがたいです。
ご助力お願いします。
0559名前は開発中のものです。
2010/03/31(水) 00:34:25ID:/1s1VCU/0560名前は開発中のものです。
2010/04/03(土) 01:35:28ID:6drkN7TjC#でGDIのゲームを作っているのですが、
Vista (32bit) まではヌルヌルだったのに、
7 (64bit) に変えたら微妙にコマ落ちするようになりました。
重くなったわけではなく、0.5秒ごとに割り込みが掛かっている感じでカクつくんです。
スレッドやプロセスの優先度を上げても変わらないし、
そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。
Vista -> 7 で、なにかGDI周りの挙動に変更が入ったりしたのでしょうか?
0561名前は開発中のものです。
2010/04/03(土) 07:11:45ID:ML07Lysw0562名前は開発中のものです。
2010/04/11(日) 21:47:05ID:Ko/6dSa+>>560
Windows7は全く使ったことのない俺だが、
>そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。
ってことは描画に遅延が入っているか、GDIの描画先がオフスクリーンバッファで
それが表面に更新されていないかだろうね
1フレームの描画が終わったらGdiFlushを呼んでるか、HDCを開放しているか
くらいしか思い浮かばん
0563560
2010/04/12(月) 10:16:43ID:6QZI5wHpループで描画しているので分解能は関係ないんです。
QueryPerformanceCounter使ってるし。
>>562
おっしゃるとおり、GDIレイヤで遅延しているように見えます。
でもGdiFlushなども使ってみましたがダメでした。。。
0564名前は開発中のものです。
2010/04/12(月) 16:29:39ID:Ub/aw0v40565名前は開発中のものです。
2010/04/12(月) 22:16:40ID:ohJzuPYP最終出力を自分のプロセスで行えない場合、システムに余力がないと更新が滞ることもあるな
全てのCPU使用率が常時50%以下になってるか確認してみるとか
0566560
2010/04/12(月) 22:49:05ID:6QZI5wHpDirect2Dでごり押ししてみないと真相は不明でしょうか・・・。
GDIが全体的に遅くなるのなら理解できるんですが、
0.5秒という長すぎる間隔でカクつくのが腑に落ちないっす。
DWMがアンチティアリングをしているせいかとも思うんですが、確認するすべも思いつきません。。
0568名前は開発中のものです。
2010/04/13(火) 00:32:26ID:mniTafWA#これで、結局バックグラウンドでインデクシングが
#発生しているだけだったら笑える。ディスクアクセスしてない?
ところでそのループは描画しているウィンドウを生成したスレッドで動作してるの?
0569560
2010/04/13(火) 01:43:29ID:nmFp0o6dウインドウを生成したスレッドでしています。
何もしていない状態でもかくつきます。
いろいろ試してみたら、やはりDWMのアンチティアリングが影響しているようです。
0.5秒間隔のカクつきはV-sync待ちとのタイミングが最悪な時なのかも?
Aeroを切ったり、CreateWindowのスタイルパラメタを変更しても挙動が変わることが分かりました。
一番安定したのはAero状態のD2DでV-sync待ちで描画したとき。
正直大混乱中。よくわかんねーっす。。。
0570名前は開発中のものです。
2010/04/13(火) 11:00:59ID:mniTafWAAero off と on で動作が違うと言えば、例えば::InvalidateRect()で、第3引数のbEraseをFALSEにすると
Aero off の時クライアント領域が更新されないことがあったりしたな。
ただこれはVISTAも同じだから、7だけおかしいと言うことだと関係ないかも知れないが。
GDIを利用して作成していると言うことだけど、どっかで更新をOSに任せてたりしないか?
一度全部明示的にアップデートしてみるといいよ。
0571名前は開発中のものです。
2010/04/15(木) 22:39:37ID:oS8V8JHFキャラクターが毎フレーム移動するんですが
その際に前回いた座標と今回いた座標を結んだベクトルを計算し、
壁などのポリゴンを通過したら押し戻すという処理をしています。
しかしポリゴンに対して直角(90度)に進めば押し戻されるのですが
10度くらいの角度で進むといずれはめり込み、
計算の誤差のようなもので通り抜けてしまいます。
こういう場合はどうしたら意図した動きになるでしょうか?
普通壁にめり込まない処理というものはベクトルで処理をするものではないのでしょうか?
0572名前は開発中のものです。
2010/04/15(木) 22:56:32ID:oS8V8JHF0573名前は開発中のものです。
2010/04/16(金) 08:49:10ID:E7soBA+n0574名前は開発中のものです。
2010/04/16(金) 15:39:17ID:tfuXF2uQ移動してから次フレームで衝突判定するんじゃなくて
移動させて衝突判定させて移動量減らしてから移動確定
0575名前は開発中のものです。
2010/04/17(土) 18:34:27ID:YPPhHYQEその方法をとっているのですが上手くいきません
ベクトルとポリゴンは諦めて
球とポリゴンの当たり判定にしたいのですが
参考URLなどご存知ないでしょうか?
0576名前は開発中のものです。
2010/04/17(土) 20:49:33ID:g85Nq5+3おとす気が失せるな・・・
0577名前は開発中のものです。
2010/05/02(日) 13:48:47ID:qwH1pwxC心当たりある?
WinMainの最初で呼んでんだけど.
0578名前は開発中のものです。
2010/05/02(日) 21:18:23ID:Fty9ttWnデバッガで起動してないとか
0579名前は開発中のものです。
2010/05/03(月) 00:13:29ID:G8fNhcut別に仕様変更で,最近機能がなくなったとかじゃないですよね...?
0580名前は開発中のものです。
2010/05/03(月) 00:24:48ID:G8fNhcut#include <crtdbg.h>
int main()
{
_CrtSetDbgFlag(
_CRTDBG_ALLOC_MEM_DF //メモリリークチェック用のヒープ使用
| _CRTDBG_LEAK_CHECK_DF //プログラム終了時にメモリリークチェック
);
int* p_int = new int();
return 0;
}
このプログラムでエラーメッセージがでません.
ちなみに,当方VCですが,メッセージは
出力ウィンドウでの確認で間違いないでしょうか?
0581名前は開発中のものです。
2010/05/03(月) 17:53:02ID:F+lE+L/N以下、出たメッセージ >>
Detected memory leaks!
Dumping objects ->
{59} normal block at 0x008F4D40, 4 bytes long.
Data: < > 00 00 00 00
Object dump complete.
<<ここまで
_CrtSetDbgFlag()をコメントアウトすると出なくなるからちゃんと機能してるみたい
環境はwin7 64bit VS2008で、win32コンソールアプリケーション
コンパイルの設定は、プリコンパイル済みヘッダを使用しない、にした以外はデフォルトのまま
0582名前は開発中のものです。
2010/05/04(火) 04:57:17ID:2vXYcehCゲーム製作に関する技術が0の状態です
プログラミングもまったく技術がありません
このゲームを作るのに向いているプログラミング言語がありましたら教えてください
勉強しようと思います
私のPCのOSはwin7です
windows系列で動作するゲームにしたいです
0583名前は開発中のものです。
2010/05/04(火) 06:05:40ID:2vXYcehC32でも64でも動くものにしたいです
0584名前は開発中のものです。
2010/05/04(火) 09:47:00ID:N7bMdxX7ありがとうございます.
コードはおかしくないってことですね.
こちらでも別環境で試してみます.
なんでだろう...
0585名前は開発中のものです。
2010/05/04(火) 11:18:45ID:ATvQPLh8C言語
0586名前は開発中のものです。
2010/05/04(火) 15:19:34ID:3AEGCGVU0587名前は開発中のものです。
2010/05/04(火) 17:08:55ID:2vXYcehCthx
0588名前は開発中のものです。
2010/05/04(火) 21:18:06ID:I3BOmytc0589名前は開発中のものです。
2010/05/05(水) 00:46:35ID:I28q1E30使ったことないから的外してるかもしらんけど
0590名前は開発中のものです。
2010/05/30(日) 22:41:11ID:/03sGIqdまだ学生だから、車輪の再開発をしまくって勉強したいと思ってるんだけど、なんらかの
コンポーネントを使用しなきゃ出来ないのなら、割り切ってコンポーネントの勉強をしようと思うんだけど
0591名前は開発中のものです。
2010/05/30(日) 22:59:33ID:hMrpRgoR0592名前は開発中のものです。
2010/05/30(日) 23:01:41ID:hMrpRgoR0593名前は開発中のものです。
2010/05/31(月) 00:00:56ID:y4dMI0mpVRAM自体のアドレスを取得してロックしようと思ったらDirectXを使うしかないと思う
0594名前は開発中のものです。
2010/05/31(月) 23:03:43ID:QJNjNz5n全ての敵の行動をクラスに纏めたEnemyクラスっていうのを作っちゃって、
そこに敵の種類ごとに動作とか設定しちゃおうかなって思ってたんだけど、
それじゃ敵の種類が少ないマップでもロードに時間がかかるとかってなる?
0595名前は開発中のものです。
2010/05/31(月) 23:06:46ID:QJNjNz5nグローバルな変数を作るとか?
0596名前は開発中のものです。
2010/05/31(月) 23:13:40ID:+7YvNv71Enemy クラスに HP、時間、座標を定義して
Enemy を継承した EnemyA、EnemyB … を作ってそこに種類ごとの行動を書けばいい
ロード時間はといより Enemy で全部やろうとすると処理コストが増えるかと
0597名前は開発中のものです。
2010/05/31(月) 23:30:20ID:SBpXG6MJ0598名前は開発中のものです。
2010/05/31(月) 23:31:08ID:QJNjNz5nそういうのがあるんですね
ありがとうございます
0599名前は開発中のものです。
2010/05/31(月) 23:58:57ID:OsgCe4820600名前は開発中のものです。
2010/06/01(火) 00:53:23ID:8zniKIGy0601名前は開発中のものです。
2010/06/01(火) 11:05:50ID:HlkdJvUb0602599
2010/06/01(火) 18:31:41ID:zaH3D1aV正にそれです。
MIDIパーサ、MIDIレンダラーを作りたいのですが、何をどうすれば良いのか
さっぱりな上、そういった事を解説してるサイトも皆無なので困っています。
0603名前は開発中のものです。
2010/06/01(火) 19:13:55ID:jI99bfoW0604名前は開発中のものです。
2010/06/01(火) 22:07:22ID:02kRTTDwFM音源とかにしといたら?
そこそこのクオリティを持ったMIDI音源とか個人でなんとかなるレベルじゃなさそう
0605名前は開発中のものです。
2010/06/02(水) 11:17:16ID:eHTKFESgこればっかりはプログラムだけじゃ無理だろう
0606名前は開発中のものです。
2010/06/02(水) 22:56:16ID:Ggr0fEGO>>592
>>593
やっぱりそうなのか…
回答ありがとう。とりあえず、Direct3D9の勉強を少しやってみようかと思う。ありがとう
0607名前は開発中のものです。
2010/06/03(木) 22:58:45ID:N5aCEzsmソフトウェアシンセとSMFファイルを解析する部分が要る
とりあえずGM規格の仕様書でも読んでみたらいい、やる気なくすから
0608名前は開発中のものです。
2010/06/04(金) 16:44:04ID:Vz1OVRZS0609名前は開発中のものです。
2010/06/04(金) 17:04:27ID:tnAvyTGmいずれにしてもまずはGM互換の版権フリーか自前の音源データが必要
0610名前は開発中のものです。
2010/06/04(金) 18:16:01ID:vIQ5MHoj編集するだけでも、どれだけ機材と時間と技術と手間がかかるんだか…
0611名前は開発中のものです。
2010/06/04(金) 20:43:58ID:uFMmgqFi0612名前は開発中のものです。
2010/06/04(金) 20:48:59ID:Q9UNwKBAxpだとそんな事なかったのですが
0613名前は開発中のものです。
2010/06/05(土) 06:53:33ID:yudDpx9T実際にやってみるとわかるけど、自分でサイン波とかのオシレータ作って
合成して実際の楽器の音出すのってすごく難しいぞ。
FM音源なんてとても素人がどうにかできるもんじゃない。G
M規格だけでも128種類の音色とドラムセットがあるのに。
0614名前は開発中のものです。
2010/06/05(土) 14:15:02ID:D1eyiAx2>>611はVAクラスか打楽器系の音もサンプリング音源レベルの音質をソフトだけで作るって言ってんでしょ
まあ何も知らないただのバカだろうけど
0615名前は開発中のものです。
2010/06/05(土) 19:21:06ID:1y0Oq8xyどうやって?
今のサウンドカードは標準でFM音源なんて付いてないぞ?
0616名前は開発中のものです。
2010/06/05(土) 21:05:53ID:XfBBOv5Pま、別にいいんだけど
0617名前は開発中のものです。
2010/06/05(土) 22:44:24ID:yudDpx9Tハードウェア的にはFM音源ついてなくてもPCM音源があればおk
そんなことも分からないんじゃ自分で音源作るのなんて無理
0618名前は開発中のものです。
2010/06/05(土) 22:48:00ID:1y0Oq8xy0619名前は開発中のものです。
2010/06/08(火) 17:58:37ID:++DOtdab0620名前は開発中のものです。
2010/06/08(火) 20:08:11ID:SUdoOdZh話がズレてない?FM音源エミュレート結果の出力先にPCMを使用するってだけだろう
いやもうどれが話の本筋なのか分からんけど
ところでちょっとグレーな話になるけど、スーファミエミュから抽出したSPCファイルって
容量が64KBしかないのに結構綺麗な音がでるよね
再生プラグインも100KBそこそこだから波形データを再生機側に大量に持ってるわけでも
なさそうだし、スゲーなーと思ってた
0621名前は開発中のものです。
2010/06/08(火) 21:18:46ID:++DOtdabFF4は、アクトレイザーのストリングスの音聴いて影響されて、
サウンドドライバ作り直しを命じたらしいし
0622名前は開発中のものです。
2010/06/09(水) 09:21:16ID:pmTsWhEo今の同人というかフリーゲーム開発の中でDirectXを使ってる場合、9.0と10.0どちらが主流なんでしょうか?
よっぽど凝った物でもない限り現状普及率が高い9.0のほうがいいのだろうかと思うのですが、この先の事を
考えると10.0以降の仕様に慣れておいたほうがいいのかもしれないし、もしかしたらそれほど10.0でも影響少ないのかと思って悩んでるのですが。
0623名前は開発中のものです。
2010/06/09(水) 10:22:21ID:rHuJZWIL使いこなせないからどっちでも同じです。10..0だとXP切捨てになるし。
10.0以降の仕様に…ならもう11に行った方がいいんじゃない?
今から10.0を一から勉強すると、10.0独自の機能使う頃には12が出てると思われ
0624名前は開発中のものです。
2010/06/09(水) 10:40:14ID:IiMYCbgY9.0と10.0の比較だと今OSとハードの過渡期真っ最中だから
移行するならもう1・2年待った方がいいかもな、まだゲームはXPがメインって奴も多いだろうし
逆に言えばソフトの公開が1年後2年後とかなら10.0に移行してても良いのかもしれん
0625名前は開発中のものです。
2010/06/09(水) 10:42:22ID:fYI9N/700626名前は開発中のものです。
2010/06/09(水) 13:45:50ID:pmTsWhEo10向けのソフトなんてまだそれ程ないし、自分も知識や技術不足等あるので9を扱いきれるようになってから
様子見て10.1以降のに目を向けるようにします。
■ このスレッドは過去ログ倉庫に格納されています