トップページgamedev
994コメント383KB

【初心者】スレを立てる前にココで質問を【Part21】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/04/02(金) 00:21:35ID:zsqivwcw
疑問に思うことがあれば、スレを立てずに、まずはココで質問。
スレッドを立てる前にはローカルルールを読みましょう。
http://pc11.2ch.net/gamedev/

>>980 を踏んだ人は次スレ立てをお願いします。
【アップローダ・避難所・Wiki】
ゲーム製作技術板公式Wiki
http://wiki.game-develop.com/

ゲーム製作技術板公式アップローダ
http://gmdev.xrea.jp/

ゲーム製作技術板予備(機能停止中?)
http://yy13.kakiko.com/gamdev/

アップローダー予備
http://gamdev.hp.infoseek.co.jp/

gamdev.orgが落ちるたびにあげてみるスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1107022166/
0195名前は開発中のものです。2010/05/15(土) 12:46:35ID:PCgp4FWt
>>186
放物線ってのはちょと違ったか、当時を思い出してコード書いてみた
http://gamdev4.hp.infoseek.co.jp/cgi-bin/up/No_0104png.html

ファミリーベーシックで扱える数値は16bitのint型のみだったけど
おおよそsin波と同等の出力結果が出ていたはず
0196名前は開発中のものです。2010/05/15(土) 15:14:42ID:hYE0bHDv
>>194
初心者 != 無教養者
0197名前は開発中のものです。2010/05/15(土) 15:23:12ID:faSCSQgj
別に相手にしたくなければ無視すればいいだけ
答えたいやつが答えるだけで何の問題もない
最大の欠点とかアホすぎる
0198名前は開発中のものです。2010/05/15(土) 16:01:23ID:wm1X7mKl
>>195
用途(ゲーム)に必要な精度を満たしてれば近似としては十分OKでしょ。
sinやcosからその2次式を数学的に導出できなきゃダメェなんて意地悪は誰も言わない。
(高専、大学以上ならテイラー展開して多項式近似する基礎教養があるだろうけど)
0199名前は開発中のものです。2010/05/15(土) 17:07:43ID:faSCSQgj
むしろごく少ない四則演算のみでここまで近似できるならこっちのほうが優秀だな
0200名前は開発中のものです。2010/05/15(土) 17:27:18ID:Jr2Uxrll
>>195
ちょっと感動したw
0201名前は開発中のものです。2010/05/15(土) 18:10:33ID:eQYDLNgp
ゲームのキャラクターで無料で使えるキャラクターありますか?

とりあえず東方というシリーズのキャラクターが作者公認で色々使ってもいいよということになっているような話を聞きました。
他にありますか?
0202名前は開発中のものです。2010/05/15(土) 19:20:38ID:wm1X7mKl
>>198に自己レスだが
携帯端末なのでパケ代ケチって>>195の画像見ずに
「放物線だというなら2次の多項式に適当な係数あてはめたんだろ」と
勝手に予想してレスしたんだが、>>195の画像を見たら予想と違ってた。

奇怪な差分式に謎のマジックナンバーだらけでワロタ。おかしいだろこれw
0203名前は開発中のものです。2010/05/15(土) 21:38:13ID:OzTf1je4
ぜんぜんおかしいと思わないが
単純にyに合わせて加速度変化させて上下に振れるようにしてるだけでしょ
位置合わせの加速度調整の数値以外は固定少数の代わりでやってるだけだと思うが
0204名前は開発中のものです。2010/05/16(日) 11:38:47ID:NuNLq90W
ゲームでブーストをかけるアクションってあるけど
あれどうすれば良いの?
シフトキー押したときだけ速度倍にしたけどなんか違う・・・
0205名前は開発中のものです。2010/05/16(日) 11:45:04ID:IZ0tKTBG
>>204
シフトキー押した瞬間に倍速にせずに、徐々に上げていくようにすればイイんでねーの??
速度が上がるほうの遷移と下がるほうの遷移で変化する特性を変えるとよりリアルかも。
上がるときは下に凸の二次カーブで、下がるときは上に凸の二次カーブにするとか。
まぁ、単なる線形変化でも十分だとは思うけど。
0206名前は開発中のものです。2010/05/16(日) 11:45:44ID:NuNLq90W
おk
やってみます
0207名前は開発中のものです。2010/05/16(日) 20:12:12ID:Mt4zzMS2
速度2次カーブにすると位置3次カーブにならないか?まあ別に構わないかも知れんが
速度線形変化でも位置2次カーブになるから十分では、て書いてるか
0208名前は開発中のものです。2010/05/16(日) 22:17:49ID:at5RhvUQ
2次カーブにするのは速度じゃなくて加速度じゃないのか?
0209名前は開発中のものです。2010/05/16(日) 22:49:40ID:8BiW+J8Z
>>208

