シューティングゲーム製作技術総合 3機目
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/06/16 07:45ID:u0+hin61それは「シューティングゲーム製作」・・・。
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!
ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
■前スレ
シューティングゲーム製作技術総合 2機目
http://pc5.2ch.net/test/read.cgi/gamedev/1073736474/
0769名前は開発中のものです。
04/07/28 18:58ID:dmdC2EF1境界については承知、あくまで理論値ね
あとflipについても当初はバックバッファ取ってたけど、765で書いたように一旦
テンポラリ用サーフェースに全部描画する事からバックバッファのメリットが無いんで廃止
0770名前は開発中のものです。
04/07/28 19:09ID:H/vRL8q2まぁ、この辺は人によるだろうからべつにいいが
flip使うことによってbltの回数が減るから結果高速化もされるだろう
0771名前は開発中のものです。
04/07/28 19:34ID:4ZqqyUtnそのぐらい自前でやれ
0772名前は開発中のものです。
04/07/28 19:50ID:MXXa145y0773名前は開発中のものです。
04/07/28 20:27ID:FasYvgpj0774名前は開発中のものです。
04/07/28 21:02ID:ySsugwZ4何が悲しゅうて、糞遅いVRAM直アクセスなんぞせにゃならんのよ。
0775名前は開発中のものです。
04/07/28 21:06ID:NEcinFeihttp://dictionary.goo.ne.jp/search.php?MT=surface&kind=ej
http://dictionary.goo.ne.jp/voice/s/00090042.wav
0776名前は開発中のものです。
04/07/28 21:07ID:NEcinFei0777名前は開発中のものです。
04/07/28 22:19ID:q9+vy6FUシステムに置いてアクセスするのが普通じゃないのか?
VRAMにはプライマリのサーフェスしか置かない。
今更こんな話題出してもしかたないか。
0778名前は開発中のものです。
04/07/28 22:35ID:ySsugwZ4そうなると
ハードウェア能力が使えない→DirectDrawを使う意味が無い
0779名前は開発中のものです。
04/07/28 22:36ID:q9+vy6FU画面占有ぐらいしかないだろ。
0780名前は開発中のものです。
04/07/29 01:07ID:7aZkqG6Iまあそういう間違った発音のまま日本語に溶け込んじゃった言葉は
他にもあるけど…アベレージとか。
0781582
04/07/29 03:40ID:lMfFyPXc>ハードウェア能力が使えない→DirectDrawを使う意味が無い
いいえ、それは一概にはいえません。例えばHALデバイスで
キャラクタ単位でVideoMemory→VideoMemoryでカラーキー転送(Blt)する手法と
ソフトウェアレンダリング後SystemMemory→VideoMemoryで転送(Blt)する手法では
前者のほうが高速に決まってるじゃんとおっしゃる方がたまにいるのですが
これはアーケード的な低解像度で2DSTGを作る場合は当てはまらない場合が
多いです。ベンチを取って確認したほうがいいと思います。
前者において、HALデバイスよりHELデバイスのほうが高速になる場合
アプリケーション側コードでソフトウェアレンダリングすることが速度的に
特別不利になるようなことは稀です。
0782582
04/07/29 03:57ID:lMfFyPXcシステムメモリ上でソフトウェアレンダリングするならGDIでDIB作って
BitBltすんのと変わらないじゃんって話でしょうか。
一応、DirectDrawHALでSystem(AGP)→Videoの転送時に
アクセラレーション効く場合があります。
0783名前は開発中のものです。
04/07/29 06:47ID:nwygmTvN0784名前は開発中のものです。
04/07/29 10:42ID:jqTlhKpv「え、東京大学卒のゲームプログラマー!?へへ〜〜」と
ひれふし、正座して読んでたんです。ところが
290頁。。。「兆」は?
親しみがわきマスタ。
0785名前は開発中のものです。
04/07/29 10:44ID:jqTlhKpvさすが。。。
私が兆を飛ばさなかったのは、億以上を思い出すとき
「万、憶、兆、京、キョーダーイーン」という特撮の主題歌を
いつも頭の中で歌うからでした。
0786名前は開発中のものです。
04/07/29 11:15ID:Q7en40W6メモリも高速化してるとはいえCeleronとか2GHzこえてもかなりきっつい
PentiumM系がどんどん普及すればソフトウェアレンダリングは
どんどんやりたい放題になって楽しそうではある
ま、CPUとかの性能向上の割にビデオが向上してないってのが前提の話だったんだが
UMAでもDDRメモリつかうあたりからそこはネックじゃなくなってきたし
915はかなりのものらしいし、今後もどんどんよくなるだろう
3D方面は描画品質が一定ではなくて、アクセラレーションの効き具合が
メーカーによって様々すぎたことからソフトウェアレンダリングという方向が
一時期はやったのだが、今やビデオチップ開発してるところが一部のみでは
その考え方自体もあまり有効ではなくなってきてる
速度的にいえば320*240あたりの解像度ってことならたぶんハードウェア
アクセラレーション使うよりソフトウェアのほうが早いかもしれない
細かいスプライトを使う場合、どうしてもアクセラレーションを期待する方は
レスポンスが悪くなるものだ
ま、どっちにしろその解像度はネックになることはねーし、同人STGでも
640*480がここ1,2年で大幅に増えている事を考えるとどーなんだろうね
0787偽ガルーダ
04/07/29 12:15ID:8XXRQTFKもうちょい(数日中)で評価版?UP出来そうです。
低スペックマシンだと、テクスチャの切り替え時にフレーム落ちする。
てのは直しときたいかも。
現在は、テクスチャオブジェクトを作っといて、ポインタ切り替えてるだけなんだけど、
内部で何が起きてるかよくわからん、、。
空テクスチャ作成>サーフェイス作成>リアルタイムでサーフェイス切り替え
とかやると速くなるのかな?
D3Dの本には、そのような事が書いてあったけど、詳細はなかったので。
0788名前は開発中のものです。
04/07/29 13:58ID:asyiC/Eo小学生のときなぜか無量大数まで覚えた俺。
ガキの頃ってよく変なもん暗記した。
ところでキョーダインは最後の京をケイでなくキョウと読んで
キョーダインに続いてるわけだが、誤読だろか。
0789名前は開発中のものです。
04/07/29 15:42ID:d093hWPA0790名前は開発中のものです。
04/07/29 16:02ID:asyiC/Eo0791名前は開発中のものです。
04/07/29 17:17ID:R5ZCyEgvあれ全部ソフトウェアで処理してるって事考えればDirectDrawは最終的な出力に
使うだけで内部的にはソフトウェアで描くのがいいのかな…
正直悩む
0792名前は開発中のものです。
04/07/29 17:26ID:STuLgHbe最近はやりのエフェクトとかにこだわらなければね。
0793名前は開発中のものです。
04/07/29 17:42ID:Q7en40W60794名前は開発中のものです。
04/07/29 18:14ID:R5ZCyEgv自前Bltルーチン書くのマンドクセ('A`)
拡大縮小は諦めよう…
0795名前は開発中のものです。
04/07/29 20:42ID:5d/FLYXN0796名前は開発中のものです。
04/07/29 22:13ID:Tvmb/73sこれなら、処理は重くならないかと。
まあ、容量は食うけどな。
0797名前は開発中のものです。
04/07/29 22:14ID:v/Fa6vyv0798名前は開発中のものです。
04/07/29 22:29ID:RXKEW8cSまだわからんのですかオヤジどもはとか言ってみるテスト
今稼動してるPCで、2Dゲーに十分な3D性能持ってないものなんてもう極少数派ですよ。
2世代前のオンボードVGAでもGeForce2 MX未満くらいの性能はある。
0799名前は開発中のものです。
04/07/29 22:39ID:Q7en40W6自前bltエンジンにしろループで回すだけだろ
拡大1回でそんな遅くなるもんか?
コードが悪いだけかと
DirectXのClip使ってるとか・・・
0800名前は開発中のものです。
04/07/29 23:09ID:OtBTISgN等倍表示時で59FPS
2倍表示時で19〜20FPS
1フレーム17msで回してるので59FPSってのは遅延無しの状態
2倍表示しただけで3分の1まで落ちやがる
つまりコード自体には問題が無く、拡大Blt一発でガタ落ちしてると言える
もうぬるぽ orz
なおClipは使ってません
>800に書いた結果は開発環境でもあるLet'sNote M2R(P3-600,NeoMagic)の結果ね
今ものは試しにお遊びマシン(P4-2.4C,Radeon9600np)で試したら2倍に拡大した
ままで59FPS出たわ
しかしながらこの二つの環境の差が大きすぎてイマイチ参考にならん…orz
0802名前は開発中のものです。
04/07/29 23:21ID:rD14VYOQ単にDDCAPS_BLTSTRETCHが無いだけ、とか言うオチは?
今Caps確認したらおっしゃる通りですた
腐れNeoMagicはDDCAPS_BLTSTRETCHは持ってなかったよ
吊ってくる
‖
‖
('A`)
( )
| |
0804名前は開発中のものです。
04/07/30 00:07ID:m4sfZY0U・・・って書くとD3Dに汁って言われそうだけど、
こんな方法どうよ? ってことで。
0805名前は開発中のものです。
04/07/30 00:13ID:tgHZ+wnL元々、最終結果を拡大しようとしていたはずだから>765
まあこの場合、そもそも拡大する意味があまり無い気もするが。
0806名前は開発中のものです。
04/07/30 00:23ID:KCDLFlTq他にそういう人いるかい?
を当てこんでキャラクタ単位でも拡大縮小できるように書いちゃったんだよね…
なんでこんな事してるかと言うと、高速かつ少ないVRAMで動かしたかったから。
アーケードゲームの解像度も240x320(縦の場合)そこそこだから、これを基準に
してゲームワールドを構築したかったんだが…
0808名前は開発中のものです。
04/07/30 00:28ID:pJ2x0qQhノシ
ここじゃ激しく異端だとは思いますが,Linux + SDL + OpenGL で作ってます
0809名前は開発中のものです。
04/07/30 00:29ID:A0tDow7Hすれ違いですみませんけど、ビデオカードは何を使ってますか?
プライマリサーフェス以外のサーフェスを全てシステムメモリ上に作ったら
( ゚д゚)
(つд⊂)ゴシゴシ
(;゚д゚)
(つд⊂)ゴシゴシ
_, ._
(;:.@u@) …?!
ノートPCの方でも2倍拡大で59FPSでますた。
拡大Bltする時、どういうワケなんだかVRAM->VRAMよりもSystemMemory->VRAMの
方が速いという謎
NeoMagicって本気でクソだったんだな…
0812名前は開発中のものです。
04/07/30 00:40ID:4gsSpQo8漏れもSTG作成スレでOpenGL/dev-c++/Irrlicht Engineでやってるよ。
(これも結構異端か?w)
一応Linux/Windowsソースレベルコンパチなはづw
開発環境はPen-M1.6+RADEON 9000 Mobility(奇しくも808氏と一緒やw)
現時点での最新ver.
http://gamdev.org/up/img/925.zip
0814806
04/07/30 02:03ID:KCDLFlTqいないかと思ったら、そこそこいるんですね。
ちなみに俺はWin/Linux/Macコンパチでやってます。
(>>808氏と同じく、SDL使用)
LinuxのビデオカードはRADEON 9500使用です。
0815名前は開発中のものです。
04/07/30 02:17ID:g9DY5O5q拡大したらその分サイズが大きくなるんで
おおげさにいうと面積4倍なら速度も1/4になってもおかしくない
0816名前は開発中のものです。
04/07/30 02:21ID:GDfVfKrB↓
システムメモリ上のオフスクリーンサーフェイスに
256色→16bit色テーブルを利用してコピー
↓
プライマリにblt
0817名前は開発中のものです。
04/07/30 02:27ID:3f4Hj7oXDLしてやってみたけど重過ぎて、全然動かないぞ。
つーかPCは、実際には思ってる以上に性能差があるのかも知れない。
見た目の上でも、アーケードやコンシューマと比較するのは無理があるかも。
ゲームを作る時、実際にPCで市販されているSTGの出来と、要求スペックの程度がどのくらいか
比較しながら作るようにしている(特にSTGは)
0818名前は開発中のものです。
04/07/30 02:52ID:tgHZ+wnLそりゃ
VRAM→[CPU]→VRAMより
SysMem→[CPU]→VRAMの方が
CPUとVRAMのアクセスが少ない分速いだろ。
>817
なら自分の環境を書いてやれよ。
0820名前は開発中のものです。
04/07/30 07:31ID:2UeZA0Geあらま。ちなみに環境を教えてくれると助かる。
知っている限りでは、Athlon700+Geforce2MXで40〜50FPSだったとは聞いている。
今の開発環境(前述してるので省略)では平均300fpsぐらい。
0821名前は開発中のものです。
04/07/30 09:42ID:QKew+xGO拡縮転送にハード支援が無いからCPUがエミュレートする訳なんですが。
多分半透明とか使いたくなるからsystemに持っておいた方がいいよ。
まぁ、D3Dに任せるのが一番いいけど、その環境だとね。
大人しくメインのPCで開発すれ。
0822名前は開発中のものです。
04/07/30 10:21ID:g9DY5O5qますます3D方面やらせないほうが・・・
0823名前は開発中のものです。
04/07/30 10:30ID:EB7k4QbWなにも速いPCだからってスペックギリギリまで重いアプリにしなくてもいいんだし。
0824名前は開発中のものです。
04/07/30 11:56ID:d9hLjiT+VRAM→GPU→VRAM と直接やりたいところが
HALで対応できないので
VRAM→(AGPバス通過)CPU→(AGPバス通過)VRAMとせざるをえない
いちばんのボトルネックを二度も通っているので
当然システムから一発で送るより遅くなる。
取り敢えずオフスクリーンサーフェスをSYSTEMMEMORY指定しても十分な速度が
出せる事が判ったんでこのまま逝ってみる
0826名前は開発中のものです。
04/07/30 13:47ID:3f4Hj7oXノートPC Athlon XP-M 2200(グラフィックはオンボード)
昨日は0FPSと表示されて何も動かなかったが、ノートPCだし他に起動
しているソフトウェアが原因と思って閉じたら、24FPSまで上がった。
その時だけどんな感じのゲームかわかったし、良かったけど
なぜかもう一度ゲームだけ起動したのに、また0〜4FPSになってしまった。
0827名前は開発中のものです。
04/07/30 14:06ID:82PlyZv3Athlonノートでオンボードって何だ?
チップセットがKMほげほげならSavage系で、SiS系ならSiS315相当、
nForceならGeForce2MX相当だけど、
nForce以外は3D使ってるゲームやるようなスペックじゃないことは確かだな。
0828名前は開発中のものです。
04/07/30 14:16ID:3f4Hj7oX確かに、Savage系ではあるが。
0829名前は開発中のものです。
04/07/30 14:48ID:g9DY5O5qCPUはPentiumM/1GHzな
ゲームオーバー時だけ大幅にfpsが下がるがゲーム中は安定
0830名前は開発中のものです。
04/07/30 16:19ID:4pooxWet昼休みにDirectX版を作ってみた、良かったら試してみてくれ。
要DirectX8以上。
これで安定するとしたら、ドライバのOpenGL実装がマズーだという可能性大。
Irrlichtの問題なんだろうが、DirectX版の方が2割ぐらい速い。
妙なこだわりを捨てて、IrrlichtでのWin版はDirectXで組んだほうがいいのかorz
(define一発で済むと言えばその通りだしなぁ)
http://gamdev.org/up/img/934.zip
スレ違いな気がするが見逃してくれorz
0831名前は開発中のものです。
04/07/30 17:02ID:g9DY5O5q160くらいでるようになった
ファイルサイズも小さいしな
ただ、ボスが出ると90くらいまで、そしてその後いっきに75くらいまで
下がった後そのあとそれくらいで安定した
どっかでへんなの掴んでるんかね
0832名前は開発中のものです。
04/07/30 17:46ID:3f4Hj7oX今度は他のソフト起動してても速くなったよ
ただ、今度はGAME OVERになってずっと爆発してる(バグ?)
画面構成も良いし、おもしろくなるのでは。
0833名前は開発中のものです。
04/07/30 18:08ID:Nazpumr2ふと思ったが、そのマシンそもそもGLのH/Wアクセラレーションが
効いてなかったりなんてことない?
ttp://www.delphi3d.net/hardware/glinfo2.zip
これの結果とかどうなる?
0834名前は開発中のものです。
04/07/30 20:03ID:g9DY5O5q値としてはそれなりのものがでてるかと
0835名前は開発中のものです。
04/07/30 20:12ID:S8ZyiJN5お、動きますたか。よかっつよかっつ。
こちらも貴重なデータをいただきますた。ty
「オンボードVGAあたりだと、
DirectXはともかくOpenGL実装はサボっているドライバあり」
というのは貴重な教訓ですわ。
ゲームオーバー後進展が無いのは単にその先未実装だからじゃw
>>831
こっちでも現象は確認した。
(昼休みにチャチャっと実装したのでそこまでは確認してなかっつ)
IrrlichtのTechdemoとかでも、DirectX使用時に限り、序盤に
「君いくらなんでもそのFPSは変じゃろ?」
という値が出ることがあるので、
ひょっとするとIrrlichtのDirectXドライバのFPS計測関数のバグかもしれん。
というわけで、スレ汚し失礼。STG作成スレに帰ります。
STGを最初からみんなで作るスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1014709311/l50
0836名前は開発中のものです。
04/08/01 05:59ID:oOS3lX0B意見を聞かせてください。
0837名前は開発中のものです。
04/08/01 06:01ID:QkwBkEQMこの程度で意見求めるのはどうかと思うよ。
0838名前は開発中のものです。
04/08/01 09:12ID:erFtLwoKワロタ
0839名前は開発中のものです。
04/08/01 11:54ID:DxshZp9x君は835の書いたスレへ行くのが吉。
とりあえずどんなゲームになるのかくらいはページ作ろうな。
0840836
04/08/01 14:38ID:7PSoUSiK0841名前は開発中のものです。
04/08/01 22:34ID:A6VqDg8U自分はフリー素材頑張って探してるのですが見つからない
とくに弾発射と爆発音…
0842名前は開発中のものです。
04/08/01 23:04ID:NQrplRIM普通に「効果音 著作権フリー」とかでググるだけで
そこそこ見付かると思うけどなぁ。
0843名前は開発中のものです。
04/08/01 23:15ID:erFtLwoK0844名前は開発中のものです。
04/08/01 23:15ID:wJSba07Ettp://hp.vector.co.jp/authors/VA016505/wg.html
は入門用にいいかも。
難易度は上がるがこういうのもある。
ttp://www.vector.co.jp/soft/win95/art/se045171.html
そのうち自作でツール作ってみたいね
0845名前は開発中のものです。
04/08/02 05:56ID:5/vDCotE基本的なことで申し訳ないのですが
現在のリフレッシュレートってどうやって取得するん?
ヘルプ見ても
「ウィンドウ モードの場合0」だとか
「デフォルトの場合0」とかしか書いてない・・・
0846名前は開発中のものです。
04/08/02 06:06ID:5/vDCotE0847名前は開発中のものです。
04/08/02 09:46ID:6KrBQqzyHRESULT IDirect3D9::GetAdapterDisplayMode( UINT Adapter, D3DDISPLAYMODE *pMode );
で取れたけど。
845が使ってるDirectXのバージョンは?
0848845
04/08/02 17:03ID:5/vDCotE>>847
9でつ。
GetAdapterDisplayModeだと0とか帰ってきたりするでつ・・・
諦めて自分で計測しまつ
0849名前は開発中のものです。
04/08/02 17:07ID:5/vDCotEウチの環境ではそれでリフレッシュレートの値取れるんだけど、
ヘルプに「RefreshRate。この値が 0 の場合、アダプタ デフォルトを示す。」って書いてあったんだ。
もしかして、これはディスプレイモード指定時時にアダプタデフォルトを示すには0を指定する、って意味で
GetAdapterDisplayModeを使った時はリフレッシュレートの値がちゃんと帰ってくることが保障されてたりするの?
0850名前は開発中のものです。
04/08/02 19:54ID:ZVrAQnWv俺のも必ず0が返ってくる。
0851名前は開発中のものです。
04/08/02 21:34ID:5/vDCotE(´・ω・`)そか・・・
やっぱ0が返ってくることもあるのね
しかたないので、取得計測両方して、差が大きかったら計測値を採用、でやってみまつ。
ありがとん。
0852名前は開発中のものです。
04/08/02 23:20ID:PxCf04aE0853名前は開発中のものです。
04/08/03 10:22ID:w6lmZvQZ0854名前は開発中のものです。
04/08/03 11:06ID:E9uu1V+398では0が返ってくるけどXPや2000では取得できたような
0855名前は開発中のものです。
04/08/03 14:25ID:dqpYgfz1確かそうだよな
リフレッシュレートでは俺も以前フレームレート絡みで色々と試行錯誤したが、
結局Windows環境である限りどうにもならんと諦めた記憶が
0856名前は開発中のものです。
04/08/03 15:13ID:i9/5Anan0857851ですが
04/08/03 20:05ID:yzG7OAuX取得値60で実測値が61だったら 60を採用
取得値0で実測値が61だったら 61を採用
みたいな感じで。
>>132の言ってる内部FPS300と組み合わせたら(・∀・)e!感じ
おまいらにもおすすめですよ
0858名前は開発中のものです。
04/08/03 22:24ID:EgaWnzqR俺はまだその段階までたどりついてないけどね。
0859名前は開発中のものです。
04/08/03 22:46ID:yEXWLwNk内部300FPSでも、従来どおり乱数シードとキー入力だけで問題ないよな
0860名前は開発中のものです。
04/08/03 23:38ID:EgaWnzqRプレイヤーが何もしないとどんどん使用メモリが増えていくのが不安なので、
今作ってるのは制限時間を設けてフレーム数に限度を付けてるんだけど・・・。
制限が無いゲーム作ってる人はあまりそういうことは気にならないのかな。
0861名前は開発中のものです。
04/08/03 23:49ID:n0ELY8cl・ステージは強制スクロールで、ボスも自爆
・なので、バッファは固定長
というゲームしか想定したことがないなあ
0862名前は開発中のものです。
04/08/03 23:52ID:SahPGYuxその間に一時ファイルとかに書き出しちゃったほうが良いような。
STGだとループゲーでない限り、気にするほどでもないと思うが。
0863名前は開発中のものです。
04/08/03 23:53ID:ApIoo1110864名前は開発中のものです。
04/08/04 00:17ID:kNOx+TCrまてまて。バッファ固定長?
それってフレーム毎のボタン入力情報を保持しとくってことか?
それだとデータ量凄いことになるべ。内部300FPSでは大変大変。
あれですよ。
大体1フレ毎にボタンのON/OFF切り替わるわけじゃないんだから、
フレーム毎のボタン入力情報じゃなくて、
ボタン毎の押されたフレーム数情報を保持したほうがいいですよ。
例えば、Aボタンが300フレーム押されなくて、次に20フレーム押されたときは
A { {OFF,300} , {ON,20} }
みたいな形で保持した方がメモリ食わんですよ。
0865名前は開発中のものです。
04/08/04 00:19ID:kNOx+TCr―する
〔そうする△意義(必要)のあるものについて〕そのままの状態を持ち続けること。
・・・漏れは日本語がヘタのようだ。
みんなは保持しないで保存してくれよな。
0866名前は開発中のものです。
04/08/04 00:58ID:g4rKOr3M300FPSでも1時間記録して1MB程度なので余計な事しないほうが
いいんでわw
漏れはファイルに逐一書くほうが楽だと思うけど。
0867名前は開発中のものです。
04/08/04 01:17ID:WCQcR0bD0868偽ガルーダ
04/08/04 04:51ID:nIVrRHGrhttp://gamdev.org/up/upload.php
ボスの実装は結局出来てません、、。
どういう攻撃させるか思いつかない、、。
意見募集します。
0869名前は開発中のものです。
04/08/04 08:35ID:eH5mncuI乙。
やってみた。動作に問題はなさげ。
以下疑問質問。
・キー入力に対して自機の反応がかなり遅いんだけど何故?
・左右スクロールは無し?
・自機はセセリたんですか(*゚∀゚)=3
こっちの環境書いとくね。
AthlonXP2400+、RADEON9600pro、WinXPpro、DirectX9。
いじょ。ガンバレ。
■ このスレッドは過去ログ倉庫に格納されています