[過去ログ] ゲームプログラミング相談室【Part5】 (970レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
843: 04/01/04 11:31 ID:7Q2vPaHr(1/2) AAS
せめてマルチメディアタイマーを使うか、
マルチメディアタイマーのコールバックだとデバッグしづらいのであれば、
マルチメディアタイマーでイベントシグナルを発生させるかすれば、
おおよそ1ms程度の精度は得られる。
844
(1): 04/01/04 21:00 ID:GmFh16RM(1/4) AAS
> しかも他アプリケーションに迷惑かけるので、誰も使わんよ

そういうの神経質に言う人たまにいるけど、CPU100%使うゲームで迷惑喰ったことないな
裏でどんなアプリ走らせながらゲームやってんの?
それか電力消費の気になる携帯機とかの話してる?
845
(1): 04/01/04 21:30 ID:a27RA1XL(2/5) AAS
>>844
> 裏でどんなアプリ走らせながらゲームやってんの?
ブラウザで Web の攻略ページ見てたり、メッセンジャーで話してたり。
846
(1): 04/01/04 21:40 ID:QijQXGlg(2/3) AAS
Nスク作者様の登場だ。
皆、もてなすように。
847
(2): 04/01/04 21:57 ID:GmFh16RM(2/4) AAS
>>845
ゲームがフォアグラウンドのままブラウザ使ったりしないよな?
インアクティブになったときにビジーループ止めればいいだけじゃん
Windows標準添付アプリのピンボールだってそうやってるぞ

メッセンジャーは使ったことないから知らん
ピンボールと併用して何か障害出るのか試してみてくれ
848: 04/01/04 22:07 ID:pvm3jmnY(1) AAS
障害があろうが無かろうが、あまり人に勧めるもんじゃないと思うが。
849: 04/01/04 22:23 ID:JwhI6BDv(1/3) AAS
>CPU100%使うゲームで迷惑喰ったことないな
俺は実際これで迷惑被ってる
CPU100%占有するアプリは迷惑この上ない。
Nスクってマジでそうなの?

>インアクティブになったときにビジーループ止めればいいだけじゃん
ちなみにNスクはこれをちゃんとやってるの?
850: 04/01/04 22:28 ID:GmFh16RM(3/4) AAS
> 障害があろうが無かろうが、あまり人に勧めるもんじゃないと思うが。

そう思うのはあんたの勝手。俺は

> しかも他アプリケーションに迷惑かけるので、誰も使わんよ

と書いてあったから、誰も使わなくなるほどの迷惑というのがどういうものか教えて欲しいだけ
851: 04/01/04 22:35 ID:a27RA1XL(3/5) AAS
>>847
> インアクティブになったときにビジーループ止めればいいだけじゃん
それもどうかと思うなぁ。ウィンドウがアクティブでないときでも動かしておきたい
処理もあるが、そっちだけイベントドリブンにすると話が面倒になる。

> インアクティブになったときにビジーループ止めればいいだけじゃん
だから、裏で起動してるブラウザとか IRC とか。IRC なんかは、ほかのユーザが
書き込んでくるのを眺めてたりするから、非アクティブ状態でも、スムーズに動いて
省1
852: 04/01/04 22:37 ID:a27RA1XL(4/5) AAS
追記。WM_TIMER は優先度低すぎてアレだが、マルチメディアタイマと
PostMessage(), あるいは Sleep() 組み合わせて使うと、それなりの結果
が得られるぞ。
853: 04/01/04 22:44 ID:GmFh16RM(4/4) AAS
> それもどうかと思うなぁ。ウィンドウがアクティブでないときでも動かしておきたい
> 処理もあるが、そっちだけイベントドリブンにすると話が面倒になる。

あー、よくわかった
ゲーム自体を環境として動かすような、アップルタウン物語みたいなやつを言ってるのか
リアルタイムアクション系ゲームのことしか考えてなかったスマソ

> PostMessage(), あるいは Sleep() 組み合わせて使うと、それなりの結果

そうそう、とりあえずビジーループの中でSleep(0)呼んで残りタイムスライス放棄しとけば充分
854: 04/01/04 22:45 ID:zDQFoC6I(1) AAS
ケイス・バイ・ケイス

まったく、死ねよ坊や達
855: 04/01/04 22:48 ID:QijQXGlg(3/3) AAS
> >インアクティブになったときにビジーループ止めればいいだけじゃん
> ちなみにNスクはこれをちゃんとやってるの?

長年にわたる研究の結果、ビジーループが最も効果的であるとの
結論に至ったため、Nスクはビジーループを採用しております。
これについての反論は受け付けません。
856: 04/01/04 22:51 ID:a27RA1XL(5/5) AAS
なんか必死に燃料を投下してるヤツがいるな……
857
(1): 04/01/04 23:11 ID:/k+tEE9y(1) AAS
常時CPU使用率が100%にならないエロゲー Part2
2chスレ:erog
858: 04/01/04 23:13 ID:iQG8O/cG(1) AAS
CPU100%使うかどうかは、ゲームによりけりだろ。
俺の基準だと、フルスクリーンのゲームは100%でOK、
ウインドウで遊ぶゲームはNG。

例えば、さっくりブラウザ上で遊ぶゲームはNG、
本腰入れて遊ぶようなシューティングゲームはOK。

ま、でも、実際のところ、CPU100%でいい場合でも、
時間があまったらOSに返すような作り方にしてるけどな。
省1
859: 04/01/04 23:18 ID:JwhI6BDv(2/3) AAS
>>857
なんか知らんが勉強になりそうなスレだw
860
(1): 04/01/04 23:19 ID:JwhI6BDv(3/3) AAS
一番イイのはユーザーがCPU占有率決められるものだね。
実際にそういうゲーム結構あるし。
861
(1): 04/01/04 23:45 ID:7Q2vPaHr(2/2) AAS
DirectShowが内部で用いている、
マルチメディアタイマーのイベントシグナルとスレッド併用が最も安定しているんだけど、
仕組みを解説している情報がWEB上に存在しないため、話題に挙げてもらえない。
862: 04/01/05 01:16 ID:21g6Gt2m(1) AAS
>>861
ソース晒してくれれば解説するよん
863: 842 04/01/05 01:22 ID:YhoVU3wu(1/4) AAS
自分の無知を棚にあげて言葉は一人前なんてどうしようもないな

エロゲーユーザーとその周りには分からんか 動けばいいもんね
恥ずかしくてレスもできんな
アホすぎて相手にもしたくない
高校生であることを祈る・・・
864: 04/01/05 01:24 ID:7aUyvM4l(1) AAS
そこまで言うなら実例晒してくれよ。
842も言葉だけ一人前じゃないよな?
865
(1): 04/01/05 01:28 ID:YhoVU3wu(2/4) AAS
上ですでに書かれてますが何か?
866: 851=852 04/01/05 01:40 ID:u234mokM(1) AAS
>>865
書いたのは 842 じゃないし、俺は CPU 使用率 100% に見えても Sleep(0)
しとけばいちおー許せるんじゃないの、という程度の意見だが。

もっとも、CPU の発熱がきつくなってきて動的に CPU クロック制御が入ったり、
ノート PC みたいな環境を前提とすると辛いのは確か。
867: 04/01/05 01:49 ID:YhoVU3wu(3/4) AAS
IRCの例を出してるから分かってるもんだと思ったよ
868
(2): 04/01/05 03:25 ID:GsmEKcEC(1) AAS
>>847
ピンボール見てみたけどこれ処理軽いなー
タスクマネージャーでCPU使用率見てるとごくまれに
2%になることあるけどほどんど0%表示だよ。

このソフトみたいに必要な分だけCPU使うでいいじゃない。
UDやSETIみたいなCPUパワーを提供するソフトを動かしてる人もいるだろうし
無理にCPU使用率を上げることも無いと思うけど。
869
(2): 847=851=853 04/01/05 05:13 ID:yNwoTOXR(1/3) AAS
オハヨー

>>868
そう? 俺、Athlon1.3G+Win2Kで試したけど完全に100%に張り付くよ
別バージョンがあるのかな。何で試した?
870: 04/01/05 07:01 ID:dYS0U3b4(1) AAS
必要な分だけCPUをつかう、それ以上は使わない、でいいじゃん
Sleep挟んだって結局はなにもしないのにCPUつかってるにはかわりねえんだろ?
871: 04/01/05 08:54 ID:nfjSkZXM(1/2) AAS
HLT発行までやるのかい。至れり尽くせりだな〜。
872: 04/01/05 10:55 ID:nQyL5b2H(1) AAS
まあ、そういうことですな
・・・OSがやるけど。
873: 04/01/05 11:24 ID:nfjSkZXM(2/2) AAS
Windows98ならあるいは意味があるかもしれん。
ソフトウェアクーラーなんてのが出るくらいだしな。
874: 04/01/05 13:56 ID:mfvkBEyV(1/2) AAS
>>860
ユーザーが決めるって、
結局windowsのタイマー系のAPIで時間を取得して
その後Sleepで空けているだけだから
Sleep精度に依存し、精度の維持なんてできるもんじゃないと思うんだが。
875
(2): 868 04/01/05 14:08 ID:oyfGmKof(1) AAS
>>869
ウチのは Pen4 2.2G + WinXP SP1

プレイ中だろうが非アクティブ時だろうが
常に0%になってる。(ということは0.5%未満?)
876
(1): 04/01/05 14:41 ID:mfvkBEyV(2/2) AAS
ウチのWin2k+SP4付属のピンボールもも0%だ。
877
(3): 869 04/01/05 15:15 ID:yNwoTOXR(2/3) AAS
>>875-876
俺だけか? 試しにメーカー製PC(LogitecのP4 2.66G+Win2KSP3 素のまま)でやってみたけどやっぱ100%。。。何が違うんだろ
878: 04/01/05 16:34 ID:lAbExo6H(1/2) AAS
>>877
とりあえずそんな環境のマシンでこの話題に入ってくるのは
やめたほうがいいと思う。
879: 04/01/05 16:47 ID:XvIS5gpi(1/3) AAS
原因はビデオカードくさいけど。
垂直同期待ちでドライバ側の処理が、CPUを全力で使い切るか否か。
880
(1): 04/01/05 17:29 ID:lAbExo6H(2/2) AAS
いまだにそんなドライバ作ってるメーカーあるのか。
でもとりあえずピンボール起動してもらって
くそボードの判別はできるな。
881
(1): 877 04/01/05 17:57 ID:yNwoTOXR(3/3) AAS
くそボードって・・・845にIntel純正ドライバなんだが
882
(1): 04/01/05 18:05 ID:S44bCcPP(1) AAS
純正だろうがそうじゃなかろうがだめなものはだめだろ
883: 04/01/05 18:13 ID:XvIS5gpi(2/3) AAS
オンボードは一部のゲフォやラデなんかを除くとオンボロボード。
特にIntelは最悪の部類。
884: 880 04/01/05 18:42 ID:lWiXwM6T(1) AAS
>>881
思いっきりくそオンボードじゃん!
885: 04/01/05 19:32 ID:YhoVU3wu(4/4) AAS
とりあえず
>>875 KOF
>>877 OXR
>>882 CPP
おそろしいな・・・
886
(7): 04/01/05 19:52 ID:lFA9gtSZ(1/3) AAS
どもです
今RPGを作っていて
マップ画面に主人公をテクテク歩かせるとこまで出来たんですけど
町の人を歩かせる方法はどうしようかと悩んでます
主人公を歩かせる処理の間制御が返ってこないので
町人は別スレッドで処理した方がいいのでしょうか?
皆さんはどうしてますか?
省5
887: 04/01/05 21:00 ID:dDDHM7y9(1) AAS
今なら言える!
RPG作るのはまだ早すぎる!
888: 04/01/05 21:15 ID:I8VoaIdO(1) AAS
制御返せよ!
889: 04/01/05 21:46 ID:XvIS5gpi(3/3) AAS
RPGどころか、単純なアクションゲームも無理であろう。
890
(1): 886 04/01/05 22:16 ID:lFA9gtSZ(2/3) AAS
>>RPG作るのはまだ早すぎる!

でも作ります

>>制御返せよ!

気合で頑張ります! ;;
危うくスレッドに逃げ込むとこでした
別スレッド作らなくても制御返す方法があって
なんとか出来るんですよね?
省1
891: 886 04/01/05 22:20 ID:lFA9gtSZ(3/3) AAS
>>RPGどころか、単純なアクションゲームも無理であろう。

酷っ!
892: 04/01/05 22:55 ID:8pjX1Fei(1) AAS
なんでwhile()やねん
893: 04/01/05 22:57 ID:Pq1/G+f8(1/2) AAS
>>890
お前ゲームプログラマーなめてんだろ?
894: 04/01/05 23:10 ID:0FMgJlKl(1/2) AAS
スレッドでいいじゃん。
895: 04/01/05 23:19 ID:AkvFAUgB(1) AAS
タスク、ゲームで検索汁
896: 04/01/05 23:20 ID:NUhutZgZ(1) AAS
セルフフェラ?
897: 04/01/05 23:34 ID:0FMgJlKl(2/2) AAS
WindowsのバージョンによってのSleepやタイマの精度は検索すればすぐ出てくるよ。
898
(1): 04/01/05 23:55 ID:Pq1/G+f8(2/2) AAS
とりあえず>>886に足りないのは知識だね。
これが足りないうちはどんなに気合入れたって駄目さ。

ところで初心者スレで気軽に「まず作ってみろ」とかいう奴いるけど
駄目だろ実際。
どうやって作るかしらねぇんだから。
大抵は>>886みたいな状況になるって。

#読めばキャラの移動ぐらいさくっと作れるサイトってもしかしてないのか?
899: 04/01/06 00:06 ID:bYKUVBTb(1) AAS
>>898
これくらい自力でできんと無理だろ
900
(7): 04/01/06 00:16 ID:fKPJ/8Aq(1/6) AAS
>>886
町の人の動かし方はドラクエ型とトルネコ型ある。数値は例だが、
前者はユーザーの移動の入力に関係なく1秒毎に10%の確率でどれかの方向に移動する。
後者はユーザーが移動の入力した時25%の確率でどれかの方向に移動する。

後、主人公の移動をマウスで行うの?カーソルやテンキーの方が動かしやすいが。
901
(1): 04/01/06 01:04 ID:j09Zf13f(1/3) AAS
>>900
いや、なんか的外れじゃねん?
>>886はまず「ゲームのメインループ」を理解するところからはじめなきゃいけないんだから。
902
(1): 900 04/01/06 07:19 ID:fKPJ/8Aq(2/6) AAS
>>901
スレッドとか専門用語を使っているから>>886氏は理解していると思ったのだけど、
どっちなんだろう。勉強の入り方が違うのかな。自分はprintf、scanfから
入っていく本だったから、マウスイベントもスレッドも何年かたってから知った。
903
(1): 04/01/06 08:04 ID:IKcYlSoc(1) AAS
どこまで理解して無いのか判らない人に説明するのって難しいな。
904
(1): 900 04/01/06 09:22 ID:fKPJ/8Aq(3/6) AAS
>>886
自分が書いたやり方はこんな感じのプログラム。参考にどうぞ。
外部リンク[cgi]:do.sakura.ne.jp
クラスとか使っていないけどコンパイルできなかったから.C++。
テンキーで移動、Nscで終了。動作環境はWindows。
905
(1): 04/01/06 09:25 ID:j09Zf13f(2/3) AAS
>>902
いや、こんなもんでいちいちスレッドなんか作る必要なんかないでしょ。
まあ使うにしても、まず、スレッドなしでどういう仕組みで動かせばいいのか
知らないとバグが多くて苦労するだろうし。
906
(1): 04/01/06 10:14 ID:qNWKZ5u5(1) AAS
キャラクターごとにスレッドを使うと、タイミングを制御するだけで凄まじい苦労をすることになる。
まさに骨折り損のくたびれもうけ。
しかも複数のスレッドが制御を返さずに10msのタイムスライスを使い切ると、OSクラッシャーと呼ばれることであろう。
907: 900 04/01/06 10:36 ID:fKPJ/8Aq(4/6) AAS
>>903
でも始めは知っている事と知らない事がはっきりしているから
しょうがないとも言える。自分もスレッドを使った事が無かった事で、
文章に使っていたのを見て結構暦があるのかなと思った。

>>904
NscはEscに訂正。

>>905
省4
908
(1): 04/01/06 10:48 ID:5FiY8UJQ(1) AAS
ある

無いと思うならそれでいいんじゃね?
909
(2): 900 04/01/06 11:16 ID:fKPJ/8Aq(5/6) AAS
>>908
まーそうだけど・・。どうもです。
組む時、意識して使えるか考えてみたりして理解しようと思います。
910: 04/01/06 11:50 ID:j09Zf13f(3/3) AAS
>>909
曲や声のストリーミング再生とか
なうろーでぃんぐの文字を表示するときぐらいじゃねーの?
スレッドなんて使うときって。

あと、データの先読みとかもそうなのかなぁ。(まあ、そんときになったらで十分だな)
911: 900 04/01/06 15:21 ID:fKPJ/8Aq(6/6) AAS
>>909
なるほど。処理の流れが大きく違う時に使うのですか。
なら、対戦ゲーのCONの思考とかの時にも使うのに有利かも。

そういえばビープ音を再生するプログラムを作っていて質問した時、
マルチバッファで作ると言った時、スレッドを使うと良いと言われた事があった。
その時はよく意味が分からなかったが、曲を流す部分を作るために
使うのではなく、曲を流す部分と曲の再生、停止、曲を選ぶ等のその他の部分とを
省1
912: 04/01/07 00:36 ID:bG8jm3/8(1) AAS
たいていはタスクシステムでなんとかなるからねぇ>アクションゲーム
913: 04/01/07 00:44 ID:DdGr57/O(1/2) AAS
俺は擬似タスク使わない主義だな。
どっちかっていうと複雑になるのは色んなオブジェクトが影響しあう部分だから
この場合擬似タスクはあんまり役に立たないどころか返って複雑にしてしまうかもしれないね。
914: 04/01/07 01:03 ID:GLaXcsDA(1/3) AAS
細かいが CON じゃなくて COM な computer
検索したらスペルミスが山ほど沸いてきた
915: 04/01/07 01:22 ID:kS7ua9BI(1) AAS
>>900
久々の口だけじゃない奴だな、あんた。
916
(3): 04/01/07 01:47 ID:ATYQAwJi(1/6) AAS
製作技術とはちょっと異なるかも知れませんが、質問させて下さい。
あるRPGで、
攻撃力に関するステータスの「STR」と「武器の攻撃力」の2つの要素から、
キャラの攻撃力が決まるのですが、その過程となる計算式がどうしても特定できないので、
その手のことに詳しい方を探しています。

ここのスレで質問してもよろしいでしょうか?
スレ違いでしたら誘導お願いいたします。
917
(1): 04/01/07 04:53 ID:oho7OEuu(1/3) AAS
>>916
どのゲームか分からんけど、知っているのだと以下のぐらい。
ドラクエ:(力+武器威力)/2
サガ:力*AP倍率
FF:LV*力*武器威力・・・分からん
ロマサガ:外部リンク[html]:www8.plala.or.jp
ポケモン:外部リンク[html]:www.pokedex.jp
省1
918
(1): 04/01/07 09:52 ID:ATYQAwJi(2/6) AAS
>>917
コルムオンランというネットゲームです。
外部リンク:www.corum.jp

(力、武器攻撃力、キャラ攻撃力)のサンプルとなるデータを
沢山集めて特定しようと思ったのですが、
どうも計算式の中に力の2乗が含まれているようで苦戦中。
(グラフ描いてみたら力と攻撃力の関係が曲線になってしまって…)
省2
919
(2): 04/01/07 10:21 ID:+5UXFvcP(1/2) AAS
非公開な内部パラメータとか使ってる事もあると思うが。
920: 04/01/07 11:13 ID:oho7OEuu(2/3) AAS
>>918
ありゃりゃメンテ中だ(w。どんなゲームなんだろう。
ひとまず「とりあえず見せろ」を発動します。

>>919
分かりにくいのはとことん隠そうとする傾向にあるからね。
921
(1): 916 ◆3gXheTQNRg 04/01/07 12:48 ID:ATYQAwJi(3/6) AAS
数値データから一般式を求めるということで、最初は理系板の方で聞いていたのですが、
内容的にゲーム製作技術板の方が良いかもと指摘されたので、
今後はこちらでお聞きいたします。

外部リンク:www.geocities.co.jp
922
(1): 04/01/07 13:09 ID:tl4eEAW7(1/3) AAS
ネトゲの解析はネトゲ板でやれば?
見た感じチートと個人晒しくらいしかスレ建ってなかったが。。。
923
(1): 04/01/07 13:18 ID:tl4eEAW7(2/3) AAS
ここらへんか。
2chスレ:mmominor
2chスレ:mmominor
2chスレ:mmominor
ちなみにネトゲはパッチ当てでダメージ係数その他をコロコロ変えてくるから
現時点の計算式を割り出したとしてそれが明日も使えるとは限らないぞ。
1-
あと 47 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s