それだと位置4次カーブになる気がするんだがw
0210名前は開発中のものです。2010/05/17(月) 02:03:26ID:3Jv1qyWp
んだな
加速量のグラフなんて矩形の組み合わせ(変位量の時間変化が2次曲線を描く)か
せいぜいがノコギリ、三角の組み合わせ(変位量の時間変化が3次曲線を描く)だろ

で、ニトロ使用時は爆発的な速度の変化を表現がしたいんだから撃力が加わるのだから
速度のグラフがノコギリ状とかになる
        |\  
  ___|  \__
        ↑
     Impulse
この撃力が加わる瞬間に加速∞。だから加速量の時間変化のデータでニトロは表現不能
ブーストをかけるアクションでは加速量の時間変化が2次カーブになるとか童貞の戯言
0211名前は開発中のものです。2010/05/17(月) 12:29:51ID:VKIJz+j/
V=V0+a(e^-V0)t
0212名前は開発中のものです。2010/05/17(月) 13:15:44ID:hhbkvUpU
その式なんか意味なくない?aにはどんなデータを入れてくの?
それでv(t)をプロットするとどういう絵になるの?
0213名前は開発中のものです。2010/05/18(火) 11:30:55ID:c2mGzZRO
は?
アフターバーナーでF=ma、つまり噴射力aの噴射掛けたとき
__| ̄ ̄ ̄|__
どんな速度変化するかくらいわからんの?
0214名前は開発中のものです。2010/05/18(火) 17:06:37ID:JtzuDgru
何の話をしてるのか知らんけど
リッジとかマリオカートみたいなゲームのブーストとかニトロのお話が前提なら
「アフターバーナーでF=maガー!」とかあんま意味ねーぞ。。。
一定の外力を加えテテーなんて力学モデルで運動性能を表現しねーからな

つーか>>211の式はなんだ?
「アフターバーナーでF=maガー!」のお話から導出できるのか?
0215名前は開発中のものです。2010/05/18(火) 17:37:35ID:JtzuDgru
>>210
ブースト発動と同時に急激に増速させる場合を言いたいのは分かるが
その速度曲線はさすがにカクカクしすぎだろw

矢印の先っちょが鋭角(に近い)なのは分かるが、その他の部分
(ブーストONの後→速度ピーク→ブースト切れ→減速→平衡状態)
は滑らかにしてあげようぜ
0216名前は開発中のものです。2010/05/18(火) 17:54:00ID:5nBqEoTn
相手にするなって
0217名前は開発中のものです。2010/05/18(火) 18:25:43ID:/gIyOG+p
どうでもいい。
0218名前は開発中のものです。2010/05/18(火) 18:42:21ID:wW09DH7M
>>213
アフターバーナーでF=maと>>211がどう繋がるのか説明してくれ
>>215
悪い。画像張るの面倒だったんで適当な図になっちゃった
0219名前は開発中のものです。2010/05/18(火) 18:48:39ID:En+wW39N
>>210>>204がどうつながるのか説明しろよ
0220名前は開発中のものです。2010/05/18(火) 21:42:15ID:wW09DH7M
つながってるかどうかは質問者の>>204に聞けばいい
0221名前は開発中のものです。2010/05/18(火) 23:24:11ID:9Ai3No3x
表現力の不自由なAA図と表現力の不自由な数式とエスパーバーナーまで読んだ

>>208:boostの加速は2次関数で与える ←  誰がこんなの調整すんだよ
>>211:V=V0+a(e^-V0)t          ←  何がしたいのかよくわからん
>>213>>211は一定の力を加えるAB  ←  (^q^)

