1 :
名前は開発中のものです。 :
2007/07/11(水) 08:32:54 ID:ym4V9IDi BE:611235239-2BP(0) ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!
ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
過去スレ,関連スレは
>>2-3 で。
2 :
名前は開発中のものです。 :2007/07/11(水) 08:34:55 ID:ym4V9IDi BE:565958055-2BP(0)
3 :
名前は開発中のものです。 :2007/07/11(水) 08:35:33 ID:ym4V9IDi BE:611235239-2BP(0)
4 :
名前は開発中のものです。 :2007/07/11(水) 08:36:17 ID:ym4V9IDi BE:339575235-2BP(0)
テンプレ以上。 スレ立てたの初めてだから不具合とかあったら頼みますわ。
乙
一乙
8 :
1 :2007/07/11(水) 16:40:17 ID:67XZlg51
テンプレ用意してからのがよかったね
等速運動をしているターゲットに弾を当てる * ターゲットの座標へ直線を描き到達するx,y加速度に、ターゲットの現在のx,y加速度を加える。 → 相対的な速度、座標を基準に弾を当てているので、見た目の速さ(絶対的な速度)が狂う。 どうすればいいの
具体的に
なんという不自由な日本語
おそらく、先読み弾か誘導弾を作りたいんだと見た
そしてブレゼンハムだかDDAだかを使ってるんだろ
>>10 atan2を使って角度で計算すれ
角度とかいいぜ角度とか
不自由でした。すみません、今ちょっと風邪ひいてて。 いわゆる先読み弾です。ただし、発射された後は軌道修正できないものです。 等速運動をしている物体A(初期座標 A.x = 任意, A.y = 任意, 加速度 A.accx = 任意, A.accy = 任意)に 同じく等速運動をする弾B(初期座標 B.x = 0, B.y = 0, 加速度はこれから決める)を当てる場合、 Bの加速度をまずAと同じにする。 B.accx = A.accy; B.accy = A.accy; とするとAとBの両者の相対位置は事実上静止しているので、あとはBの初期座標からAの初期座標への 直線軌道を描く加速度をBの加速度にそれぞれ足せば良いだけ。 ただしそれだと絶対的な速度を固定することができない。 * 巷に良くある誘導弾、先読み弾 誘導弾は途中で軌道修正しているので不可。 ゲームヘル2000にある先読み弾の説明だと、 事前に発射された弾の移動ベクトルを先行してしようするので、 どうしても「誘導先読み弾」と言うようなものになってしまう。 それではダメ。
つ弾道予測
>不自由でした。すみません、今ちょっと風邪ひいてて。 ワロタww 憎めない奴だな
等速運動をしている物体Aの加速度が任意とは一体・・・。 v = const なら a = 0 でなければならないわけだが。 力学の最初の方をもう一度確認したほうがいんじゃね?
やばい、加速度じゃなくて速度だった。何で今気づいたんだろう。 acc -> speedと脳内修正お願いします。
Bの速度という定義域に対して AとBが衝突する座標、という値域をもつようなグラフをイメージしてみて そのなかから求めたい弾速にマッチする点を選び出すイメージでどうよ これで実際に求まるかわかんないけど ダメだ脳が錆び付いちまってまともに論理的思考できねぇや
もちろん最終的には座標からatan2を使って角度を求めて 速度と角度という2つの値を与えて弾発射 速度と角度で弾の移動を定義するのはメジャーな方法なんでノウハウや助言も得られやすいよたぶん
>14 そのやり方でやるんなら >Bの初期座標からAの初期座標への直線軌道を描く速度 を好きなように調整すればいいだけじゃないか?
常に自機の向きに合わせて位置が変わるオプションの位置を求めたいです。 例えば自機が上を向いている状態で、座標が(x,y)で、 オプションが自機からみて(ox,oy)の位置にあるなら、 オプションの位置は(x+ox, y+oy)になりますが、 これを、例えば45度傾けた際の(ox,oy)の座標を求めるには、 どうすればよいのでしょうか?
>>22 ox2 = ox * cos(angZ) - oy * sin(angZ);
oy2 = ox * sin(angZ) + oy * cos(angZ);
座標 回転
等のキーワードを組み合わせてググれば詳しく出てくるよ。
高校あたりで習う算数の基礎くらいは今後の為にやっておこう。
書き忘れた angZは角度。 cosとsinの引数の使用にあった値に変換してくれ。 ラジアンなら double angZ = 3.141592f/180.f*45.f; 65536分周なら int angZ=65536*45/360; とかで。
>>23-24 判りやすい解説と、検索キーワードまで教えて頂いて、非常に参考になりました。
ありがとうございます。
ちょwww 解答PDF自作カコヨスwww
レポートでTeXを使ってるとこだったのでついでに作ってみた 正直やりすぎだったと反省している
イイヨイイヨー
もう見れない件について
ありがたやありがたや・・・・。
残念ながら中学レベルです
ああ、何でこんなレスしちゃったんだろう、自分でも意味が分からない・・・。 未来の自分、見てください、33のレス番号が真っ赤です・・・・・。
ID変わったと思って書き込んだら変わってなかったとかいうオチですか?
(ノ∀`)アチャー
日付が変わって30分も経ってたんだから35の可能性はないだろう、多分。
なんかしらんが萌えた
ちゃんと寝なさいw
天才か馬鹿か、現る。
つまんね
ケツイみたいなマップをつくりたいんだけど 建物を立体的に見せたいから少し傾けて作成したんだ 地面も同じ角度(視点)にしないと変かな?
>>42 どうやって描いても自然には見えるが、
ただし画面全体で統一しないとダメ。
建物を先に描いたのなら、地面もそれに合わせる。
「透視法」あたりでぐぐってみると。
>>43 トンクス!ぐぐってみたけど少し勉強が必要だな
ケツイみたいにしたいなら透視法だとちょっと違わないか。 平行投影(正射影)じゃないと。
どこにアメフト要素があるのか分からない 喧騒の街っぽくビルが写っているところを探しただけだよ
Invesco Field
背景 敵配置、敵動作 敵、弾画像 BGM タイトル画面 新しく作ろうと思うけど何からやればいい?
デザエモン買って来い
>>51 俺がやったときは…序盤は
タイトル画面(文字だけ) → 敵配置(ランダム) → 敵動作(作りこみ開始)
といった感じだったな
自分が何が好きなのか、何やりたいのかハッキリさせつつやるとスムーズかもよ
自機は無いのか
自機表示>表示されてwktk 自機攻撃>超連射ktkr 敵表示>早く破壊したい あたり判定>破壊タノシス 敵攻撃>これぞ弾幕 みたいにジワジワと楽しみながら作ってる。 タイトルとかは本当に最後だわ。
まずタイトルだろ。 タイトル決めるのに1ヶ月かかるとかザラ
じゃぁ1ヶ月作れないじゃないかw
お前頭いいな
自機が動かせるようになった時点で 超連射とか超高速スクロールとかで延々と遊んでしまう
敵が弾だせるようになると値いじって これ緋蜂より弾幕SUGEEEEEEEEEE 我に返ってこんなのよけられね〜よ。真面目につくるか
逆に考えるんだ。最高難易度ならこれでも良いと 本編と別にな
みんな割と俺みたいなことやってるんだなw なんか少し安心したぜ
最初に作った敵がラスボス
むしろ激難の1面のみ
65 :
51 :2007/07/22(日) 00:12:37 ID:nO2H0UPJ
とりあえず自機と敵一体、弾と爆発はもうできてるけど もうやる気がなくなってきた タイトル画面作るか・・・
>>65 商売じゃないからのんびりつくろうぜ
1面で敵20種類使ったら道中がにぎやかだよ
2面は速攻ボスラッシュ
グラディウs・・・
スクロールって、バックバッファどうやって用意する? まさかマップ全体をバックバッファに用意してスクロールさせないよね? マップパーツが32*32だとして、32ドット分スクロールする度に バックバッファを用意し直すのかな。 それだと32ドットスクロールする度に処理の重い部分が出来てしまうかな。
普通バックバッファは毎フレーム更新だと思うぞ
>>69 よく分からないんだけど、スクロール分の差分はどうやって追加していくの?
今の時代、32x32くらいなら毎フレーム全マップパーツ書き換えても問題ないぜ
差分を使いたいとしても普通にブリットすればよかろう・・・
マップ全体格納したって平気でしょ
> まさかマップ全体をバックバッファに用意してスクロールさせないよね?
って考え方と
> マップパーツが32*32だとして、32ドット分スクロールする度に
> バックバッファを用意し直すのかな。
って考え方併せれば
2画面分の領域で極端に重くなる部分もなくできると思うけど。
まあ、
>>71 の通りのような気もする。
あと、バックバッファって言葉使い方間違ってる気がする。
>68が俺の弟のような気がしてならないんだが・・・
アッー!!
弾幕シュー作っててモテモテなんてことはないよね、やっぱし……。
BGM生演奏でモテモテ
弾幕シュー関係ねえじゃんw
アニメデスノートはノートに文字を書く地味な動作を激しくしてかっこよく見せてる つまり激しくタイピングしたりすればモテモテ間違いなし
リターンキーを「タン!」て打つ奴見ると殺したくなる
「バアァン!!」って打てばおk
____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ <リターンキーを「タン!」て打つ奴見ると殺したくなる | |r┬-| | \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // < だっておwwwwwwwwwwwwwwwwwww | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー'´ ヽ / / バ | | l||l 从人 l||l l||l 从人 l||l バ ン ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
そもそもゲーム制作でモテる方法があんのか
ないあるヨ
何というゲームセンターあらし。
ヤツなら核戦争も停められる
____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ <「バアァン!!」って打てばおk | |r┬-| | \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // < バアァン!! | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー'´ ヽ / / | | l||l 从人 l||l l||l 从人 l||l ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 バ ア ァ ン!! ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
Gプレーン外しだな
シューティングやったことない人にやってもらうにはどうすればいいか 簡単にしただけだと見向きもされなそう
キャラなど付加価値をつける 二次創作で原作ファンに興味持ってもらう とかじゃないの。なかなか難しいと思うが。
まずはシューティング以外のゲームで有名になるって線でどうだ 洞窟物語→guxtのように
ひぐらしみたいなのを作ってから弾幕シュー作ればいいんだな!!
ネット対戦できるようにして口コミで
99 :
中坊 :2007/07/31(火) 12:26:40 ID:xXvVZWrK
質問ですが、僕はシューティングゲームを作っていまして、 そのゲームを起動しているときはどうしてもCPU使用率が100%になってしまいます。 何か良い回避方法はありますか?
僕は昨日童貞を卒業した非魔法使いなので分かりません。
101 :
中坊 :2007/07/31(火) 12:43:53 ID:xXvVZWrK
>>100 そうですか、ほかにわかる方はいませんか?
なんで回避しなきゃいけないの
>>99 なるべく、暇なときには、処理をOSに返すようにする
具体的には、余っている時間分、WinAPIのSleepをするようにする。
ただし、Sleepは精度が低いので、余裕を見て使う
Sleep();
105 :
中坊 :2007/07/31(火) 14:47:49 ID:xXvVZWrK
わかりました。やってみます。
ゲームがCPU占有してても別に問題ない気がするけど・・・
夏は困る
マルチコアなら50%までしか行かないから大丈夫じゃね?
昔のノートPCだったら、ウィ〜〜ンって、ファンが音たてて快音上げて、アツアツになって、
落ちたりすることもあったので、気を使ったものだ。
いまや、100%でぶん回しても気にならん
>>106 まあね。
行儀の悪いアプリだな。 別にいいじゃん、で済まさんでちゃんと対処しようぜ。
ウインドウモードだけは100%じゃないほうがいいかな
112 :
名前は開発中のものです。 :2007/08/01(水) 13:31:51 ID:qg+yowJt
イベント会場でノートPCをデモ用に使ったことある人なら バッテリー食わないように工夫する必要性は分かってくれるよね
sage忘れたスマン
そういう工夫のためってんならムービーでいいじゃない。 あと別にsageなきゃいけないわけでもあるまい。
ムビ流すだけならiPod置いておくだけで済ませられるんだけど やっぱ試遊できるようにしとくと反応も売り上げも違ってくるんだわ… 目の前で反応が見れると楽しい(凹む)しな 「バッテリー食わないように工夫」って書いたんだけど 大抵はほんの数行コードを加えるだけで済んでしまう話。 極端な例を出せば、DirectX使ってるシングルスレッドアプリなら Present()時にV-BLANK信号に同期させるフラグを立てるだけで 消費電力は抑えられる
試遊って近隣に迷惑かかりそうで躊躇しちゃうんだけど 実際のとこどうなんだろ。
俺の場合、誰も並ばんような一人サークルの弱小だからな 大抵はお隣さんのほうがお客がいるよ あんまし閑古鳥が鳴いてると周りが気を使っちゃうんだ 試遊可にしとくとたまに誰かが立ち止まってくれるし ちょっと遊んでくれる。その程度さ!
俺一度コントローラをコミケにもって行った事あるけど 試遊する奴いなかったから今はもって行ってない。 デモは絶対必要だけど、試遊はどうなんだろう。 一応ぜんぜん売れないサークルってわけでも無いんだが…。
痴呆イベントでしか出品したことないからなんとも… やっぱコミケだと空気がすこし違うんだろうね
なんで商の話になってるんだ
【結論】 CPUパワーを無駄に浪費して リフレッシュレート以上のフレームレートを 叩き出すことに血道をあげるのはベンチヲタだけ 普通のゲームアプリは処理時間が余ったら 大人しくOSに返上しとけと
商いの話って飽きないよね
試遊ってだめだったのか さっそくデモムービーつくるかw
デモムービーに凝り過ぎて力尽きる ↓ ゲーム配布中止。デモムービーCD配布
プログラムが動いてるとこ見ないと買う気おきないよ お試しプレイできなくてもデモループが普通じゃないかね? ムービーなんて編集でどうにでもなる つーか負荷をごまかす話の流れで騙す気まんまんだろうけど
デモムービーってアケシューとかで流れるようなプレイ中の動画じゃないのか?
プロモーションムービーだってのに、編集でどうにかするとか 負荷をごまかすとか意味がわからん。
プロモーションって言うからには、テロップとかキャラ絵とかを 編集で入れるもんじゃないの?
いまどきのシューターがそんな編集で騙されるタマかいな。
俺のムービーは無修正のプレイ映像ですよ。
>>126 みたいなのが見たがってるのがそれなんだろうし。
だいたい騙すって何をどう騙すんだ?
どうなんだろうなw
お前らが作ってるのってやっぱ超弾幕シューか?
>>133 弾幕はいろんな人が作ってるから作る気起きない。
今作ってるのは横STG。弾よりも地形と体当たりで殺す感じの。
体当たりで殺しにくるゲームはムカツクことが多い うまく調整してくれw
個人的につくってるのはチャロンタイプのTPS
>>134 確かにもう、お腹いっぱいだよな…。
弾幕シューで遊びまくったし、
作ったゲームも弾幕ばかり。
パロディウスとかするとなぜかホッとする。
そこでなぜパロなんだw
もう歳を取ったので弾幕は自分が避けられなくてつまらないんじゃよー。 目もしょぼしょぼするし
弾幕が出来ないんじゃなくて昔やってたゲームしか出来ないんだろ
なんかエスパーされてるけどずっと弾幕シューター
じゃあ俺は141を撃ち落とす固定砲台。
年を取ると体が付いて行かなくなるからな 動体視力も反射神経も判断力も落ちるし シューティング自体プレイするのが辛くなる
経験の話かも試練が俺は大学のころより今のほうが うまくなってるなあw
最近ガチで目が悪くなってて困る。ゲームの派手なエフェクトやカメラモーションについていけん。 シューティングだと、弾が当たってるときの白点滅なんかありえないって感じ。
年を取って腕がにぶったかはともかく、最近本気で難しいゲームを攻略するみたいな情熱が沸かないんだよなw 難易度ぬるめのとかアンデフみたいな見た目の凄いゲームを適当プレイとかばかりだ
ロボシューティング作ろうとしたら ドット絵がマジかけなくて進まない ロボの場合色んなモーションあるし一人じゃ無理らしい 何かラクチンにキャラチップ作れるアイデアありませんか?
ヴァルケンみたいなやつ? 3Dでやったら? もしくはそれをモーションとして書き出してそこからドット修正。 お前さんのスキルにもよるが…。
3Dはボーンとモーションだけ頑張れば後は超楽だぞ。
ボーンとモーションさえあるならオレもさっさと作り始めてるわっ ソコが一番難儀なんだろうに・・・。
それが自前でできないなら人に頼むしか無いじゃん
だから「だけ」って書いてあるだろうが。 どんだけ頭わるいんだ、おめぇ。
まあスイカでも食って怒りのボルテージ下げろよ
すいません質問です。 現在のスコアを表示したいのですが、スコアの値を各桁に分解する楽な方法ってないですかね?
ある
10で割るなりsprintfで吐くなりするだけだろ・・・。 それがいやならBCD変換でどうぞ。
やっぱりそこら辺が無難ですか。ありがとうございます
* void todec_8(ULONG value, UBYTE buf[]); _todec_8: movem.l arg1_l(sp),d0/a0 * d0.l:数値 a0:出力バッファ divu.w #10000,d0 move.w d0,d1 ext.l d1 * d1=上4桁 swap.w d0 ext.l d0 * d0=下4桁 moveq.l #10,d2 divu.w #1000,d1 move.b d1,(a0)+ * 8桁目 swap.w d1 ext.l d1 divu.w #100,d1 move.b d1,(a0)+ * 7桁目 swap.w d1 ext.l d1 divu.w d2,d1 move.b d1,(a0)+ * 6桁目 swap.w d1 move.b d1,(a0)+ * 5桁目
divu.w #1000,d0 move.b d0,(a0)+ * 4桁目 swap.w d0 ext.l d0 divu.w #100,d0 move.b d0,(a0)+ * 3桁目 swap.w d0 ext.l d0 divu.w d2,d0 move.b d0,(a0)+ * 2桁目 swap.w d0 move.b d0,(a0)+ * 1桁目 rts 68000-10MHzで1VSYNCに400回実行できるYO
160 :
157 :2007/08/08(水) 10:12:29 ID:v0DGJ57K
うちはC#なんでこんな感じに実装しました。 とりあえず現状では問題なく動くっぽいです public void DoMove() { int a = 0; int b = 0; for (int i = 0; i < NowScore.DIGIT_NUMBER; ++i) { b = (int)Math.Pow(10, NowScore.DIGIT_NUMBER - i - 1); // xのy乗の値を返す this.digit[i] = (this.score - a) / b; a += (b * this.digit[i]); } } public void DoDraw() { for (int i = 0; i < NowScore.DIGIT_NUMBER; ++i) { this.cutX = this.digit[i] * NowScore.CUT_SIZE_W; Framework.HSL.graph.SetSprite( // 引数渡してスプライト描画 NowScore.TEXTURE_NUMBER, NowScore.POS_X + (i * NowScore.DIGIT_INTERVAL), NowScore.POS_Y, this.cutX, 0, NowScore.CUT_SIZE_W, NowScore.CUT_SIZE_H); } }
一の位 = score % 10; 十の位 = (score / 10) % 10; 百の位 = (score / 100) % 10;
文字列変換して1文字ずつ取得が一番楽な気がする。 ところで他の人はこういうのって、点数変化した時だけ処理してるの? それとも毎回必ず計算して表示させてる?
いや、別に。 わざわざ冗長なことをするのが気になるだけだよ。 そのソースがどんなコードを吐くのか見えていれば誰でも思うことだと思う。
別にいいじゃん161でも
スコア表示ならせいぜい1フレームに1回だろ。 そんなところがボトルネックになったりしねーよ。
ほとんどの人はループさせて一桁目を抽出、10でわっていくんじゃないかな
とびつきひめ読本に、1フレームあたりの処理時間(16msか17msか)を ブレゼンハムのアルゴリズム使って求めるって書いてあったけど、 60fpsを正確に出そうとするとこの方法が一番いいのかな?
高精度タイマでマイクロ秒で計算するという方法がある
16mでぶん回すだけでも良いと思うけどね。 実際のところきっちり60fpsで更新するメリットって何かある?
宗教上の理由とか。 FPS周りは怖そう。 まぁたいした量じゃないし、1回書いたらつかいまわすし、 きっちり計算してる方が精神衛生上いいんで、俺はプレゼンハム使って実装したなぁ。 16msでぶん回すくらいならfloat使うかな。
Windowsで完全に60固定で回すのはムリなんだし だいたい58〜62くらいで収束すればいい。
ヒント: リフレッシュレート、同期待ち
そしてディスプレイは50Hzで動作中。
そこら辺ってどうしてる?
同期すると遅延するのでイヤン
とあるライブラリはB宗1派+2派になってたな。 VSYNC待ったあとに、タイマーで60に合わせてる。 リフレッシュレートが60未満の環境ではダメだが、 PCでそんな環境はまずねぇしな。
液晶ディスプレイが普及した今60Hz以外はほとんどないのがいい ただ、フルスクリーンのアスペクト比のほうが厄介 多少負荷がかかるが解像度を変更しないという方法もある
液晶といえど70Hzも結構ある気がする。
たとえば?
>>179 遅延なくす方法はあるから調べなさい。
GPUの動作理解していれば一発
リフレッシュレートに70とか85とか使ってる奴は殴っていい 75は、ギリギリ許す
もうそういうの考えるの面倒だから モニタのリフレッシュレートとってきてdtかけて計算しようかしら…
いまどきCRT使ってる奴ってどのくらい居るんだろ
CRTは場所とるし重いのがなぁ・・・
それに電気も食う。でもゲームには最高なんだけどなぁ… 10万円以内で買える国産の新品CRTが売り場から消えてしまって悲しい ブラウン管用ガラスを製造してた旭硝子が去年3月に撤退しちゃった 今使ってるCRTが経年劣化で少しづつ調子悪くなってきた
PC用はどうでも良いんだが、15kHzRGBが映るしっかりとしたCRTが欲しいなあw いや液晶でそれが可能ならもっと理想的か…。
去年発行された法人向けPC部品カタログにはCRTモニタの欄もちゃんとあったから まだまだ普通に売ってるんじゃないかな。 でも滅茶苦茶目が疲れるよね。
192 :
名前は開発中のものです。 :2007/08/14(火) 17:29:52 ID:OkrTpHAq
3D空間の2点を通る放物線を描くにはどうすればいいんだろう 参考になるページあったら教えておくれ 放物線を描いて飛ぶミサイルを狙った場所に着弾させたい
発射地点、各点を回転させて2Dとして計算した後にまた回転して元に戻せばいいんじゃね
ゲームプログラミングのための3Dグラフィックス数学に ちょうどそんなのが載ってた気がする。
放物線を 重力方向に垂直な面に投影したベクトル(等速直線運動)と 重力方向だけのベクトル(等加速度直線運動)に 分けて考えればいいんじぇね?
放物線は二次曲線だから、2点だけじゃ定まらない。 発射ベクトルと1点なら定まるだろうな。あとは代数の問題。 でも放物線より二次ベツェ曲線の方が簡単だと思うが。
銃や小口径の砲(迫撃砲やグレラン)は 初速の自由が利かないから 初速は定数にしてみろ 地球の自転とか完全に無視して地表は無限平面 つまり地動説を唱えろ。鉛直下方向の単純な重力場だ あとは発射点と着弾点が与えれば 仰角は算出できる。高校物理だな
×地動説 ○天動説
だれかそろそろ教えてやれよw X-Z平面は等速でおk。 X'=X0+Vx*t …(1) Z'=Z0+Vz*t …(2) (X0,Z0は発射時の位置、X',Z'は移動後の位置、Vx,Vzは移動速度、tは経過時間) Y方向(高度)は落下の式でおk。 Y'=Y0+Vy*t-0.5*gt^2 …(3) (Y0は発射時の高度、Vyは発射時の初速、tは経過時間、gは重力加速度) それぞれ自分の座標スケールに合わせて変換する。 (メートル、センチ、ドット、フレーム、ミリ病など) 何秒後に目的の地点に着地するかを決めれば(= tの最終値とX,Z方向の目的までの距離) (1)と(2)でVxとVzが求められる。 Vyも、発射と着弾の高低差とtの最終値を(3)に代入すれば求められる。 あとは、描画の時に時間を(1)(2)(3)に入れて計算すれば座標が得られる。
>>196 >でも放物線より二次ベツェ曲線の方が簡単だと思うが
質点の投射になんでベジェが楽なんだぜ?
仮にベジェで望み通りの軌跡を編集する
作業が楽だと感じてもし、そのうえをなぞって
移動する質点の速度変化は誰がどうやって
編集する?
透明なホースの中を等速で移動させたら
不自然だぜ?
ミサイルは本来「投射物」という意味で正しいが、
STGでは「誘導弾」の意味だろww
だから
>>192 の放物線というのがおかしい。
そもそも
>>192 は正確に放物線を理解しているかが怪しい。
ついでに言うと二次曲線な時点で
>>200 の速度変化云々もおかしい。
速度変化に拘るならしっかりミサイルをモデル化したほうが話が早い。
お、お、おじさんが、簡単な方法を教えてあげ発射のベクトルを与え軸ごとの速度を算出し軸ごとに空気抵抗をつけ下方向に引力をつけ先に着弾点を計算しちゃ 発射ベクトルからの計算は略。あと何か略。 VX=5.0 VY=-10.0 VZ=1.0 WHILE MISAY<0 //空気抵抗 VX=VX*0.98 VY=VY*0.98 VZ=VZ*0.98 //引力 VY=VY+0.05 //座標更新 MISAX=MISAX+VX MISAY=MISAY+VY MISAZ=MISAZ+VZ WEND //着弾点 MISACYAKUX=MISAX MISACYAKUZ=MISAZ まぁ、アバウトで、単純なケースだけど、ゲームだし、運動方程式っていうの!?を持ち出さなくてもいいん
最先端の投石型ミサイルなんだよバカッ!
てか、本当に空対地ミサイルって事でいいの?
>202 それでどうやって任意の二点を通るパラメータを与えられるんだ?
>201 >STGでは「誘導弾」の意味だろww STGの場合、誘導性を表すなら、普通はホーミングとか付ける事が多いと思う。
はいはい 射撃地点:P 着弾地点:Q 自機速度ベクトル:S 重力ベクトル:G 投射物初速:v 投射方向を示す単位ベクトル:U 着弾時間:T とすると、Q = P + (S+vU)T + 1/2GT^2 であり、 Qx = Px + (Sx+vUx)T + 1/2GxT^2 Qy = Py + (Sy+vUy)T + 1/2GyT^2 Qz = Pz + (Sz+vUz)T + 1/2GzT^2 となる。 U以外は発射する時点で決定されているから あとは普通にUについて連立方程式を解けばおk。
ごちゃごちゃと定義定義うるせぇなぁ。 そんなんだから1本も仕上げられないんだよw
あ、すまん。Tも不定だなw
おおお俺は
>>192 のミサイルってのは
弾道ミサイルとかMLRSみたいなロケット弾のことを指してるのだと
勝手に思ってたよブーストフェーズは一瞬で終わるものと近似すれば
榴弾砲とかと同じような軌道を描くから、いわゆる投石タイプかな
定義はきっちりやっておかないと後でごちゃごちゃになって困る と3本目ぐらいから真面目にやり始めた俺がきました
Uについて Q = P + (S+vU)T + 1/2GT^2 (S+vU)T = - 1/2GT^2 + (Q - P) S+vU = -GT/2 + (Q - P)/T vU = -GT/2 + (Q - P)/T - S U = -GT/2v + (Q - P)/Tv - S/v ここで U^2 = Ux^2 + Uy^2 + Uz^2 であるから、 U^2 = Ux^2 + Uy^2 + Uz^2
すまん誤爆。もう寝る!
おやすみハカセ
>>205 放物線を描くのが目的なの?192に説明してもらわんと
わからん。放物線を描いてトレースするのか、
放物線を描くように飛べばいいのか。
そもそも誰が狙うのか?プレイヤーが狙うなら、202でいいし、
敵が狙うとなると、発射ベクトルを変えて着弾点を走査して
探索しなきゃいけない。202の方針でやるなら。全探索は
無理だから、何か適当に当たりをつけるようにして、、、
まぁ、敵がという場合は、一般的に難しいからなぁ。
そもそも2点を通る放物線は無数にあるわけで、射影的に
やるにしても、もう1点、合わせて3点決めないと、放物線は
ひとつに定まらない!
216 :
192 :2007/08/15(水) 10:37:22 ID:XSfT67FS
みんなありがとう。 「ゲームプログラミングのための3Dグラフィックス数学」っていう本持ってて確かに近い式が載ってたけど、何かいてあるかわからないやw 背伸びして買った本で宝の持ち腐れだ。 ミサイルって書いたのは不味かったね。皆さんが言ってる様に投石機タイプで、その時プレイヤーがいる場所に適当な放物線を描いて着弾させたいなと思った。 打ち出すXZの角度と距離は決まってて、打ち出すスピードとYの角度は違和感でない程度であればそれほどこだわりはないです。 さて、どういう方法で作ろうかなあ
他の人が既に指摘してるみたいだけど、コリオリの力とか丸無視すれば
>>192 の質問の内容は高校物理の教科書にまんま載ってる
リア工の俺が言うんだから間違いない
リア工でもこんなスレ見るんだなあ よくわからんががんばってくれw
大学生の俺が見てるんだから、高校生ぐらいふつーにいるんじゃない?
いやそりくつはおかしい
>>218 むしろあの辺の物理・数学は現役高校生の方が有利ではなかろうか。
実際には教科書見て公式漁るだけじゃ足りなくて、 公式を導き出す過程の方が大事だ。 それができればゲーム上で保持しているデータから、 最低限の計算コストで必要な数値を求められるし、 近似で済ますときの誤差も見積もりやすい。
数学とかアルゴリズムの話とかじゃなくて 根本的にSTGなんて若いやつが作ろうと思うってことが 意外だった
do you like study "舟遊び"?
??
定期的に電波系の人が混ざり込むのがこの板の特徴。 明らかにイッちゃってる人はスルー推奨。
意訳:「俺をスルーしてくれ」
すみません誤爆しました。ちなみにこれは某曲のただの空耳です。
kwsk
誰も試遊してくれなかたwwwww
プレイすると買わなきゃいけないような気がして 遠慮しちゃうんだろう
タイトル画面でのプレイデモは大事 サラマンダのようにシステム説明があるとさらにいい 実際おいらもプレイまではしないことも多いし
コミケ組乙 売れましたか?
売れました。ありがとう。
(同人ソフト) 一本も売れなかったサークルさんのシューティング.zip
なんだそれはw
見所ある作品があったら教えてくれよ。
エーテルヴェイパーってのが面白そうだった。売り切れてたが
STG板のPCスレでやりなよ。
このスレ的に、このゲームのこう言うのはどうやったのだろう? とか、このシステムは意外と穴(良い)かもとか、技術的観点から 評価・検証ってのはダメかな? いろいろ方法があってキリがないと思うけど、いろんな意見が出てきて 面白そうなのだけど。 既に技術が出尽くしていて不毛かな? まぁ、俺自身STGに関して知識がないのでそういうのを見るのが楽しそうだなぁ と思っただけなのだけどw それこそSTG板向けかな?
ここは自分が知ってる技術だったりすると、 他の知らない人をバカにしたりするクズばっかりだから発展しないよ。 上の192からの流れをみても明らかだよ。
いやいや、これは意見が沢山出てきたほうだろw
あれは質問の仕方も悪かっただろう。
○○を作りたいがどうすればいい?系は要求仕様をある程度つめないと
回答が混沌とし収拾つかなくなる。
>>192 からの流れはもろにそう。
俺がネタを投下するときは、ここはこういう風に組んだけどお前らだったらどうしてる?
という風にしてる。
最終的にケース×ケースだと思うが、 そんな事に脇目も振らず 自分流を主張してやまないお子様がいると困るけどなw
対象スレ: シューティングゲーム製作技術総合 14機目
キーワード: どうしてる
178 名前:名前は開発中のものです。[sage] 投稿日:2007/08/10(金) 08:51:57 ID:+KC/j3SS
そこら辺ってどうしてる?
244 名前:名前は開発中のものです。[sage] 投稿日:2007/08/19(日) 19:24:43 ID:H2mNdY07
あれは質問の仕方も悪かっただろう。
○○を作りたいがどうすればいい?系は要求仕様をある程度つめないと
回答が混沌とし収拾つかなくなる。
>>192 からの流れはもろにそう。
俺がネタを投下するときは、ここはこういう風に組んだけどお前らだったらどうしてる?
という風にしてる。
意味わかんね
音楽を弾幕にうまいこと変換できないかと思っているがどうだろう?
難しい。 音に絡めるのってみんな考えるけど上手くいってるのあんまりないよね。 撃ってから実際避けるまでのラグが長く、曲とあまり同期してる印象を受けないからかな。 ある程度音楽のジャンルを絞って、楽曲構成の分析をしてパートごとあたりで切り替えてやるとどうかなーと思いつつ手が動いてない。 ちゃんと考えて自分で配置したゲームの方が面白いし、 自動生成は簡単にステージが作れるせいか自分がいまいちやりこむ気になれないんで。
252 :
名前は開発中のものです。 :2007/08/22(水) 16:28:58 ID:iGWMpd/4
簡単に作れるのは見た目だけなのです♪カンタンといってもその 「カンタンなマップを作るプログラム」自体、結構考えることはある、 最終的には人が考えた配置、動作以上のものを作ることに意味があります☆ 行くとこまでいくとマップだけじゃなくて、そのマップに置かれるキャラや、 背景にそって動くキャラクタ(地上移動)、空中物の出現と動作ぱたーん 難易度も含めた全体のバランス、新要素てんこもりなら総合的なゲーム性 などなどよく考えてゲームづくりすることになります。 実際、色々考えることがどんどん増えてきてたのしい(いろんな新しい発見) だけどその(究極のゲームともいえる☆)完成は理想を追い求めて♪ どんどん遠くなって行ったのでありました。
>>252 Dさん乙
って言うか完成しなきゃダメじゃんw
254 :
名前は開発中のものです。 :2007/08/23(木) 00:47:35 ID:tzWW+ZgQ
音楽と完全に一致させるのなんて意味ないよ。 ダライアス2の最終ステージなんて特徴的なBGMの使い方をされてるけど、 あれがBGMの使い方の正解なんだと思うよ。 BGMはゲームにあってなくてもトランス状態になれれば良いんだと思う。 変にBGMにあわせてあると、踊らされてる感やオナニーに付き合わされてる感が増すだけだと思うな。
255 :
名前は開発中のものです。 :2007/08/23(木) 00:59:16 ID:n6rhbYTm
BGMとシンクロさせてるSTGってなんかあった気がするな。
俺も音楽同期させるのは経験上否定的なんだけど (曲の盛り上がりにあわせて敵の配置するぐらいが一番楽しいと思う) 意味が無いまではちょっと言いすぎかなと思うなあ もしかするともっと面白い良いやり方があるかもしれんしね
ダラ2の最終面の演出は正直あまり意味があるとは思えないなあ。 あれわかりづらいでしょ。曲は良いけど。 1のラスボスみたいに、判りやすく盛り上がる曲を流すのが 一番効果的だと思うがなあ。
BGMとシンクロしてるのがいいんじゃなくて プレイヤー側でタイミングを調整してシンクロさせることができるのが楽しいんだと思う オーケストラの指揮をとってる的な
気持ちは解るんだけど、ほどほどにしないとやらされている感が強くなっちゃうんだよね
>>254 が嫌ってるのもその部分だと思う
上手いアイディアあったら動いてるところが見てみたいなぁ
ダラ2のラストは、むしろ激しい場面で穏やかな曲が流れるってのが、テンションが突き抜けて 一周しちゃったような感じがいいと思ったんだけどね。効果音もすべて消えるし。 スターフォース・スターソルジャータイプの、テンポが連射のリズムぐらいがベストかもね。 小刻みなリズム+明るいメロディな感じ。 ゲートオブサンダーの夜面とか武者アレスタの巨大戦艦面はよかったな。
261 :
名前は開発中のものです。 :2007/08/23(木) 07:47:57 ID:n6rhbYTm
なんかあったと思い出したRezだ。 あとダラ2もいいが外伝のゲームと曲もスゲーよかったと思う。
262 :
名前は開発中のものです。 :2007/08/23(木) 08:11:36 ID:NpVz3Zen
ダライアス外伝は俺も好きだが外伝以降全て1画面になっちまったな。 やっぱり当初RーType・グラディウスに差をつけたかったのか。 グラディウスは、敵の配置とか音楽に加えて面ごとに特徴づけて成功してると思った。
以降全てって言っても外伝のあとはGしか無いじゃない
マルチディスプレイ対応のシューティングでも作ろうかなあ。 誰かWUXGAディスプレイ3枚ちょーだい☆
2枚にしとけ
ワイドなら2枚で十分だろ。
3画面モニタはアーケードならではだな 家庭用STGだと繋ぎ目があるから萎えるw
PCなら一画面で同じ縦横比でも、十分な解像度ある件
(´_ゝ`)プッ
解像度っつーか単純に画面の大きさ・迫力じゃないか?
>>262 あんま覚えてないけどダライアス外伝ってTAMAYOか
レイクラみたいな一曲ずっと流すやつだっけ
ボスシーンとかで曲が変わらないのが逆に新鮮だった。
シームレスねぇ・・・ 確かにもうフツーにそんなの出てんだな 自宅でマルチ画面STG、まぁいいんじゃない(´・ω・`)
むしろこんなの必要ないことをダライアスが証明したじゃない
100画面くらい並べてみたいな。もうスクロールしなくていいんじゃないかってカンジ
自機がくるのを右の方でずっと待ってるのなw
278 :
名前は開発中のものです。 :2007/08/24(金) 05:27:59 ID:DmpWma1m
スクロールは移動手段じゃないでしょ。 流れを楽しむものなんだよ。 あとまたダライアスネタだが、1のボス戦は背景が高速で流れているため 左から右への弾の動きがゆっくりや止まって見えた(背景に張りついているように見えたため)。 スクロールは奥深いよ。
279 :
名前は開発中のものです。 :2007/08/24(金) 12:37:35 ID:qXcbaoAF
おまえらREZやれ
TV持って無いからPS2持っててもできないの。
あくまで仮定の意味ではなかろうか
NHK受信料払いたくない一心で テレビを窓から投げ捨てたんだろ
REZ? 知らね
安いキャプチャカードとDScalerを使うんだ。
286 :
名前は開発中のものです。 :2007/08/26(日) 09:36:22 ID:aVm4BeXR
敵の動き方ってどうやって実装しているのでしょうか? ハードコーティングか、スクリプト形式に敵一匹一匹個別で記述しているのか それともその他の方法でやっているのか 参考程度に教えてもらえないでしょうか? さすがに全部の敵をハードコーティングするのは苦労が多すぎます
> ハードコーティングするのは苦労が多すぎます > 敵一匹一匹個別で記述しているのか > さすがに全部の敵をハードコーティングするのは苦労が多すぎます 記述(定義)の仕方を聞いているのか、記述する場所を聞いているのかどっちだ? 定義する場所なら、既に自分で答えだしてるし。 記述の仕方なら、 どういった記述をするかは、好みや作りで変わるでしょ。 動き・タイムコード(出現時間)・出現場所等々、分けて記述するかまとめて記述するかとか。 動き一つ取っても、一匹一匹・一種一種・グループ単位で記述とか。 大抵はオブジェクト指向的な作りにするのが、保守管理が楽だとは思うが。 問題は慣れないと、無駄に細々することかw もしかして、一匹一匹・一面一面の動きや流れを関数単位で記述するのを ハードコーティングと言っているのかな? だとしたら、動きをハードコーティングして、パラメータだけを外部記述とか リーダー用意して、動きもパラメータも外部記述とか。 これも好み次第か。最近は大抵後述の方かな。 問題は、リーダーを作るのが面倒^^; 一度作れば後が楽だが。 一発読み込みか、リアルタイム読み込みかは好み次第。 何を求めているのかわからないと、答える方も曖昧な答え方しか出来ない。 (俺の読解力不足ならスマン)
>>287 記述の仕方を聞いています。文章力足りなくてすいません。
動きを関数化して、細かい部分はパラメータ化するのですね
そして、そのパラメータは外部に記述してあると・・・。
リーダー作ってますが、なかなか、それ「らしい」動きが難しくて
聞いてみました。
リーダーをうまく作成すれば スムーズな動きも実現できるってことですね
返信ありがとうございました。
ニューラルネットワークをコーディングして適当に敵を配置すればプログラマが考えなくてもry
天才きたな
ああ、小室の新ユニットだろ
293 :
名前は開発中のものです。 :2007/09/01(土) 00:09:40 ID:6tuPVpKX
みんなは敵・自機の名前はどんな風につけてる? テストプレイだと形の特徴にしているんだが実際つけるとなると 中二病みたいなのしか浮かばないorz 東方とかよく弾幕にまで名前つけるよな、イイかどうか別にして
とりあえず自機はMyShip。 雑魚敵はzako1,zako2,・・・ってつけてる
>>293 それはユーザーに対して公開する設定のこと?
それとも
>>294 が言うようにプログラム上の名前?
中二病で良いよ プレイヤーからしたら意外と気にならないもんだ
エターナルフォースブリザードインターセプターとか 中二病みたいな名前を付けるほうが結構難しいんだぜ?
298 :
名前は開発中のものです。 :2007/09/01(土) 01:05:01 ID:6tuPVpKX
>>295 公開用につくったけどこれじゃ作者のオナニー丸出しだなって
プログラム上だと赤戦車とか
>>294 のような名前にしてる
神話や実在のモノからとってみようかと・・・
統一性とかどうでもいいんあら名前なんかつけなくても同じだし 揃えたいんならどうやってもオナニー丸出しになるんだから 結論からいくと気にしたほうが負けだ
内部名は zako00 boss00 だな。 外向きは兵器っぽい英数と愛称みたいなのが妥当。 PC-6001 パピコン とかな。これは冗談だけど。 自機だったら厨丸出しでも問題ないでしょ。 そもそも操作する機体の名前を気にするプレイヤーが殆どいないし。
なんだか判らないけどタイトルは最後にスをつければいいってばっちゃが言ってた。
もずく酢とかバルサミコ酢とか
自機はシルバーポークかピッグバイパー
最近C言語とDirectX勉強し始めてSTG作ってて 敵を出す処理がいまひとつ謎なんですが ステージ開始時にそのステージで出す敵の種類や出すフレームなどのデータを読み込みこんだ後 for(int i=0;i<敵配列の最大数;i++) { if(現在フレーム==enemy[i].出現フレーム) { 敵生成(); } } みたいにして敵を出現させているんですかね? 1フレームに出す出来の数なんてたかが知れているから1つの面の敵の数が1000オーバーとかになってくると かなりforループが無駄な気がするんですが他に効率が良さそうな方法とかありますか? アケシューとかかなりの数の敵が出てるけどどうしてるんだろう
とりあえずさ 動かしてみて重かったら考えれば良いとおもうよ 作ったルーチンぶん回してどれくらい時間がかかるか測定するものいいと思うよ
>>305 それでも今のPCなら1000や2000くらい何でも無いと思う。
効率を気にするならフレームの方をキーにする。
if(現在フレーム == enemylist[g_index].出現フレーム)
{
for(int i = 0; i < enemylist[g_index].num; i++) 敵生成(enemylist[g_index].enemy[i]);
g_index++;
}
g_indexはグローバル等、非ローカルな変数で。
308 :
305 :2007/09/02(日) 08:26:02 ID:3JK+GoLk
アドバイスどうもです timeGetTimeを使って調べてみましたが敵の最大数2000にして回してもミリ秒単位で遅れることはないみたいなので分かりやすい現行の方法で行こうと思います 弾幕系の予定なのに当たり判定をfloat型の円判定にしてたり曲がらない弾でも毎フレーム速度ベクトルを三角関数使って計算したりと かなり無理してるんですが思ったより速度には影響しないみたいですね
最近のマシンであれば、全部floatで毎フレーム計算しても問題ないから、 とりあえずは気にしないでサクサク作ってしまうのがいいとおもう。 あとで問題になったら最適化すれば済むところだしね。
そしてお約束どおりにfloatの演算誤差を考慮してなくてバグがたまに発生・・・と
さらに、D3DXの最適化により、環境依存のリプレイ非再現バグが発生・・・と
floatとかってIEEEナントカって規格に準拠してるから誤差が出ても環境依存にはならないんじゃない?
環境依存にはならないよ。 最近ちらほら出てるのはD3DXのCPU毎のSIMD命令の切り替えの誤差。 SSE、SSE2、SSE3、3DNow、E3DNowの違いによる計算誤差ね。 多少遅くなるの覚悟で行列演算を自前ですればOK。
>>313 よくでるのはリプレイ時でゲームと違う初期化ルーチン通ってリプレイ再現されないとか
イコールでif文つかって比較してるとかそういうやつだな
>>315 floatとか以前に基本的にダメじゃん。
>>315 >イコールでif文つかって比較してるとかそういうやつだな
?
>>317 日本語としておかしいかもしれんけど、大体わかるだろ。
float f = 1/10.0;
if(0.1==f){
printf("equal %g==%g\n", 0.1, f);
}else{
printf("not equal %g!=%g\n", 0.1, f);
}
これが not equal 0.1!=0.1と表示される件のことだろ
そんなやついるのかよw
ワロタ
> if(0.1==f) 全然関係ない部分で物申したいが我慢しよう。
そんなんじゃゲームはつくれないよw
> if(0.1==f) そういやそういう宗派もあったなあ
さすがにそんな宗派はない
いや、あった
あた あたたた あたた
>>324 あるよ。
f=0.1だと、代入できるから、定数を左に持ってくる
C特有のバッドノウハウ
昔のうんコンパイラだと、警告出さないからだろうな
流れを微妙に切ってしまう上に既出だったらすまん。 今現在C++でSeleneを使ったシューティングを作っているんだが BulletMLで弾幕を定義しようと思い、ある程度整備して いざ実行、と言う時にエラーが出てしまう。具体的には BulletMLParserTinyXMLを生成した後にbuild()をしようとすると例外が投げられる。 また、それを無視して進めて終了しようとした時に、 newしたパーサをdeleteしようとすると致命的なエラーが起こる。 ぶっ通しで情報収集→仮説→実験→挫折を 繰り返しているんだが精神的に消耗するばかりで埒が明かない。 解決方法、またそれに準ずる情報を持っている人がいたら教えて欲しい。
>>328 エラーが発生する最小限のコードを出してもらおうか
>330 404 同じかどうかは知らんがこんなメモが残ってた BulletMLManager::~BulletMLManager() { for (ParserContainer::iterator it = Parsers.begin();it != Parsers.end();++it) { //DLLのlibをリンクするとここで文句が出る //おそらくここに来るのがDLLを開放した後になってしまうから? delete *it; *it = 0; } }
332 :
330 :2007/09/06(木) 05:25:34 ID:r74dYIz9
333 :
名前は開発中のものです。 :2007/09/07(金) 17:37:10 ID:puv664XK
雷のエフェクト作りたいんだけど、そういうのが載ってる本やページはないだろうか
手書き?フォトショ? フォトショップでかなり手軽にそれっぽいものは作れるが・・・ 素材の制作環境とか少しでいいから書いてみ。
プログラムのラインで雷を表現したいんだよね。
ある一定の角度で曲がりつつ収束する様な感じのアルゴリズムで
最終的にはラインを元に四角形ポリゴンを作って、テクスチャーを張りたいんだけど
>>335 前スレ落ちてました
> 前スレ落ちてました もうちっと頭柔らかくしてみ。 一発ででるから。
弾幕系とかで弾のを断続的に出し続けてると スプライト描画用の配列要素の最後尾を超えて最初に戻るときにどうしても描画順序が入れ替わって汚く見えてしまうんだけど これを回避する方法って無いのかな? 虫姫とかを見ててもあれだけ弾を出してるのに常に時間的に後から出した弾が上に来てるように見えるけど これってどうやって実現してるの? 毎回全弾ソートしなおしてるわけじゃないと思うし…
リストの最後尾に追加するだけじゃだめなのか?
>338 STLで言うとvectorじゃなくてlistを使う 要するに「スプライト描画用の配列」とやらを、双方向リストを用いたものに取り替える。
341 :
338 :2007/09/07(金) 20:03:14 ID:QBkQAIJS
なるほど双方向リストというものがあったか… ちょっと勉強してみる
あと再ソートがどれだけ重いと思ってるのだろう 配列にしてもパックした後後ろに追加だけで問題はなかろう 1024個くらいの弾なら16bit/10MHzもあれば問題にはならないわけだけど ターゲットは8bit/4MHzくらいかね あと連結リストはダイレクトアクセスに弱いのも考慮しておけ
リスト構造実装は駆け出し新米プログラマには時間が掛かりそうだ…orz
ソートするにしても弾を出すたびにソート順序検索用の数が増え続けて面倒そうだし
>>342 配列パックした後後ろに追加ってどんな感じですか?
配列で描画順序維持できるならかなり楽なんだけど…
そもそも、俺には最後尾を超えて最初に戻るという意味が良く分からん。 リングバッファ的な使い方をしているとしても、弾なんてものはリストの途中で 削除する必要があるはずだが、その途中で消えた弾はどうしているんだ? 弾が消えるたびに配列を詰めていけばリングバッファにする必要はないし。 そういうデータにリングバッファを使う利点もないでしょ。
消した分だけ順々に前に詰めていくんだろ。 あと、うんMHzという数字出すやつたびたび見かけるけど、 本当にそういうマシンで作ったことあるのか疑問だね。 多分初代X68kを想定してるんだろうけど10MHzで弾1024個はさすがに無茶だよ。
>>336 あまり曲がらない一本の雷なら、
1) 始点・目的地の間に中継点をテキトウにぶらした位置に設置、
テキトウな確率で点間に大きめにぶらした中継点を追加
2 各点間に1)と同様な処理を施す
でそれっぽく見えないかな。
オススメは1)をやってテクスチャをはって誤魔化す、なんだけど。
分岐するような雷はゲームに使いにくい気もするけど、
1)の中間点部分から分岐させて行くとかで。
昔、PSの初代チョコボのダンジョンのサンダラ?がそれっぽい雷でパクリたかくて色々試したが、
最終的にはテクスチャで誤魔化すのが一番、という結果に・・
>>345 X68は3台持ってるけど計算は余裕だよ
ただ、描画は無理
Z80はMSXとSC3000時代に散々触ったから無理なのはわかるけどね
>あと、うんMHzという数字出すやつたびたび見かけるけど、 つーか、そもそもOSを動かす最低限の必項スペックからして違い過ぎ 大抵は(というか今時は殆ど)そのOSの上で動くアプリな訳だから(ry
話ややこしくてスマンソ 345は間違ってないし同意
雷ってレイストみたいな感じのやつか
ソーサリアンかもしれんぞ
コットンのサンダービームショットとか
>>348 WinMeはスペック足りないとOSのインストすら出来なかったな。
354 :
818 :2007/09/09(日) 20:19:38 ID:WgBxcfF4
terragenとかの景観作成ソフトで横STGとかの背景を作ると 背景がリアルすぎてどうも浮いてしまう。 違和感無くすためのプロの加工テクニックとかないかなー。
プロじゃないとだめなのかよw
素人の加工テクニックじゃ浮いちゃうだろw
水彩画に変換するソフトとか使ったらどうよ?
いやあの手のがリアルに見えすぎるのは光によるものの可能性が高い。 サムネイルくらいの大きさにしても写真は写真に見えるだろ? 単純にフィルタかけるだけだとあんま解決しないと思われ。
それはいわゆる中途半端というやつでは…
つーか、背景がどんだけリアルになっても ゲームに生かされてないんじゃね。おんなじw
>>363 これ、前にやったわーw
シューティングじゃないけど、こういう技術系で、クール(?)なタイプのものは作ってみたいね
PONGは広い意味でシューティングの仲間というか元祖だね
368 :
名前は開発中のものです。 :2007/09/22(土) 00:55:20 ID:7szmfQPC
なんかネタねーかな?
パワーアップってどうしてる? はっきり言って今のSTGじゃ意味無いと思うんだ・・・ 死んだときとかコンティニューしたときに すぐに元の状態に戻らないと 不親切とかバランス悪いって言われるし。
無くても良いんじゃないか、とは確かに思ったりする
最近のケイブの縦シューみたいのなら基本的には要らないな。 あとは気分の問題。
ゆとり世代にグラディウスは無理だな。グラディウス3は俺でも無理だが。
IIIは難易度以前に出来が微妙すぎたからなあ…
グラディウスはだんだん退化してる気がするからな…… 正直2で終わりでよかった
2ってMSXの?
シューティング板じゃないし 2とIIの違いくらいはスルー
>>377 いやそれ明確に別のゲームじゃねえか。
マジでどっちだか判らんから区別して書いてくれという話。
つか どっちも良いシューティングだった
両方とも傑作に分類される出来だな
連打機能とか改造を使ってるか調べるのってできる? 連打が速いとショットの威力が上がるシュー作りたいんだけど 難易度が超簡単になるのは困る
連打機能とか改造を使ってるか調べるのってできる? 連打が速いとショットの威力が上がるシュー作りたいんだけど 難易度が超簡単になるのは困る
戻るボタン押したら二回送信してしまったorz
サンダーブラスター作りたいのか。 シンクロ連なら検出も出来ようが、PCゲーで連付パッドの連射を 検出すんのは無理じゃね?
連射機能検出はめんどいね 間隔調べて機械的になってるか見る・・・まではいいけど誤検出が怖いし、 AB交互に連射させるにすればある程度潰せそうだけど、 パッドじゃやりにくそうだ 俺なら無理に制限するのはやめて やっぱり手で連打するのが熱いよね!って雰囲気出すかな
ところで連射ってプレイヤーが使用してるインターフェースによって 結構差が出るよな。ゲーム性においてその辺許容できるのかいな。
スターソルジャーGCを作りたいともうすのか
まったくの同一間隔で30回連打以上なら無効、とかやっても 連射スピードをボリュームで可変できるタイプなら意味無いしな。 連打時間がある程度以上速くて長いと、ペナルティが発生して 通常弾がしばらく撃てなくなる「焼きつきルール」にするとか? さすがに理不尽だから、長連打→小ボム効果発生→しばらく撃てない ぐらいのバランス演出は必要とは思うが。
ソフト側からの検出は実質的にまず無理だろう まぁ、一言か、漢になれ。とでも添えておくとか
普通に遊ぶ人は普通に遊ぶんだし同人でそこまで対策する必要は別にないと思うけどな
家ゲなのに手で連打とかありえない むしろデフォで最速連射の仕様にしといて欲しいくらい ゲーセンならボタン擦るのもOKだけどキーボード連打ゲーとかホント意味不明
つまり超連射はクソゲーといいたいと
シューティングをキーボードでやってるのか……。 昔は押しっぱなしの時の入力判定とかがおかしかったりしたんだよな……。
>393 あれは半オート連射みたいなもんじゃない? 個人的にはボタン一回押したら弾一発で、押したら押しただけ出るみたいなのが連打ゲーだと思うんだが そんなの見たことないきもするな
>>382 ダライアスみたいに、同時に撃てるのは数発まで。
いたずらに連打してると弾が固まって弾幕がザルになる。
勿論ボスに接近したら超連打した方が良い。
って感じはどう?
>>394 PCシューをキーボードでやる奴はそれなりに居るぞ
8bitPC時代からの層にはまったく普通だろうしな
最近はAボタンBボタン相当のZとXの役割が入れ替わってるが。
ところで俺は手連射マンセーではない。めんどくさい。
>>397 べつにそんなもんダライアスに限らんだろと
しかしそういえば最近弾切れって言葉を使わんなw
PCシューティング用にゲーセンスタイルなコントローラ繋げるなんて普通だと思うが、 そういう前提でゲーム作ると間口が狭くなるのが現実だよな。 > べつにそんなもんダライアスに限らんだろと よしそれじゃパパ、ダライアス以外も列挙しちゃうぞ! とでも言って欲しいのか…
普通によくある長押しでレーザーになるやつに搭載すればいいじゃん。 わざわざ切替えるたびに連打管理のとこカチカチするのめんどくさいでしょ。
連打用と長押し用とでボタン二つをコンフィグするだけでは?
最近はそんなコントローラーあるのか・・・便利だな。
オプションでオート連射ON/OFFを変えられるようにすれば、連射機をつかうやつはいなくなるんじゃないかなと思った。
というか連射ってなに?
勿論、連射とは速射の事だ。 元来インベーダーゲームでは一度に一発しか撃てない。 後にハードの性能向上により一度に複数の弾を表示できるようになり、 「複数の弾が撃てる=連射」はメーカーサイドのセールストークに使われるようなった。 その結果連射は速射の同義語として広まっていった。嘘八百。
家ゲで連射したいユーザーはかなり少ないのに 家ゲなのに連射させたい作者が意外に多いのが本当に不思議だよ
シューティングは手連射してこそ、って人も実際いるからな。 俺の友人でも一人いる。といっても製作側ではないが。 若い奴ではあんま居ないと思うけどw
発想を逆にするんだ。 デフォで自動連射で、プレイヤーが調節して減らさないといけないシステム。
手で連射が好きな人がいなきゃ高橋名人とかネタにもならんだろ。 キャラバンシューあたりは手で連打するほうが楽しいと思うけどね。 今更あの時代の延長で作れるのってフリーソフトぐらい・・・と考えると多いのは当然かも。
俺にとって一番の連射ゲーはディグダグ2だった。
デスブレイドだな
>>408 今はそういう流れだな
押しっぱなしで弾が出てデメリットがないのならボタンの意味がないからな
しかし今回の話の発端はサンダーブラスター的システムをやりたい ということからだったわけで、それ覆したら解決にならんぞw
>>414 おとと そーだったのか 知らんかったよ
サンダーブラスターは確かにオモロかった
しかも手で連打することに絶大な意味があった
この楽しさを家ゲで実現しようとするのは本当に難しいな
自分の腕の体力を長いスパンで考えてピアノ撃ち←→コスリを切り替える
ってゆう長距離ランナーみたいな楽しさってのは なんというか「あの当時」だったから楽しめたコトじゃないかな?
今そんなゲーム遊ぶか?って言われると微妙
ハイスコアは連射装置アリが並ぶ中 手で連打して上を目指そうって気持ちにはならなそう
>ピアノ撃ち←→コスリを切り替える なつかしいw 俺もやった まあ今やりたいかと問われると、やりたくないわけだがw
417 :
382 :2007/10/02(火) 16:41:38 ID:mVysTyzT
俺が作ってるのは常に連打を必要とするわけじゃなく普段はセミオートで、 速く連打すると前方集中ショットになってホーミング弾が出たり。 で、中型機を超速攻で倒しても隠しの敵が出たりボスが強くなったりするだけで クリアラーにも超連射が求められるわけではない 別に変わらんか。
ボーダーダウンみたいね
>>417 両方フルオートでボタンで切り替え はダメか?
いっそのコト ショットを撃ち止める意味が無いゲームなら
ボタンON→集中 ボタンOFF→拡散
ってのはどーだろ?
やったコト無いけど しっくり来なくて余計に遊びにくいかな?
>419 それケイブシューとかの連射でオート連射、押しっぱなしでレーザーと変わらなくね?
あ ボタンOFFにしっぱなし ってつもりで書いた さすがに片手で遊べるとかなんか違うかな
そこまで手連射をなくそうとしなくてもいいんじゃないかねえ。 確かに主流じゃないし好みの分かれる部分ではあるけど、 趣味で作ってるならこだわっていい部分だと思うしさ。 疲れるから余りやりたくはないけど、 面白いならやりたい。
スターソルジャーGCをやってない奴が多そうですな あれで、久々にタコつくったが
>>423 あれはノーマルコントローラーじゃ無理だと思った
やってない 連射ゲーなのか?
おまいら久々にマトモな流れでつね。
>>424 俺は、GC用のアーケードスティックでやってたな、確か
>>425 高橋名人監修なだけあって、連射ゲーです
時間制限モード(キャラバンモードみたいなの)がメチャ熱い
密かに、Genocide Circuit(滅殺回路)の高本氏が関わっているらしく、
そっち系のが好きな人にもオヌヌメです
弾幕になろうとしていたのを、名人が止めたという逸話も・・・
ゲームキューブか。記憶に無いなー。 俺は最近シューティングに復帰したから、時期的に合ってないのかも知れん
いまなら100%互換性あるWiiで遊べばいいやん VCでSTGはPCエンジンのキャラバンやFC,SFCなどもふくめてコナミものが大量にあるし スターソルジャーGCのいいところ ・弾除けより敵を倒すのを重視(ボス以外) ・押しっぱなしで高速連射で一応クリアも可能 ・自力で連射すると威力のある弾がでる(結果的に固い敵やボーナスのために連射が高得点を狙うなら必須) ・ブラスターによる高頻度でつかえる玉消しサブウェポン(初心者は回避目的に、上級者は積極的に攻撃へ) 割と上級者と初心者とで同じ難易度ですみわけしてるっぽい ただ、ラストだけはあからさまな弾幕になるので納得しにくい
別に弾幕も嫌いじゃないけど…つーかスタソルだからイヤなのか。 ところでGC版てPS2版と同じようなモンじゃないだろうな。 PS2版なら持ってるがアレはダメだったぞw つーか俺はゼビウスの頃からほとんどアケシュー専門なので コンシューマ系はさっぱりなのだ。ちょうど良い機会だから これやっとけみたいなの教えてくれ。 入手的にはエミュレータ以外だと厳しい物が多そうだが…。
板違いなわけだが
>>430 スーファミのSUPER R-TYPEはよく出来てる。
R-TYPE3もコッソリよく出来てる。工夫満載。
製作者としてこれは押さえとけってんなら 板違いじゃないと思ったんだけど
板違いじゃねーだろ このゲーム、要素は参考になるって話なんだから
とりあえずキャラバン系はアーケードには無い文化だし 知っておいて良いのでは
ヘクター87の自機のデッカさは異常。
アーケード→家庭用の流れが多かったから上げるのむずいな PS1のアインハンダーのガンポッドはあまり他では見ない珍しいシステム。 サターンのサンダーフォースVは演出面の評価が高い。 あとあんまり浮かばんなぁ。 コンパイルシューとかか。
目が回ります><
3分頑張ったけど敵を追えず くるくる回って機体が安定せず 酔ったので終了
>>438 スペースコンバットシムにそれなりに慣れてる俺でも敵を追えなかった。
敵機の性能の方が自機より良いような気がするのは気のせいとしても、
もう少しプレイヤーに親切な設計にして欲しいと思った。
具体的には。
1)自機の速度メーターが欲しい。
2)ロールやヨーのスピードが視覚的に解るようなマーカー(擬似水平線の表示とか)が欲しい。
3)ロールし始めるまでにある程度の「遊び領域」が欲しい。
ちょっとマウスを横に動かしただけでロールし始めるのはきつい。
(ロールだけでなく、上下への動きも同様)
4)ターゲットした敵が画面外の場合、「どっちにいるか」を示すマーカーが欲しい。
5)リードカーソルが欲しい。
(リードカーソル:敵の進路予測マーク。
敵の進行方向、速度と自機との距離、弾の速度を計算して
『そこ』へ撃てば敵に命中するだろう、という位置を示すマーカーのこと。)
6)今現在ターゲットしている敵の速度ど自機の速度を自動的に合わせる機能が欲しい。
(つまり相対速度を0にする)
これには、「常に同じ速度に合わせ続ける」のと「その機能を使った瞬間に敵との速度が同じになり、
その後に敵が速度を変えた場合、またその機能を使いなおさないといけない」というパターンがある。
どちらにするかは作者の好み次第。
……ぱっと思いついた事はこの程度かな。
>>430 GCもPS2も同じ。
ついでにPSPでも出てるがそれも同じ。
これは、やらなくてもいいと思う
折角だしどの辺がダメだったのか知りたい いいとこは上で出てるし両方の意見知りたいわ 最後はやって判断するしかないんだろうけど
444 :
438 :2007/10/05(金) 02:30:04 ID:q7/jZwJQ
>>439-441 貴重なご意見ありがとうございます。
自分ではあまり気が付かなかったのですが、操作性がピーキー過ぎるようですね。
>>411 具体的なご指摘、すごくありがたいです。
1)2)については、確かにその通りですね。次のバージョンで実装しようかと思います。
「遊び領域」については、テストプレイを繰り返していると、だんだんと値が小さくなってしまうんですね。
操作に慣れすぎてしまい、感覚が狂ってくるというか…これも直す必要がありますね。
4)5)6)はちょっと難しいかなと考えています。
ある程度感覚に頼る部分を残しておいたほうが良いような気がするもので。
本当に参考になりました。どうもありがとうございました。
446 :
438 :2007/10/05(金) 23:44:20 ID:q7/jZwJQ
よっしゃ 今からやってみるよ
率直な感想 見た目がださい。
率直な感想 俺はこの世界でエースにはなれない
450 :
438 :2007/10/11(木) 00:31:23 ID:jXpn3oNk
>>447-449 どうもありがとうございました。
楽しんではいただけなかったようですね。
ゲーム作りの難しさをあらためて実感しました。
>>438 動きはスムーズ 絵の雰囲気も悪くない
操作が難し過ぎるよ
一応ゆっくり考えながら動かせば注文通りに動いてはくれる
でも この操作系で動く敵を撃てってのは相当の慣れが必要だよ
練習すれば楽しめそう でも楽しめるレベルに達する道のりが長い
レバーとボタンだけ or マウスだけで操作 になったら本気でやりたいよ
それかいっそ ランディングハイジャパンや SEGAのフェラーリシミュレーターみたいに
「操作の難しさを楽しむゲーム」にしてみたら? 俺はやりたくないけど
>>450 操作が難しいですね
どっちに進んでるのかわからなくなります
宇宙空間はそういうもんだ!
と言われれば納得しそうだけども。
チュートリアル的なのがあればいいなぁ。
操作に慣れるまでが大変そうです。
チュートリアルが必要っつーか、 最初からザコが強すぎる。 スピードは自機より少し遅め程度で、 旋回速度が超鈍重なザコ敵としばらく戦うほうがいいんじゃないかな。
454 :
438 :2007/10/12(金) 00:44:38 ID:PRonZaIV
>>451-453 どうもありがとうございます。
自機の操作はそれなりにこだわりがある部分なんですが、それが仇になってる感じですか…
操作方法を変えるか悩んだんですが、それを変えると別なゲームになってしまう恐れがあるので
もう少しこの方向で進めてみようかと思います。
とりあえずは、練習ステージを用意して、敵機の挙動を見直してみるつもりです。
貴重なお時間を割いていただき、ありがとうございました。
455 :
名前は開発中のものです。 :2007/10/17(水) 18:24:05 ID:+kB4YtHx
2Dシューティングで飛行物に影ってつけてる? ないと飛んでるか分かりにくいし、あると投影の表現がメンドクサイ
影に関しては結構めんどい 正射影の背景に対してどうやって落とし込むのかってもの厄介だしな。 最近のケイブシューの影は妙に違和感がある
宇宙背景最強伝説
手抜きしやすい=最強なのか?
こんなんで面倒って言ってる奴はSTG以外作ったことないだろ
STGが好きで作ってるのにSTG以外作る理由が無い
市販ものだけどザナックNEOの影が面白かった。 BG面単位に影の高さが設定されてる感じ。 3Dだけど、ゲーセンで見たよしくんはちゃんと地形に投影してる。
宇宙でもグラディウスVの1面は印象に残ったよ 星多めの星空のテクスチャを球面(?)に貼って魚眼レンズ風にした物を二重にしてる、でいいのかな。 距離的に星というよりデブリかもしれないけど。 それに加えてでかい惑星もあるし
あの宇宙はストレートに天体球を二重にしてるんだと思う。 手元に無いから確認できないけど。 分りやすく言うと、○の内側に星空・惑星を描いてるだけ。
>>464 心意気は買うが変すぎだろw
川に掛かった橋(?)の影と、飛んでる敵の影が重なったなら
飛んでる敵の影は橋の上に出てるはずだw
普通の面(普通のスクロール速度)では結構自然に見えるよ
ゲームやってると見えないけど、 ギャラリーしてて影のほうをちょっと注視すると 急に消えたり急に現れたりして結構不自然
影を使うSTGを作ればいいのでは…
470 :
名前は開発中のものです。 :2007/10/19(金) 00:24:04 ID:U8FmA2om
>>469 忍者の影縫いみたいで面白そうだな
怒首領蜂大往生やケツイは大型機のみ影がついてる感じ
大往生の基板はスプライトサイズなら融通利くけど同時表示数は融通利かないからね あの糞マザーで弾幕シューを作ってしまう根性が凄いわ
アーガスか
影と言ったらエアロスター
ハードウェアボリュームシャドーは重いだろうけど ステンシルシャドウとかじゃだめなんだろうか
ブルードラゴンは影を使うので漫画版のSTGを作れ意味不明だ
影といったらカゲマン。
「カゲをマンマと盗む奴…カゲマン」のカゲマン?
昔コロコロでやってたやつ? 最近アニメでやってたやつ?
カゲスターなら知ってる
ガハハ、弾が多くてしね
Vsync待ちでの描画が1フレーム遅延する理由がいまだに判らない 画面更新したあと次の更新までに入力処理、描画を終わらせられないってこと? …ではないよな。それだと秒間フレームが半分になってしまう どういう理屈なのか教えていただけまいか
つバックバッファ
for(;;) { ApplyInputEvent(); Update(); Render(); Present(); } という流れでループしてると、こうなる フロントバッファ |フレーム1|フレーム2|フレーム3| バックバッファ |フレーム2|フレーム3| | ↑ ↑ フレーム3の入力イベントの有効期間
最近一枚絵の背景が多いからマップなんか必要ないと思ってたんだけど、 機体の影を実現するとしたら、海と地面を区別するのにやっぱり マップが必要なんか
地上と海面をレイヤ分けしてマスク作るのが楽っすよ。
昔は格ゲーの人とか1フレーム遅延を聞いて発狂してたりしたけど 最近聞かないね
格ゲーもだいぶ廃れたので
>>484 スプライトハードウェアでも、通常はVSYNC待ちの直後に画面を更新してから、
入力処理・ゲーム処理をして次のVSYNCを待つから、元々1フレームの遅延はある。
だから、ダブルバッファなら遅延は一緒。
>>487 全ての環境で同じだけ遅延があるなら、それは最初からそういうゲームシステム
なので問題ない。環境によってマチマチだと問題だが。
今でもゲームハード板とかPCアクション板あたりでは、遅延の話多いよ。
>>489 ???
だからVSYNC待ちしたら遅延するって話じゃないの?
ただの解説?
しなかったらしなかったで、今度はティアリングとかで騒ぐくせに
垂直帰線期間内に入力とスプライト位置の更新をして残りは全部ラスタースクロールとか そういうの作ってた人がタイムスリップしてきたんだよ
FPSは60固定でやりたいから仕方ない
>>492 べつにラスターだろうがおなじだよな?
表示期間中にバックバッファへの描画をするかフロントバッファのスクロール位置ずらすかどうかの差だし
えー。 [ラインバッファ]スプライト位置定義→VSYNC終わり→走査線とともに表示 ダブラ使おうがラスタかけようが変わらん。 [フレームバッファ]スプライト位置定義→VSYNC終わり→裏バッファにスプライト書かれる →VSYNCはじまり→バッファの表裏フリップ→VSYNC終わり→走査線とともに表バッファ表示 自機の判定が小さくなったのは、フレームバッファ方式化が原因。 ラインバッファより1フレーム遅れるから、時間的に判定が雑になる。
もっともPCのことを頭からはずせば、 シングルバッファでも昔よりまともなハードは作れるし いっそリフレッシュレート上げてしまうという手も
>>495 VSYNC終わりって言葉として変だろ。それを言うなら、VBLANK終わり。
VSYNCはVBLANKの開始を表すパルス信号、あるいはそれに同期するという意味。
それとラインバッファだろうが、遅延は一緒。
VBLANK始まり→スプライト更新(バッファFlip)→ゲーム処理→(バックバッファ更新)
→次のVBLANK待ち
ティアリングを避けるためにVBLANK中に表示を更新するなら
VSYNC→表示更新→ゲーム処理の流れは変わらない。
VBLANK中の表示更新はレジスタ等に書き込みをするだけで、キャラクタの
実体の移動はゲーム処理で行われるもの。
だから遅延はゲーム処理→それが画面に反映されるまでの時間で、
ダブルバッファとラインバッファでは一緒。
もうおじいさんの昔話は結構ですから奥に引っ込んでてちょうだい
大体スプライトの場合であっても スプライトのアトリビュートメモリに書いてから 実際に画面に反映されるのは数フレ後なのだが(NDSとかな)
開発暦18年の俺が判定 正解 >484 >495 誤り >489 >494 >497 ラインバッファの場合VBlank中に全ての描画レジスタを更新するのが基本 そして直後の表示期間中に画面に反映される。 ダブルバッファの場合VBlank中にバックバッファへの描画が始まるが これはVBlank中には終了しなくてもよく、表示期間中も描画を続けられる。 そして完成したバックバッファは次のVSyncでフロントバッファに切り替わる。 結果ダブルバッファだとキー入力が画面に反映されるまでにラインバッファに比べ 1フレーム余計にかかる。 ※ダブルバッファの場合30fpsで作ったり、移動処理と描画処理の順が おかしかった場合、遅延は体感できるほどひどくなる場合があります。
それではVBlank待たないと遅延は発生しないの?
それではVBlank待たないと遅延は発生しないの?
すまsん
>>500 前半2段落はあってるのになんでダブルバッファがラインバッファに比べて1フレーム遅延するんだ?
同じだろ?
>>500 18年もやっててそれでは才能がないと言わざるを得ない。
スプライトや背景の更新とダブルバッファのFlipが等価な処理。
ゲーム処理1→バックバッファの更新→VSync→Flip→ゲーム処理2→…
ゲーム処理1→VSync→背景&スプライトの更新→ゲーム処理2→…
どちらもゲーム処理2の最中に1の画面の表示が始まる。
>>499 スルーされてるから突っ込んでおくが嘘はイカンよ。
つか、DSってポリゴンすらラインバッファなのでスプライト機と同じ感覚でポリゴンが出せる。
・Flipでバックバッファに描画済みの絵を切り替える ・Flipでたまった描画パケットをキックしバックバッファに描画開始 どっち?
>>506 んん、そうなのか?
VBlank中にVRAMへの転送とアトリビュートメモリの更新を同時にしたら
VRAMのデータは更新されてるのに位置の更新が遅れているってことがあったのだが…
何か俺が根本的に俺が間違ってたのかも。もう大分前の話で詳細は覚えてない
500です。
確かに
>>505 のような処理もできますね。
その場合はもちろんラインバッファと同等です。
ただそれだとCPUとGPUを非同期で動かせない
(CPUの余った時間でしか描画できないし、描画中はCPUが動けない)
ので、ハードウェアをフルに活用するためには選択しないのが常識
だと思っていました。
>>508 キャッシュのフラッシュ忘れとかその辺じゃね?
>>509 キーレスポンスを追求するという考えのゲームなら選択されるんじゃないか?
で、厳密に言えばCPU処理とパケット転送をしている裏でレンダリングをしているから
非同期で動いていると思うんだが。
>>509 遅延をなくす場合の最優先のプログラムの話でしょ
それに2DSTGならマシンパワーが足りないなんてのは古いのを除いてまずないし・・・
スループット重視したいのならトリプルバッファオススメ
遅延は最優先事項としてできる限り小さくしたい
1とか2、3フレーム遅延しても和漢ねーよ。 そんな意味不明なこだわり見せてないでさっさと完成させろよ。
それだけこだわれる知識もってるくらいだから実績あるんじゃないの? 俺なんか何を言ってるのかほとんどわかんねーよ。 何をもめてるのか、が、かろうじて解る程度。
>>512 >それに2DSTGならマシンパワーが足りないなんてのは古いのを除いてまずないし・・・
確かにCPUパワーはすごいけど、fx5200程度だと
ピクセルシェーダ使って派手な爆発させただけで描画に16ms消費するよ。
あと遅延に関してだけど、60フレで作った場合、ダブルバッファによって発生した遅延は
そんなに神経質になる必要はないと思う。(極々一部のプレイヤーを除く)
ちゃんと作ってあっても遅延が体感できる場合、ゲームパッドのドライバやハードウェア、ディスプレイ、
Windowsのパッド情報の更新タイミングの方が問題な気がする。<この辺は詳しくないです。
360の無線コントローラーの遅延は体感できる。
どこのスレか忘れたが、住人が遅延のテストしてて1フレの差を みんな判ったって覚えがあるんだがな。だいたい3フレ遅れたら流石にわかるだろ。 意味不明のこだわりってこたないだろ。もしかして技術的な話以外に シューティングには大して興味ないとか?
結局具体的にはどう実装すればいいんでしょうか。 解る人が居る以上最善な解にしたいんですが、自分は鈍感なんで気づけないかもしれないし。
そら遅延だけに意識を手中させるようなテストプログラムならわかるかもな。 でも実際のゲームでは50msなんてわかんないから。
弾幕シュー作るなら特に遅延は気になるよ。低速で自機を凝視して目視で 避けるゲームだから。高速弾切り返し系はあまり自機見ないので実は意外と気にならない。
>>516 負荷のかからない描画方法を選ぶだけ
もしくは選択できるように
重視するのがグラフィックなのか遅延なのか選択は自由なんだから好きに汁
俺的には915、できれば945で大幅に性能増えたから開発者の負担はかなり下がったと思ってる
やっぱりノートPCがほとんどの現在、統合チップセットは無視できんからね
デスクトップでもかなりの割合でUMAだし
今のマシンで秒間60フレームならどーやっても遅れますので 古いマシンからの移植でもない限り気にすんな。 セガサターンとプレステが出た頃のネタ、 あるいはTOWNSとX68Kの間の抗争をぶり返してるだけです。 差なんてねえよって自演で言ってるのは、その後から始めた知ったか君。
>>520 断言するが、2、3フレームなら気にならない。
人間には環境適応能力もある。
50msの世界は気づかないか、または勝手に感覚を適応させる。
50msなんて神経の伝達速度を超えてるんだから。
VSync同期させない2DSTGでも気にならないプログラマと許せないプログラマがいるわけだが。
ティアリングもイヤだけど、VSync同期するとあからさまに遅延が判る。 回避方法あるなら教えてほし。遅延するくらいならティアリングのがましだけど…。
>>525 NVIDIAの場合ドライバで最大3フレーム遅延するようになっているから、
それが原因の場合はPresentの前でバックバッファをLock-Unlockする。
DirectX9なら、IDirect3DQuery9を使う方がいいかも。
実際のとこ、PCだとどこで遅延してんのか判らんから何フレ遅れてるのかも まったく判らんね。だからプログラムでは出来る限り減らしておきたいって ことなんだけど。
>517 以前このスレかな?入力遅延をさせるテストプログラムがあった気がする。 大体3フレぐらいから遅延を感じる人が出た気がするが、 1フレはほとんどわかんなかったぞ。
入力遅延についてはそもそもボタン類の物理的構造によっても変わるよな ソフト的に遅延が無いといわれているものでも、実際にはみんな一瞬早めに押してるんだよ 人間ってのはそのぐらいの融通は利くようになってるんだから遅延遅延と騒ぐよりも実際にやってみんとわからんよ
遅延をシステムに活かせないかな…
やだよそんなの
遅延をシステム的に活かして成功した例といえばグラディウスのオプション
そら動きが結果的に同じだけで活かしたわけじゃねえし
ドラキュラのムチのように押してから発動するまでにタメがある攻撃なら活かしてる? 狙って撃たなきゃいけないようなシステムになるのかな 撃ちまくり爽快感の方が好きだからどうでもいいけど
昔のマルチFPSはクソ遅い回線の遅延もプログラムで何とかしたのに。 シューティングの奴らはいつも他人が悪い環境が悪い言ってんだな。 FPS論争のときもリフレッシュレートを60Hz以外に設定している奴が悪いって流れになるし。
60Hz以外が悪いとは言わんけど、 60FPS前提で作りたい場合は環境の切捨ては仕方ないな
昔ながらの2Dシューはプレイヤー側でも60Hzを望む人が居たりするからな FPSとは違う要望があるジャンルだから比べてもしょうがないよ 全キャラ3Dならレート可変でもいいんだろうけど、操作感とかどうなんだろ
>>536 2DSTGはリフレッシュレートがゲームに与える影響がでかすぎるんだよ
FPSというか3Dゲームはリフレッシュレートが可変でもプレイに耐えるが
平面ベクトルや領域のギリギリのやりとりをする2DSTGだと可変になっただけで大惨事だ。
理屈の上では滑らかに補完できてるはずが実際動かしてみたらガタガタだったとかよくあるし。
そもそも絵をドット絵など2Dアニメで描いてる場合レート可変でやるには 無理がある
>>539 tonyu使ってる俺にとって悩みの種なんだよな
C言語に移りたいけどなかなか理解できない
なんか最近のPCだとタイマーが安定しないというか 環境によっていろいろ変わるようなんだが マルチコアとかその辺の影響だろうか
タイマがQueryPerformanceCounterのことなら、AMDのマルチコアのシステムで CnQ使ってたりすると問題があるよ。KB896256で修正される。
QueryPerformanceCounterがマルチコア環境で可笑しくなるのは仕様みたいなもんだろ。 アフィニティマスクでクロック取得先のコアを指定すればちゃんと動く。
仕様と思えるくらいにバグが蔓延しちゃってるのが問題なのでは
CPUクロックとってる場合があるんだからコアが複数あったら どこコアから取得するか指定できないほうがまずかろ。 確かにデフォルトで1番目のコアに固定されてないのは問題だが。
QueryPerformanceCounter使ってないな CPUクロックはなんだか安定感がなさそうなふいんき(なぜか変換(ry で
昔のゲームはマルチコアだとおかしくなる HTでもわりとおかしくなってたけど ・超連射とか 最近出たソフトならまず対応してるだろ してないのなら作者が悪いだけ デュアルコアの確認はしていませんとかせめて開発環境を公開するべきだ
549 :
542 :2007/11/11(日) 15:59:09 ID:1qK3Y74d
レスどうもっす。やっぱいろいろあるのね。 俺はメイン絵描きでプログラムはHSPしか出来ないんで 制御はどうにもプラグイン頼みになっちまうのですが、 やっぱ内部的に何やってるかぐらい知らんとダメですな…。 皆さんいろいろありがとう。 ちなみに超連射はうちのクアッド機では平気な感じでした。 会社のHT機ではおかしくなったけどw
超連射はPen4HTとIntelCoreでおかしくなってるのを確認 プロセス探してCPU固定割付すると大丈夫 まぁサウンドだけおかしいんだけどね 68soundがまったくマルチスレッドを考慮していない
>>550 あーそれ互換モードで直るんじゃないかな
自レス 要するにマルチスレッドに対応してないOSの互換モードに してやればいいって事か。
>>551 全ての互換モード試したけどなおらんかったよ
2000のときはたしか発病しなかった気がする
あれスマン。ダメだったか。 うちのQ6600だと非互換モードとw2kモード以外は正常に鳴るんだけど…。
Vistaのサウンドドライバがクソとかそういう話なん名じゃねーの?
すべてXPだし、オンボードのサウンドだよ あとAudigyも同じなのも確認済 理由はXSoundDLLの仕組み 実際2世代古い超連射はどのOSでも問題ない 最新版がやばいというのはよくでてくるし常識かと
そろそろモニタをCRTから液晶に換えようと思うんだが 24インチワイドとか使ってる人いる? ちょっと調べてみたところ 大きいのは応答速度が遅いらしいんだが・・・
20マソ使ってイイなら ワコムのでっかい液タブ買っちまいそう
タブレットはA5くらいがちょうどよくね
三角関数のテーブル化って本当に高速化されるのか? 弾が1000以上出る弾幕系2DSTG作ってて今は65535分割テーブル使ってるが 標準関数に戻しても殆ど差が無かった 標準関数で統一しようかなぁ
今はメモリアクセスを以下に減らすかが勝負だから やり方次第で計算したほうが速い
最近のCPUなら1000程度の三角関数の計算など どちらでやっても誤差程度ではないのか?
テーブルはsin/cosが遅かった時代の技術。 今でも携帯機とかで使えない場合には持つこともあるけど。 VCなら組み込み関数にしちゃうと速度的なペナルティはほぼないね。
でもゲーム会社にたまに生き残ってるだろ。固定少数や三角関数テーブルに血道をあげてる厄介な奴。 男の生き様なんだよ。
π==3.14にするためにテーブルにした 逆関数はしらん
テイラー展開の三角関数つくっておいてゲームが破綻しない精度まで じょじょに項数へらしていくってのはどうよ
テーブルだろうがなんだろうがCPUでやろうとして悩むのがそもそもアホなんじゃねえの。 多くの弾は直進なんだから毎フレーム三角関数で求める必要ないし スプライトの回転はシェーダですりゃいい。 XYZが回転中心。法線のXYが頂点へのオフセットでZが回転のようなフォーマットなら 弾1000個 6000頂点をDrawPrimitive1回でできる。
>>569 前にそれやってる人みかけたなー
テーブルより遅いが、Sin関数など呼ぶより速いという
^C氏の記事でもあった気がする・・・
>テイラー展開 どうよと思って調べてみたけどこりゃだめだね なんというか項を重ねるごとに-∞から∞までの波全体の形が整っていくのかと思ったら 原点から左右に紡いでくみたいに形ができていくのね 近似自体はn=2までで十分な品質になるけど-PI/2からPI/2までの範囲だけ θをその編み上がってる狭い範囲にもってくるmodにコストがかかっちゃう
よくわからんけど知らなくてもよさそうだ
いまどき固定小数でシュー作ってるとこってケイブくらいなモンだろ
ケイブがやってんならそれで良いんじゃね とか思ってしまうわけで
一線をリタイアしたロートルプログラマが携帯でそういうのをやってんじゃないの
別に何を使おうがちゃんとしてるならいいんじゃないの?
俺は整数でやってるんだが・・・
俺は素数でやってるぜ!
3Dでマトリックス演算とか全部整数なのか?
出来なくもないだろうけどやる必要もないと思うよ
まぁ必須ではないな 2DSTGならなおさら
DSとかPSPなら固定少数は主流だったりする?
DSはしらんがPSPはfloat普通に使う。
角度がアナログなら計算しちまったほうがいいかもだけど グラディウスの敵弾みたいに16方向とか32方向とかの限られた方向しか使わない仕様だと 三角関数テーブル(と言っても行数はごく少ない)が良さげ?
どっちを選んでも実際のゲームで変化が見えないなら趣味の問題。 最適化に凝る同僚に面倒な規約を強要されるが、これ無意味なんじゃねーのと うんざりする経験の有無で、汎用性や分かりやすさを重視するかどうか 分かれるかもしれない。
ゲームを作ることにおいて、技術的な追求を重視するかどうかってことかもな
>>586 軌道が微妙にずれるぐらいの変化はあるだろ
ちゃんと文章嫁
一ピクセルもずれねーと思う。
float と double で、差はある? 俺は大概 double で組んでいるんだが、それで不自由を感じた事が殆ど無い。 現在の PC 環境下 float との差はある? ってか、差を感じた事のある人はいます? あと、整数使うのはは誤差が(基本的に)無くて、心がすっきりするってのがでかいと思う。 個人的な感じ方だが、これって結構重要だと思う。 実際の処理上の有効無効はさておいてもね。
サイズに差があるからまったく同じ速度ではないと思うけど、 頂点データとかSSEで使うデータなんかはfloatにしてる。 SSEは128Bitだからdoubleだと2つまでしか並列化できないし。
>>591 普通にFPUつかった場合だけど、たとえば必要スペックがPentiumM1.2GHzだったのが1.6GHzくらいまで
といった感じに1.5倍くらいはねあがるからそれをどう見るかだな
オンボードビデオでもそれなりに動くようにいろんなところを軽くしようと考えるとあんまり選択したくはないかも
計算速度自体には差はなさそうだけど メモリのキャッシュの効率のほうが悪そうだなぁ、doubleのほうは。 まあ速度なんてはなから気にして無いけどねw
基本的にfloatでやる。
ちなみにDSには浮動小数は無い。
マトリクスも固定小数。
>>591 int64がハードで出来る環境以外は固定小数は精度落ちまくり・無駄な乗除算(シフトでもいいけど)が
増えまくりでいいことが無いと思う。
STGでは固定小数の加算しか使わないんでしょう。 固定小数のマトリクスなんて頻繁に正規化しないと目に見えて崩れて行きそうなイメージ。
STG程度なら全部floatでいいだろ。 ゲーム自体が大してCPUくわんし。
CPU負荷の問題じゃなく、リプレイがずれないようにするために使うんだよ。固定小数点数は。
CPU毎に最適化されたSIMD命令を使わない限りfloatでもリプレイがずれるようなことはないぞ・・・。 最近話題になったのはD3DXの算術関数が内部でCPU毎に違うSIMD命令で計算してっからだよ。
最近のD3DXのバージョンだとそれは直ってるのか?
ああすまん、書き方からして直ってないっぽいね・・・。
直ってないっていうか速度を優先させるなら当たり前の仕様だしな。 スイッチでSIMDのON/OFFできるようにはしてもらいたいが・・・。 まぁリプレイを実装するようなゲームは自分でマトリックス演算を用意しろということなのだろう。
リプレイが!リプレイが! って声高に言う人は実際に実装したことがなくて知識だけで言ってるんでしょ。 問題点が分っているなら解決なんて出来るもなんだから。
PSGP無効化
言うほどリプレイが付いてるSTGは多くないな。
今時リプレイなんていらねえよ。 動画うpすればいいんだし。
リプレイってデバッグ用に使うもんだと思ってた
タイトルデモ用だろ? 対面販売ならあれがあるかどうかで評価が大きく変わる
>>598-602 おかげさまで、D3DX使ってないぜ・・・
ま、Direct3D(Graphics)も蹴って、OpenGLだが
そういう誤差が影響する箇所ってリプレイ以外にはないかな 組み方が余程まずければマシンごとに難度が全然違ったりする可能性もある気はするが それは論外か
リプレイ以外だとネット対戦とか。 もっといいやり方もあるのかもしれんが、 俺はクライアント側のゲーム内時間を少し遅らせて、サーバー側から入力データだけ送るようにしてたな。
やっぱり速度より金だよね
>>599 マルチプラットフォームでどうなるか考えてから言え。
>>603 問題点が分かってるから固定小数点数をあえて使って解決してんだよ。
>>614 マルチプラットフォームとかに何いってんだ・・・
別CPU環境でまでリプレイ再生させるような前提のゲームつくるのかよ。
エンディアン違う場合とか64BIT環境とかも全部やるわけw?
エンディアンや64bitだろうがちがってもリプレイデータ共通はできるだろ
MACやLINUXに対応するコストと保守とかあるけど、 手間を気にしないなら何でもできはするな。 マルチプラットフォームって聞こえはいいけど MAC、LINUX、WINDOWSの3種で一般的にPCで ゲームやる層相手にシェアがどう分布してるかはしらんけど。
お前の頭はPCだけか。
いまの流れがPCだったからPCの話にしただけだ。 コンシューマーまで対象にしたらより意味ないだろ。 「WindowsとPS3で同じリプレイファイル使えますとか!」 とかいわれても「で?」としかいえんだろ。
で?
バカの相手は疲れる。自分の環境での話しか出来ないようだ。 どこが「で?」としかいえないだか。 お前が、お前のくだらないゲームで困らないならそれでいいから、いちいちつっかかってくんなと。
いやどうみてもキミが悪い。 肝心な事を言わずに煽るだけ。言う気がないなら最初から突っかかるなと。
俺は、さすがに、キー入力記録ベースのリプレイで、マルチプラットフォームは、あきらめてるけど
>>622 肝心なことを言わずに?
はあ・・・よく読めよ。
俺は最初から「リプレイ対策」と言ってるし、全然つっかかってもいない。
わけのわからないケチを付けてきたのは向こう。
つーか、ID変えたのか?
全く違う奴なら、やさしく諭してあげるけど、次からはよく読んでからレスしようね。
んじゃ無学な俺を優しく諭してくれ。 リプレイ対策と固定少数が正直あまり繋がらないんだ。
またーりいこうよ
PCだけか、なんて無駄な煽りもいいとこじゃん 何言ってんだこいつは
まあ、シチュエーションによって最適な実装方法は異なるってことで。 固定小数点数がいいときもあればfloatで十分なときもあるさ
>>624 俺は622だがそれ以前の人とは別人だよ。
で、俺が言ってる肝心の事、というのは
「マルチプラットフォームでどうなるのか」を言ってないし、
「お前の頭はPCだけか」……でPC以外に何があるのかも言ってないし、
そのせいで
>>619 が「PC以外だとコンシューマーか?」と勝手に予測せざるを得なくて
その予測から「WindowsとPS3で同じリプレイファイルが使えます!」というのが何か意味あるのか?
という疑問について、それが妥当であるかそもそもコンシューマーの話をしていないから
前提が見当違いであるかの説明もしていない、という事。
こんばんは、固定少数です
CodeZine:DirectX Graphicsの隠し設定を利用した開発テクニック(API Hook, DirectX Graphics, D3DX, C)
http://codezine.jp/a/article/aid/235.aspx?p=4 何故か、これがでてなかたので、リンクしてみる。
・D3DX使用時の浮動小数点最適化誤差
・浮動小数点の丸めモードの誤差
・プロセッサごとの浮動小数点演算誤差
とかの話し。
Nyaruru氏は、鼻くその成分調べたりするのが好きだから、
こういうの記事を出してくれると非常に助かる
>鼻くその成分調べたりするのが好きだから あれ?俺がいる
諸君らに残念なお知らせがある このスレに変態がいる
弾幕って昔は変態の一ジャンルだったよ
鉄箸でつまんでアルコールランプで熱して 生じる燃焼ガスを採取してガスクロマトグラフィーにかけると
オトメディウスだけど、ああいうカードでの戦歴保存って お客の確保のためにはこれからも必要になってくるのかな?
損得をまじめに考えるならシューティング自体出さないほうが・・・。
オトメディウスやりに半年振りにゲーセンに行って、通信麻雀にはまった俺のような奴もいるのだろう
スレタイ嫁ヵス
なぜオトメディウスがつまらんのかを分析してみよ
技術の話をしろカス
んじゃ絵の描き方について話そう
・絵のうまい人を連れてくる これでおk
絵ぐらい自分で描けよ
ゲームが面白けりゃ絵なんて●とか▲でいいんだよ ↑ バカ
この流れからしても固定小数が最強でFAだな。
間口を広げるために絵は重要じゃないか
イラスト板に篭ってろ
なんじゃそりゃ ここは絵なんかどうでもいいっていうプログラマしかいないのかね
>>647 誤差の出方がそれぞれ違うから使い分けるんだ
絵が描けなくてもビジュアル的センスがあれば…!
絵が上手に描けないし描いてくれる人も見つからない場合
・アブストラクト系とかそういうのにする。(ABAゲー)
・ネタに走る。(撃破伝)
・もうそのまま行く。(鳥竜)
・実写や写真を使う。
・フリー素材など著作権関連で問題の起きない素材を使う。
・著作権関連で問題の起きる素材を使う。
>>650 絵なんかわざわざここでなくても語れるからいいじゃん
自分の出来ない範囲の話題はしたくないだけでしょ
簡単きれいにできる小技とかならいいかなと思うが それならドット絵なりモデリングなり専門のスレ言ったほうが詳しい人多そうだなあ きれいなホーミングレーザーの描画の仕方とかプログラム絡む話題ならここかなと思うが
別にプログラム技術だけのスレじゃないんだが
シェーダでエフェクト作れば、モデルやテクスチャは適当でも見栄えは良くできるな メガデモが参考になる
とりあえず加算合成しときゃそれなりに見えたりするな
色飽和しまくりの絵を見るとそれだけでゲンナリ
どうしようもない絵をごまかす手段としては良いって事さ
青空に加算合成で紫の爆炎が! げんなり… とういうわけで全編宇宙にすればいい こうしてスペースインベーダーが誕生したわけである
爆炎→乗算 閃光→加算 でおk。 問題は乗算で綺麗に見えるα付き爆炎素材を作るのが難しいこと。
「想う」 ← 厨房 「思う」 ← 一般人 「魅せ方」 ← 厨房 「見せ方」 ← 一般人
色飽和って、音楽で言えばスピーカーが音割れしてるのと同じっぽいんだぜ?
8年近く前に世話になったような気がする
対地ミサイルの登坂ってどうすればいいんだ…
右に進むこと前提なら 下を見て地形がなければ時計回り 進行方向を見て地形があれば反時計回り でいいんじゃね 鼠返しみたいな地形があるとぐるぐる回るけど気にするな
>>668 空中でぐるぐる回りそうじゃない?w
グラ系なら時計回りとかで考えずに単に下(右下)と上(右上)にすればいいだけでは
if( 右下に地形なし ) 右下へ
else if( 右に地形なし ) 右へ
else if( 右上に地形なし ) 右上へ
else 消滅
微調整はしないと不自然になりそうだけど
Y座標だけ調べればいいんじゃね 埋まってたら押し出す、下に何も無かったら落下させる
2Dの判定でいいのならグラディウス方式でもRTYPE方式でもすきなようにとしか
グラフィック面の問題なんだけど敵弾発射の際のエフェクトは どんな感じでつくればいいかな? 砲門からでる際の爆発なんだけど・・ いいソフトあったら教えてください
シューティングツクール
マズルフラッシュのことかね とりあえずは白い丸でもいい気もするが
とりあえずどころか かなり鉄板じゃなかろうか
いや、やっぱり十字だろ
RPGツクール作品はクソゲーが多いけど STGツクールは輝くゲームが多い ・・・と思ってる 俺だけ?
わからん でもRPGとSTGの年齢層の違いは関係あるかもしれない
そもそもシューティングツクールでシューティングつくろうって人がかなりマニアックな人しかいないんじゃないだろうかw
シューティングツクールって95から出てないんじゃない?
継続してリリースされてるのってRPGツクールだけじゃないか? そういやデザエモンはもう出ないのかね
デザエモンなんて新しいものじゃなく元祖の吉田工務店といおうぜ
ケツイみたいなメカデザインをしたいんだが DOGAでは単調な絵しかできない 個人的にでもいいのでオススメのグラフィックソフトを頼む
メタセコでやってみなよ
687 :
名前は開発中のものです。 :2007/12/11(火) 20:19:12 ID:X6aHPDh+
金がないならメタセコ+yafrayかblender 沢山出せるなら3dsmax レンダリングするだけじゃなくて ゲーム自体も3Dならsoftimageも勧められる(5万ぐらいのやつ)
金があるなら俺が描いてやんよ
遠慮しておきますw
SBの完成度が高くなってきている件
SBってなに?
宣伝必死だな
3Dモデル系のソフトで2D用のマップをつくっているんだが 端っこがどうしても視点の関係上ゆがんでしまう・・・ すまないが何かいいやり方、ソフトを教えてもらえないだろうか 今のところ真ん中の視点部分で切ってつないでいます
視点を遠くするとか、平行投影するとか。
>>696 やってみたところなんとかできた!どうもありがとう
高低差のあるマップつくると影の描写がめんどくさいね
プリレンダなら影もそのまま出るだろ?
3Dならセロハンでメガネつくるんだよ
>>698 オブジェクトの影をマップに落とすときの話じゃね?
>>700 そうなんだよ 飛んでる敵の影が適当になっちゃう
大型機とばすときって地上の砲台の位置に苦労するね
重なった時に撃たせないように
アイテムと敵弾の描画順序は、アイテムの方が上でいいのかな?
敵弾より上になるのは判定のある地形とUIくらいじゃないのか まあダライアスみたいな例もあるが
アイテム取りに行ったら、重なって見えなかった敵弾にあたって死にました、じゃ クソゲー扱いされるわな。
説明不足でスマンです。 今作りかけのは アイテムの大きさ<敵弾の大きさ、 アイテムはガレッガの勲章みたいなのです。
んーそれでも俺はアイテム下にするな
みんなどのくらいまで作っているんだ? 俺一面の半分しかないよ
永遠に未完でこれが完成すれば究極のSTGになると思いながら ドット絵描くのが面倒でエロゲに逃避してる。
むしろエロゲも作りたい
どうもです。アイテムと敵弾の描画順序、参考になりました。
>>707 やっと2面が完成した所です。
1面ができたらもう7割は終わっているような気がするけど作り方によってはそうでもないのか
1面ができると満足してしまう罠があるからな
最初から1面だけのゲームを作れば問題ない。
>711 敵攻撃パターンとか配置とか作るのが一番時間かからないか?
順番としては最高難度のステージを最初に作るほうがやりやすいかな? でもその面が完成したらほかの簡単なステージを作る気がますますなくなるなw
>>711 システム面ではほぼ終わりに近いよね
ただ背景描くのがとんでもなくメンドクサイ
誰かいいソフト教えてください
ケツイ風のものをつくっております
背景なんていらねえよ 中身で勝負しろ
>>718 のようなことを言う奴は、
市場の洗礼を浴びたことがない「箱入りお坊ちゃま」なので。
真に受けることはない。
俺の感覚では背景も中身の一部なんだが
でも同人だと背景空とかの風景だけなのがほとんどだよな 建物とかまでちゃんと書き込んでるどころか地上敵すらいないのが多いし
背景もだけど、キャラのドット絵も大変だよ……。 俺の場合、一番時間食うのは、背景のドット絵、キャラのドット絵、背景(マップ)の組み立て、だな。 プログラムももちろん時間掛かるし大変だけど、面白いからあまり苦痛には感じない。
プログラムはメイン部分は使いまわしだからなー。 時間かかるのは確かに背景だ。とくに背景配置はそもそもの手間に 加えてレベルデザインに絡むので非常に時間がかかる。
ABAゲーみたいに作っちゃいなよ
敵配置が一番苦労するなー・・・一番肝心な部分だけに それにしてもPen4 3GHz、GeForce 6600GTの環境で弾5000発出した程度で処理落ちはまずいよな… 背景が3Dとはいってもそこまで重くないし
>>725 俺が使ってるtonyuは100発で処理落ちしますが?
5000出すほうがおかしい
スクリプタができねー スクリプトからC側の関数呼び出すスマートな方法が思い付かないわ… あとは速度がちゃんと出るか心配だな…
>>728 既存のものを使う気はない?
LuaとかSquirrelとか
>>729 ついでに勉強もしようと思ってたけどゲーム完成しないと意味ないしなぁ
ありがとう、見てみる
フレームレート=リフレッシュレート=60Hzでも メインループの中で60秒ごとに処理しても 画面の描き変え時間と合うか分からないと思うんだけど そこらへんはどうするの? Direct3Dの話です。
???
60Hzと60秒じゃ合わないよな…見た目で判断すればよくね?
液晶の時代にどうでもよくね?
1/60秒で間に合わんなら貴方のPCスペックが足りてませんよってことで終了でおk
そりゃどこかでVSYNCと同期取らなきゃ単なる二系統のタイマーだろ
60秒って、60分の1秒の間違いだよな? 要するにVSYNCとか、そのあたりを知らないとみた。
VSYNCとタイマーの位相が合わなかったらって事では。
>>731 ・Direct3DはPresent時リフレッシュレートに対し自動で待機・同期を行う設定がある(リフレッシュレートに動作速度が依存する)。
・それを使用しない場合は、同期タイミングなどを自前で取得、同期するコード群を作る必要あり。
→DirectXではv-syncに関する情報を取得する関数は存在するので、作れないことはない
>>731 ループ内でPresent()連呼すれば勝手にVSYNCに合わせて調停される。
それが1/60秒周期かは別問題だが。
リフレッシュレートが想定していたものと違うと、コマ落とさないといけなくなるからね…。 フルスクリーンにすればリフレッシュレートの指定可能なはず。 (昔は指定しても言うことを聞いてくれないグラボもあったが) STGは、遊んでもらうときにはフルスクリーン推奨。 デバッグ用に窓モードでできる機能と両方あったほうがいい。
そこでウインドウモードでも垂直同期されるOpenGLですよ nVidiaとか一部のメーカーだけだがね
針弾って必要だと思う?
自分で考えろよそんなこと…
>>744 ま、そういうなって
針弾と丸弾両方を交互に出すときれいな弾幕になると思う
個人的には当たり判定の分かりにくい鱗弾はやめてほしい
743は弾幕なんて言ってないのになぜ弾幕… 針弾が必要?なんて聞かれても、好みで入れれば?としか言えないよ。 つーか単に通常弾のバリエーションの一つだろうに。
見た目のバリエーションは増えるけど、とんがってるのとか細い弾は避けにくいから嫌いだな
>>746 聞かれてないものは答えてはいけないのか?
細い弾は必然的に当たり判定が見た目通りになるね なので弾幕系のゲームでは判定がでかいように思えてしまう
針弾の利点は、向きが解りやすいぐらいかな。
全体的に弾が遅い弾幕系ならむしろ速度ベクトルの向きが分かりやすくていいんじゃね? スクリーンショットで一枚絵にしたときも美しいし
むしろ針弾しかないゲーム作ってみたらいいんじゃね?
ガンフロンティアってそんな感じじゃね
そんなことよりこのグラフィックの向きと微妙に違う方向に飛ぶ針弾を見てくれ。こいつをどう思う?
どれ?
よくあるじゃんそんなの それこそガンフロとか
直接回転させずに全部パターンスプライトに書き出してる奴だろそれ
回転なんか昔はできねえし
昔の話か。
スプライトの対角線が収まる配列があれば回転できるじゃん
今より解像度が荒くて、回転させたときのドットが汚すぎる!!!と HWの機能を使うのを拒否されたことがある。
今でもケイブは回転機能使ってないはず
ドゥームのビット出現時は演算による回転に見える 他は判らんな。基本的には画像が荒れるから使いたくないんだろうな
最近ゲームがつまらない、ハマらない、 そんな噂が飛び交ってるけど、 それはソフトのせいじゃない。 ハードに限界があったからだ セガ メガドライブ 16BIT CPU搭載 限界のバリアをぶち破って 見せる 迫る 唸る VISUAL SHOCK SPEED SHOCK SOUND SHOCK 時代が求めた16ビット、セガ メガドライブ ♪SEGA
ギャラクシアンみたいに回転した絵を全部もっとけ
視点が真上とか真横とかじゃないと2Dでは回転できんよな。 それでも光源は無視せざるを得ない。 ケイブは基本的に2Dで斜め見下ろしだし全部書き換える以外方法は無いw
ギャラクシアンは凄いよな 曲線を描いて飛ぶだけでも斬新だったのに
弾の回転の話じゃなかったのか。
ギャラクシアンのテキは完全な真上見下ろしだから弾の回転と同じではあるね
ギャラクシアンがギシアンに見えたので逝って来る
↑ なにこのバカ
ツンデレが来た!
シューティングゲームビルダーにすらまだ慣れれない
早くシューティングゲームビルダーになりたい!
回転といえばドリーム砲
STGゲームにサブリミナル効果って使えるだろうか 潜在意識から熱くさせるとか
デススマイルズ最終面の人型の方のボスみたいな 一定のエリアに入ると攻撃が変化するのって どういう発想で実現できる?
発想…?
発想具現化装置を作るところから始まるな
784 :
名前は開発中のものです。 :2008/01/03(木) 15:42:50 ID:xmklJskm
>>781 自機の位置に対応したプログラム組めばいいんじゃないの?
プログラムじゃなくて、発想の話だろ
発想だけじゃ実現できんだろ……。
アクションゲームとか近づかれると特殊な攻撃とか、特定の位置に来ると対応とか普通にあったじゃん。 STGはパターン記憶が主流になる前には同様なものは結構あったと思うけど。
近づくとどうの、なんてゲイングランドとかもやってるじゃないか
というかボスに接近しすぎたりしたら追加弾出すくらい どのSTGでもやってるだろ
怒首領蜂2ボスのそれで死んだことがある
>>790 は怒首領蜂の2ボスなのか、怒首領蜂2のボス全般なのか
どっちでもいいが
クソゲのは怒首領蜂Uだから2ボスのほうだろう。 どっちでもいいが
怒首領蜂の2ボスだよw
俺も食らった事あるから怒首領蜂の2ボスだろうな。
2人プレイでそれやったら超うけた。 ボスに接近している俺にではなく、 画面下にいる友人めがけて発射されるんだからな。
ゲイング・ランド ゲイン・グランド ゲイ・ングランド ゲ・イングランド
ありがとらのこいました
ベーマガ世代って今じゃもうゲーム業界のリタイア組だろ
んなこたないw
しかし勝ち負けがすでに決まった世代ではあるな。 ベーマガ世代でいまだにまともに何も作れない奴は、このまま一生無理だろう。
普通にメシ食えてるよ というか何の話だ突然w
自分に対して言ってるんじゃね?
ゲーム開発の仕事してたけど、先輩や同僚にプログラム掲載された人が結構いて驚いたよ。 つくづくベーマガは素晴らしい教材だと思ったね。
プログラムはともかく小学生のときに書いた原稿が黒歴史なんですが
そんなん誰だってそうだろw
小学生のときにノート一冊書いたゼビウスのパクリゲーの企画書が 最近発掘された俺が来ましたよ。 既に笑える領域に達しているので棺桶まで持っていく予定。
ベーマガ世代ってどの辺なんだろうな マイコン、マイコンライフ、RAM、 Login、I/O、POPCOM、PiO、ベーマガ、テクノポリス、その他諸々が ソースコードやマシン語のダンプリストを載せていたマイコン誌絶頂期(80年代初頭〜半ば)に リア厨〜リア工だった年齢層とすると、若いので30代後半。中核は40代 80年代末期から90年代になると、上記の雑誌は次々と姿を消したり市販ゲームとかエロゲー情報誌 と化して見るも無残な有様。ベーマガは孤軍奮闘してたけど、その時代のリア厨〜リア工が ベーマガ世代なのかっていうと、どうなんだろうね
プログラマの多いこの板でベーマガ世代と言えばそこらへんだろうな。 ゲーマーやDTM系が絡んでくるともう少し下の世代になるだろう。 スーパーソフトマガジンがコーナー化してる時代とかな。
シューティングの話しろよジジイ
ETHER VAPORおもすれー
>>787 忍者君から広まったんじゃなかったっけ?
"Super Depth Finalty"をグラ5みたいにアレンジしたい。
最終書き込みから一週間になるのか
一週間でアレンジはできたか?
残念ながら俺は814じゃないぜ
じゃあ来週までに作れ!
今シューティングゲームでプログラミング勉強しつつ作っているんだが、 ステージの構成の作り方こんな感じであってる? 変数で常に1ずつ増やして一定の値になったらパターン化させた敵を配置させて。 変数が更に高い数値になったら敵が消えるまで待ってボスを登場させて倒したらそのステージクリア。 まだ経験浅いのでこうしたほうがいいとかあったら指摘くれると助かる
それでいい
うん
822 :
名前は開発中のものです。 :2008/01/24(木) 01:32:03 ID:OmyDO2MQ
当たり判定をどう作るか迷ってます。 円か、画面に平行な長方形だと簡単なんですが、 これだと、斜め向きのレーザーとか、 グラディウスVの鞭みたいなレーザーができません。 市販のゲームはどんな当たり判定してるんでしょうか?
基本は矩形もしくはその組み合わせ。別に見た目どおりである必要は無い。 (見た目よりデカイとクソゲ呼ばわりされるかもしれんがw) 斜めのレーザーは矩形の回転か直線式。グラVのぐねぐねレーザーみたいなことが やりたいならポリゴン処理だろうからポリゴンで判定すりゃええ。
線分と線分の判定をする関数一個つくれば、あとはそれを呼ぶだけ。
825 :
822 :2008/01/24(木) 08:20:31 ID:xoEvssMg
ありがとうございます。 矩形も直線も斜めになってると、 どう判定していいのか分からなかったんですが、 考えてみます。
斜めの直線は、自機の過去の位置と現在の位置2つの点を結ぶ直線と 交われば当たっている、交わらなければ当たっていないで判断できるな
それはなにか違うぞ
四角形ABCDと点Pの当たり判定
(Px-Ax)*(Py-By)-(Py-Ay)*(Px-Bx) > 0 and
(Px-Bx)*(Py-Cy)-(Py-By)*(Px-Cx) > 0 and
(Px-Cx)*(Py-Dy)-(Py-Cy)*(Px-Dx) > 0 and
(Px-Dx)*(Py-Ay)-(Py-Dy)*(Px-Ax) > 0
の時は当たり
>>826 ×直線 ○線分
凸型・点間コリジョンなら外積以外で求めるのは面倒じゃね? つか、どうやんのよって話さ。
意味も分からずに式だけ使う人いそうだったから余計なお世話だとは思ったけど追加しただけさ。 俺のことだけど。
自機と敵、敵弾の間の判定はきっちりしとかないといけないけど 自弾と敵の判定は甘くなるぶんにはわりと適当でもなんとかなったりする
プレイヤーが集中して見てるのは自機だしな。
厳密にするなら微積分も駆使してどんどん厳密にできるけど それやってもあんまり意味無いからなぁ
自機なんて視界の端で見るもんだ 低速弾幕に囲まれたときは見るけど
836 :
822 :2008/01/26(土) 16:28:02 ID:v2XPXtQE
外積便利そうですね。 円、線分、外積で、処理の重さを試して、考えてみることにします。
グラ5のレーザーみたいなのは方向を持った短いレーザーの連射だから矩形でもいいような気がするけど。 雷電のプラズマレーザーだって曲線や4点コリジョンは持ってないだろうな。 シルバーガンの敵のレーザーとかは矩形を並べているだけだというし、 処理速度を気にしないといけないなら「それっぽく」でいいとおもう。
俺も矩形で良いと思う。というか、矩形を使ってる。 レーザーが、綺麗になめらかに曲がって見えるようにするには、 必然的に位置情報の数を増やしてやらないといけない。 だから、そのポイントポイントが矩形の判定を持っていれば それで事足りる。というか、事足りてる。
弾幕系でカスリもつける場合になるとやはり円判定の方がいいのかな? 敵弾と自機の距離を計算しておけばカスリと食らいで使いまわせるし 矩形だとそれができないし
好きにすればいいと思うけど、矩形にしたって 自機に二つの領域を設けて弾と二回判定するだけだから 少なくとも速度的には大差ないよ。
矩形でぜんぶ統一したほうがラクじゃね
レーザーとか考えると直線と矩形の判定も欲しいところだが
矩形判定だけで足りることは足りるけど 矩形は斜め移動時に角が引っかかりやすいので 円判定じゃないと違和感が出やすい でも円判定だけだと無理がある 結論、両方必要
というかどんなものを想定しているかによるな。 オーソドックスな2DSTGなら矩形の組み合わせのみで問題ないはず。 せいぜいレーザーの線分判定くらいか。
ビッグコアMkIIIが撃つ反射レーザーの当たり判定を HIT-DISP ONで見たときの衝撃といったら。
弾幕STGをつくろうとしているんだが、(Win+VC+DirectX9SDK) 「1画面最大2000弾」くらいを目標に基本プログラムを作ったものの、 弾数1000くらいでタイマー落ちがかかる。 正直どこを削ればいいのか悩んでます。
プロファイルしろ
21世紀のデスクトップPCなら2000発くらいは余裕だから削るような箇所はないと思う。 弾の描画メソッドだけをコメントアウトして、それで処理落ちが解消したら描画クラスの見直しってところじゃね。
新しいパソコンを買え。 それでもだめなら手術して頭を良くするしかない
何の手術したら頭良くなるんだ?
>>845 グラIIIの判定関係は参考にしちゃダメだなw
シルバーガンのHIT DISPと大して変わらん
シルバーガンのは逆に小さすぎて驚くな ここ通れるのかよ!みたいな
>>846 どこを削るかを考えるよりも、
どこが重いのかを調べるのが先だ。
やるべき事を見失うな。
855 :
846 :2008/01/30(水) 22:49:02 ID:ePSjOqqI
なんとか解決しました。 弾数2000弾を一個一個それぞれDrawPrimitiveで描き、 1フレームあたり合計2000回のDrawPrimitiveで描いていたのを、 描画する弾の座標リストをつくって 1フレームあたり1回のDrawPrimitiveで描くようにしたら 全く問題ないレベルになりますた。
2DならDrawIndexedPrimitiveの方がいいかもね まぁ大して変わらないかもしれないけど
DrawPrimitiveUP はどうか?
858 :
846 :2008/02/01(金) 01:30:55 ID:OwpLIaQ7
ごめんなさい、そもそも使っていた命令が DrawIndexedPrimitiveUPでした。 最後の2文字を見落としてますた。 すんまそん。
859 :
846 :2008/02/01(金) 01:38:43 ID:OwpLIaQ7
×DrawIndexedPrimitiveUP ○DrawPrimitiveUP 三度訂正しますすんまそん
流石にに2000個も弾描画するんなら頂点バッファ使ったほうがいいんじゃない?
で、その頂点バッファを毎フレーム書き換えるのか? 是非その比較データを採取しレポートしてください賢者さま!
>で、その頂点バッファを毎フレーム書き換えるのか? 適切に動的頂点バッファ使えば、そっちの方が実際パフォーマンス出る場合が多いぞ。
>賢者さま! こういうのつける奴って大抵自分は人より賢いと思ってる奴だよな。
ほほぅ、ちょっと勉強になった。 ただ、イマイチ違いが想像できないんで、さっさと比較データのレポートあげろ賢者さま! あと古いバッファで表示した場合位置ズレする可能性について所感を述べろ賢者さま!
自分でやろうな
>あと古いバッファで表示した場合位置ズレする可能性 何故位置ずれすと思うのかしら?
>>853 小さすぎるわけじゃないが、斑鳩も絶妙。
自機弾を打たないでクリアする、ドットイーター用かしらないが、
隣り合った巨大ブロックとブロックの隙間が抜けられたり、プレイする側としては面白い
自分は人より賢いと思ってる割には無知すぎるなw
無知だから自分は人より賢いと思うんだろ。 そんな事すら解らんのかこの無知野郎!
扇形の当たり判定を設定するには やっぱり当たり判定用の画像を作るのが楽なんだろうか
当たり判定用の画像(笑)
色で当たり判定するんじゃね
だれか弾幕の難易度を定義する方法考えてくれ
自分で考えろ 幕が厚いと難しいんだよ
多角形判定のルーチン作れ。 凸型前提なら簡単に作れるから。
このスレに統計学詳しい人いないのか
弾幕の難易度は統計学と直接関係あるのか?
自機をランダムに動かしたときに一つ一つの弾に当たる確率を出すとしたら 正規分布とか使って出せそうな気がしたから統計学と思った もちろん弾が固まったパターン弾幕では 難易度50%でも右によけたら100%、左によけたら0% みたいにばらつきが多くなるはずだから 主観的な難易度はエントロピー?とか考えてもっと複雑になるだろうけど
白い弾幕くんがそういうのやってたな 人間ぽく避ける という目的で
ABA氏はどうやってるの?
>自機をランダムに動かしたときに一つ一つの弾に当たる確率を出すとしたら 弾幕の難度ってそういうものじゃないだろう・・・
>>878 弾が速かろうが遅かろうが
上下左右から来ようが一方向から来ようが
難易度は同じってことか?
>>880 難易度から弾幕を決めるのと
弾幕から難易度を決めるのは違うだろ
リフレッシュレートってどうやったらいいんだ?
どうやったらとは?
>>882 Wikipediaによると正規分布の式は定数の平均μと分散σでできてる
正規分布ってのはσ=1なら、X=μから無限に+1か-1したときの最終的な位置の確率をグラフにしたもの
弾と当たる確率出すときは単位時間でこの式を弾の初期座標から終点座標まで積分する。
μは自機の座標で、σは自機が早かったり単位時間が長いほど大きくする
弾の位置と角度のばらつき具合は求まると思うがよく分からん。今勉強してる
あとこの方法だと自機狙い5way弾と自機と少しずれた方向に撃った5way弾は判別できないけど、
弾を認識しているかが違うだけで上級者になれば難易度の差はなくなってくると思う
シューティングって弾の速度や密度だけで難度が決まるようなもんじゃないぞ むしろ弾の発生源の数と位置のほうが重要 レーザー等による壁や誘導弾が加わったら とても計算で出せるようなもんじゃない とりあえず一度自分で作ってみればわかる
いやそんなことが経験的にわからんレベルでは作り始めるのはまだ早い
”弾幕の難易度”っていうくらいだから 他のオブジェクトによる難易度は別計算なんだと解釈してたが
レーザーは時期の反対側を全部弾と仮定すれば無問題 誘導弾は判定の単位時間が短ければ普通に計算しておk 勝手に時期に近づいてきて難易度上がるし誘導がうまければそんなに上がらない
遅い誘導弾はいろんな方向からきたら詰むし 普通の弾と同じってことはない
ASOの赤弾のことか
弾幕STGとか見たりプレイしたりすると、とても俺なんかじゃクリアできない難度だったりするわけだが あーゆーのって作る人はクリアできるわけなんかね? それだとSTG上手い人しかSTG作れない事になっちゃうから、 ちゃんとクリアできるかどうか確認するだけの腕前を持った人に協力してもらうのかね? それとも理論的にクリア可能かどうかを机上で計算してるのかね? 俺の場合、動作テストプレイをやると同時にちゃんとクリアできるか、 あるいは簡単すぎないか、を測って調整してるわけだが、 これだと俺レベルの腕前が前提になってしまうから、ヌルくなってしまってないか心配である。
作る人は無敵にしてクリアしちゃうんだよ〜ん
どこぞのメーカーさんは、同じとこを何度も挑戦できるようにして1回でもクリアできればOKみたいな感じらしいよ あとは素直に上手い人にテストプレイしてもらうのがいいかと バグ発見にも有利だしね まぁ、同人やフリーなら自分が一番面白い難易度でいいとはおもうけど
>>894 テストプレイを繰り返してると腕が上達するのが問題
全ての攻撃パターンや判定等システム理解してるしね
クリアそのものは難しくてもいいとは思うし、
みんなクリアできるゲームなんて昔からそうそうないし
後半の難易度上昇はいいとは思ってる
理不尽だとか序盤からとんでもないとかだとつらいかな
でも、怒首領蜂だって1面の難易度は低くはないよね
1面から面白いと思わせればがんばって練習して上達するんじゃないかな
超連射とかグラIIとかサラマンダとかがそんな感じ
面白そうな面を後半にもってくるんじゃだめだよと
>>895 いやそのとおりなんだけど、892の質問読んだ?
難易度の構成要素として… 開発者だけが知っていて、プレイヤーが見破れない情報があるのはマズイ。 そういう情報に気がつかないとマトモに攻略できないのはハッキリ言って糞ゲー。 そのような事が無い様に…頑張るべきw 開発者とプレイヤーがほぼイコールコンディションならいいんじゃないかな… 特定のプレイヤーしか楽しめない難易度でも、 開発者が味わってる面白さをプレイヤーと共有できればそれでいい。 それが俺のジャスティス。
ドルアーガも全部攻略本見てやるタイプ? ノベルゲーとかやってたほうがいいよ
STGスレで何を言ってるんだお前w
そもそもドルアーガは紛う事無きクソゲだ 時代が時代だったから妙にチヤホヤされただけ あんなもん引き合いに出すな
ナチュラルにドルアーガ出て来るのが年を感じさせてワラタ いや俺もだが…
>開発者とプレイヤーがほぼイコールコンディション 誰か訳して
いやそこは判るだろ
ボム前提はやめてください><
やらなきゃいいじゃん
ムチャ言うな。 普通の人間は攻略本無きゃドルアーガなんかクリア出来るか。 ポケモン作った連中だって協力して謎解きしてたんだろ。
そもそもドルアーガは一人で攻略するの前提で作ってないだろ 家で一人でやるのが基本の同人と比べてもなあ
家で一人でやるのが基本の同人 家で一人でやるのが基本の同人 家で一人でやるのが基本の同人 家で一人でやるのが基本の同人 家で一人でやるのが基本の同人 家で一人でやるのが基本の同人 家で一人でやるのが基本の同人 家で一人でやるのが基本の同人 家で一人でやるのが基本の同人
>>908 907じゃないけど、同人ゲームって皆でワイワイやるもんなのか?
正直そういう友達いないからワカンネ
どっちでも良いじゃん 908のキレっぷりは謎
このスレ、叩くの大好きな人が
>>908-909 そーだなー、大学とかコミニティに属してた時は、対戦やったりしたな。
リアル友人がいた時は、ネタゲーを接待ゲーにしたり
もはやスレ違いだがw
今思うとやっぱ学生の頃が最高だったな モルモット、じゃなくて試遊してくれる閑人が 周囲にたくさんいたもんな なぁ、自分の子供が大きくなったら オヤジのゲームを遊んでくれんのかな?
無理じゃね
弾幕シューティングを作ったことがある人に参考までに聞きたいんだけど 画面内の弾数は最大でどれぐらいになった? 1000ぐらいあれば十分なのかな?
某大往生は4桁行ってないし 東方某は知らないけどだいぶ多い キャラクターオーバーしたら増やせばいいんじゃね?
一口に弾幕といってもいろいろある。 怒首領蜂みたいなのなら512で十分。
弾の当たり判定の大きさと難易度の兼ね合いでお好みで決めればいいと思うよ 初代蜂245、大往生210、初代虫2000 東方紅妖640、永以降1536だったはず ただ東方は弾を静的な配列で管理してるようなので見た目を考えてある程度多めに確保してある感じ 俺は1200にしているが時々ギリギリになるがオーバーはしないような状況だな
え? 普通は静的な配列で管理しておくもんなんじゃないの?
人それぞれだろ。
レスありがと。
とりあえず2000確保しておけば足りなくなることはなさそうだね。
10000とか出してニヤニヤしてたけど間違いなく無駄だなこれw
>>919 最近はスペックが十分にあることが多いから、よっぽどじゃない限り
動的確保でも余裕、とか聞いたことがある。
俺は基本1000確保したけど、作ってるのが低速弾幕じゃないから まるで使い切らないw
>>918 首領蜂って怒首領蜂大往生より多いんだ
しらんかった
>921 一万表示できるならそれはそれで別なゲームに使えそうだ。
初代が55で怒首領蜂が245やね
大往生って210なのか・・・ もっと沢山あると思ってた
でかい弾は後ろ、小さい弾を手前にしたうえで 新しい弾ほど手前に表示したいんだけど動的な双方向リストじゃないと無理?
2つリスト用意すれば?
できれば性的確保したい
エロいなw
staticってエロイなw
タスクシステム厨がよくやるやらかすやつで、 あらゆるデータをひとつのリストに突っ込んだがためにややこしいソートが必要になるというのじゃないの?
正しいタスクシステム厨はタスクリストを複数持つのであまりソートはしないんじゃね。
実行部分をタスクで持って描画はタスクから登録されたOTで行ったり。
>>927 キタナイ方法だけど、それぞれの弾の毎フレーム描画プライオリティが低くなるようにすれば
新しいのが手前になる。
正射影ならZバッファでなんとかなりそうな気もする
新しい弾を手前に表示するためのvectorを
でかい弾と小さい玉を別けるためのvectorで囲んでやればいいよ。
というのが
>>933 が言うところの正しいタスクシステム厨である俺の意見。
俺は
>>934 のやり方
半透明なしの弾同士の重ね合わせは深度バッファまかせ
俺は
>>933 だな
弾用のリストの他にに、汎用の(敵機とか自機も含んだ)描画用にOT作ってる
OTってなんだい?
オーダリングテーブル(OrderingTable) バケットソートっつーソートアルゴリズムをリストで管理してるもの、かな? PSのライブラリが用いていて有名になったんだと思う。 過去スレでは何度か話題に出ている。
なんだリストバケツか。それなら俺もやってるわ。
オーバーテクノロジー かと思った
そもそもオブジェクトごとにプライオリティ決めるのが普通でない?
普通ですけど。 そのプライオリティをどうやって実現するか、って話なんだけど。
いや、普通にそのプライオリティに従えばいいだけでしょ?
何言ってんだおまいは
いや、普通オブジェクトの発生シーケンスとプライオリティとで 順序が変わる優先度キューにつっこんで、 描画時にイテレータで取り出すだけとやるのが普通でしょ?
この人はどう対処すればいいの?
どうしても引けないと言うなら、まずさ、オブジェクトってのが何を指してるのか・・・そこから始めるべき。 みんながみんなエスパーじゃないんだからさ。
順序が変わる優先度キューってどんなものなんですか? FIFOのキューと違うんですか?
文字で書くと「キュー」だが、俺の脳内では「キュゥエゥエ」なんだよな。どうにかならんかな。
キューといえば、山本太郎だな
キューに突っ込むたびにソートする(優先度のとこに割り込ませる)って事かな??
ググればいくらでもででくるだろうに FIFOは一般的なキュー実装ってだけ
ギブ・ミー・ア・キュー
>>946 言っていることはOTと変わらんくない?
そのOTってのやめねえ? プレステやってた奴にしか通じねぇよ
じゃあもっと面白カッコイイ名前を考えろよ
おぅてぃ
OTってプログラム系の単語と組み合わせてググれば結構引っかかるから 既に用語として定着していると思うんだけど。 なんせ10年位前から使われている言葉だし。
プログラマじゃないヤツがOT検索しても到達できないだろうなw
武器が壊れる奴思い出したりする
オーバートラストだな
ちなみに俺は面白カッコイイ代替呼称が思いつかないクズでございます
かっこいい呼称とやらは新たにつけたところでOT以上にマイナーどころか、このスレでしか通じないじゃん。 バケットソートかOTで問題ない。
優先度キューのほうが一般名称らしいな
OTやバケットソートはアルゴリズムそのものだけど、優先度キューってのは手法の総称じゃないの? OTの別名ってのとはちょっと違うような。
バケットならアルゴリズムそのものといえるけど オーダリングテーブルはそのものとはいえん Zオーダに依存した格納場所という意味でしかない
バケット内が複数になる場合の実装法は限定されているわけでなくて、 その中で単方向リストで順次繋いじゃえってのがOT。 つまり、OTはバケットソートアルゴリズムそのものじゃないのかと。
ほらコンセンサス取れてない なんか「タスクシステム」と同じ臭いを感じるんだよな これはもうシューティングゲームアルゴリズムマニアックス2に 「オーダリングテーブル」を入れてもらうしかないな
代替呼称が必要、とか言い出した人がいなければ全然揉めなかった問題なんだけどね。
多分俺に言ってるんじゃないと思うのでスルーするよ あとこのポストも独り言なのでスルーしてくれ プレステのDMAってのは単に指定バイトコピーするだけのDMAじゃなくて リスト構造を解して飛び飛びの配置でも順番に転送可能なインテリジェントDMAなわけ それでそのリストをZオーダー毎に用意しておけば パケット転送は爆速な上に隠面消去も出来て一石二鳥 こんなすげえ仕様にはもう名前をつけるしかなくねえ?と誰かが言ったかは定かではないが そうして生まれたのがオーダリングテーブル そして今その名前は親元を離れ一人歩きするようになってしまった ほら、振り返ればあなたの後ろにもOT厨が・・・
と言う俺自身が一番OT厨だったりするがな
で、アンタは結局どうしたのよ。 OTと呼ぶのを止めたいんでしょ。
OTLで
>>970 適当に俺もOTって言ってるけど、タスクシステムと同じくらいの用語だと思う
バケツソートのゲーム用に特化したもののローカル用語
>>972 >リスト構造を解して飛び飛びの配置でも順番に転送可能なインテリジェントDMAなわけ
X68000のDMAみたいな構造なのか。リンクアレイチェイン転送だったっけ。
あれも当時としてはインテリジェントだけど、層が違う パケット単位での扱い方だからね
こんだけ専門的なこと知ってる奴多いのにSTGすくねぇな と思ってしまう俺がいる C言語始めたけどよくワカンネ
イミワカンネ
これだけたくさんSTGの作り方を知ってる人間がいるのに 世に出回ってるSTGが少ないのはなぜだろうな。 という意味にとった。
ここにいる以上にインディーズシューティングは出ていると思うよ。
書き込みの数が人数とでも思ってるのか?