ネタじゃないならそろそろ病院を紹介されていい頃
0222名前は開発中のものです。2010/05/19(水) 21:58:24ID:C8/hyd45
V=V0+a(e^-^0)t
0223名前は開発中のものです。2010/05/19(水) 22:02:33ID:0vnZ25zO
>>222
かわいいなw
0224名前は開発中のものです。2010/05/20(木) 11:36:45ID:apdzZZbp
お前らV=V0+atすら知らんの?
aが無限大とか撃力とか、ハエ叩きされたハエかっての?
0225名前は開発中のものです。2010/05/20(木) 17:20:50ID:nai7se7C
物理君は本当に頭が悪いんだね
0226名前は開発中のものです。2010/05/20(木) 22:48:11ID:1LTozyGW
だから低学歴にだけはなるなとあれほど…
0227名前は開発中のものです。2010/05/21(金) 00:02:21ID:EAZm4PCN
質問があります。
物理演算エンジンのBox2Dを使ってみようと思い、「Box2D v.2.0.1」をDLしました。
開発環境はVisual Studio 2008を使っています。
ビルド、インクルード・ライブラリのパス通しを終えたので、
自分でプロジェクトを作り、付属のHelloWorldサンプルをコピペしてコンパイルしたところ、
error LNK2019: 未解決の外部シンボル "public: __thiscall b2World::~b2World(void)" (??1b2World@@QAE@XZ) が関数 _main で参照されました。
といったエラーが8個出ました。
ところが、付属のプロジェクトファイルごとのサンプルをコンパイルするとちゃんと通りました。
プロジェクトの設定の問題だと思い、真似をしてみたのですが警告が消えただけでした。
何故エラーが出るのでしょうか?
読みづらいかもしれませんが、お願いします。
0228名前は開発中のものです。2010/05/21(金) 02:12:28ID:HGqTcDLB
リンクするライブラリが足りてないんでしょ
02292272010/05/21(金) 20:49:08ID:+j1c2qe3
>>228
レスありがとうございます。
「ライブラリのパスは通してるはずなんだけどなあ」と思いながらも、
追加の依存ファイルに.libを全部入れるとコンパイル通りました…
これでようやく前へ進めます。ありがとうございました。

話が変わりますが、Box2Dのスレって需要ありそうなのに立ってないですよね?
0230名前は開発中のものです。2010/05/21(金) 21:35:39ID:LJkfxhKt
PhysXで検索してヒットするスレが物理系のライブラリ全般の
話題を扱ってた気がする。
0231名前は開発中のものです。2010/05/23(日) 02:28:09ID:O0jKcW+/
立体視でゲームを作りたいのですが
どこから手をつけていいのやらわかりません
NVIDIAのOpenCL SDKで出来そうな雰囲気がしましたが英語がさっぱりで・・・
0232名前は開発中のものです。2010/05/23(日) 13:20:28ID:Iw2bx+DL
なんでOpenCLなのかよく分からんが、どうせステレオ画像から
三次元立体復元するのが人間じゃなくて計算機の話をしてんだろ

三次元立体復元の役割が人間様なら、ステレオ画像さえ与えれば
あとは脳みそ様が頑張って処理してくれる。OpenCLの出る幕ないだろ

裸眼の立体視(並行法とか交差法)のステレオペアの作り方なら
基本的には左右の目のようにカメラをふたつ並べりゃ済む話だろ

あとはNVIDIA 3D Visionとかに対応させる場合のコツとかは
stereoscopic game development とかでググれ
http://3dvision-blog.com/things-that-hurt-stereoscopic-3d-gaming-according-to-nvidia/
http://developer.download.nvidia.com/GPU_Programming_Guide/GPU_Programming_Guide.pdf
http://developer.download.nvidia.com/presentations/2008/GDC/GDC08_stereo-web.pdf

英語さっぱりとか却下だろ
0233名前は開発中のものです。2010/05/23(日) 22:09:57ID:O0jKcW+/
>>232
立体視画像ではなく立体視ゲームを作りたいのですが
0234名前は開発中のものです。2010/05/23(日) 22:18:07ID:eSuvQJyq
>>233
おいおい、>>232に十分すぎる親切なヒントが出てるじゃん。
リンク先のGDCの資料ちゃんと見たか?
ゲーム製作用の資料だろ。
これ見て分からないなら諦めた方がいいぞ。
0235名前は開発中のものです。2010/05/23(日) 22:21:28ID:HpZ+f9l5
英語がさっぱりらしいから読む努力さえしてないんだろ?
だからあんなトンチンカンな答えになる。
0236名前は開発中のものです。2010/05/23(日) 22:21:56ID:eSuvQJyq
ん?もしかして「立体視をさせるゲーム」が作りたいってことかな?
だとしたらスマン。
0237名前は開発中のものです。2010/05/23(日) 23:40:22ID:O0jKcW+/
>>234
すみません
上の文章からプログラミングじゃなくて立体視の仕組みについて書いてあるんだろうと思ってスルーしてしまいました
読んできます

>>236
・・・すみません
させるってよくわかんないです
日本語ムズカシイorz
とりあえずNVIDIAの3DVisionを使って
眼鏡を掛けてプレイするアクションゲームを作りたいと思っています
構造的には右目用と左目用の映像を交互に映していて
眼鏡の方もそれに連動して左右交互に目隠しをしているようなので
映像を交互に映すのに使う関数とか眼鏡とシンクロさせる方法とかが分からず
ここで質問させていただきました
02382322010/05/24(月) 01:30:55ID:BKn9pBLc
>>237
> 上の文章からプログラミングじゃなくて立体視の仕組みについて
> 書いてあるんだろうと思ってスルーしてしまいました

ないわー。こんなの却下

> 眼鏡の方もそれに連動して左右交互に目隠しをしているようなので
> 映像を交互に映すのに使う関数とか眼鏡とシンクロさせる方法とかが分からず
> ここで質問させていただきました

ドライバー側で勝手にやってくれる。上の資料にもそう書いてあるだろ。
君はまずメガネセットと対応してるLCD買ってこいよ。で、3D Vision対応を
謳ってない既存のゲームがどう映るのか確認してからまた来いよ
0239名前は開発中のものです。2010/05/24(月) 09:58:45ID:N6OiCy6u
英語だと、自分の検索能力が激減するんだよなあ。
なんとかしたいぜ。
0240名前は開発中のものです。2010/05/24(月) 11:13:22ID:Aw9SMi/v
「立体視をさせるゲーム」

立体視出来ないとエロ画像に見えないマジカルアイとか
0241名前は開発中のものです。2010/05/24(月) 15:00:40ID:KWS9dvhT
自分に対する回答を読まずに続行するとか失礼すぎるだろこいつwww

もうスルーしろよ、こんなのがどんどん来るようになるぞ
0242名前は開発中のものです。2010/05/24(月) 16:24:20ID:RUAMteAV
読みもせずには、本当に酷い。
0243名前は開発中のものです。2010/05/25(火) 22:13:20ID:ycsTNvSI
一般的に同人ゲームで許容できる必要スペック(60fpsが維持できるCPUの下限)
ってどれくらいでしょうか?

Athlon64X2の2.7GHzでは何とか60fps出てたんだけど
Duronの850MHzでテストしてみたら20fpsになってしまいました。
0244名前は開発中のものです。2010/05/25(火) 23:16:26ID:R0x1BRG0
今時Duron使ってる人はおらんでしょう…。
アクションゲームならPen4 2GHzぐらい要求してもいいんでね?
0245名前は開発中のものです。2010/05/25(火) 23:23:51ID:eLlQS5GQ
2Dの物理エンジンなんて,誰が使うんだよ
って思う割には,結構ありますよね
0246名前は開発中のものです。2010/05/26(水) 00:00:39ID:EIrQpvew

0247名前は開発中のものです。2010/05/26(水) 17:33:29ID:slu1m63Z
>>243
PCゲームに一般的は無いからなFPSゲーマーとノベルやADV専門のギャルゲーマーじゃ雲泥の差
もう何年くらい前のPCまでフォローするか時期で考え自分で足切りを決めるしかない
参考までに
2003年9月 AMD Athlon 64
2005年5月 インテル Pentium D
2005年6月 AMD Athlon 64 X2
2006年1月 インテル Intel Core
Athlon64X2自体が5年前に出たCPU
ノベルみたいなジャンルじゃなきゃ世代的にデュアルコア以前は切ってもいいくらいの時期になってる
0248名前は開発中のものです。2010/05/26(水) 17:52:36ID:HsSOHU3N
自分が作りたい物作って、その結果60fps満たす最低の物を推奨環境としたらいいのに。
動かしてもらって、fps報告掲示板でも作れば情報集まるだろ。
0249名前は開発中のものです。2010/05/27(木) 08:26:00ID:gxelTLt4
3Dダンジョンゲーが作れるフリーのソフトってないですかね?
欲を言うと、高低差のあるダンジョンが作れると嬉しいんですが。
0250名前は開発中のものです。2010/05/27(木) 09:29:47ID:FpjrTKOU
Wizライクの製作ツールならフリーで何種類かあるが
高低差っていうのがまったく判らない
特殊な仕様ならフリーでもシェアーでも難しいだろうから
贅沢言うほど自分で作るしか無くなる
0251名前は開発中のものです。2010/05/27(木) 09:33:11ID:aCWomQHN
>>249
Unity、UDK、DarkBASIC、etc...
0252名前は開発中のものです。2010/05/27(木) 10:51:04ID:gxelTLt4
>>250
ここで言いたかった高低差は、部屋にあるロフトに登れたり、
いま来た道の上に架かってる橋を通れたり、同一マップ内で
上下の移動ができるってことなんだ。
分かりにくくて申し訳ない。

>>251
ありがとう。
調べてみます。
0253名前は開発中のものです。2010/05/30(日) 03:51:12ID:S8BJ4LqX
DirectXの勉強を1年間やってきたが
コレ単体でゲーム作るのは困難だということに気がつき、ゲームエンジンを利用することにした。
ちょっと聞きたいんだけど、ゲームエンジン使用するときDirectXの知識って役立つ?
0254名前は開発中のものです。2010/05/30(日) 05:03:11ID:HbgM5xDQ
>>253
知ってたほうが何かといいよ。
オープンソースエンジンなら、DirectX知ってれば自分で改良できるし、使うだけでも特性を掴みやすい。
まあ悩んでる暇があったらサンプルでも弄った方がいいよ。
0255名前は開発中のものです。2010/05/30(日) 14:35:51ID:7vBQnTZH
オープンソースのゲームエンジンを使用しようと考えているのですが
IrrlichtとCrystalSpaceどっちがいいと思いますか
0256名前は開発中のものです。2010/05/30(日) 14:47:43ID:8KHYj64L
すみません。
「モンスターなどの移動体に衝突したら円を描くように弾かれる」という機能を実装したいのですが、方法が解りません。
レイを飛ばし凸凹な地形を高さ通りに歩かせる・4分木で衝突判定を削減する という事は現状出来るのですが・・

4分木で移動予定座標の判定だけを取るとガクンと進めなくなり操作性が非常に悪く、
敵の座標に円を置いてレイで判定しようかと思ったのですが
1つのVertexBufferに形状を動的に書き込む事はとても難しそうかつ、何か他に良い方法が有りそうに思えて・・。
どう実装すれば良いものなのでしょうか・・?
02572562010/05/30(日) 15:23:52ID:8KHYj64L
そんなややこしい事をしなくても三角関数使って円周の座標計算して適当に左右に散らせば
そんな感じの動きにできるのかな・・自己解決できるかもしれません、失礼しました、
0258名前は開発中のものです。2010/05/30(日) 16:34:22ID:su9YXlO9
>>255
比べるならOGREだと思うけど、その2つならIrrlichtかな。
0259名前は開発中のものです。2010/05/31(月) 10:44:58ID:BTSw9VY2
大きなマップのデータファイルを作って
プレイヤーが移動するたびに動的にマップデータを読み込んで
マップを表示するようにしたいんですけど
マップを実際に表示するためのデータはどう作るのが理想的なんでしょうか

最初はマップ1マス毎の構造体を作ってそれをリストにして
プレイヤーが動く度に見えなくなった列のマスを廃棄、新しい列のマスをマップデータから読み込み
とやっていたんですけど
いちいち開放、確保をやるのも馬鹿らしかったのと、見える範囲のマスの量は一定なのだから
配列で作ったほうが良いと思い作り直し始めたんです
でも考えてみると今の書き方だとリストにせよ配列にせよ
表示するマップデータを1列変えるだけで相当な条件分岐を使ってるんですよ

マップファイルから取り込んだ新しく追加する1列に含まれるマス数
                   ×
要らなくなり、取り替える必要のある1列に含まれるマス数
                   ×
要らなくなり、取り替える必要のあるマスを現在の表示マップデータから1マスずつ検索する為の分岐


毎Fごとにこれをやるのは結構な負担になると思うのでどうにか良い方法はないかと思ってるんですけど
自分の頭では思いつけませんでした
良い方法があったら教えてもらえませんか?よろしくお願いします
0260名前は開発中のものです。2010/05/31(月) 13:19:29ID:V4wY+c/3
>>259
どのくらいのマップ?1マスのバイト数は?
0261名前は開発中のものです。2010/05/31(月) 13:38:41ID:V4wY+c/3
どうしてもファイルから読み込まなければならない場合、マスの集合体となる
データセットを9個作りそれを3×3に配置する。データセットは1画面をカバー
できる情報量を持たせる。
1 2 3 4(座標)
×□□□
×□■□  ■プレイヤーキャラがいる場所
×□□□
プレイヤーキャラが移動し、となりのデータセットのマスに移動した時点で
1 2 3 4
□□□×
□■□× (左に移動
□□□×
データセットの中身を変更する。X座標4のデータセットはX座標1のデータセットに
上書きする。画面表示時の読み出しはプレイヤーキャラの位置からどのデータセットの
どの位置のマスを参照するかを計算によって特定する。
0262名前は開発中のものです。2010/05/31(月) 13:41:16ID:V4wY+c/3
データセットがマップのどの位置の情報を持っているかをバッファに納めておくと良いだろう。
データセット変更のタイミングを工夫すればプレイヤーがセットの境界で後戻りした場合
など余計なファイルアクセスを軽減できる。
0263名前は開発中のものです。2010/05/31(月) 14:06:35ID:BxJvMFWg
2Dなら普通に平野=1、森=2、……形式のバイナリデータでいいんじゃないの。
マップの幅と高さはヘッダに入れるか別途管理しておいて、
1マスごとにnバイトずつpeekとかで読込み、列と行の2重ループで展開するだけ。

■ヘッダ部:…54… (列と行のサイズ。他にレイヤー数など)
■データ部:00700117112272233733
■展開:(実際は番号に従ってチップ画像を表示)
00700
11711
22722
33733
■実際の処理:
for(row=0:row<=rowMax:row++){
 if(表示画面の範囲外){ continue; }
 for(col=0:col<=colMax:col++){
   if(表示画面の範囲外){ continue; }
   cell=(row*colMax)+col; //何マス目か
   chip=ヘッダバイト+(nバイト×cell); //そのマスのチップ番号
   // 以下、chip番号に該当する画像をnマス目の部分に表示
 }
}

あと普通はマップデータをファイルから読込むのは画面切替の時とかに一度だけで
スクロールごとにロードなんてしない。
0264名前は開発中のものです。2010/05/31(月) 14:29:15ID:BxJvMFWg
すまん、↑普通はと言ったのを念のためフォロー。
確かにぐぐるマップみたいに分割読み込みすることは場合によってはあり得るけど
初質だし、そういう凝ったことがしたいわけじゃないだろうと思ったから
普通のRPG程度のデータなら問題ないはずだし、いちいちファイルアクセスするのは
遅くなるだけだから無闇にロードはしない方がいいぞ、って意味
0265名前は開発中のものです。2010/05/31(月) 14:43:01ID:BTSw9VY2
>>260
マップの大きさは一辺が8185です。
1マスのバイト数は8バイトと少し大きめのファイルになっています。
ちょっとメモリ上に置くには大きすぎるのでファイル読み込み式にしたいです

>>261
実は同じような感じでマス16個(4×4)で構成される構造体を作り
更にプレイヤーの歩くモーションのループ処理の直前にマップ情報読み込み判定を付けることで
毎回の読み込みをさせないようにしたことはあったのですが
その方法だとある特定のフレームにだけ高負荷を掛ける事になり
後々に作る他のシステムとの相性によってはゲーム中に違和感がでる
フレームの遅延が起きそうだったのでちょっと考えてたんです
情報を小出しにするようなマネをしてごめんなさい

>>262
上の方法でやった時はunsigned int の上位2バイトにx、下位2バイトにy座標を持たせたデータを使っていました
0266名前は開発中のものです。2010/05/31(月) 14:52:46ID:/JCbAvCV
>>265
負荷もなにも、読み込み処理は別スレッドでやるのが当然だろうに。
0267名前は開発中のものです。2010/05/31(月) 15:30:10ID:BTSw9VY2
マルチスレッドは単独CPUでも使えるんですね
アドバイスありがとうございます

読み込み時間を考えると
4×4よりはID:V4wY+c/3さんの>>261のように集合マス構造体も大きくした方が良さそうですね
0268名前は開発中のものです。2010/05/31(月) 20:48:49ID:SBpXG6MJ
切り替えマップは逐次読み込んでもいいけど
スクロールマップは一旦読み込んで置いた方がいいのではないかと素人考えで言ってみる
0269名前は開発中のものです。2010/05/31(月) 22:08:54ID:T5iWUvHv
>>261
この方法いいなぁ!
勉強になった!
0270名前は開発中のものです。2010/06/01(火) 11:05:26ID:Po8f4zyx
>>269
すまん、これ以外の方法を思いつかないんだが、何かあったら教えてくれ。
全部持つ以外で。
0271名前は開発中のものです。2010/06/01(火) 13:26:43ID:YH1CnpGo
どうでも良いけど、条件分岐は論理演算である程度速くできるんじゃね?
まあ今のPCだと、コンパイルする言語ならIF文が多重になっても全然問題ないんだが。
画面への書き出しや画面バッファへの書き出しを工夫した方が、1ループのIFを数十回減らすより余程高速化に貢献するはずだから。
例えばシューティングで敵が大量に出たときに重くなるのは、各敵個体の条件分岐や移動計算であることはまずない。普通は、多数オブジェクトの描画が原因だ。

どこを高速化するべきかを間違っちゃいけねえよ。
0272名前は開発中のものです。2010/06/01(火) 13:42:31ID:YH1CnpGo
×コンパイルする言語なら
○ネイティブにコンパイルする言語なら

だな
念のため
0273名前は開発中のものです。2010/06/01(火) 14:29:31ID:7aLzTzAN
>>268
そう思ってマップの大きさを聞いてみたんだが、かなりでかい。
壮大というか、ダンジョンが要らないなと思ったりして。
ナイトロアーとザナドゥをやって以来、ダンジョンが大嫌いになった。
0274名前は開発中のものです。2010/06/01(火) 15:09:27ID:c3fpYBen
マップのでかさもさることながら、1マス8バイトって何入れたらそうなるの?
0275名前は開発中のものです。2010/06/01(火) 18:33:51ID:dU/tTxr1
>>274

>8バイト
そこは別に普通じゃね?
もうちょっと圧縮できそうな気もするけどさ。

0276名前は開発中のものです。2010/06/01(火) 23:52:22ID:c3fpYBen
マジか、普通なのか。
画像識別用2バイト、あとはフラグ用に1か2バイト程度、しか自分の考えでは思いつかない。
0277名前は開発中のものです。2010/06/02(水) 00:13:38ID:Mt7heWAJ
その広大なマップをいくらかに分けてスクロール+切り替え方式にする方法もある
切り替え方式を切り替えスクロールにしてもいいし、SFC版ゼルダみたく
で、もちろん読み込むタイミングは切り替え時ね
0278名前は開発中のものです。2010/06/02(水) 00:14:30ID:mynbMMdD
やっぱマルチスレッドを使うのが常套でしょうか??
0279名前は開発中のものです。2010/06/02(水) 01:34:19ID:OuftsG6g
>>278
ある程度のサイズを随時読み込みで、しかもフレームを一定に保ちたいなら当然かと
0280名前は開発中のものです。2010/06/02(水) 09:41:28ID:LPPCfpZ8
>>271
描写関連ですか
その辺のことについてはまだ詳しく調べていないのでなんとも言えないのですが
ある程度のテンプレ的な描き方があるのではないかと勝手に思っています
それに本当にそこまでやるならライブラリとかアセンブラ?とかも弄る必要があるんですかね
ちょっと今のレベルではそこまでは無理かなと思ってます

>>274
地形の種類
完全固定オブジェクト
仲間道ノード識別ID
仲間道ノード番号
敵道ノード識別ID
敵道ノード番号
動物道ノード識別ID
動物道ノード番号

を考えています

ノードを使ったルート検索ならリスト構造の方が適当かとも思ったのですが
複雑に入り組んだ道同士が交錯しているところで道を検索する必要があったとき
検索に時間が掛かるような気がしたので
いっそのことメモリ上の仮想空間に直接ノードを配置しようかと思い、タイル情報に追加しました
0281名前は開発中のものです。2010/06/02(水) 11:20:42ID:OuftsG6g
>>280
申し訳ないが、お前は基本的なことがわかってないせいでなんでも大袈裟に考えすぎのように見えるわけだが
お前が言っている範囲までのマップがスクロールする試作品は、普通は数日で作れる代物だろう
作ってから時間計測の仕組みを仕込んで、どこで負荷がかかってるか調べて、そこを速くするのが常道

物も作らずに妄想でどこが悪くなるか考えるのは時間の無駄だ
0282名前は開発中のものです。2010/06/02(水) 12:13:14ID:t3WFEQMw
>>280
マスごとに移動コストを持つタイプじゃない訳ね?
そうだとしても、その8バイトの内訳の意味がわからない。
ゲーム自体でどう考えてるかわからんし。

しかし、>>281が言うとおり、作ってからでも良いような。
0283名前は開発中のものです。2010/06/02(水) 12:38:22ID:LPPCfpZ8
>>259>>265で言ったのも含めて既に4回作り直していますし
自前でFPSを算出する関数、一定の範囲の処理に掛かる時間をμs単位で計測する関数も既に作ってます
それでいつも試作品を動かしているうちに全く違った方法が思い浮ぶんです
一度壊すたびにまたほぼ1から作り直しているので
どうせなら作る前にもっとよく考えてから作ろうと思ったのですが・・・
0284名前は開発中のものです。2010/06/02(水) 14:36:13ID:22LxRzfJ
ここは精神病の治療すれじゃないよ。
0285名前は開発中のものです。2010/06/02(水) 15:12:43ID:t3WFEQMw
>>259のようなやり方で、1フレーム毎に読まなきゃいかんってのがよくわからんなぁ。
マップチップのサイズはどれぐらいで、一回の操作でどれだけ移動するんかなぁ?
>>280のデータ構造を見ると、仲間と敵が同時に移動するんだろうけど、TD系のゲームなんかな?
進軍ルートが決まってたりするやつ?

どういう事がしたくて、こういうデータ構造にしたかが見えないので、
みんなもアドバイスしにくいんだと思う。

識別IDと番号の意味も説明してくれたらわかりやすいのかもしれん。
0286名前は開発中のものです。2010/06/02(水) 15:57:43ID:aA2EROmj
マップデータを頻繁に読み込むのはありえんだろ。ヒープに全部確保しといて参照するのではどんな不都合があるんだ?
0287名前は開発中のものです。2010/06/02(水) 16:08:41ID:t3WFEQMw
>>286 >>259-265ぐらいまで読んでみたら?
普通のマップサイズだったらそれで行けるとおもうけどな。
0288名前は開発中のものです。2010/06/02(水) 16:10:05ID:NndM2J5d
マップサイズを減らす方向で考えてみてもいいんじゃないだろうか
なんでそんなでかいんだよ
0289名前は開発中のものです。2010/06/02(水) 17:07:47ID:NwVSgvHR
そんなものゲームのデザインによるんだから、議論の対象にしてもしょうがないだろ
0290名前は開発中のものです。2010/06/02(水) 19:13:43ID:mynbMMdD
>>279
マルチスレッドはどの方法で行っていますか?
調べたところ、以下のようなやり方があるようですが・・・

ttp://www.daccho-it.com/program/WinApi/thread.htm

・Win32API関数(windows.h)
・マルチスレッド対応ランタイムライブラリ(process.h)
・マルチスレッド対応ランタイムライブラリ(process.hのex系関数)
0291名前は開発中のものです。2010/06/02(水) 19:29:55ID:OuftsG6g
>>283
>>290
言ってることがかなりおかしいぞ
1から作り直す必要がない
各処理をクラス化(モジュール化でもいい)してれば、
処理の変更はそこだけ書き直せばいいのに、全部書き直すって何だ?

4回も試作品を作ったのに、今まで満足に動いたのは1個もなかったのか?
ちゃんと動いた物があるのなら、なぜ頓珍漢な質問を繰り返す?
だいたい、動作速度に不満があり、遅延箇所を割り出す仕組みを実装してるというなら、
直す具体的な方法を自分で思いつくはずだろうが

はっきりと疑念を言わせて貰えば、動作する試作も作れてないうちから
グズグズ妄想しては質問してるようにしか見えない

マルチスレッドは自分がバグ無しで実装できそうなのなら何を選んでもいいが、
そこまで不安なら適当な入門書を買って、書いてあるとおりにやれよ
0292名前は開発中のものです。2010/06/02(水) 19:48:26ID:t3WFEQMw
聞きたいことだけ聞いて、聞かれたことには答えない感じか。
作ってれば、なんでそう考えたかまで説明できるモンだけどな。
0293名前は開発中のものです。2010/06/02(水) 21:01:20ID:tvDOvuiS
何でおまいらそんなに噛み付いてるんだw

でも俺も気になるんだが
ゲーム内容がどうあれ、一辺8185サイズのマップなんてプレイヤーは把握しきれないから
その時点で何かしらの分割を考えるべきだったし
ましてそのサイズの中で毎フレ−ム経路探索してたら遅くなって当たり前のような。
経路探索やったことないから俺も素人考えだけどさ。

やりたいことは色々あるんだろうけど
自分の技術で実現可能な範囲に仕様を落とし込むのも重要だと思う
FFとか作りたくても個人ではそこまで出来ないのと一緒
0294名前は開発中のものです。2010/06/02(水) 21:03:48ID:ptt3Ncut
>>293
噛みついてるつーか、
質問に答えて貰えば、礼も言わずに次のレスで後出し情報+追加の質問

マナー的にイラっとする人物ではあるよな
■ このスレッドは過去ログ倉庫に格納されています