[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 09:02 / Filesize : 199 KB / Number-of Response : 762
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

シューティングゲーム製作技術総合 15機目



1 名前:名前は開発中のものです。 [2008/02/18(月) 12:02:20 ID:JNgyhRqZ]
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!

ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。

過去スレ,関連スレは >>2-3で。

100 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 13:08:41 ID:kWp5gXWi]
2は横移動先が壁にめり込んでたらめり込んだ分横に押し戻し
3はスクロールしてめり込んだらめり込んだ分スクロール方向に押し戻し
とか

101 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 13:44:46 ID:XmgrQpyE]
2は普通に作ればたいてい空いてる方向に移動すると思うぞ
要するに、キー入力方向に壁があったら、その方向の移動量をゼロにする
あと、地形を重視するなら大きなマップの中で視点がスクロールすると考えるといい
一度アクションゲームを作ってみるといいよ
4点とも簡単に解決できる


102 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 23:10:22 ID:Y2tGkS1P]
ありあとうございます。

>>100
今やっているのだとそんな感じなのですが、斜めの壁のとき
おかしくなる気がします。X方向とY方向を別々に判定してるんで
順番によっても変になってる気がします。

>>101
その場合先に壁と隣接しているかどうか判定するのでしょうか
今考えてるやり方だとめり込んでから戻すって感じなのですが。

103 名前:名前は開発中のものです。 mailto:sage [2008/03/22(土) 00:30:26 ID:YjjlX8do]
>>102
縦壁だけじゃなく斜め壁もあるのか
そしたら斜めの当たり判定のとり方から説明が必要?

それとも壁の角に斜めにぶつかった場合ってことだろうか
>>100はx方向を先に判定すれば壁の角から横に進むしy方向なら縦だし
どっちにも進みたくないなら別の処理が必要だし

どっちにしてもどういう挙動がおかしい挙動なのか仕様がわからいとなぁ


104 名前:名前は開発中のものです。 mailto:sage [2008/03/22(土) 00:43:49 ID:8Y+Va9zt]
めり込んだら押し戻すで全部解決するはずだがなあ・・・
接触判定がおかしいんじゃないのか?

105 名前:名前は開発中のものです。 mailto:sage [2008/03/22(土) 05:42:47 ID:44zgMaPM]
>>102
「壁ずり」で検索

106 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 13:04:48 ID:VlbCWj/H]
当たり判定ってどんな形にしてる?
円形または矩形で統一するのが楽だけど、
円形だと細長い弾やレーザーが、矩形だと斜めの弾の表現が難しい
複数の矩形とか?

107 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 13:25:23 ID:d2zOUJKL]
俺は基本的には矩形以外使わないな
ところで斜めの弾ってなんだ?

108 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 13:40:58 ID:XpxtelVy]
俺は楕円にしてる



109 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 13:43:51 ID:9Ostvv4d]
矩形だけだな
斜めは回転で対応

110 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 13:46:52 ID:VlbCWj/H]
斜めの弾=斜め方向に飛ぶ弾、斜め方向に長い弾
矩形だと見た目とずれるし、矩形を回転させるのは手間。楕円も同じ
円形だと、斜め向きでも縦向きでも
尖がった部分に当たり判定が無いのは共通だからまあマシかな、と



111 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 14:02:08 ID:DkU5E/rv]
円形で細い弾は作らない。

112 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 14:14:31 ID:d2zOUJKL]
>>110
針弾のこと?
矩形回転くらいやんなさいよw
それが面倒なら針弾なんか使わなければいい。
丸い弾だけなら正方形判定だけで出来る。

113 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 15:33:05 ID:SMEFBCL/]
俺は斜めだろうと楕円だろうと何だろうと正方形で済ませてるど素人です。
自分でプレイしてて全然気にならないんですが、
やっぱ弾幕シューとかだと重要なんでしょうかね。

自分は緻密な弾避け行為にこだわってないから解んないけど
そういうのが好きな人は違うのだろうか。

114 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 15:40:46 ID:ZbRSLUlC]
まぁ、好きな人はそういう仕様まで利用していくから良いと思うよw

115 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 15:58:42 ID:4ckcNna2]
弾幕目の敵にしすぎワロタ
弾幕ゲーじゃなくても、見た目と違うあたり判定はどうも嫌いだな
某同人弾幕ゲーは見た目と当たり判定の乖離がひどいが

俺は矩形の当たり判定を複数持たせて近似している
地面とかは円形だとうまく表現できないし
本当はビットマップを走査して判定したいけど、さすがに重過ぎる

116 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 16:14:15 ID:XpxtelVy]
線分交差判定か何かでいいんじゃないか

117 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 18:40:14 ID:d2zOUJKL]
見た目と違うというが、昔からゲームやってる人間なら
むしろ見た目どおりの判定のほうがおかしく感じるハズだw

118 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 20:14:18 ID:2cPCy0BJ]
何回もやってりゃなれるしな



119 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 21:27:48 ID:cK7bOzt5]
自機の当たり判定が点なのに
弾の判定が見た目と違うと文句をつけるのもおかしな話だ

120 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 22:14:24 ID:/kBQhQQw]
んだな

針弾の当たり判定オブジェクトが矩形(正方形のAABBの数珠繋ぎ)でも
判定が甘め(針弾イメージからAABBが飛び出ない)なら俺は気にならん

だが矩形回転(OBB)が面倒とかいうのも
ちと情けないというか。高校レベルの算数だろ

121 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 22:17:16 ID:/kBQhQQw]
あと針弾をAABB数珠繋ぎでやるくらいなら
円の数珠繋ぎのほうがマシな気がしないでもない

122 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 00:08:41 ID:+0T08afk]
>>120
×算数 ○数学

回転矩形同士の当たり判定は結構面倒だと思うが
難しいんじゃなくて面倒

123 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 00:29:47 ID:Yr94LLRU]
STGスレだから
OBB vs 点 の判定という前提で
簡単と書いたったのゆーしてくらはい

124 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 10:01:29 ID:IupNpfeC]
俺は先端に矩形を一個だけww
手抜きサーセンwwwww

125 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 11:24:17 ID:mEuEcy6w]
それで良いんじゃね

126 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 12:08:38 ID:fwLvQ6Ft]
難しいとか面倒とかでもあるけど
比較的どうでもいい事に処理を食わせたくないという旧い人間な俺。

127 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 12:35:06 ID:mEuEcy6w]
たとえば中型のプロペラ機の機体後部とか尾翼とかに判定なんか要らんのですよ
主翼部分だけで良いんです

128 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 13:17:05 ID:sI3+U67E]
>>115
どうでもいいけど、確かひとつのオブジェクトに複数の当たり判定を持たせる、
という方法はセガが特許をとっていたはず




129 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 13:27:41 ID:mEuEcy6w]
知らんがなそんなもんw

130 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 14:00:30 ID:3DNtnzJR]
>>128
3Dオブジェクトの周りに球形の当たり判定を複数つけるというのがセガの特許だから
2Dなら大丈夫なんじゃないか?

131 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 14:31:02 ID:fwLvQ6Ft]
そんなんで特許取れるのか……。

132 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 14:34:58 ID:GL5PdgnZ]
>特許3603898
>特開2003-299877
>交差判定方法及びこれを用いたゲーム装置

この辺かなぁ

これ普通に既知・公知の基本技術だよねぇ
趣味野郎にとっては完全無視しても事実上無問題の話だけど
ゲームで飯食ってるその手の業界の競合他社の法務部門は
こういうナメた特許を取られて異議申し立てもせずに
完全スルーしてて大丈夫なのか?タダ飯食って寝てるだけだろ

133 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 16:20:11 ID:mEuEcy6w]
アメリカで「入力装置による操作で画面の絵が動く」とかいうサブマリン特許で
ゲームメーカー各社が訴訟起こされたりしたからな。そこら辺は防衛手段だと思われ。


134 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 20:09:54 ID:RTOqTDW3]
もういっそ
「誰でも考え付くくだらない技術で特許を取る方法」という特許を取ればいいのに

135 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 22:03:31 ID:nPahSoi8]
普通に矩形判定の回転とかやり方が思いつかない理系の俺はどうしたらいい?

136 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 22:22:10 ID:sI3+U67E]
回転した矩形の衝突判定なら、多角形の衝突判定でいいと思う

137 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 22:23:12 ID:k9aWkyJr]
>>135
中学生?

138 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 22:31:04 ID:YAOqhvfe]
敵キャラの基本と思ってスライムを作った


あー、STGの空飛ぶ世界でスライムって使いどころが……



139 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 22:33:21 ID:V5wQxKJV]
横シューでグラVのバスクリン見たいに落ちてくるとか

140 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 23:21:17 ID:nPahSoi8]
>>137
えぇ。適当にベクトルの式の立てて解くっぽいことしか想像できないw
しかもやり方わからんし
数Cもっとまじめにやるんだったかな・・・ちょっくら高校の教科書とにらめっこしてくる。

141 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 23:44:00 ID:YAOqhvfe]
一方がもう一方に入り込む可能性を無視するなら、各辺が交わっているか判定する
入り込む場合は、一方の頂点がもう一方の領域に入っていることを判定する

頂点が領域に入っている判定は、
矩形に限定するなら、座標変換した後、普通に矩形と頂点の判定をするとか
凸多角形なら、辺と頂点の位置関係(常に頂点が辺の左側にあるか)を判定すればOK

こんな感じ?

>>139
背景の当たり判定考えてないんだよねぇ
何か土台でも作ろうかな

142 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 00:22:40 ID:+WqpoOyM]
ライフゲージをスライムの大きさで表示
そしてアイテムは全部スライム

143 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 00:32:40 ID:9+3bwAjS]
普通に地上キャラでスライムだせばいいのでは・・・

144 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 00:39:21 ID:BjCc4re0]
接触したら、コマンド入力方式戦闘シーンに突入すればいいのでは……。

145 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 01:38:38 ID:uFzRVnSV]
ゲーム中の物体は全てオブジェクトで、
登場するたびにnewでメモリ確保してlistに突っ込んでるんだが、
newは自重したほうが速度的に有利なのかな
いまどきのPCなら問題ないよ・・・な?

146 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 11:55:46 ID:mSvRfoAk]
そのぐらいの最適化、ちょっと手を加えれば済むんだからやっとけよ
プールして再利用、あとは事前にまとめて確保しておけ

147 名前:97=99 mailto:sage [2008/03/25(火) 12:04:14 ID:pBCIUDY5]
遅くなりましたがいろいろありがとうございました
今試行錯誤中です

148 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 19:28:38 ID:njfgxTgM]
>>141
まさにその形で組んだ所だったよ。

内包する場合も141と同じ方式。
前にどこかで拾った式コピペしときま。外積使って頂点が左にあるか。を求めてるのかと。


828 2008/01/25(金) 18:20:24 ID:wCWKO3oH
名前は開発中のものです。(sage)

四角形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
の時は当たり



149 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 20:47:36 ID:ZVswnUkG]
>>146
ぶっちゃけSTGに可変長配列は要らないな
オブジェクトの配列を最初にまとめて確保して、存在フラグをメンバ変数に持たせる
派生クラスも作らないで、オブジェクトの種類はメンバ変数で管理

ぜんぜん美しくないけどな

150 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 17:47:55 ID:H5DuUJqf]
オブジェクトのプールってどのように実装しているんでしょうか?

まとめて確保したオブジェクトのポインタをstackに積んでおいて
取り出したり使い終わったら戻したりみたいなやり方と
プールのlistと使用中のlistでやりとりするみたいなやり方
を思いついたんですけど・・・

もっとかっこいいやり方あるんでしょうか?

151 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 18:31:19 ID:kiBU8E/6]
STLは使って無いんだけど、後者と同様の事をしてる。

任意サイズメモリを確保してそれをローカルヒープとして管理し、
そこからAlloc/Freeってのをやってたこともあったけど、可変サイズに対応可能だけど
メモリ管理ブロック分がもったいないとか、微々たるものだが処理コストが気になる、とか一長一短。
PCなら気にしなくてもいいかな?

152 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 19:28:28 ID:GuggIAK/]
PCなら気にする必要は全く無しというのが俺の実験結果
ボス、弾、破片(パーティクル)に至るまで一個一個new(LocalAlloc)してdeleteして
24時間デモシーンをぶん回しても異常なしだったんだぜ

153 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 20:34:31 ID:59FgdjS6]
物理演算とか相当煩雑な処理させない限り、
現在のPCの処理速度では最適化の意味がない、ってのは常々言われてるな
処理速度より、生産性とかソースの可読性とかを優先していいと思われ


154 名前:150 mailto:sage [2008/03/26(水) 22:29:36 ID:BPyz/7I/]
自分も今はそのままnewを使っているんですが
同じ動作をするなら少しでも軽いほうが精神衛生的に良いかなと。
処理もそんなに難しそうじゃないし。

まあ、一人でしこしこ作ってるので自分が納得できるようにやります。

155 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 23:10:59 ID:u3R/2Gep]
それが一番だな。>自分が納得

156 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 23:18:09 ID:pNomGL32]
俺は配列で確保してる


157 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 23:37:23 ID:59FgdjS6]
クラスのサイズがバラバラだから、使いまわし出来ないなぁ
最大サイズで確保するのはなんか癪だ

158 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 00:08:07 ID:sUf83WPb]
しかし最大サイズで確保するのが最も現実的な罠
断片化を抑えるために色々小細工してるから遅い、という原因には効く



159 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 01:08:19 ID:V2zSEp+V]
>>157
>癪だ
富豪厨の俺に言わせれば
boost::simple_segregated_storageでガバッと確保して固定サイズでジャブジャブ融資
原資(メモリ)が足りない?そんなしみったれた貧弱PCユーザーは今すぐrejectだ!

160 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 01:33:36 ID:PgdiK5wh]
アジャイル、UML,オブジェクト思考、階層化・・・
色々悩ませてくれたが・・・俺は最大の手段を使うことにした


そ れ は ・ ・ ・





goto文

161 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 05:29:56 ID:/WF5Ry8k]
>>157
使いまわせるように作るんだよぅ

162 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 09:52:59 ID:4/N0HnfM]
単純な直進弾や自機狙い弾と、
ホーミング弾や複雑なAIを持った敵機で、
必要なメンバ変数の数が違うんだよねぇ

163 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 13:42:30 ID:QODpit3Q]
で?みたいな(笑)

164 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 16:42:19 ID:V2zSEp+V]
>>162
3DSTGの敵機に編隊飛行、指令送受信、策敵、射撃、回避、離脱、体当たり
こんだけ積み込んでおおよそ64[Bytes/Instance]
ブースターだの脱出ポッドだのバリoートだのフライ○グアーマーだのといった
子インスタンスを加えても合計128[Bytes/Instance]を上回ることはなかった
誘導弾は64[Bytes/Instance]以下
直進弾は32[Bytes/Instance]以下

敵機200機の飽和攻撃により誘導弾800発と直進弾2000発
合計3000個のインスタンスが画面内を乱舞するとする

割り当て方法は全部同じプールでも別々のプールでも
インスタンス毎にnew(HeapAlloc)でも好きにしたまえだが
毎回HeapAllocだと管理領域分も考慮しなければいけないので
ここでは話を単純化するためプールとする

165 名前:続き mailto:sage [2008/03/27(木) 16:42:55 ID:V2zSEp+V]
富豪厨は太っ腹なので全て128[Bytes/Instance]の固定サイズで
湯水のごとくアロケート

種類   サイズ(使用メモリ) 個数 サイズ合計 使用メモリ合計 無駄使い
----------------------------------------------------------
敵.       128(128)    200   25600 .  25600 .        0
誘導弾    64(128)    800   51200  102400 .    51200
直進弾    32(128).   2000   64000  256000    192000
----------------------------------------------------------
合計     224(384)   3000 . 140800  384000    243200

敵、誘導弾、直進弾、別々のプールから割り当てる場合と比較すると
3倍弱のメモリを使用して約243KBを無駄にすることが分かる
これを「に、243KBも!(#@Д@)」とするか
「たったの243KBで騒ぐ貧乏人はrejectだな」とするかは
各人のエンゲル係数や可処分所得に左右される大変デリケートな問題
ここではあえて言及しないことにする

以上

166 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 17:01:14 ID:V2zSEp+V]
× 約243KBを無駄にする
○ 約237KBを無駄にする

167 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 20:03:42 ID:p+6nv0BF]
>敵機200機の飽和攻撃により誘導弾800発と直進弾2000発
>合計3000個のインスタンスが画面内を乱舞

これは酷いな。生きのこれる気がしないぜ

168 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 20:38:33 ID:/7zHrXV5]
一昨日PC2 6400 2GBx2を8000円で買ったんだが
243200バイトの損失なら
8000 * 243200 / (1024^3 * 4) = 4.53E-01
たった45銭3厘の損失かぁ



MSXの32KB拡張RAMカートリッジ、高かったなぁ(遠い目



169 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 21:35:50 ID:PgdiK5wh]
もまいらいったいいくつから作ってるんだ?

170 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 21:58:45 ID:d3jrFqn7]
パピコンでBASICゲーム作ってたのは中学んときだけど、
まがりなりにもシューティングらしきのを作ったのは高校ん時だったかなぁ。
やはりパピコンのBASICコンパイラ+表示部分だけマシン語(ハンドアセンブル)で。

あの頃からほとんど成長してないのは正直どうかと……w

171 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 22:04:51 ID:V2zSEp+V]
>>169
もまいの故郷

goto文を恐れなく使う兵達のスレ
pc.2ch.net/tech/kako/1021/10213/1021364372.html

172 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 22:07:22 ID:DaOlp9/i]
真の富豪厨は毎回new/deleteだろ。

173 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 22:11:27 ID:V2zSEp+V]
やった(>>152=俺)が、余りにもアッサリとうまく動きやがったので
面白くないからrejectしてやった

174 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 22:58:05 ID:WDUR6Kc3]
3Dで敵機64バイトって小さすぎない?
姿勢情報とかでどうしても容量デカくなりそうだけど

175 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 23:44:06 ID:XP2qgfZL]
変位(座標)と回転の情報を4x4行列にぶち込んでればそりゃブクブク膨れ上がるだろうけど
回転にクォータニオンとか使ってれば2要素増えるだけだぜ?(圧縮すれば1要素増加で済む)
変位のほうは単純にz成分(1要素)が加わるだけ

結局、姿勢情報はfloat値6個(24バイト)もあれば十分表現できる
後は速度情報を加えて計48バイトとか

まぁ普通はそんな感じじゃね?

176 名前:174 mailto:sage [2008/03/28(金) 00:28:27 ID:PZRPRNjR]
>変位(座標)と回転の情報を4x4行列にぶち込んでればそりゃブクブク膨れ上がるだろうけど

うっ、それまさに自分だ。。。
クォータニオンか。。。D3DXで提供されてるから素直に使ってみるか

レスd

177 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 00:57:37 ID:p3ibL9sX]
そうかなぁ
4x4行列をジャブジャブ使ったほうがある意味で爽快かもよ

178 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 01:12:03 ID:0fJyqmGF]
>>172
なんという俺




179 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 01:12:06 ID:PZRPRNjR]
そ、そういう発想の転換もアリだよね、ね
PCならこの程度何の実害ないし
クォータニオンはまたその内検討してみまつ。。。

180 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 01:13:36 ID:PZRPRNjR]
すまんこアンカー忘れ。>>177だた

181 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 01:18:13 ID:Pgm9Hf0W]
>>177
おまいもうboostスレに帰れよw

182 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 01:26:20 ID:p3ibL9sX]
どうもお邪魔しました!

_______    boostスレの     STGスレの
|←boostスレ|        中の人      中の人
. ̄.|| ̄ ̄ ̄       ┗(^o^ )┳(^o^ )┳(^o^ )┛≡=-
  ||            ┏┗  ┗┗  ┏┗ ≡=-
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

183 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 02:01:16 ID:ZjS17OFO]
絆スキップ

184 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 14:37:29 ID:SjpgUEnZ]
>>175
>ブクブク膨れ上がる

常日頃からメタボメタボ言われまくってる俺の
センシティブなハートをお前は深く傷つけたよ

185 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 20:50:33 ID:qlc6IPHd]
メタボ臭とかいう新ジャンルのSTGを開拓すればいんじゃね

186 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 21:15:38 ID:/8lohFxt]
それ何てミクロの決死圏
血管の中で中性脂肪の弾幕でもかわすのか?すげぇ既視感あるネタだけど

泡状のとかブニョブニョしたものを描くの面倒臭そうだな
昔のメガデモでよくみかけたMETABALLみたいな手法を使えばいけそうだな


オヤジギャグじゃないからな

187 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 22:00:27 ID:wFA3mk0n]
メガデモ(笑)
メタボール(笑)

オッサンばっか(笑)

188 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 23:11:26 ID:ikErMOXa]
メガデモのメタボールの仕組みよく知らないんだが、あれって

 濃度を格納したボリュームデータを用意して
 ある濃度をしきい値にして面を張る

みたいな、ベタなやり方だったのかな
10年近く前にクラシックペンティアム積んだPCでぐりぐり動いてた
ような記憶があるんで、上記の手続きだと(特にボリュームデータの
更新、というかアニメーション?あたりが)かなり重たいものになりそうだし
やっぱ何らかのトリック(フェイク)が使われたのかな

あ、ソース公開されてる作品あるからそれ覗けばいいだろってのは分かってる
話題がないのでなんとなくネタ振りということで・・・

グニャグニャ(連続体?)オブジェクトが出現するSTGとか作ってみたいし




189 名前:名前は開発中のものです。 mailto:sage [2008/03/29(土) 01:52:02 ID:oF0Q5YC2]
ム板のメガデモスレ池
マジレス

190 名前:名前は開発中のものです。 mailto:sage [2008/03/29(土) 02:49:58 ID:4C1bZfLa]
>>188
ソフトレンダもので初代Pentiumでぐりぐり(60FPS以上で)動いてたなら
スクリーン解像度は400*300とか320*240程度だったはず
濃度値を収める三次元格子もかなり荒かったんじゃないかなぁ

濃度値の精度は8ビットで格子数は16*16*16=4096バイトとかで十分
この程度なら当時でも余裕で処理できたはず

つか、今時のビデオカードで2DSTGでメタボールっぽいキャラ出すなら
パーピクセルで描ける
法線マップとアルファ付きカラーマップにぼやけた円を重ね描きしていって
アルファテストで閾値設定して描けば立体感(光沢付き)ぷよぷよだよ!
DirectXのSDKにもそんな感じのサンプルが入ってたはず


191 名前:名前は開発中のものです。 mailto:sage [2008/03/29(土) 10:50:00 ID:p4/t7kS/]
背景が黒いなら加算合成で出来ちゃうんだけどな。

192 名前:名前は開発中のものです。 mailto:sage [2008/03/29(土) 10:52:47 ID:PdR5kqA3]
メタボはメタボールの略だったのか。

193 名前:名前は開発中のものです。 mailto:sage [2008/04/01(火) 15:39:40 ID:3rITgYf3]
メタルボーク発進

194 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 00:38:42 ID:JN0z56Et]
質問
CGってグラフィックボードで描いてるんだよね?
ハード的な理由で描画はマルチスレッドみたいになるの?
てことは、処理落ちの原因はほとんど当たり判定とかのせいになるの?
ということは、当たり判定をマルチスレッド分担すればいろいろ完璧?

195 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 01:02:14 ID:1TsuscT3]
今時、当たり判定程度で処理落ちするCPUはない
プログラムにむちゃくちゃ無駄が多かったりしない限り

3Dならポリゴン数が多いと、GPUの性能次第で処理落ちするし、
物理演算があるとCPU性能次第で処理落ちするかな

196 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 03:26:09 ID:kdoRe4RJ]
>>194
「てことは」の前後の文脈がどういう理屈で繋がるのか知らんが、2DSTGの話をしてるなら
今時どんなヘボノートPC環境であろうとも「当たり判定」で処理落ちさせるなんて至難の業だな
5年近く前のモバノート(1GHz前後のペンM…当然シングルコア)でシングルスレッドの総当りで
敵50匹と弾1500発の処理やらせて普通に60fps出るんだから、この時点で既に「いろいろ完璧」

197 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 03:59:52 ID:VspohKvQ]
そのスペックで1500の総当りってどう考えてもきつい気がするんだけども・・・

198 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 07:15:31 ID:69exqbeK]
ウチのご隠居チンコパッドX31が初代セントリーノの1.2GHzで
だいたい同世代みたいだけど、1500個くらいならイケてる

ビデオチップがMobileRadeonとやや貧弱だから、計算よりも
描画周りに気を使う

使うっつってもテクスチャをケチりまくるとか
頂点バッファとDrawPrimitiveの使い方を適切に、とか
その程度の話だけどね



199 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 10:16:35 ID:AI/AEUDG]
総当り以外の当たり判定処理ってのが思いつきません。

ずっと昔に仮想マップみたいなのを用意しておいて
そこにキャラや弾の情報を書き込み、判定の際に使うってのを
何かで見た記憶があるけど、こういうのの事でしょうか。

200 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 10:46:32 ID:hPpN0s4/]
空間分割ってのがありまして。

完全2Dなら当たり判定のある空間を縦横20くらいに分割して、
それぞれの空間に属するもの同士で判定を取ることで、
当たる見込みの無いものとの判定を事前に回避する。

201 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 12:27:23 ID:euXxyvh6]
>>199
pc11.2ch.net/test/read.cgi/gamedev/1199303757/762-765n
↑の質問したのお前?
仮に別人だとしてもこの過疎板でこのタイミングで同じ質問が二度出るのは変だな
どっかのゲー専の宿題か何かか?正直に吐いたら褒美をくれてやるぞw

202 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 13:27:02 ID:AI/AEUDG]
違います。
ゲー専の宿題でもないです。

今、自分で2Dゲーム作ってて、
キャラと弾、全部あわせると最高1600強を動かしてて、総当りでやってて問題なく遊べてる。
(もちろんあくまで「最高1600」であって、常にそれだけ動いてるわけではない)
「自機と敵弾」だけの判定じゃなくて、「敵と敵弾」とかの判定もやってるのに
ちゃんと遊べるから、最近のPCの処理速度はすげーなーとか思いつつも
やっぱもっと効率のいい判定方法ないかな、と考えてただけです。

203 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 14:08:55 ID:98Hdy+Q5]
1600*1600の総当りは3年位前のスペックだときつくないかな?

204 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 14:20:04 ID:kACwEiIs]
三年前、2005年のスペックというと
athlon64が全盛でathlon64x2が登場、Core2Duoがまだ、という辺り

有り得ないくらい余裕だな

205 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 14:36:20 ID:8r+omDm7]
1600*1600だと最新マシンでも空間分割しないときついんじゃないか。
>>196は弾*キャラなんじゃない?

206 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 16:24:58 ID:XVBdGsRf]
典型的な2DSTGで1600のオブジェクトを表示するったって大半が弾なんだけど
1600*1600という数字(組み合わせ)に一体何の意味があるのか>>203は説明できないだろ

207 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 16:25:30 ID:KKsDXKAb]
ja.pastebin.ca/970731
やっつけだがpen3 1GHzのマシンで平均32ミリ秒
30fpsで間に合わないってところか

208 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 17:04:15 ID:KKsDXKAb]
ja.pastebin.ca/970760
今度は32*32の敵64体と16*16の弾1600発のテストで、弾はヒットしたら壊れるという想定
同マシンで2〜3ミリ秒
余裕すぎるな

ただのジコマンなのに連投してすまん



209 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 17:25:12 ID:0OItj9LK]
総当りっていったら、普通は敵だの弾だの関係なく
{1600}C{2} = 1600*1599/2 の組み合わせになるんじゃないのか?
64*1600の組み合わせじゃあ桁が違う

210 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 17:32:55 ID:KKsDXKAb]
>>209
それは>>207

>>208は単なるジコマンぽ

211 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 19:04:55 ID:g/x8ThIF]
>>203
”総当りの意味をちゃんと使ってくれ”
と、暗に言ってるだけだと思うんだが

212 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 20:34:11 ID:GfOfbOVS]
オブジェクトを敵機・弾など種類ごとにリストにしておき、
あるリストの要素と別のリストの要素の当たり判定を行うことで、
無駄な判定はなくせると思うが


213 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 20:42:54 ID:9+TzVPLQ]
俺もそれだ。

214 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 21:04:37 ID:qbhzPNp0]
>>212
例えば自機が画面の左下にあるのに
右上に固まってる敵弾と判定と判定を行うのは無駄な判定だとは思わないか?

215 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 21:06:02 ID:qbhzPNp0]
なんか変な文章に・・・

216 名前:199=202 mailto:sage [2008/04/04(金) 21:43:26 ID:WdCHFh7R]
なんか俺の書いた事について色々あったみたいで、申し訳ないです。

俺が問題としてた話題はあくまで「総当り以外の判定方法」であって、
それ以外(俺がどんな事やってるか)は、この際関係ないから
>>201さんに納得してもらえる程度の情報出せばいいと思って
おおざっぱな説明しただけで、実際に1600*1600の判定やってるわけじゃないです。

常に全キャラ使ってるわけじゃないし、キャラ同士、弾同士の衝突判定は
ある場合より無い場合の方が多いし、そもそも味方同士の判定はやってないし、
というようにかなり減らしてはいます。

という事で>>201さんに納得していただいて、その褒美を貰おうと心待ちにしている次第です。

217 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 22:03:57 ID:GfOfbOVS]
>>214
当たり判定範囲が矩形なら無駄な判定は生じない
むしろ、空間分割の方が無駄
5〜10個の矩形の複合体とか円形とか多角形なら、空間分割にも利があるけど、
矩形のバウンディングボックスで一度判定すれば十分だろ

218 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 23:32:07 ID:qbhzPNp0]
俺の日本語がダメなばっかりに変な誤解をさせてしまってるかもしれない・・・
それとも俺が誤解してるのかも?

>>212の方法って敵弾が1000個あったとしたら
1000回自機と判定しなきゃならないってことだよね?

悪い例えだけど(実際はツリーだったり)
敵弾を分割した空間ごとにリストにしておき、
自機のある空間とその空間のリストの当たり判定を行うことで、
無駄な判定はなくせると思うが



219 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 23:32:34 ID:KKsDXKAb]
組み合わせが多いときは、分割は有効だけどね

220 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 23:37:39 ID:KKsDXKAb]
グリッドハッシュ
ttp://lucille.atso-net.jp/blog/?p=85

シューティングにここまで必要か?と問われたら
個人的には要らないと答えるが
知っておいて損は無いと思う

221 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 23:50:38 ID:98Hdy+Q5]
昔は、IF文使うときに&&を使わず
入れ子にして速度を稼いだりしたなぁ

222 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 23:53:49 ID:qbhzPNp0]
確かに1対多だったら労力のわりにたいした恩恵受けるもんでもないんだけども・・・

223 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 00:13:39 ID:ElJWYWg0]
とりあえず、オマエラ「空間分割 衝突」で1回ググれば幸せになれるんじゃね?

224 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 00:23:10 ID:xg5znUOR]
>>221
わざわざ入れ子にしなくても
if( A() && B() )
これA()がfalseならB()は実行されないから
左のほうをfalseになりやすいものにすればいいと思うんだけど
昔のコンパイラは違うのかね

225 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 00:27:12 ID:ndMxol9I]
>>209
敵弾とか敵機はお互い衝突しない
つまり敵属性同士は衝突しない
自機と自弾についても同じこと

敵(Enemy)と自(プレイヤー、味方、Friendly)。たった「2種」の敵味方属性
そしてオブジェクトに割り当てられる敵味方属性情報は静的。定数。const
プリプロセッサ、コンパイラにかける前から明らか。火を見るより
ゲームデザインの時点で既に決まってること
それなのに、判定…意味も無く…1600*1600回…あり得ない…愚行…常軌を逸する…愚鈍

226 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 00:28:02 ID:ndMxol9I]
BULLET enemybulletarray[1500];
ENEMY enemyarray[100];
PLAYER player;
for(int n0=0; n0<1500; n0++){
  for(int n1=0; n1<1500; n1++)
   CollisionDetection( enemybulletarray[n0] , enemybulletarray[n1] );
  for(int n1=0; n1<100; n1++)
   CollisionDetection( enemybulletarray[n0] , enemyarray[n1] );
}
for(int n0=0; n0<100; n0++){
  for(int n1=0; n1<1500; n1++)
   CollisionDetection( enemybulletarray[n0] , enemybulletarray[n1] );
  for(int n1=0; n1<100; n1++)
   CollisionDetection( enemybulletarray[n0] , enemyarray[n1] );
}
//↑ここまでで1600*1600回

227 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 00:38:24 ID:ndMxol9I]
BULLET playerbullet[100];
//2DSTGで総当りで当たり判定するっつったら普通コレ
for( int n0=0; n0<1500; n0++)
  CollisionDetection(player , enemybulletarray[n0]);
for( int n0=0; n0<100; n0++)
  CollisionDetection(player , enemyarray[n0]);
for( int n0=0; n0<100; n0++)
  for(int n1=0; n1<100; n1++)
   CollisionDetection( enemyarray[n0], playerbullet[n1] );

228 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 00:43:36 ID:ndMxol9I]
BULLET enemybulletarray[1500];
>>226訂正

ENEMY enemyarray[100];
PLAYER player;
for(int n0=0; n0<1500; n0++){
  for(int n1=0; n1<1500; n1++)
   CollisionDetection( enemybulletarray[n0] , enemybulletarray[n1] );
  for(int n1=0; n1<100; n1++)
   CollisionDetection( enemybulletarray[n0] , enemyarray[n1] );
}
for(int n0=0; n0<100; n0++){
  for(int n1=0; n1<1500; n1++)
   CollisionDetection( enemyarray[n0] , enemybulletarray[n1] );
  for(int n1=0; n1<100; n1++)
   CollisionDetection( enemyarray[n0] , enemyarray[n1] );
}
//↑ここまでで1600*1600回




229 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 00:47:03 ID:KzcCKEO1]
>>225-228
言いたい事は概ね同意だが下手なカイジネタは寒いからヤメレ

230 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 00:51:05 ID:ouV9zovg]
自機と敵弾・敵機と自弾以外に衝突判定する必要無いだろ
1600×1600になるのは自機1600機と敵弾1600個みたいな時

231 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 00:57:53 ID:fK+4rNgg]
弾同士が打ち消しあうときもな

232 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 01:02:18 ID:xg5znUOR]
弾同士の当たり判定が無いなんて勝手に決め付けるなよ。
そういうSTG作りたいと思ってる人がいるかもしれないじゃないか。
というより5年前に俺が作った。
ビリヤード風弾幕wwwとかいいながら。
ひどい処理落ちで泣いた。

233 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 01:03:00 ID:KzcCKEO1]
計算機アルゴリズムで使われる「総当たり」とか「総当たり法」ってのは
理論的にありうるor考え得る全ての組み合わせ全てを○○する、ことであって
この理論的にありうる、考え得るってのがキモ

理論的にありえない、100%かんがえられない組み合わせを端から除外しても
やはり総当たりだ

敵同士、味方同士は「当たらない」というルールになってるなら端から除外しても
やはり総当たりだ



234 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 01:04:20 ID:ouV9zovg]
弾同士が打ち消し合うときは(1599 + 1) / 2×1599じゃないか?

235 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 01:37:44 ID:ndMxol9I]
>>229
ウッセー自分で書いて後で赤面してんだからそれ以上言うな

236 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 15:10:07 ID:yDdR+5eW]
33MHzくらいのCPUでSTGを作ったときは空間分割にしないと重くて大変だった。
そういうプアなハードじゃないなら好きに作った方がいいかもね。

237 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 15:19:58 ID:q5ZpKtyT]
自機の弾が1600発とか弾で画面が見えなくなりそうだなw

238 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 18:40:45 ID:9fddUrpP]
>>224
私の記憶が確かならば、A()でとっとと打ち切られるのはCの仕様で保証されているはずだ。



239 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 19:27:04 ID:hxbbxTAw]
O(n^2)の壁は厚すぎる

240 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 01:22:08 ID:+j0OgDSv]
>>218
矩形同士の判定程度だと、
  ツリー管理コスト>>>衝突判定のコスト
だと思うのだが。これが3Dでコリジョンも複雑になってくると、
  衝突判定コスト>>>ツリー管理コスト
になるけど

241 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 01:42:33 ID:5ljxdwAA]
>240 の頭の中にはどんな木が生えているのだろう?
木ってぐらいなんだから再帰なんだんろうけど、

それよりも、ずっと簡単なs個の空間分割でこんな感じだよ。

比較回数(衝突判定回数)は総当たりが一定でO(N^2)としたら、

s個の空間に分割した時は、
最小 O(N^2/s +N) 〜 最大 O(N^2 +N)
 +Nってあるのは、中心より上とか下とか、左右とか、分割条件との比較。

最大は、全ての判定対象が一つの空間に有るとき。
最小は、全ての判定対象が均一にそれぞれの空間に別れたとき。

最大なんて状態ばかりのゲームはそう滅多に作れない。
必要とあらば中心を移動する事もできちゃうしね。

242 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 02:25:27 ID:KzCv2Ahg]
あれだ





弾幕ゲーが嫌いで、オブジェクト数がさほど多くない俺には不要>空間分割

243 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 08:33:57 ID:lZPN8UOZ]
空間分割して、空間内にあるかどうかの判定って矩形判定みたいな
もんだよね。差し引きして恩恵あるのかね?あと、空間の境界にいる
場合は隣接した空間も含めなきゃいけないし、その判定のコストも
加わるから、あんまり恩恵がない気がするんだけど。


244 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 09:49:50 ID:LNMxVQdl]
現空間x-1 <= 判定対象空間x && 判定対象空間x <= 現空間x+1

245 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 10:21:25 ID:UvIpq6SI]
すみません。
空間分割による判定、のメリットというものがどうもイメージできないのですが、
例えば、縦シューで自機と敵弾(256発)の当たり判定で、

for(int i=0; i<256; i++){
if((自機Y座標-敵弾Y座標)の絶対値<当たりの深さ){
if((自機X座標-敵弾X座標)の絶対値<当たりの深さ){
(当たっている処理)
}
}
}
という単純な座標比較による総当たりを行っている場合、
空間分割にする場合どのように変更して、またそれによりどのくらいの恩恵が
得られるのでしょうか?

246 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 10:32:56 ID:wmWZV0ag]
>>243
>空間分割して、空間内にあるかどうかの判定って矩形判定みたいなもんだよね。
それじゃ逆に判定回数増えるだろ。
例えば4分割だとしたらオブジェクトのポインタのリストを4つ準備して
オブジェクトを動かした後にでも空間別にリストに登録する。
判定したいオブジェクトの空間のリストのみ判定する。

空間の境界をまたぐ場合があるから実際はリストよりツリーを使うみたいだけど。
自機対敵弾みたいな1対多のような場合は>>240の可能性もあるが
しっかり最適化すれば恩恵はあると思う。

247 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 10:51:59 ID:ZtZMep9I]
弾幕ゲーで弾同士の相殺でもない限り、
空間分割の恩恵は誤差範囲だと思うな
80-20の法則的にもっと別の部分の最適化に労力を使えばいい

248 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 11:12:26 ID:lDJhBuwb]
空間分割なんて16ビット機でやってもいろんなオーバーヘッドで効果は微妙だった。
いくらか弾数が増えてるとはいえ、今のPCでみみっちいことしないでよろしい。富豪的に池
つーかまず衝突判定にそんなに時間かかってるのかプロファイリング取れ。



249 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 14:07:39 ID:IUsiyVu+]
空間分割自体は当たり判定以外でも使える場合もあるかもしれないから
そういう方法があるとだけ覚えておけばいいんじゃない?

250 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 19:03:41 ID:lZPN8UOZ]
>>246
難しくて分かりません。
他のレスを見て、合わせて、
必要ないということで納得しました。


251 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 19:14:32 ID:Cm7rU9iY]
シューティングって、三角関数のテーブルは360度で足りる?

252 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 19:38:45 ID:ZtZMep9I]
それくらい自分で判断しろ


253 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 20:07:47 ID:S2eA97Dz]
どんなもん作りたいかによる
要するに自分で判断しろ

254 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 20:51:46 ID:HV30LXTn]
普通に標準ライブラリ関数使いまくりでおk

255 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 21:21:13 ID:09KIF8si]
むしろ度数法を久し振りに見た……。

256 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 22:24:48 ID:lDJhBuwb]
だからテーブルとか考える前に普通に三角関数使ってみなよ。富豪的に。
たかがシューティングごときを作るのに、
あれこれレガシーな技をどこで覚えてくるんだいったいw

弾幕シューが技術的にすごかったのはX68000までよねーキャハハ

257 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 22:37:18 ID:+JZYHxk+]
微妙に誉め言葉w

258 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 22:45:56 ID:mi699AnH]
俺もそうだったが、
初心者ってどうでもいい部分の最適化にこだわるよなw



259 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 22:54:25 ID:wmWZV0ag]
アセンブラ勉強し始めたりとかなw

260 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 22:55:52 ID:tOJ8RPAp]
>>256
たぶん超連射のことを言いたいんだと思うがあれは弾幕シューじゃない。
そもそも68全盛期に弾幕シューなんてジャンルは存在しない。
知ったか乙。

261 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 23:00:07 ID:S2eA97Dz]
マジレスとな

262 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 23:13:28 ID:3n+Chkyh]
爆裂矩形弾が泣いてます

263 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 23:19:08 ID:S2eA97Dz]
敵弾の多さならメルトダウンも負けない
テキストだけどw

264 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 23:29:06 ID:ZtZMep9I]
>>260

265 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 23:33:09 ID:+JZYHxk+]
爆裂矩形弾懐かしいw
あれで弾幕シューは俺には不向きだと悟ったなぁ。

266 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 00:09:38 ID:RkL7uReo]
針弾弾幕は、その場で計算して回転で大丈夫?

267 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 00:29:10 ID:SYSPe7mm]
大丈夫も何も、針弾は角度とか回転情報を持ってなくね
針弾=曳航弾。尾=残像=向きは速度(ベクトル)に平行
所有する変数は座標、速度、尾の長さ。せいぜいこんなもん
表示に際しても、太った線分=OBBを一個作るだけであり
角度とか回転計算が出る幕はない



268 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 00:40:04 ID:UhDksLO+]
その場で回転を計算の意図が今ひとつ掴めないが
俺は弾の情報として角度は持たせてる
前の座標や速度からその都度計算してると完全に停止する場合に困るからね
あとは途中で方向が変化しない弾なら発射時に角度を計算して放り込んで弾が消えるまで使いまわし
変化する場合は毎回計算

まぁ好みでやればいいと思うよ



269 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 01:18:56 ID:SZ+jR7s6]
融通が効くと思う方法にしとけ。
速度で困ることは無いと思うし。

270 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 06:57:49 ID:+8OjOCNS]
前に、三角関数使いまくったら流石に重かったなあ。


271 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 07:39:55 ID:Rur2+VQh]
改めて自分のソース見てみたら360度のテーブル使ってた。
不都合無いのでこのままいくがw

272 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 09:06:33 ID:+8OjOCNS]
>271
俺も見てみたら、unsigned charのオリジナル角度表記を使ってた。
意味あんのかな、これw

273 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 18:27:25 ID:jWrDXnrl]
自分は1周=256分割にしてますね。
360度だと、nWay弾とかの処理するとき、弾と弾の間の角度に端数がでませんか?



274 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 18:35:56 ID:Ln6527jm]
2Dでもちょっとした誤差くらい気にならんよ
それに角度を度でやるなら360も約数多いから端数出にくいんじゃねえの

275 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 19:08:11 ID:jWrDXnrl]
確かに誤差の範囲ですね。組み方次第でどうにでもなる問題かも。
自分の場合、多Way弾の弾と弾の幅を考えるときに、360度法でいうところの
90度からスタートして、半分、半分、半分、って幅を狭めていく考え方を
することが多かったから、1周が2のn乗のほうがやりやすかった、というだけの話。

276 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 19:20:21 ID:/whlgGmL]
いまだに三角関数のテーブル使ってる人が俺以外にもいたなんて
俺は1024分割

当然座標も整数だよな


277 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 22:10:13 ID:nzfTFxMf]
そうか! 座標を整数以外にするという手もあったのか!!

278 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 00:03:17 ID:UTGYbURq]
整数つかうときって、何倍かして入れるんだろうけど
当たり判定とか表示のときは毎回戻すの?



279 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 00:54:41 ID:sOsom0Zc]
何回ってどういう意味なんかよく判らんw

280 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 00:57:21 ID:NDn3kKP8]
>>279

281 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 01:08:48 ID:RXIPGVdD]
>>278
戻すって、整数部だけが欲しい場合か?
そんなん普通にビット演算子とかシフト演算使えば済むでしょ

おそらく初心者だと思うが、固定小数演算に興味示すのは結構だが
FPU内蔵&SIMD系の命令でもfloat値が使えて当たり前の今時のPCで
わざわざ固定小数を使うメリットはほぼ無しってことも合わせて理解しとけよ

それでも年寄りの悪趣味懐古趣味に付き合いたいなら別に止めはしない

282 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 13:13:10 ID:Wd7FQUJf]
次に作るSTGにリプレイ機能を搭載しようと思っているのですが、
小数を使う場合、CPUによって小数点以下に誤差がある?という話を聞いたのですが、
例えば敵弾の座標に小数を使っていたら、リプレイを再生する環境によって
微妙に挙動がずれたりする可能性はないのでしょうか?
組み方次第で回避できるとは思うのですが。

283 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 18:46:46 ID:RXIPGVdD]
>小数を使う場合、CPUによって小数点以下に誤差がある?という話を聞いたのですが

とりあえず
固定小数点数演算で生じる誤差の話なら、それは整数演算で生じるものと全く同じ
浮動小数点数演算で生じる誤差の話なら、それは「小数点以下」とか関係ないから

浮動小数点数演算の結果はCPUによって異なる、というのは事実だが
それは全く異なるアーキテクチャ上のFPU同士を比較した場合の話であって
x86系のPCに限定すれば_fpcontrol()等できちんとFPUの設定をすることで
インテルだろうがAMDだろうが加減乗除算平方根三角関数の結果は同じになる

FPUに不具合があって回収された10年以上前のペンティアムとかは例外
あとSSE関連はよく知らね

284 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 19:22:22 ID:RXIPGVdD]
あと、数値計算法の基本をふまえて相応のコードを組んでいれば
異なるFPU間で生じる演算結果の極めて微少な差は問題にならないはず

FPUの演算結果にはたいてい不要な桁数の仮数が入ってるのだから
そういうゴミ情報入りの数値は適切なタイミングで有効桁に丸めること
不要な桁も何もかも後生大事に丸々保存して使いまわすのは
無意味な貧乏根性

285 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 21:05:39 ID:NDn3kKP8]
D3DXが内部でSSEやら3DNow!を使ってそいつらで誤差が出ると2chで聞いたことがある。
試してないから知らんけど、リプレイで記録するデータはCPUで普通に計算すればOKじゃね。

286 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 21:14:53 ID:5+HU4lQf]
>>285
www.01step.net/tobitsuki/bbs/test/read.php/tobi_bbs/1116256631/18
これだな。
一応対策はできるらしいが。

287 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 23:49:54 ID:uw9YU9FV]
NyaRuRu氏は同人ゲームのプログラマもやっていたのか・・・。

288 名前:名前は開発中のものです。 mailto:sage [2008/04/09(水) 03:34:01 ID:B1YmjfJu]
何やってる人なんだろうと思っていたが
不思議キッチンの人だったのか



289 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 15:27:37 ID:usi/yLYp]
似たようなオブジェクトを同じクラスにするかどうか迷うなぁ
違う見た目(=テクスチャの領域)で同じAI(=updateメソッド)とか
AIのうち一部分だけ違う場合はifで分岐させるか、別クラスにするか

290 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 16:01:22 ID:ywj6p1Ij]
好きにすりゃいいんじゃねーの。
そんな細かいことに定石も流行りもないだろうし。

291 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 20:25:36 ID:KRx1/teW]
AI部分にStrategyパターンを適用して
付け替えできるようにするのもありだ。

292 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 22:37:11 ID:ObDRadP0]
残機制にしたいんだけど、キャラの都合上死んだあとにもう一機出てくるのはおかしい
メカシューだから魔法みたいに復活するのも変
どうしよう…なんかいい例ある?

293 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 22:51:37 ID:Efa9OHIu]
ばらばらに飛び散った破片が元通りに戻ってみたりするとか?

294 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 22:56:53 ID:Yh3eYIme]
ゲーム内の設定によるだろうけど、例えば
「瞬間的にバリア張って高速自己修復出来るけど、
めちゃくちゃエネルギー消費するから回数制限がある」みたいな感じとか。

295 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 22:58:31 ID:/z0agk9x]
夢オチ。

296 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 23:00:31 ID:GyPJI/ms]
クロノトリガー式に未来からやってきた仲間がダミーと差し替え

297 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 23:01:59 ID:Efa9OHIu]
思ったんだが普通に被弾したら、例えば片羽が落ちるとか
パーツがこぼれていく描写入れて暫く無敵時間を入れて
残機減らしてもそれはそれで良いんじゃないかな

298 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 23:16:03 ID:ZyjFSU8/]
ナイトストライカーのようにシールド張ってる設定にすれば
被弾エフェクトはシールドの色が変わるとかSEとかで知らせる



299 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 23:30:26 ID:Yh3eYIme]
夢オチワロスw

300 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 00:07:42 ID:VNOh5k7z]
>292
爆発したら首だけすっとんで、新しいからだが飛んできて合体する逆アンパンマン方式。

301 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 00:14:37 ID:gNZFNySx]
博士が来て修理するファミコンのアトム方式とか

302 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 00:39:19 ID:Z1kaHYoi]
ツインビーwww

303 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 01:39:10 ID:NkPkjT6X]
バリア張ってる設定にしたら?
残機=バリアの残りエネルギー
被弾するためにバリアのエネルギーを消費する

304 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 01:40:02 ID:NkPkjT6X]
×被弾するために
○被弾するたびに

305 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 01:57:39 ID:QE/zNyJp]
「メカシュー」で「残機制」にしたいという前提を忘れたようなレスが多いですね。

306 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 02:07:08 ID:NkPkjT6X]
どう考えても無理だから、別の解決策を練ってるんだろうが


307 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 02:07:37 ID:P+NpYnxy]
復活時にボムが回復するようなSTGだったらどうしようもないだろうな

308 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 02:17:23 ID:P+NpYnxy]
よく考えたらストーリーあっても別の位置から復活するSTGいっぱい



309 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 02:20:15 ID:/0ITSDkw]
>292
キャラを搭乗者と読めば、
被弾時は脱出装置で後方に下がって、
後方で自動操縦で追尾している残機に乗り換える
とか、何とでも自分で想像出来ない?

>308
夢オチ

310 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 02:23:13 ID:QE/zNyJp]
同じ残機制でも、その場で次が出てくるタイプか、
シーンを戻されてやりなおしのタイプか、でやりようが変ってくるねぇ。

311 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 03:41:09 ID:CwJ+OgoR]
戻り復活ならそんなに違和感ないな

312 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 04:15:14 ID:SI+TAocC]
そうね
無かった事になるんだと思えば

313 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 08:07:11 ID:eUm94UGP]
そもそもプレイヤーは次の機体がどんな出方してこようがあまり気にしていないような。
「人類に残された最後の希望」とか言って設定上試作機1機しかないはずの自機が
バンバン復活して出てくるSTGも結構あるし

314 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 09:40:22 ID:FMZP86Ek]
アレだな。
漫画でもゲームでも良くある「そこは突っ込むな」って奴で良いんじゃね?

ドラクエだってストーリー上死んだキャラにザオリク使ってあげないし。
オルテガも話してる間にベホマしてやれば助かったと思うぜ。

315 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 14:44:26 ID:qC4BAKNL]
>>313みたいに固定搭乗者・固定機ありなら夢落ち戻り。
といいたいところだけど、夢落ちだとステージ最初まで戻さないと
パワーアップとかあったときにつじつまが合わなくなるからなぁ。
夢落ちでわざと死ぬ前の状態から再スタートってのもそれはそれで面白い試み
かもしれないけど。
以下みたいな感じならつじつま合わせも可能かな。
パワーアップ > 装備増加 > 被弾 > 装備減少 > パワーダウン > 装備0 > シボンヌ
> 夢落ち戻り > 死亡直前の装備なし状態で復活
つじつままで気にする奴は早々いないとは思うけどw


軍vs敵みたいな、固定搭乗者なしなら別機出動演出。
(カラーとかロゴとかでバリエーション持たせたりして同型別機演出とか)
昔ロスト時に空中母艦かなんかが出てきて、新たに別機が出てくる
演出をしていたゲームがあったと思うけど。


> オルテガも話してる間にベホマしてやれば助かったと思うぜ。
あれはオルテガの男を見て「男の戦いに手を出しちゃいけない」と壮大な勘違いということでw

316 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 14:49:45 ID:Z/LVsXuc]
勇者たちがザオリクで生き返るのは、神の認めた勇者とその仲間たちだからだ!

とかそんなこじつけ。

317 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 15:03:23 ID:NkPkjT6X]
ダイの大冒険的には、死にかけにホイミ系は無意味
ザオリクは知らね

318 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 15:27:05 ID:bXOpRP77]
撃墜されたの戦闘機に乗っていたのは実は影武者だった!



319 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 15:27:47 ID:k4a7kuL/]
と言うことは、一機も撃墜されなかった場合影武者が世界を救うわけだな

320 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 15:29:16 ID:bXOpRP77]
いや、その場合はそいつが実は本物だったというわけで。

321 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 15:50:35 ID:hy1v+Ap0]
というか機体が複数存在するんじゃないって時点で残機じゃないよな
バリアみたいなものが減っていく普通のライフ制にするしかないと思うんだが

322 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 17:10:08 ID:Z1kaHYoi]
夢オチなら残機じゃなくて残夢だから
鼻ぶく提灯の顔マークを並べとけばいいな

323 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 17:49:58 ID:vlZyAbxe]
どうでもいいじゃん・・・

324 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 22:42:35 ID:qFLKD2CL]
シューティング作りたいなーとか思い始めたんだけど、
具体的にどう作ればいいんだろ?

C言語ポインタくらいしか学んでないんだができるかね

325 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 22:55:43 ID:NkPkjT6X]
まず、画面に画像を出力する方法を覚えないといけない
Windowsで動かすならDirectXか、標準APIの扱い方を覚えないと
てか、まずC++を覚えた方がいいな


326 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 23:42:03 ID:Z1kaHYoi]
HSPが軽視されてると聞いて飛んできました

327 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 23:47:33 ID:TnA5dMk3]
帰れw

328 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 23:52:31 ID:E6Dzw5oc]
ちゃんとしたものを作ろうとしたときやっぱりオブジェクト指向覚えた方がいいのかな?



329 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 00:01:38 ID:tqnrBejp]
ポリモーフィズム(C++なら純粋仮想関数 + virtualメンバ関数くらい)を覚えておいて、
あとは、構造体とstatic関数で良いよw

構造体自体の種類を示すメンバとか作り始めたときに、
virtualを考えればいい。

330 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 00:18:20 ID:yMQIDqXj]
>>325
なるほど〜
C++を覚える作業にもどるよ。


331 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 00:19:11 ID:xWdI6ksr]
オブジェクト指向なんて全然必要ない

むしろ理解してない人が作りながら覚えようとすると
十中八九途中で投げ出すことになる

332 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 00:20:15 ID:Mgsx+yf7]
まあ、そんなの無くても作れるもんな

333 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 00:30:41 ID:a9wj1kmQ]
>>331-332
ありがとう。
講座サイト見てるとオブジェクト指向で書いてある所が多かったからてっきりそうとばかり思ってたよ。

334 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 18:03:16 ID:qbweF5RS]
というか、オブジェクト指向でやってる人ってどれぐらい居るん?

335 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 20:46:07 ID:Pl9LhtfJ]
8bit時代からあるゲームにC++やオブジェクト指向が必須かと言われればNOだ。
プログラムの勉強を兼ねるならやっておいた方がいいだろうね。

336 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 23:38:27 ID:tqnrBejp]
オブジェクト指向を仰仰しく考えることないよ。
文字通り方向性みたいなもので、設計方針の1パターン。

構造化・オブジェクト指向・関数型・総称・イベント駆動型あたりを
広く浅く知っておけば良いんじゃないかな。
異なるパラダイムの異なる要素が結構似ていたりする。

ja.wikipedia.org/wiki/プログラミングパラダイム

337 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 10:27:10 ID:iHmKOkzF]
オブジェクト指向が本当に必要なら作ってるうちに覚えるから
最初から覚える必要はない
ぐちゃぐちゃでいいからとりあえず動くものを作るとこまでが重要

338 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 13:02:14 ID:9d1UNIoN]
シューティングを作るアルゴリズムというか、パターンというか・・・
そういうのがわからん・・・




339 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 13:11:07 ID:X896jXV9]
1.プレイヤーの入力を受け取る
2.受け取った入力より自機の座標を動かす
3.その他(弾,敵等)の座標を動かす
4.各衝突判定をする
5.ぶつかってたら消すなり体力を減らすなり
6.消えてない物の絵を画面に表示する

1〜6を繰り返す

簡単に言うとこれ位があればシューティングっぽいものが出来るのでは?

340 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 04:12:04 ID:HlE9w/ua]
ここで聞くのも間違いかも知れないが、今C++とSquirrelでSTGを作っているんだ。

Sqruirrelスクリプト側からC++の関数を呼ぶためには、
SQInteger func(HSQUIRRELVM v)
という形のグローバル関数でなくてはいけないんだけど、スクリプト側から特定のオブジェクトを操作したいんだ。
しかし、上の形だと動的メソッドでもないし、引数にオブジェクトへのポインタが含まれていないため、どうやって呼び出そうか困ってるんだ。
HSQUIRRELVMはスタックになっているので、スクリプト側に操作したいオブジェクトのポインタをあらかじめ渡しておいて
必要なときにスタックにぶち込んで引数として利用しようと考え、

/*Squirrelスクリプト*/
function ExeScript(p) /*引数はポインタ*/
{
  SetVelocity(p, 0, 5, 0); /*引数は操作するオブジェクトのポインタ、x方向の速度、y方向の速度、z方向の速度*/

  return 0;
}
/* HSQUIRRELVMのスタックには 1(top):roottable, 2:p, 3:0 4:5 5:0)となっているはず*/

というようなスクリプト側の関数を作り、ExeScriptをC++側から呼び出す時に
引数に呼び出し側のポインタをぶち込んであげようと思ったんだが上手くいかない。
ちなみにpはスクリプト側ではint型で扱っていて、ExeScriptが呼ばれたときにintにキャストし、
SetVelocityが呼び出されたときにポインタにキャストするようになっている。

何かいい方法はないだろうか…?

341 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 09:38:16 ID:onwyvG0N]
>>340
作ろうとしているのがSTGってだけなので、
ム板の組み込み言語スレで聞くほうが良いと思うよ。

342 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 18:34:41 ID:M+BR0SuC]
解った、行ってみる
ありがとう

343 名前:名前は開発中のものです。 [2008/04/23(水) 00:26:04 ID:gg06xRT5]
2Dの弾幕シューを製作してるんですが、画像表示の優先度(Zの値)はどうしたらいいでしょうか?

取り合えず
・スコア、ライフなどの表示系
・敵弾
・自機
・自機弾
・敵
・背景
大体こんな感じにしてみましたが、地上物の弾が空中の敵の上を通るとか不自然じゃありませんかね?
特に重なっている時に地上物が撃った場合上にいる敵から出てるように見えてしまって・・・。
爆風も同じで地上物の爆風が空中の敵にかぶるとか変ですよね?

皆さんはZ方向の値はどういう処理をしてますでしょうか?

344 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 00:48:49 ID:byKYi0oI]
既存のゲームをもっとよく観察しようぜ

345 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 00:57:39 ID:T8mB/bRA]
ちょwww Web上で動くってレベルじゃねー
しかも3D
58.13.216.134/humanbench/index.html

60フレ死守?



346 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 01:44:08 ID:xD2eXe6t]
暇だから誰か制作中STGのスクショうp!

347 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 01:45:45 ID:aQST5hrX]
言い出しっぺの法則。

348 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 01:46:06 ID:3S6lMLRf]
言いだしっぺのh・・・ってもう言われてるしw



349 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 02:32:06 ID:EoY8EhMN]
>>343
そんなんで2Dシュー作ってるのか・・・

350 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 02:37:44 ID:hQw6UUJp]
>343
空中キャラのサイズが128*128程度なら気付かないんじゃないかな
違和感が出るのは大型の空中キャラがいるときだから
敵配置を工夫して誤魔化すのがいいかも


351 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 02:56:41 ID:BLt2L8mz]
地上物からの弾だとしても、空中の敵で見えなくなったらそれだけでクソゲ扱いだなw

352 名前:名前は開発中のものです。 [2008/04/23(水) 04:17:15 ID:gg06xRT5]
やっぱり敵配置がポイントですか・・・。
一応他のゲーム(CAVE辺り)は動画でよく見てたんですがイマイチ分からなかったんで・・・すいません。
敵と敵の配置を研究してみます。
アドバイス助かりました。

さっきカスりを取り入れてみたんですが、ライフ回復のためにカスるという危険行為推奨になってしまいました。
やっぱカスりはスコアボーナスとかエネルギー(特殊技用)回復のモノにしたほうがいいですよね。
変に凝ってしまって全て見失うような気がして怖いです。

353 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 05:54:44 ID:mDm6BHht]
>>345
いいねぇ!これ作ったの外人さんなのか?
そういやFlashもAction Script3が使えるようになった辺りから
描画速度がだいぶ改善されてるみたいね

一昔前のShockwave(+Lingo)並のことができるのは嬉しいな
あの頃はDirectorが高すぎて手が出せなかったよ

354 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 08:14:48 ID:sHRBpt6x]
>>343
重なってるときに弾を撃たなければいいのでは

355 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 12:16:58 ID:NLa3WqAS]
敵弾が低い位置にある場合は当たり判定も無いようにするとか……分かりづらいか。

356 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 13:39:11 ID:MMF0qG0v]
>>352
深く考えないでカスリとか入れてるっぽいが、
ちゃんとゲームとして必要かどうか考えたほうが良いんでは?

まあ個人的にカスリが嫌いなだけだけどw

357 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 23:07:22 ID:lhBmTT+W]
カスリとかゲーム的過ぎて嫌いだな
まぁSTGは全般的にゲーム的過ぎることが多いが

358 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 00:00:02 ID:lksTfSLx]
ゲームなんだから良いじゃん



359 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 00:16:43 ID:kyvrq5VT]
自分からわざわざギリギリで避けるなんて
両方滝沢キックを喰らってしまいそうだ。

360 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 00:38:13 ID:ARzrsuEN]
ゲーム的だからってのはどうでもいいが俺もカスリは好かんな

361 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 00:43:02 ID:Nfyc4+1a]
>>358
「ゲーム的」っていうのは、
ゲームとしては面白いが現実離れしている、みたいな意味だ

362 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 03:46:10 ID:ARzrsuEN]
カスリなんかよりおかしいとこいくらでもあるだろw

363 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 20:31:58 ID:V07ASawT]
俺たちが遊んでいるのはゲームだ。
面白いゲームならそれでいい。

364 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 20:57:32 ID:bgp800Ur]
まあ、言いたいことは分かるけどな。

365 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 21:03:09 ID:FxJA2aMq]
58.13.216.134

366 名前:名前は開発中のものです。 [2008/04/24(木) 21:21:35 ID:aaSouiJW]
>いいねぇ!これ作ったの外人さんなのか?
>そういやFlashもAction Script3が使えるようになった辺りから
>描画速度がだいぶ改善されてるみたいね

>一昔前のShockwave(+Lingo)並のことができるのは嬉しいな
>あの頃はDirectorが高すぎて手が出せなかったよ

HumanBench作ったのはアドビの中の人だよ


367 名前:名前は開発中のものです。 mailto:sage [2008/04/24(木) 22:53:38 ID:xLIo9y/a]
中の人は80年代のアーケードの疑似3Dゲーとかが好きに違いないな!
PC-9801時代のKUNI SOFTとかABAゲイの同人ゲーをふと思い出した

368 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 00:00:21 ID:8TKkCAiM]
>>365
/yukissalbum2/jam.cgi



369 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 08:17:44 ID:lM3nYk6R]
作成したシューティング
誰かにプレイさせてみたいのですが、プレイさせる相手が見つからない
こういう時って、どうしたら良いんでしょう?


370 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 11:57:54 ID:atI/FxXl]
それ用のスレがどこかにあったと思う。

371 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 12:00:04 ID:K2ZrdRog]
というか、完成してるのならフリーソフトとして公開すればいいだけでは?

372 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 13:40:11 ID:jIsqw0Mx]
いえ、まだ体験版の段階なのですが
プレイできる段階にまでは仕上がったので、書かせてもらいました。

公開するにしても、みんなにやってもらうためにはどうしたらいいんでしょうか?
ただホムペを立てるだけでは人は来ませんし
公開スレ(適切なのが見つかりませんが)でうpが良いのでしょうか?
もしくはベクターに登録とか?

373 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 20:13:38 ID:YebkKA52]
ここでうp!

374 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 20:28:38 ID:IiumCil8]
自作ゲーム評価スレ
pc11.2ch.net/test/read.cgi/gamedev/1010018331/

375 名前:名前は開発中のものです。 mailto:sage [2008/04/25(金) 20:48:37 ID:YebkKA52]
ここでうpしたほうが意見もらえるんじゃないか?
テンプレにも晒しておkって書いてあるし

376 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 00:02:16 ID:2TZn1YBj]
>HumanBench作ったのはアドビの中の人だよ
コリン・ムック氏は実はアドビ人ではないかと。


377 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 14:20:42 ID:8GFiI3TW]
自作ゲーム評価スレは、STG以外のものも出ていることもありますし、
ひとまずは、こちらでうpさせてもらいます。

シューティングビルダーを用い製作したSTGで、SB本スレでも一度うpはしたものです。
4面まで作ったものの、ちゃんと出来ているか不安でたまりません。
どなたか意見いただけると超嬉しいです。

www.erc-j.com/sb/
の左上にあるSB-UPLから入れるアップローダーのsb0173.lzhにうpしました。

378 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 20:08:40 ID:k73vvmo8]
>377
ちょっとやってみた
敵の種類とか攻撃パターンも結構豊富だしよくできてると思うよ
全体的にキャラが小さいのが個人的にはあまり好きじゃないけど、まあ好みの問題なので気にしないでくれ
あと単発弾はもうちょっと弾速早くてもいいんじゃないだろうか



379 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 21:31:57 ID:glwfkb3K]
つまらなくはないがノーコンで頑張る気にはなれなかった
敵が体当たり狙ってくるのは嫌いだ
好みは別として、とりあえず硬めの敵の爆発は本体の二倍以上の大きさにすべき

380 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 21:39:32 ID:glwfkb3K]
よく出来てるけど演出がもったいないな

381 名前:377 mailto:sage [2008/04/26(土) 23:39:02 ID:8GFiI3TW]
ヌクモリティに全俺が泣いた
感想ありがとうございます!

>>378
キャラが小さいのはドット絵が素材頼りなこともあって限界があったりします。
弾速に関しては、前半部分だけ少し早めにしてみます。
後半に進むたびに弾速が早くなる感じになっており、後半面では製作者がいっぱいいっぱいなのでw

>>379
体当たりに関しては弾幕部分を削減したかったこともあり導入したのですが、すみませんでした。
理不尽に感じた体当たりキャラを教えていただけるとありがたいです。
爆発に関しては改良させてもらいます!

>>380
演出がもったいないとは、全体的に演出が甘いということでしょうか?
それとも、あちゃーな演出があったということでしょうか?

382 名前:名前は開発中のものです。 mailto:sage [2008/04/26(土) 23:57:19 ID:AX/nbobn]
俺も3面途中までやってみたので、多少なりとも思った事を。

一面の序盤から、敵が殺る気まんまんで笑った。
当たったら死ぬボールみたいなの(機雷?)はしょっぱなから難しすぎじゃないかな。

ゲームバランス的にどうかは考えないで言うと、もう少しパワーアップをガンガンやりたかったかな。
たまーーーーにしかパワーアップアイテムが出ないので、存在を忘れてしまう。

演出も面白かったけど、それぞれが単発で「お?」と思う程度だったのがちょっと残念かな。

383 名前:名前は開発中のものです。 mailto:sage [2008/04/27(日) 03:31:32 ID:QG+Suesf]
個人的に前半部も弾の色を分けた方がいいと思った
敵もなんだかところどころ見づらい

384 名前:名前は開発中のものです。 mailto:sage [2008/04/27(日) 05:01:50 ID:T1Qa567i]
難易度タカスwww
1面の機雷分りにくい。アイテムだと思っちゃうよ。
あと、ウィンドウモードだとFPSが安定しないし、全画面よりもFPSが早くなった。

385 名前:名前は開発中のものです。 mailto:sage [2008/04/27(日) 15:52:51 ID:zZ5MQxMP]
>>377
d3dx9_30.dllが無いって言われる。
d.hatena.ne.jp/ginpei/20060805/1154783971
alwei.sakura.ne.jp/index.cgi?date=20070428

最新版とか入れるのはかまわないけど、
出来れば同梱とか依存性切るとかした方がいいかも。(一般ユーザーのために)

386 名前:377 mailto:sage [2008/04/28(月) 01:02:21 ID:nDsvW52B]
レス多くて本当に助かる、ありがとう!

>>382
パワーアップは一面に一つしか出さないようにしてるので、確かに存在を忘れがちかも。
しかしバランスのこともありますが、東方のように初めで攻撃力最強になってしまうのも防ぎたい私としては悩みどころです。
難易度に関しては、調整もう少しするかイージーモードを作ることにします。

>>383-384
弾の色を分けるというのは、どういうことでしょうか?
同系統の弾は変に色分けしない方が良いのでは?
敵が見づらいとか分かり辛いのは、ドット絵が素材頼りなので可能な変更に限界がありますが
とりあえず色などの変更は試してみます。
ウィンドウモードに関しては、少しビルダー製作者に聞いてみます。

>>385
d3dx9_30.dllの同梱って著作権的に問題があったはずなので、readmeにリンク貼ることにします。

387 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 13:02:47 ID:NAk73a6s]
ヌルポ

388 名前:名前は開発中のものです。 mailto:sage [2008/04/28(月) 13:46:49 ID:sRoeZ3fk]
>387
……。(あえて何も言わない)



389 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 00:22:52 ID:sss69txd]
ttp://www.j-tokkyo.com/2008/A63F/JP2008-023268.shtml
誰か翻訳して

390 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 06:29:07 ID:4C4kmVz/]
デモプレイで、自機が死なずに居続ける位置取りを算出する特許

・・・普通は人間によるキー操作を事前記録して再生するだろうから関係ないな

391 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 06:32:51 ID:WC5+m6yA]
さらっと内容に目を通してみたけど

ゲームの魅力を伝えるには、事前記録された物を再生して
決まったデモしか出てこないのは多様性が無く十分ではない

また、ランダムに動くようにしてもすぐ死ぬのでこれまた
魅力を伝えるのには十分な時間見せられない

という上でそんなことしてるみたいだけどな

意味があるのか無いのかは知らん

392 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 10:45:10 ID:Y2ssqC4h]
これを発展させれば自動的にゲームをクリアすることも出来るだろうから、
技術としては面白そうだよな。

393 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 14:29:06 ID:NjIg+POR]
格闘ゲームで実現してね?

394 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 15:37:03 ID:+xWM+Yeb]
>>392
これが特許になってるってことは
発展させるにも許諾とか金払わなくちゃいけないんだよ

395 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 15:53:43 ID:WnahT3LQ]
どの程度の完成度になったらこのスレにうpして意見貰えるかな?
と、まだ1面ボス作ってる段階の俺が言ってみる

396 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 16:22:28 ID:ZiVZNUAo]
>>394
特許は結果じゃなくて方法に対して与えられるから、
別の理屈で位置から作ればいいじゃん
ぱっと見、あんまりたいしたこt(ry


397 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 16:52:05 ID:5UtdTdRR]
>>395
プレイできる段階にまで仕上がっているなら、
たとえボスだけでも、道中だけでも俺は意見するよ。

398 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 18:02:25 ID:WnahT3LQ]
>>397
まじか
じゃあ早いところBGMと効果音を搭載してどこかにうpできるように頑張ってみるよ



399 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 18:04:13 ID:wXou4Eov]
期待してます。
でもそれで満足しちゃって開発飽きちゃわないでね。

経験ある、ってーか常にそうなんだけど、
ある程度形になって、他人にテストプレイしてもらったら
しばらく何もする気なくなったりするから。

400 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 02:50:42 ID:bBj/BlcG]
スクリーンショットをうpしたらアドバイス貰えるかな?
完成まで程遠いんだけど、客観的な意見をもらって軌道修正したい気がするんだが

401 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 03:34:49 ID:lg9js0tm]
>>400
動くものじゃないと軌道修正するほどの意見は難しいんじゃね
俺的には音もタイトル画面もどうでもいいからうp!

402 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 08:53:36 ID:bBj/BlcG]
>>401
じゃあ俺はGW中に動くものをうpするよん
395と同じく1面ボスまで
今バグだらけでうpできる状況じゃないから何日か待ってね

403 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 19:05:26 ID:6Awdsy0R]
敵、敵弾、自機弾をそのつどNewするのって良くないの?

404 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 19:42:37 ID:9iKbAacM]
【キーワード抽出】
対象スレ: シューティングゲーム製作技術総合 15機目
キーワード: New
抽出レス数:6

405 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 22:23:57 ID:1m4VYE2q]
富豪厨の出番と聞いて飛んできました

406 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 00:53:49 ID:l9K+obAj]
(; ^o^)

407 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 01:24:42 ID:7/IjqgCE]
富豪陣営に加勢するぜ。

408 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 01:38:52 ID:l9K+obAj]

     「迷える子羊よ。真の富豪厨はHSPに帰依します。」

私はその言葉に心を強く打たれ、boost原理主義から足を洗いました。
今は玉葱狂信者です。



409 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 09:26:40 ID:Hviw5uVq]
libneet使ってるのは俺だけのようだな

410 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 15:04:30 ID:v9QwRQKh]
>>381
敵の動きとか拘ってるのは伝わってくるんだけど、
オブジェクトが小さいせいか安っぽさを感じる。もっと演出を派手にすべき

ttp://hp.vector.co.jp/authors/VA017297/
ここのRagud Mezegisを使って研究するといいよ

411 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 19:35:23 ID:AA2CfXS5]
3D弾幕で画面を埋め尽くすHumanBench見てて思った。
フラッシュでも普通に2D弾幕シューが作れそうな予感。
IEで普通に遊べれば、2D弾幕の布教活動がしやすくなるのでは。


412 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 01:23:05 ID:1Z2xNdvS]
HumanBenchやってみたが、3.xxxxHzあたりで重くなった。
グラボ無いとCPUだけあってもこんなもんか

413 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 01:51:57 ID:+bBWRhTo]
Flashでも2D弾幕ゲームはすでにいくつかあるよ

414 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 15:45:46 ID:CU4E4nxb]
パワーアップすると敵の固さも弾数も激しくなって難しくなるゲームで
難易度を上げないためにパワーアップしない、という遊び方が必須なほど
難易度の上昇が激しいのは、バランス的にやっぱりおかしいと思うんだが、どうだろうか?

415 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 16:08:28 ID:gwVylmnp]
個人的にはおかしいと思う。
なぎ倒す為にパワーアップしたいのに、敵まで強くなったら意味ないじゃんと。

416 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 17:26:53 ID:A8W0VUZG]
特定のアイテムを取ると、パワーアップする代わりに敵も少し強くなるというくらいならアリかなとは思うけど。

417 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 20:22:49 ID:6C83N/Fe]
アイテムを取ると敵が強くなるから、アイテムを回避しまくる戦闘機
なんか変だよな、どう考えても

418 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 20:24:30 ID:yg2wVjr5]
バッドエフェクトアイテムみたいにして
パワーアップとは別物として用意するとか



419 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 20:32:30 ID:gwVylmnp]
パワーアップアイテムが出た時、それを敵がとったら敵がパワーアップするとか。

420 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 21:21:16 ID:+Os5WI2N]
敵を撃破したときの点数(レート)が上昇するアイテムを取ると、
雑魚敵が増えるとかは面白いかも。

421 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 21:34:55 ID:QpmiyD87]
高難易度と引き換えに高得点てのはバランス取りやすいね。
初心者は手を出さなければ低難易度で楽しむことができるし。

422 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 23:48:59 ID:unxMgLFR]
「アイテムを避ける」という行為自体が生理的になんか嫌、
という人も少なくないと思うがどうだろう。


423 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 23:58:03 ID:jEGOiG/t]
まあ場合によるとしか
結局は作者の好みだな

424 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 00:03:05 ID:31Sx/Nsf]
考えてみた。
パワーアップ方式の問題点は
上手い人はパワーアップの効率が良いので、上手い人ほど楽になるという矛盾。
これを回避するために、パワーアップしたら敵も強くなるってのがあるんだよな。

回避パターンは
 パワーアップが継続しない。時間制。1面リセットなど。
 パワーアップしないと利益がある。しないと高得点。得点倍率アップなど。
 パワーアップすると不利益になる。攻撃力を上げすぎると制限時間やHPが減る。
 パワーアップしない。


いっそ難易度を危険度という名前で大っぴらに表示して
危険なほど高得点が稼げるようにしたほうがいいかもな。
凄く固いエマージェンシーキャラを倒すと一気に危険度が上がったりとか。

425 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 02:39:25 ID:SU0KsQ1H]
過去のゲームのバリエーションでしか無い気が。

パワーアップについて考えるなら、そもそもパワーアップが必要かどうか
から考えてみては。

426 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 21:27:09 ID:M7YCryHv]
パワーアップすると難しくなるから第二段階くらいでずっと進んだりね
フルパワーを誰も使わなくなってしまう

427 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 21:57:58 ID:r6ZSijaz]
パワーアップは爽快感をパワーアップさせるもの

428 名前:名前は開発中のものです。 mailto:sage [2008/05/10(土) 19:31:10 ID:yVArJY5T]
動画サイトで弾幕シュー見て参考にしてたんですけど敵に当たってもアウトだったんですね。
スーパープレイっぽいのしか無くて今まで気が付かなかったです。

でも別に敵とは当たり判定無くてもいいような気がするんですがどうでしょう?
ちなみに縦弾幕シューです。



429 名前:名前は開発中のものです。 mailto:sage [2008/05/10(土) 19:42:06 ID:8c4/vHrh]
良いんじゃないかな
マニュアルに当たり判定ないって書いておけば

430 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 00:37:33 ID:uhzbnGk6]
東方並みの弾幕シューには不要だと思うよ

非弾幕には必要だと思う

431 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 03:37:11 ID:p4xje47Y]
敵に当たってミスにならないのは少数派ではある

432 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 05:14:16 ID:OpH8uKFH]
「敵の突撃体当たり攻撃」パターンが減るけどいいのかな?

433 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 06:35:59 ID:e/9QHFjn]
体当たりが必要になったら、弾を纏った敵を作ればいい。

434 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 07:35:53 ID:FOG8VURA]
むしろ敵のような弾でいいんじゃね

435 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 10:20:39 ID:BF4VK2LY]
>>433
今まで「敵は当たりませんよ」と思い込ませておいて
いきなり「当たりますよ」はずるいだろ、という意味で。


436 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 13:16:35 ID:IpYJTSVB]
そもそも弾幕シューだと体当たりしてくる敵なんていない気がするが

437 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 13:41:29 ID:Q0Rcp3vN]
え、敵に当たったらパワーダウンだろ?

438 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 14:41:22 ID:Y826splk]
敵との当たり判定が必要か不要かではなく、ゲームに生かせるか
どうか考えればよくね?

例えば、判定の有無をプレイ中に切り替え可能にして、連続切り替えには制限を付ける。
で、当たり判定有りなら、神風アタックを使えて高得点を取得できるけど
普段の当たり判定が広く弾に当たりやすい。(プラスアルファ要素)
当たり判定無しなら、神風アタックはできないけど、普段の当たり判定が
小さいく弾に当たりにくい。(従来品)
とかやれば、いつ切り替えるかで戦略性が増すと思う。
(リアル性を一切無視しているが)



439 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 18:54:55 ID:NhQ5BwE+]
次のうpマダー?

440 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 18:56:18 ID:aWcZpe7b]
リアルから離れるとゲーム性が高まる
離れすぎるとルールの理解に苦しむ

441 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 19:12:20 ID:SxHjX14O]
そうだな、そういう視覚的に一見分からないルールだと直感的なプレイからは遠くなる。
特別なルールを設けるんだったら、プレイヤーが「やらされてる感」を感じないように
うまくデザインする必要があるな。

442 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 19:22:24 ID:KxoJtL0t]
敵にも当たり判定つけてザコラッシュやってみたんですが難易度かなり増しますね・・・。
寸前に警告だしてもいいんですが、戦艦みたいなデカブツを横切らせたりしたいんで当たり判定あると厳しいかなーと・・・。

ボムの代わりに時間を止める技があるゲームなので敵とか気にせず弾幕をすり抜けられた方が良さそうな気も。

443 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 21:16:46 ID:p4xje47Y]
昔から体当たりで殺しに来るゲームはムカツク

444 名前:名前は開発中のものです。 mailto:sage [2008/05/12(月) 00:55:00 ID:lxKREmgj]
そう考えると>433は秀逸かもしれない

445 名前:名前は開発中のものです。 mailto:sage [2008/05/12(月) 01:27:26 ID:lEc53eQo]
>>442
奥行きはあるんだろ?戦艦なら胴体部分は奥にあるとか・・・
敵によって、重なってもダメージにならない状況があるのは全然変じゃないぞ

446 名前:名前は開発中のものです。 mailto:sage [2008/05/12(月) 02:50:34 ID:zuXYDnzG]
>438
当たり小:飛行形態
当たり大:ロボ形態

を切り換えるとか?

447 名前:名前は開発中のものです。 mailto:sage [2008/05/12(月) 19:17:31 ID:N6z6aNxM]
>446
いいね
それぞれの形態のメリット、デメリットを直感的に分かりやすいようにできれば
システムとして活きてくるような気がする。


448 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 01:27:09 ID:lqOtnNPH]
う〜ん・・・なかなか難しいですね。
色々試したんですが、なんかピンとこないんです。
>446
形態は・・・既にフォース(ボムみたいなモノ)消費で変形するんですよ。
普段は戦闘機、フォース消費で時間を止めて中間形態。
フォース消費ボタンを二度押しでさらに消費してロボ形態に。
ロボ形態時は時間は止まらず操縦不能だけど、無敵状態で手当たり次第に敵に突っ込んでいく感じ。
オメガブースト(知ってる人いるか分からないけど)の必殺技と大体同じ。

まだ今のところ「二つも消費してまで使う必要があるのか」とか「スコアボーナス」とかそういうので仮決定状態なんですけどね。
シューターって、よく追い詰められると(ボムが底をつく等)覚醒したように弾幕を見切れたりするじゃないですか。
それをサポートするためにフォースがゼロになったら当たり判定をさらに小さくして「俺TUEE」状態にさせてあげたいんですがどう思いますか?
「シューターズハイ」って言葉を聞いて「これはいいな」とか思ったんですが・・・。
抱えボムで死ぬのも防ぎたいですし。

長々とすいません。



449 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 12:21:42 ID:01CnOr+t]
ボム中に操作不能は個人的には嫌い。ストレス溜まるw
中間形態って何かメリットあるの?そもそも二段階ボムになってる理由がわからないよ。

あと俺tueeやりたいなら実感しづらい回避性能より火力を上げたほうがいい気がする。

450 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 14:44:49 ID:sE+cy/S5]
>火力
雷電のクラスターとかVIPER Phase2のナパームが個人的に爽快だた
火力というよりも演出か

451 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 14:57:11 ID:5CxtNDd2]
>>448
> 既にフォース(ボムみたいなモノ)消費で変形するんですよ
変形できるからロボット化を行わなければいけない決まりはないでしょ。
ブースター展開とかいくらでも追加方法はある。(ゲッター123w)

> フォースがゼロになったら当たり判定をさらに小さくして「俺TUEE」状態にさせてあげたいんですがどう思いますか?
俺なら、ボムゼロ時限定で時間停止の弱効果でスローを一発使えるようにする。(もちペナルティ付き)
で、2段ボムの1段階目をスローにして2段階目をストップにして、ストップの時は敵の弾も撃ち落とせるようにする。
さらに弾の破壊にスコアボーナス付ければ「二つ使ってでも」と言う理由付けができると思う。
ボムゼロスローはペナルティもあることだし、弾破壊可能にすればこれも戦略に組み込めるようになるな。
(時よ止まれ、そしてマトリックスがドーピングw)
が、こんなすぐに浮かぶアイディアだし既に存在してそうw
(それ以前に大幅システム変更になりそうだから提出時に即却下だなw)

>>449
> ボム中に操作不能は個人的には嫌い。ストレス溜まるw
次の位置取りとかあるしね。

452 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 15:10:24 ID:01CnOr+t]
>次の位置取りとかあるしね。
そうそう、そもそも即発動型のボムはダメージ与えられるのが嬉しいんじゃなくて
無敵状態で接近して撃ち込めるのが気持ちが良いのさw

453 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 19:24:38 ID:ZdilNO3k]
「ボム=自機無敵」ってルールはいつできたのかなぁ。

454 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 19:50:51 ID:h9Urf45v]
結局気持ちが良いとか面白いとかって
過去の作品の手法を踏襲しろってことなんだよなぁ

455 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 19:51:06 ID:01CnOr+t]
別にルールじゃない


456 名前:名前は開発中のものです。 [2008/05/14(水) 22:18:41 ID:b3GXaHWY]
>449
> 中間形態って何かメリットあるの?
今のところは・・・無いです。前は火力も同時強化でしたけど、今現在はタイムストップ使用形態みたいになってます・・・。
ホントは「時間とまってるのに戦闘機が後退するのおかしくね?」って事で中間形態は全方位移動型って設定だったんですが、
敵なんか平気で後退したりしてるんでそこまで拘らずに良かったですよね・・・。
> あと俺tueeやりたいなら実感しづらい回避性能より火力を上げたほうがいい気がする。
火力アップも考えたんですが、一応弾避けも楽しみたいということで・・・あえて回避性能にしてみたんです。
「俺ニュータイプ化してるぜー」的な・・・ちょっと無理なこじつけかも知れませんけど。

>451
> 変形できるからロボット化を行わなければいけない決まりはないでしょ。
そうですよね・・・。「今回はロボに変形する戦闘機でいこう!」ってノリだったんで固執しすぎました。
> 俺なら、ボムゼロ時限定で時間停止の弱効果でスローを一発使えるようにする。(もちペナルティ付き)
スローをさっき無理やり実装してみましたが・・・ちょっと挙動不審でした。
しっかり実装させるとなると最初から組みなおさないといけないモノが大量に出てくるのでちょっと今回は見送りさせてください・・・。
とりあえずタイムストップ終了時に敵弾が一気に動き出すので、いくら弾道が読めていても被弾しやすい点があったので
発動時と終了時に短時間ですがシールドを張って切り抜けられるようにしました。
あと、敵弾画像も丸弾を無くしてタイムストップ中でも敵弾の弾道が読めるようにしました。あとなるべく直線弾がメインの方がいいですよね。

457 名前:名前は開発中のものです。 mailto:sage [2008/05/14(水) 22:22:50 ID:b3GXaHWY]
あと二段目のボムは・・・操縦不能になるのはやっぱ好きじゃない人いるんですね。
次々と撃破していくあたりの爽快感を出したつもりだったんですが、位置取りもあるとなると厳しいですね。
今のところ終了時に発動場所に戻るようになってます(同時にシールドも発動)。
これも考え直しておきます。
スコア面は敵弾消滅と同時に消した数だけボーナスにしてみようと思います。
あとその時間中に倒した敵も得点が倍加するとか。

>452
> 無敵状態で接近して撃ち込めるのが気持ちが良いのさw
怒首領蜂のオーラ撃ちみたいなシステムがあったほうが良いって事でしょうか・・・?
今のところショットは2種類あるんですが、
直線ショット(高速移動時):連射速め
ロックショット(低速移動時):連射は直線の半分だけど出る弾の数は倍。自機より前方の敵で一番近い敵を自動で狙う。
こんな感じです。単位時間当たりの威力は同じになってます。
直線ショットの方を近ければ近いほど高威力にしてみてもいいかなと思ったりしたんですが。
例えば「一番離れてるときはロックショットの半分で一番近いと二倍 中間の距離は同じ威力」のような感じで。

長くなりました・・・。
プレイ動画も載せてみたいんですが、重くてマトモに撮れないんで勘弁してください・・・。

458 名前:名前は開発中のものです。 mailto:sage [2008/05/17(土) 03:01:22 ID:/g6IEs5J]
人の意見を聞くのもいいけど 度を越すとつまらなくなるよ。
最終的に面白ければ異端はエポックとして受け入れられるから心配するな。バランス取りの方が重要。



459 名前:名前は開発中のものです。 mailto:sage [2008/05/18(日) 21:13:42 ID:szLcvKNL]
音声無し、画質最悪のデモプレイでも晒せばアドバイス貰えるかな?

460 名前:名前は開発中のものです。 mailto:sage [2008/05/18(日) 22:32:15 ID:5lmcOuwn]
それなりに。

461 名前:名前は開発中のものです。 mailto:sage [2008/05/18(日) 22:52:31 ID:szLcvKNL]
じゃあ晒してみます
いまのところ、こんな感じ
jp.youtube.com/watch?v=H-7NN13A_do
jp.youtube.com/watch?v=gRDVPM2VfbM

462 名前:名前は開発中のものです。 mailto:sage [2008/05/18(日) 22:52:51 ID:XX/E8PWy]
>>459
ニコにうpればコメで感想書くぜ
草だって生やしてやる

463 名前:名前は開発中のものです。 mailto:sage [2008/05/18(日) 22:55:25 ID:XX/E8PWy]
なんかかぶったwwww
>>461
ようつべかー
家に帰ったら変な外人の振りしてコメ書くとするよ

464 名前:名前は開発中のものです。 mailto:sage [2008/05/18(日) 23:51:37 ID:gIkkDYDh]
>>461

早送り?
それともこのスピードが通常?

465 名前:名前は開発中のものです。 mailto:sage [2008/05/19(月) 00:30:45 ID:q0dQmjCf]
>>461
だいたいコレぐらいのスピードにするつもりだよ
速すぎかな?

466 名前:名前は開発中のものです。 mailto:sage [2008/05/19(月) 00:52:35 ID:BvXwbyK8]
PDA用に作ってるんだが、アルファブレンドとかちょっとしたことでかなりCPU食われる。
デスクトップは無尽蔵なマシンパワーでいろんな派手なエフェクト使えるからうらやましい。

467 名前:名前は開発中のものです。 mailto:sage [2008/05/19(月) 00:56:06 ID:LR+/mrg1]
弾幕じゃないし、速過ぎとは思わないな。
アイテムと弾が見分けづらい気がする。弾と同じ速度で降ってくるからかな。

468 名前:名前は開発中のものです。 mailto:sage [2008/05/19(月) 01:07:55 ID:oGgL+bx9]
>>461
斜めに移動するときXY要素の速度を1/√2倍してる?低速移動がついてるのだろうか
なんか自機速度が変化してるように見える

あと爆発が明るすぎる。今はいいが敵が多くなってくると弾が見えづらくなってくるはず
弾が見えづらいと撃ち込みに行けない(ワイドショットのとき)から非弾幕の面白さが半減
爆発を白くフラッシュさせるのは初めの一瞬だけで、あとは地味にするべき

余裕があったら敵の動きを増加量で制御する(直線的な動きにしない)と見栄えが良くなる



469 名前:名前は開発中のものです。 mailto:sage [2008/05/19(月) 01:21:48 ID:oGgL+bx9]
文句ばっかりだけど、こういうハイスピードなstg好きだな
てか今作ってるのに雰囲気が似てる

470 名前:名前は開発中のものです。 mailto:sage [2008/05/19(月) 01:32:40 ID:9tt6Wf3E]
斜め移動時の速度をどうするかはゲームデザイン次第だよ
1.4倍でも別に構わない

471 名前:名前は開発中のものです。 mailto:sage [2008/05/19(月) 09:12:47 ID:vU9LU+XZ]
バトルガレッガですね、わかります。

472 名前:名前は開発中のものです。 mailto:sage [2008/05/19(月) 13:52:23 ID:b02HV0tQ]
ガレッガもそうだっけ

473 名前:名前は開発中のものです。 mailto:sage [2008/05/19(月) 23:56:07 ID:q0dQmjCf]
>>467
そこは盲点だったな
確かにコレは混同しそうだから、アイテムの移動に関しては少し工夫してみるよ

>>468-469
適格なアドバイス感謝
1/√2倍してなかったから、やってみるよ
(自機は攻撃中に減速する設定)
爆発は、明るさの減衰する速度を上げて、もっとシャープにしてみるぜ
爆発の規模はなるべく落とさずに済ませたいんだ

474 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 00:35:35 ID:RWit6ryT]
>爆発の規模はなるべく落とさずに済ませたいんだ
ボリューム感や爽快感が欲しいなら、暗い破片を飛ばすといいと思う
ただアイテムが見づらくなりそうではあるが・・・

475 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 01:21:07 ID:KPsJ1W8W]
>ボリューム感や爽快感が欲しいなら、暗い破片を飛ばすといいと思う
じゃあ破片もアイテムとして回収できるようにする、ってのも一つの手かもしれないな

476 名前:名前は開発中のものです。 mailto:sage [2008/05/20(火) 23:04:27 ID:eSoqJRV2]
表示の優先順位さえちゃんとしてれいれば、それほど見づらくなることはないと思う。
優先順位は大事だ。

477 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 00:33:51 ID:hCaUmiay]
敵機と爆発エフェクトのどちらを上にするかで迷ったけど
見やすさを優先するなら敵機を上にすべきだったか

478 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 01:24:13 ID:fF08pbvS]
 ↑
その他の敵機
爆発エフェクト
実際に爆発してる敵機
 ↓

とかは?



479 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 03:02:18 ID:UbCa5G5P]
爆風が被って見づらくなるような敵配置を避けるという手もある

480 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 03:33:48 ID:94YaRrU7]
爆風で敵が死ぬようにすればおk

481 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 05:22:35 ID:1s9x2HLd]
それ何てグロブダー?

482 名前:名前は開発中のものです。 mailto:sage [2008/05/22(木) 05:28:39 ID:WCAssrUM]
改めて>>461を見て思ったこと
・黄色系の敵弾と爆発の色がかぶってる
・でかい敵が爆発エフェクトと似た弾を撃ってくる(でかいやつ)
・爆発エフェクトが下の方まで飛んでくる
この3点が気になった。
3番目に関しては、爆発エフェクトをゆっくりでいいので上方向に動かしてみてはどうか。
こういうシューティングは嫌いじゃないのでがんばってね。

483 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 03:10:48 ID:jtP/wS7R]
>>461
見た感じすごく面白そう
たぶんわざとだと思うけど戦闘が全体的に高速なのもスピード感があって良いし
大胆に爆発する敵機を見ても、爽快感を重視しようとしてるのがすごく分かる
ただ欲を言えば、弾を喰らった敵機が死ぬまで何の変化もしないのが残念
弾を喰らった瞬間だけ白っぽく点滅するとか、死ぬ少し前は赤く変色するといった変化を加えると、
さらに爽快感が増すんじゃないかな?

484 名前:名前は開発中のものです。 mailto:sage [2008/05/25(日) 13:54:22 ID:9MtmvDnQ]
>>482
>・黄色系の敵弾と爆発の色がかぶってる
 本当だ、これも盲点だった
 黄色じゃなきゃダメってワケでもないので、他の色を使うことにするよ
>・でかい敵が爆発エフェクトと似た弾を撃ってくる(でかいやつ)
 うーん、もったいないけど、あの弾は道中では使わない方がよさそうだね
 確かに紛らわしい気がしてきた
>・爆発エフェクトが下の方まで飛んでくる
 上方向に等加速度運動させたほうがリアリティ出るかも知れないね
 やってみる

>>483
>弾を喰らった瞬間だけ白っぽく点滅するとか、死ぬ少し前は赤く変色するといった変化
 なるほど、ダメージ受けてるのかどうか分かるようにすべきか
 素材増やすのはめんどうだから、色が変わるような描画関数を作ってみるぜ

485 名前:名前は開発中のものです。 mailto:sage [2008/05/25(日) 15:49:04 ID:RBU9DpQl]
意見を全部鵜呑みにすんなよ

486 名前:名前は開発中のものです。 mailto:sage [2008/05/25(日) 16:08:59 ID:w5UX9m2d]
それだけか。
どの意見に反対すべき点があるとかいうキミの意見は無しか。

487 名前:名前は開発中のものです。 mailto:sage [2008/05/25(日) 16:11:59 ID:JO05VTT1]
>486
「頑張れよ」とか「期待してるぜ」みたいな、定番文句だから別にいいんじゃね?w

488 名前:名前は開発中のものです。 mailto:sage [2008/05/25(日) 16:44:41 ID:9MtmvDnQ]
>>485-486
実際に動かしてみて「何か違うような…」って思ったら元に戻せば良いんだし、
まずは言われたことを試してみようと思ってな
そういう試行錯誤って好きなんだよ俺



489 名前:482 mailto:sage [2008/05/25(日) 17:56:37 ID:nSZgwUpQ]
鵜呑みにされちゃうのはイヤだから一言書いておこうかとは思ったけどね。
ここまで作れる人ならそれくらい分かってるだろうと思ってそのままにしたよ。

490 名前:名前は開発中のものです。 mailto:sage [2008/05/26(月) 16:46:32 ID:QpDGpG2C]
取捨選択は本人がやるべき

491 名前:名前は開発中のものです。 mailto:sage [2008/05/26(月) 18:13:55 ID:XKbn2YAt]
>>489-490
色々試してみた後の、取捨選択の結果を簡単に報告しとくよ

 ・敵の黄色い弾と爆発エフェクトの色が似てる件に関しては、従来の素材と”黄緑色方向に少しだけ色調補正した弾”と”色が変化する弾”を
  混ぜて使うことで視認性が確保できたし、より綺麗な色合いになったような気がする。

 ・爆発エフェクトと似た大きな弾に関しては、完全にこっちの設計ミスだから、赤色メインなのは変わらずに、特殊な形の弾を作成。

 ・爆発が下まで飛んでくる件は、爆炎に上方向の加速度をつけるのを試したけど、なんかイマイチでな、
  むしろ今までの爆発エフェクトに加えて敵の破片を飛ばしてブッ壊してる感じを強調する方向で素材作ってる。

 ・敵の点滅や赤色変化については、攻撃命中時に白色に点滅するエフェクトのみ作成。
  確かに”攻撃が効いてる”って実感は重要だと判った。
  あと攻撃が命中するたびに小さな火の粉を飛ばしまくって削り感を出すエフェクトも作成予定。

今のところ、こんな感じ。
なるべく「攻撃してる!」「破壊してる!」っていう感じを出していきたいんだ。

492 名前:名前は開発中のものです。 mailto:sage [2008/05/28(水) 13:15:53 ID:yIjbYgmf]
そろそろ俺が動くものを投下する時のようだな

493 名前:名前は開発中のものです。 mailto:sage [2008/05/28(水) 13:35:19 ID:DPtH00SA]
よくわからないが性的な想像をしてしまった

494 名前:名前は開発中のものです。 mailto:sage [2008/05/28(水) 14:03:05 ID:VhLX8kTD]
私自らが出る

495 名前:名前は開発中のものです。 mailto:sage [2008/05/28(水) 23:54:15 ID:r2Z7pcvh]
プログラムとか一切知らないけど東方みたいなの作りたい
どの言語がいいと思う?
あと分かりやすい講座みたいなの載ってるページないかな

496 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 00:58:20 ID:sI4xc3xg]
HSPあたりか

497 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 01:13:44 ID:C6Mdsiet]
あえて1からC++を学ぶというのも

498 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 01:16:47 ID:7q/pJngE]
プログラミングの知識が全く無いなら、いきなりゲームではなくて
Pythonあたりで勉強した方がいいんじゃないかね。
大事なのは言語の文法ではなくて、プログラミング的な物事の
捕らえ方だから、言語なんて何でもいい。

実行効率やゲームを作るための情報量で言えばC++が一番だけど
C++だと文法の勉強だけで半年以上かかるかと。



499 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 01:34:02 ID:x9N3rBnw]
Python とか Delphi とか良く聞くけど、いいライブラリでもあるのかい?
HSP か、CでDXライブラリ使っておけばいいんじゃないのかね。
乗り捨て前提で言語覚える必要ないっしょ。

500 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 02:24:54 ID:7q/pJngE]
>>499
CとPythonでは学習速度が違い過ぎる。
文法の差もあるが、Pythonの対話モードの存在も大きい。

HSPは言語設計があまりにも古臭い。
PythonからJava, C#, C++への移行はスムーズに行えるが
HSPからだとほとんど0からの学習になる。

pygameっていうゲーム用ライブラリもあるし、配布されている
ゲームは基本的にソースコードが見れるという利点もある。
ttp://www.pygame.org/tags/arcade

というわけで、俺はPythonがおすすめ。

501 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 13:17:49 ID:V7n9iczi]
CかC++で先人が作って配布しているライブラリを使うのが一番良い。
マイナー言語では質問を投げても返ってくることは少ないからな。

502 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 13:21:44 ID:VGCnrM13]
ライブラリで一番気になるのがGPLのように問題にならないかなあと

503 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 15:07:33 ID:V7n9iczi]
なんつーか、そんなこと気にする前に手を動かせよ。

504 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 15:10:04 ID:nOtkeXIc]
>>503
いやもう別環境では動いてるソース持ってるんだって。
で、PCに最適化するために書き換える部分がいくつかあるんだけど
そこをどうするかで検討してるんじゃん。

ライブラリでGPL絡んであとでごちゃごちゃするの嫌なので
先に調査してるだけ。

505 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 15:35:50 ID:V7n9iczi]
手を動かせ=自分で作れ
のつもりで書いたんだけど分りにくかったな。

506 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 16:17:58 ID:ci2Rwp21]
ライセンス絡みの話じゃね

507 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 16:51:23 ID:XHqPrNQg]
シューティング制作者の優しさは異常

508 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 17:33:13 ID:As6AFkA0]
シューティングくらい自分で作ってみようぜ!



509 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 18:33:57 ID:Psit5nhx]
趣味で2Dシューティング作りたいだけなら一生HSPでも別に困らんけどな
というかSBとかでいいんじゃないか
大多数の人はゲーム一本完成させる前に飽きるし、そういう人は言語習得の段階で飽きちゃうからな

510 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 18:57:39 ID:4Z+TPnxc]
言語によって習得しやすいとかしにくいっていう概念が良くわかんないんだが・・・

どの言語でも
絵を表示したい⇒絵を表示する命令探す
文字を表示したい⇒文字を表示する命令を探す
ってだけじゃないの?

ちょっと書き方が違うだけっていうか

511 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 19:00:02 ID:szUKAV1r]
いやーぜんぜん違う
HSPだと進化したBASICって感じで割りと簡単だけど
CでDirectXを使うとなるとそれなりの知識はいる。


512 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 19:00:38 ID:qrufruFL]
その手間が全然違ったりするからじゃない

513 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 19:12:34 ID:BS7vFlaH]
うむ

514 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 23:21:51 ID:zeARvIKP]
>510
言語によっては、机を用意して、その上に置くノートを用意して
ペンしか使わないのに筆記用具一式が入った筆箱を用意しないと
文字が書けなかったりするからな。

515 名前:名前は開発中のものです。 mailto:sage [2008/05/30(金) 14:35:29 ID:ZlEmHweA]
導入の手間を除けば、
CとDXライブラリが一番簡単じゃないかな。
それこそBASIC感覚で作れると思う。

516 名前:名前は開発中のものです。 mailto:sage [2008/05/31(土) 01:59:26 ID:CYZ6kssv]
>>504がソース持ってるって書いてあるのがすげーーーー気になる
どっかからパクってきたのか?

517 名前:名前は開発中のものです。 mailto:sage [2008/05/31(土) 21:11:29 ID:1CVvU5aM]
ライブラリにGPLが〜って気にしてても、自分でライブラリを作る選択が無いところを見ると
同人ゲーをPC基板に移植とかそういう仕事だったりするんかな。

518 名前:名前は開発中のものです。 mailto:sage [2008/05/31(土) 21:54:32 ID:ml7R2ir5]
GPLが読める奴はゲームなんぞ作ってませんよ



519 名前:名前は開発中のものです。 mailto:sage [2008/06/01(日) 12:09:04 ID:odS/oJGJ]
人権委員会に報告されちゃうっ(ビクビクッ

520 名前:名前は開発中のものです。 mailto:sage [2008/06/01(日) 17:53:12 ID:ExLpTmmO]
BulletMLManager
の使い方がいまいちよくわからんのだがつかってる人います?

521 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 11:33:27 ID:xVETCOHb]
新しいgamedeveカキカキ

TopPage - game-develop.com wiki
wiki.game-develop.com/

GameDevWikiを何とかするスレ
pc11.2ch.net/test/read.cgi/gamedev/1156117275/

522 名前:名前は開発中のものです。 [2008/06/06(金) 03:37:13 ID:M4cUj8sn]
ただいまDXライブラリでシューティングゲームを作っているんですが
敵の軌道に凄い迷っています。
何かいいサイトとか教えてもらえると嬉しいです・・・

523 名前:名前は開発中のものです。 mailto:sage [2008/06/06(金) 05:01:50 ID:ccm+UKUf]
敵の軌道が軌道に乗らないと。

524 名前:名前は開発中のものです。 mailto:sage [2008/06/06(金) 06:53:06 ID:+EwpaMeA]
軌道の作り方?
それともどんな軌道があるかって話?
プログラム的な話ならともかく、ゲーム内容の話だったら他のゲームみて研究しなさいとしか

525 名前:名前は開発中のものです。 mailto:sage [2008/06/06(金) 11:54:13 ID:5E9ARiON]
STGプログラミングとか、STGアルゴリズムマニアックスとか、こういう時には丁度いいと思うよ。

526 名前:名前は開発中のものです。 [2008/06/06(金) 16:20:06 ID:M4cUj8sn]
ありがとうございます。
あと質問の仕方が少し悪かったですね。すみません。
えっと、敵の軌道についてどういったプログラムの書き方があるのかを
聞きたかったんです。

>>525さん
ググッたらでてきました。
よさそうな本なので使わせてもらいますorz




527 名前:名前は開発中のものです。 mailto:sage [2008/06/06(金) 20:01:04 ID:5E9ARiON]
>526
ある程度ゲーム作りなんかを経験したことある人間なら、
プログラム的にはそんなに有効なものではないけれど、

・やりたいことはあるけど実装方法が微塵も思いつかない
・あまりSTGに詳しくないので、(プログラマ視点からの)演出リストみたいなものが欲しい

とかなら便利だと思う

528 名前:名前は開発中のものです。 [2008/06/07(土) 07:21:42 ID:HwGhKYeT]
>>526さん
ありがとうございます。
とりあえずこれで勉強してみようと思います。






529 名前:名前は開発中のものです。 mailto:sage [2008/06/09(月) 21:47:15 ID:xIkwo1U1]
質問があります
敵キャラクターの色に関してですが、
敵キャラクターは背景の色とは、なるべく違う色を使って保護色でない見やすい色の方が良いと言われますが、
その際、敵キャラクターの色はなるべく統一させておいた方が良いのでしょうか?
例えば、
一面の森林ステージは、背景の緑色とかち合わないように敵は全員ピンク色系に。
二面の列車ステージは、背景の線路の色とかち合わないように敵は全員青色系に。
といったような感じで。
既存のゲームでは、どういったパターンで敵の配色を決めているのか教えてもらえませんか?

530 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 01:01:07 ID:nimaFHPb]
メカもので世界観を重視するなら
明度・彩度を変えたほうがいいんでは


531 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 01:12:25 ID:+aDmgWFn]
確かに、やたら派手で目立つ戦闘機ばかりというのはワケ分からんな。
もちろん、わざとそうやる機体があるのは認める。

532 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 01:16:08 ID:NUtaWqlE]
せめて背景とキャラは区別が付くようにしてほしい。
昨今のゲームってハードの能力が上がってやたら背景とか凝ってるんだけど
弾がわかり難いとかあるし
3Dを使って1軸固定の場合、いつ同一軸に来たのかわかりくいのとかあるからな〜

533 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 08:05:33 ID:nTtkz+dw]
敵の動きを実装したいのですが、
私の作ったシステムだと、直線と、円書きながら移動の2パターンぐらいしか表現できず、
あまり、おもしろくないというか 見た目に欠けるのです。

そこで、どうやったら、敵の微妙な移動を表現できるのでしょうか?

534 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 08:16:47 ID:f1guzX+l]
全てのキャラの色が派手すぎると変だし
背景とキャラが区別ついた方が良いとなると難しい

現在使用している素材は、基本的に青色なんですが
下地が緑の部分では、キャラの彩度や明度を変えても限界がありますし
背景そのものの彩度や明度をかえると、
キャラが浮いてくれるのですが
全ての背景が夜みたいになってしまうのも考えものです

何か方法はないでしょうか?

535 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 08:31:33 ID:arPqS3KG]
>>553
システムってのが、どんなのかわかりませんが、
直線移動が実装されているのであれば、
下に直線的に移動した後
左上、右上、と直線的に繰り返し移動
みたいに直線行動の組み合わせでも
わりと微妙なキャラの動きは作れると思いますが。

敵の微妙な移動について詳しく

536 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 08:55:12 ID:phyGEt7B]
>>533
他人の作ったゲームを観察すればいいだろう。
まぁ、名作と言われるゲームでも、意外と単純な動きしかしてないけどね。

537 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 12:17:00 ID:hsBh970A]
連隊として出てくるとかねー。

538 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 14:18:54 ID:RT02LfrH]
>>533
放物線をはじめとして、いろんな数学的曲線を見て利用できそうなもの探すのはどうよ?



539 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 16:17:37 ID:FupEvrLt]
敵、弾の動きとか出現を全部プログラム中に直接書いちゃってんだけど

BulletML以外で自分で弾幕定義とかしてる人いる?

540 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 16:19:15 ID:BhUcQ+GT]
way弾とかの関数は独自に作ってるよ

541 名前:名前は開発中のものです。 mailto:sage [2008/06/11(水) 00:17:29 ID:w4VzkzQG]
>>539
void ShotNWay(引数);//NWay弾
こんな感じの関数ならいっぱい作ってるよ

542 名前:名前は開発中のものです。 mailto:sage [2008/06/11(水) 00:54:26 ID:Yzm3EAbw]
ちょっ速のPCがあればスクリプト言語など不要ですね、わかります。

543 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 09:37:47 ID:f1+USoD9]
逆だろ

544 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 15:35:40 ID:jAc1OSoI]
俺も最初逆に思ったけどたぶんコンパイル速度が速いってことだろう

545 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 20:50:25 ID:yDi/ZIrs]
c++だって、コンパイルなんてせいぜい数秒じゃないか?


546 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 21:30:53 ID:gzO65s1E]
マ以外の人に編集や調整を頼むなら簡単なスクリプトは要るかもだが
俺ずっと一人制作だったから弾幕定義まで一個一個全てdllにして
プレイ中に修正可能にしたりとかヘンテコな事やってる


547 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 22:28:30 ID:TSLRdYb6]
>>546
それってヘッダーファイルじゃダメなの?

548 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 22:48:12 ID:gzO65s1E]
>>547
ヘッダーファイル?よく分からんが
リリースビルドのexeでもプレイ中にコード差し替えしたいという
意味不明な俺要求で全部dllにしてた。ただそれだけ。

エディットコンティニュー用のデバッグ情報があるなら
デバッグしながらでも普通に書き換えられるけど



549 名前:名前は開発中のものです。 mailto:sage [2008/06/13(金) 10:37:09 ID:WTt391nL]
少しスレチかもしれませんが質問です
効果音で、雷電2及び雷電DXのボス破壊時の効果音のような
気持ちいい感じというか、こもった感じではない爆発音って、
配布されている効果音の中には、意外とないように思えるのですが
どなたか、ご存じないでしょうか?


550 名前:名前は開発中のものです。 mailto:sage [2008/06/13(金) 11:08:21 ID:eIgFj6sJ]
スピーカーのせいなんじゃないの?

551 名前:名前は開発中のものです。 mailto:sage [2008/06/13(金) 12:26:22 ID:hkP7hw1T]
的外れなレス発見

552 名前:名前は開発中のものです。 mailto:sage [2008/06/13(金) 16:17:36 ID:EQ9QC8Ez]
>>549
それはアレだ。プロが作り出す音響効果の素晴らしさってやつだよ
音響効果のノウハウに関する公開情報って異様に少ないんで
俺みたいな門外漢のマには何が何やらサッパリだ

アニメ界で有名なサウンド○ィ○のお偉いさんなんて何十年も前から
ずっと現役の職人さんだよ。すげぇよな

553 名前:名前は開発中のものです。 mailto:sage [2008/06/16(月) 12:03:46 ID:elENusH/]
>>552
なるほど……
フリーで見つけるのは難しいということですね
亀レスですみませんでした
ありがとうございます

554 名前:名前は開発中のものです。 mailto:sage [2008/06/16(月) 23:15:19 ID:ClTaNQNv]
マウスだけで遊べて、パワーアップなしで爽快感UPできる方法
を追及した結果、マウスでコマンド入力し、成功すると一定時間
攻撃力がアップするってのを作ってみたけど、(効果が高いほど
入力操作が多い)コマンド体得するまではいいんだが、
一通り覚えると飽きる気がしてきた・・・。

なんかうまい使い方ないだろうか・・・。

555 名前:名前は開発中のものです。 mailto:sage [2008/06/16(月) 23:31:23 ID:uX6B7Jne]
敵クリックで撃破。

556 名前:名前は開発中のものです。 mailto:sage [2008/06/17(火) 00:07:49 ID:Gh2sy0to]
>>554
左クリックで線を描き、右クリックでスポイト。

557 名前:名前は開発中のものです。 mailto:sage [2008/06/17(火) 01:00:52 ID:ZH96Nhjs]
マウスで遊べるシューティングっていうと、喧嘩番長のやつが
結構面白かったよ。
ttp://jp.shockwave.com/games/arcade/shooting/tsubushi/play.html

558 名前:名前は開発中のものです。 mailto:sage [2008/06/17(火) 13:34:09 ID:kknD/33w]
晩夏県庁



559 名前:名前は開発中のものです。 mailto:sage [2008/06/18(水) 02:05:34 ID:qz8Cw7gV]
>敵クリックで撃破。
>左クリックで線を描き、右クリックでスポイト。
インスピレーションは得られた。

喧嘩番長30分ぐらいやっちまった・・・。
が、方向性が違うことに気づいた・・・。

もうちっと考えてみるわ。

560 名前:名前は開発中のものです。 mailto:sage [2008/06/18(水) 02:15:41 ID:NlS9ptn1]
えられたんだ・・・?

561 名前:名前は開発中のものです。 mailto:sage [2008/06/18(水) 09:01:30 ID:mqJXL/tf]
>>539
単純な弾幕は作れるようにしてあるな。
予めリストのように自分の型の変数を持つ弾幕インターフェイスを作ってそこから
n-way弾、全方位弾、連なる弾、発射調整用(ここが色々作れる。)のクラスを作る。

これで初期化時に弾の方向、方向間隔、同時発射数などを初期化できるようにした後、
複数の弾幕インスタンスを組み合わせるだけで、簡単な弾幕は作れる。
例えば5-wayインスタンスの変数に3包囲奇数型全方位弾を登録しておけば、
奇数3方向に5way弾が打てるようになる。




562 名前:名前は開発中のものです。 mailto:sage [2008/06/18(水) 15:02:24 ID:6MKGIX0P]
way弾の組み合わせでほぼ事足りるからなー
東方みたいな弾幕作りたければだいぶ変わるけど、あれはあれで別だし…

563 名前:名前は開発中のものです。 mailto:sage [2008/06/18(水) 23:25:39 ID:oPZri8ro]
ストラテジーパターンと、
「弾を発射する弾」で全て済ましてるな

564 名前:名前は開発中のものです。 mailto:sage [2008/06/18(水) 23:38:14 ID:qz8Cw7gV]
まだ形になっていないけど、コマンドシステムは実装したので、
アゲてみた。
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/upup.html

[No_0293.jar] マウスコマンド習作
ってやつがそれ。

ちなみにインスピレーションから得たものは未実装。

発動した技をフル活用させようとするとなんかパズルゲーみたいに
なりそうなんだよな・・・。

思いつきのアイデア求む。

565 名前:名前は開発中のものです。 mailto:sage [2008/06/19(木) 01:58:01 ID:SRbwL4tV]
>>564
4軸コマンドを簡単な図形に置き換えるとか。

566 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 00:39:38 ID:XlCCcTXY]
タスクシステム難しいな・・・
どう実装すればいいかさっぱり。

オブジェクト吐いて連結リストにしておわったら削除みたいな感じでいいのかな

567 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 00:55:59 ID:8fUS+A6I]
リストで繋いだオブジェクト群に操作を加えていけばそれでタスクシステムなんじゃないの

568 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 02:02:19 ID:aaplPd6e]
>>566
リストなんか使わずに配列に入れて毎回全走査でいい。
親子関係とかなければ、これで十分。

要点は、
・全てのキャラクタが共通の基底クラスから派生している
・1フレームに1回呼ばれる状態更新メソッドを持っている
この2つだけ。

オブジェクト自身にリスト構造を持たせるのは前時代的な
実装だから、俺は薦めない。



569 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 02:33:15 ID:di01Ub84]
配列全走査なんかしたら処理順序が狂うだろう。
弾幕シューなら敵弾の前後関係とかに影響が出る。

570 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 02:36:39 ID:+i/0tpop]
というか双方向リストとかは覚えておいたほうがいいだろ。
それにネットでは解説されてるし、組み込んじゃえば
自分が触るのはリストに関係ない構造体のデータだけだし。

571 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 02:59:46 ID:l+iPD5/q]
自作でオブジェクトをリスト化するのが面倒なら、
STLのlistで、オブジェクトへのポインタを管理すればいいんジャマイカ?


572 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 03:23:40 ID:Zr+DHgg1]
オブジェクトがリスト構造を持っていなくて、独立したリストがオブジェクトへのポインタを
持たせることも出来るだろうけど、あんまり分ける意味を感じないな。
配列は使い勝手を考えると流石にありえないと思うけど。

573 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 06:38:41 ID:DSllsGKe]
配列で領域確保してリストとして作動させるのが簡単ってなんかの本で読んだ覚えがあるな。
もちろん配列を超えないこと前提で。

574 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 06:46:16 ID:+i/0tpop]
>>573
そりゃそうだけどね。

でも今となったらどっちもどっちでしょ。

その都度領域を確保する場合はmalloc、freeのコストが発生。
配列で領域確保してリストとして機能させる場合は
使っている配列で構成されるリストと
あいている配列で構成されるリストの
二つが存在して、ややこしくなる。


575 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 10:34:16 ID:HN2ihE2T]
>>573
たしかHSPとCだったと思うけど、配列を使ったリスト構造の実装をこの板でみたぞ
ついでに情報処理の試験でも出題されたはず

配列を使った場合、静的に領域を確保するので、領域の上限がキッチリ決まってくる。
しかし、動的に確保する場合でも、ゲーム中にmalloc使って・・・なんて事はしないから条件は同じ
(ゲーム開始前に一気に確保)

>>574
>使っている配列で構成されるリストと
>あいている配列で構成されるリストの
これはmalloc等でも(ゲーム開始前に一気に確保)をした場合は同じ処理が必要

あれ?ひょっとしてどっちで実装してもメリット・デメリットあまり大差ないのか?
配列ならポインタでエラーがでないから、デバッグが多少は楽になるかもしれんが・・・。
(ポインタより配列の添え字とにらめっこするほうがらくだよね?ダンプ出しやすいし)

576 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 11:14:50 ID:qz8iv83D]
>>566だが頭がおかしくなりそう

基底クラス

 ├自機クラス→リストへ挿入
 │
 ├敵機クラス→リストへ挿入
 │
└弾クラス
   ├自弾クラス→リストへ挿入
    └敵弾クラス→リストへ挿入

な感じでいいのか?
といってもこれすらどう組んでいいか分からん

C++とオブジェクト指向もっと勉強したほうがいいですね、わかります
 

577 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 12:12:03 ID:8fUS+A6I]
俺の場合は敵機・自機・敵弾・自弾・・・でリストをわけてる
そうすれば描画順を気にしないで済むし、例えば敵弾に移動速度のパラメータを持たせて
動的に全ての敵弾の速度を一気に変えたりできる

配列でのメモリ確保ってのは要するにメモリプールを作るってことだろ
そんでそのプールを固定長に区切ってそれぞれの領域をオブジェクトとして利用する
プールを使えばfree/mallocに伴う処理とかメモリの断片化を防げるって利点がある

578 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 12:59:42 ID:rl6WJKHf]
> あれ?ひょっとしてどっちで実装してもメリット・デメリットあまり大差ないのか?
> 配列ならポインタでエラーがでないから、デバッグが多少は楽になるかもしれんが・・・。
> (ポインタより配列の添え字とにらめっこするほうがらくだよね?ダンプ出しやすいし)
サイズの違う領域を確保したり開放したり繰り返すと、
あとで再利用されない領域が発生しやすい。

本棚の本をランダムに出し入れするイメージかな。
(勿論既に本棚に入ってる本を左右にずらすのは禁止でw)



579 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 13:15:17 ID:GHWgXrcU]
おまえら細かい実装の話に熱くなりすぎだろ。
そんなのは個々人が好きなようにすればいいんであって、
もっと全体の設計の話をすべきじゃないか?

580 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 14:22:22 ID:qz8iv83D]
class hoge{
public:
 hoge(int id);
 virtual ~hoge();

private:
 int hogeid;
};
typedef std::list<hoge*> hogeList;

main(){
hogeList hogelist;

hogeClass obj1(1);
hogeClass obj2(2);
hogeClass obj3(3);

hogeList::iterator it = hogelist.begin();
hogeList::iterator ++it = hogelist.insert(it, &obj1);
hogeList::iterator ++it = hogelist.insert(it, &obj2);
hogeList::iterator ++it = hogelist.insert(it, &obj3);
}

とりあえずSTLのlistでやってみたがこんなんでいいのかな
これに自機、敵機、自弾、敵弾、その他クラスをつっこんで描画やらのループにいれればいいのか?

581 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 16:07:22 ID:Who4Uyml]
STLのlist使うなら

hogeList objectlist[n]; //n=0自機 1敵機……
objectlist[i].pop_back(new hoge(...)); //オブジェクト生成

あと、hogeクラスのhogeidってなにに使うんだ?

582 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 16:08:22 ID:Who4Uyml]
寝ぼけてるな…
pop_backじゃなくてpush_backだよ・・・

583 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 18:42:53 ID:j2oc2Sqc]
何か話をぶった切って悪いんだが、
リプレイで早送りを実装する場合、
本来1/60秒経過したら更新するところを1/240秒経過したら更新、とする以外でいい方法ある?
この方法だと、処理落ちしたところは早くできないんだよね。


584 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 18:56:10 ID:8b6P9lU/]
だいたい処理落ちの原因は描画だから、
描画を省略したらいいんジャマイカ?

585 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 19:11:27 ID:/NIY82Nu]
エフェクト類の計算処理を省略するとか
描画処理を間引きするとか

586 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 19:13:46 ID:j2oc2Sqc]
>>584,585
サンクス。レスしたあと席立ったら普通にその考えが出てきたorz

587 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 19:20:25 ID:dWz0Uliv]
アフリカでは良くあること

588 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 19:23:07 ID:yBkfb3j+]
オープンアプリ向けに作っている人は少ないのかな



589 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 22:22:03 ID:XlCCcTXY]
>>581
いんや、適当にオブジェクトを突っ込むのを実装したら
こうなるかな、ってことで別に自機とか弾とかの概念はないです。
あとthx。

今度は実際にクラス作って実装か・・・
処理してる物体がPCじゃないだけに怖いな

590 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 08:18:42 ID:88AJQOqo]
>>574
つ メモリプール

591 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 15:44:39 ID:FfEyNKqI]
>>569
>敵弾の前後関係

表示順序が問題になるような(半透明処理)が無ければ
表示上の前後関係は深度バッファまかせにできるから
std::vectorを使った順序なしリストの走査順で描画しても
何も問題ないよ

592 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 16:49:40 ID:FfEyNKqI]
>>568
たしかに敵や弾は自身がどんなコンテナにぶち込まれてるかなんて
本来なら別に知る必要のない余計な情報ともいえるから
boost::intrusiveみたいな押し入り癒着してくるタイプのコンテナを下手に使えば
軒先貸して母屋ひっかきまわされるだけで終わることもある

この手の侵入式(?)コンテナがドマイナーなのは利点欠点を勘定したら
欠点のほうが目立つケースのほうがずっと多いから

593 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 18:59:42 ID:FfEyNKqI]
>>566
>>567
>タスクシステム

一部でそう呼ばれ、未だに一部レトロマニアに珍重・尊崇されているものの実態は
boost::intrusive同様、コンテナのパラメータがオブジェクトに癒着している。
このパラメータは自前のアロケータ内部でも使われるものなので
アロケータとオブジェクトが癒着しているとも言える。
またオブジェクトのメンバ変数は単なる汎用のワークメモリという扱いで
状態遷移のたびに仮想関数テーブルポインタを上書きして型が別物に化ける。
継承図とか完全無視で型が変化するので状態遷移の前後でメンバ変数が
様変わりする。
これは静的型言語のポリシーを完全に逸脱したものであり、アセンブリ言語を
使っていた自由の時代ならともかく、静的型言語であえてこんなアクロバットを
披露するのはある種の変態プレイとか路上オナニー。人前で自慢できる趣味ではない。

こんな妙なことするなら、動的型言語を新たに創造しそれをエディットする環境を構築するか
既存のスクリプト言語(LuaとかSquirrelとか)を組み込んだほうが良い

594 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 20:21:42 ID:FfEyNKqI]
話がわき道に逸れた
敵や弾をどんなコンテナに入れるのか、これは配列でも連結リストでも
n分木でも好きなようにすればいいが、その要素を走査して更新いくという
ゲームの基本的な仕掛けを「タスクシステム」って呼ぶのは変かなと

あれはある特殊な、もはや時代錯誤ともいえる実装に付けられた
固有名詞、ローカル用語なのだから

595 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 21:34:37 ID:HikCyTD1]
ちなみに正確には擬似タスクシステムな。

596 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 21:58:57 ID:FfEyNKqI]
>>595
教えてくれ。あれは一体何の擬似なんだ
オペレーティングシステムにおけるマルチタスクシステムのタスクの擬似なのか?
ならば要件を満足してない(コンテキストスイッチすらできない)から擬似ですらないぞ
スケールも素材も使用目的もまるで違うただの玩具というべきだろう

597 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:07:12 ID:9mnpmN5C]
>>596
OSの構造しらない昔のゲームプログラマーが適当に名付けただけだよ。

その昔のゲームはキーボードからコマンドを入力するまで
イベントが動かないのもあった。アニメーションもろくにできなかったしね。

その点アクションやシューティングは一定サイクル(FPS)で処理を続けてるので
タスクといえる。だから擬似タスクシステムとしようってことでしょ。
組み込みのちょっとしたプログラムもRTOSとか呼ばれてるようだし。

598 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:21:05 ID:FfEyNKqI]
擬似なんて言い出したのは素人だろ
エンドたんでも引っ張り出して詰問してみれ



599 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:33:39 ID:FfEyNKqI]
まぁどっちでもいいや
現場では擬似タスクは全く聞いたことないし、タスクにしたって
使わなくなってずいぶんと久しい。ほぼ廃れた言葉といっていい

いまどきタスクシステムなんて単語を駆使してるのは
一部の懐古趣味野郎とかマムコ信者くらいだ。いずれにしろ老害。
痛い素人の真似するのが本望でないならもっとかっこいい言い方を
模索するべきだろう。ゲームエンジンとかオートマトンエンジンとか

600 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:54:42 ID:ij0TulEQ]
めんどくさいからタスクシステム、擬似〜〜でも良くね?

601 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:57:43 ID:PFSFGR1E]
ケチを付けるのが目的だから細かい名称なんてどうでもいいのさ。

602 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:00:02 ID:9mnpmN5C]
>>600
いやゲームエンジンだとか、商業的になるとミドルウェアという言葉で片付く。

擬似タスクシステムってやっぱり古い時代の名残だよ。
マイコンなんかで使う用語が規模も似たようなゲームマシン時代に
当てはめて生み出した造語

603 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:25:21 ID:HdAQdXjX]
描画順はともかく、固定長配列じゃオブジェクトの追加に時間がかかるだろう
毎回走査して空きを探すのか?
富豪的に見えて、面倒なだけじゃね?

604 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:31:51 ID:9mnpmN5C]
>>603
いやだから固定長配列だって、リストにすればOKだよ。

でもテストして最大値を割り出しておかないとだめだけどね。

605 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:37:50 ID:HdAQdXjX]
待って、俺が誤解していない場合、
やっぱりオブジェクトを追加するときに、
空きを探して配列を走査する必要がないか?

606 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:40:03 ID:uMAOIcwL]
>>603-604
富豪厨召喚呪文が唱えられたようなのでム板からカッ飛んできた
配列厨と罵倒されることもあるけど私は元気です

さて、>>591のおじさまが言ってる配列による順序無しリストってのはたぶん
要素削除時に最後の要素をそこに移動&上書きするものだと思うよ
順序がメチャクチャになるけど条件が許すなら大丈夫だよね

アルファブレンドなしの2D弾幕ならZ値で上下関係は保てるしね

607 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:46:37 ID:9mnpmN5C]
>>605
配列でオブジェクトを8コ取ったとするよね
これには当然リストを構築するためのポインタも入ってるとする。

配列 □□□□□□□□

で、ゲームを起動した際に初期化処理として

使用中リスト NULL
未使用リスト □->□->□->□->□->□->□->□->NULL

こうやって置く。

あとは関数でも用意してオブジェクトを追加したければ

使用中リスト □->NULL
未使用リスト □->□->□->□->□->□->□->NULL

使用中リスト □->□->NULL
未使用リスト □->□->□->□->□->□->NULL

・・・・

使用中リスト □->□->□->□->□->□->□->□->NULL
未使用リスト NULL

使わなくなればまた未使用リストへつなげばいい。
malloc freeのコストはないけど配列で確保した個数以上は管理できない。

608 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:49:54 ID:uMAOIcwL]
ところで富豪厨はシモジモの日々の苦しいやりくりとは無縁なので
タスクシステムとかの貧民的なアプローチに興味ないのですが
このあいだ「タスクも知らないの?プギャー」と貧乏人に煽られたので
ちょっとシメてやろうと思ってタスクスレを開いたら既にタスク派が
盛大に虐殺されていました

あまりの恐ろしい光景に震えあがってム板に帰りました



609 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:51:54 ID:5JyA6mIk]
>>605
空きの部分も線形リストで結んで管理するのが
データ構造では一般的じゃなかったかなあ

610 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:52:07 ID:HdAQdXjX]
>>607
OK理解した
要するにメモリプールに固定長配列を使ってるわけね
って>>577が既に書いてたし
物覚え悪くてスマソ

>>606
コピーのコスト(ry
これぞ富豪

611 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:58:11 ID:xReDDG2i]
隔離スレあるんだからタスクシステムそのものについてはそっちでやってくれ

612 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 00:29:33 ID:oNKHrkss]
むしろ隔離スレから出てくるというゲハ板→ニュー速現象が・・・
こういう全体の設計って結局は人それぞれだから、あんまり2ch向けの話題じゃないな

しかしレスから見るにDSとかPSP辺りで作ってるのかな?

613 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 00:31:28 ID:PrpKabUz]
>>612
今となったらオブジェクトの管理メモリより
素材の方がメモリ食うんだけどね・・・

614 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 00:31:35 ID:NcdiOwFI]
>>610
富豪厨は厨なのでパフォーマンスとか興味ないんだけど
たまには庶民の期待に応えるためにベンチとり遊びもしてたよ

弾はサイズ小さい(弾種、座標、速度、深度とかで24Bytesくらい)から
削除時のコストは24バイトのブロック転送に過ぎないよ
弾アップデートのための巡回はただのリニアアクセスだから楽だよ
2000発の弾をランダムに飛ばしたり生成削除するテストしたときは
boost::simple_segregated_storageとの速度競争で勝利を収めたよ

ところでboost::simple_segregated_storageの中身って>>607のそれと
よく似ていたんだけど、これは使用中リストから外して未使用リストに
繋げるとき(またはその逆のとき)ポインタ書き換えは何回発生する?
それと弾アップデートのための巡回は隣接要素のポインタ経由の
ランダムアクセスになるよね

まぁ富豪厨にとっては瑣末な問題なので普通に弾一個一個で
malloc/freeしてたけど

615 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 01:01:38 ID:R7H+ft0X]
>>565
スレありがと。仕事で死んでたんで見れなかったんで。
参考になりますです。

616 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 01:06:33 ID:BbGOZBxw]
>>603
富豪的に見えるかもしれないが、いまどきのPCはリストをポインタ辿って
走査するよりも配列を順走査する方が同じ要素数なら1.5倍くらい速いよ。
追加のコストが増えても、その他の処理で十分ペイできる。

617 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 01:12:19 ID:4FqnTxUJ]
シューティングゲームに必要な要素数(せいぜい2000以下)だと、確かにそうなるかも
どどんぱちの裏ステージ的な状況だとどうか知らんがw

618 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 03:41:05 ID:3USBYfmM]
>>617

>>591>>606>>614の言ってる配列コンテナの使い方は
削除処理=削除対象の要素を最後の要素で上書きするだけ。O(1)時間。
当然虫食いはないので要素追加時も空き要素検索は必要ない。O(1)時間。
これらの処理時間は要素数に関わらず常に一定。ただ要素サイズに比例する。
あと最大の欠点は削除・追加を繰り返すことで要素巡回順が不定になること。
だから「順序なしのリスト」なのね

これが問題にならないケースで使えばいい




619 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 05:39:53 ID:2pkhJQN/]
固定配列にこだわって富豪ってのもなんだかな。
俺は大富豪なので弾幕シューでも容赦なくnew/deleteするが。

620 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 07:38:39 ID:sTkkjGQB]
>まぁ富豪厨にとっては瑣末な問題なので普通に弾一個一個で
>malloc/freeしてたけど

621 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 09:34:14 ID:wbqG7Qtf]
>>603
シューティングでは最初に発射された弾が最初に画面外に出て消滅(FIFO)するような気がするので、
空きオブジェクトをリストで管理しなくても、キュー(リングバッファ?)っぽく管理してもいいかなと思って、
最期に取得したオブジェクトの位置を保存してみたりして
試している今日このごろ。


622 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 10:38:43 ID:LBFcTyab]
>621

Before----------------------------------------

Σ三>    -        -
                   敵


After----------------------------------------

Σ三>           -  敵   -
                  ↑


623 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 10:46:15 ID:7sGdPDL+]
>>622に言おうとしたことかかれたw

敵とか地形が邪魔をしないゲーム(と呼べるのか?)であれば
>>621の言うようにFIFOでも成り立つがゲームらしくすると
敵もしくは地形で後に発射した弾が消滅する可能性だってある。

貫通弾にすればいいというかもしれないがやっぱり
動的にオブジェクトが増えたり減ったりする場合は
リストが向いてる

624 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 12:47:57 ID:wbqG7Qtf]
>>622>>623のやさしさに泣いた。

そこで、対策としてとりあえず、配列の大きさを十分に大きくしておくことと、
使用中のオブジェクトに関しては、「使用中です」フラグをつけて、スキップしようと思うんだ。

配列さえ十分な大きさがあれば、
配列を一周するまでにきっと最初に撃った弾も画面外に出て消滅してるはずってことで


625 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 13:47:19 ID:S5i4Hl5N]
どっかで

class hoge{
int x;
int y;
char[256];
}

のcharがフリー領域として使えるとかあったが、どういう仕組みなんだ?

626 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 15:14:33 ID:cUcYhgYN]
sizeof(char*256)バイト分確保しとくから好きな型にキャストして使えってことじゃないの?

んでも、C++でわざわざこんな方法するかね?
もっと別に良い方法があると思うけど。
よくわからん。

627 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 15:35:22 ID:3yXq89ZE]
Cではそんな組み方してたみたいね

628 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 18:47:38 ID:nk5lzdPA]
placement new用にメモリをプールするためにchar型の配列使ってる教本があったな
素直にnewしたいオブジェクトの配列にしろよ、と



629 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 19:14:29 ID:YG9wxXVw]
東方も順番だけ記録して固定長配列でやってそう
最後尾まで行くと最初に戻って描画順序狂ってる時があるし
cave系はlistっぽいけど

普通の2D弾幕系STGなんてどっちで実装しても問題なしじゃね?

630 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 19:39:33 ID:cSyjiEYz]
ぶっちゃけ最近のPCのスペックならどっちでも余裕だろうな

631 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 19:40:35 ID:ueXZ64IW]
ブルーセイバーズやテイルズギアのところはBASICで作ってるらしいけど
どうやってオブジェクトを管理してるのか気になる

632 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 21:26:33 ID:pF7sIXlF]
みんなで一緒に富豪厨になろうぜ。

633 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 22:07:45 ID:NcdiOwFI]
>>631
富豪厨でなおかつ玉葱狂信者なのでLGPはよく知らないんだけど
マニュアルを流し読みした感じでは配列使ってやりくりする以外の手がないような。
配列の添え字(番号)を使って連結リストとか

3Dのアニメーション用にフレーム(座標系)の親子関係があるみたいだけど
姿勢と座標を自動変更(線形的なアニメーション)するためだけのもので
ユーザー定義の変数を入れ込んだりユーザー定義関数を登録して
ゲーム独自の処理をかませるようなことはできないくさい


634 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 01:48:12 ID:yLL8mfYi]
ゲームとして面白ければ富豪厨だろうがなんだろうが関係ないぜ、
と言いつつ結構細かいプログラムに拘ってしまう俺降臨
無駄な処理を削って云々とかよりも、はやく体験版を出して色んな人から意見を貰った方がためになるのに…orz

635 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 02:15:01 ID:ZT5O8Vsq]
公開してから「フリゲ≒軽くて当たり前」信者の対応がタルくなるけどな!

636 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 09:39:54 ID:EtCnEfpl]
>>629
それってステージで描画されるすべてのオブジェクトを前もって生成して
あとは順番に描画だけしてるってこと?

637 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 10:11:08 ID:HqBe87x9]
東方はやったことないんで推測だけ。

>636
固定長配列を前から見て、「空席があったらそこに座る」ってことじゃないかと。

638 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 12:59:07 ID:pCORKo/h]
>>634
よう俺
最近はアイデアが浮かばないから無意識のうちにギミックに凝ってしまうのだと気づいた。
勇気を出して前に進むのも必要だと思うぜ。



639 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 16:22:49 ID:VGgrpFAu]
ygs2000を使って縦スクロールSTG作ってるんですが、
インポートライブラリのatan2(y,x)の戻り値が、0から65536になっているんですよ。
どうすれば、戻り値を0から360度の範囲に変換できますか?

640 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 16:51:15 ID:RTbJUwyD]
ygsは知らんけど、65536 == 360度として考えるなら

int deg = atan2(y,x) / (65536/360);

641 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 17:06:38 ID:7XWLzTd8]
元がどう見てもintなんだから、360掛けてから65536で割る方がいいだろう。

642 名前:名前は開発中のものです。 [2008/06/26(木) 17:08:05 ID:mOejCOBQ]
俺なら

* 360 / 65536

とするけど。

って書こうとしたら既にかかれてたw

643 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 17:08:39 ID:Im8BFapF]
>>639
勝手な予想なんだが、それ角度が360度 = 2π(rad)を超えても気にせず計算できるようになってるんじゃね??
大抵の三角関数はラジアンで実装してるだろうから。
違ってたらすまん。


644 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 17:11:19 ID:Im8BFapF]
と思ったけどすごく見当違いですね、なかったことに。

645 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 23:03:08 ID:a/ZP+zQY]
>>639
Selene?

むしろ、ゲーム自体を65536度にあわせて設計したほうがいいかもしれない


646 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 15:07:32 ID:nt11KuRN]
おまいら話ズレすぎだろw

647 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 01:37:53 ID:9uZftGEH]
横シューの背景ってどうしてますか?

648 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 01:45:16 ID:aWjEECAh]
横にスクロールさせてます。



649 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 02:32:17 ID:PQIEP/fX]
お前頭いいな

650 名前:アジェグ4倍 ◆4xAJeG.COM mailto:chage [2008/07/01(火) 10:15:19 ID:1U0sNwre]
もう決着ついてるかもしれんが、配列の空き走査なんて、
描画の処理時間に比べれば、微々微々たるもんだよ。

ループ中にnew/deleteする方が非効率だと思うけどね。


651 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 15:19:14 ID:QwYE1J0X]
いまさらすぎて噴いた

652 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 16:24:12 ID:/457mXHb]
空席を見つけて適当に座る、って言って通じるもんだろうか?

653 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 17:20:02 ID:XbvaRuwU]
つか何この空気コテ

654 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 21:08:59 ID:wExkfdnX]
トリップでググれば哀愁漂うLinux板の糞コテ


655 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 23:42:16 ID:Ya9L5X18]
>>647
シューティングツクール的な発想でいくなら、16x16(ピクセル)のタイルを画面一杯に敷き詰めてた。
あれ、32だっけ?

656 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 00:02:49 ID:DI24ohjW]
む?
俺は普通にそうしてるけど、シューティングツクール的発想以外だと違うの?

657 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 00:08:16 ID:gdApJWkY]
画面サイズと同じくらいのテクスチャをくるくる回して、
その上に当たり判定のないオブジェクト配置してるけど

658 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 00:25:19 ID:GT+Oyjsr]
インベーダーやミサイルコマンドのように、そもそも背景が動かないというのも一つの選択肢だな。




659 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 01:07:49 ID:GdeAeksN]
最近の個人製作なんかでよく見る、雲模様みたいな画像を
加算、乗算処理なんかしつつ流していく手法も結構面白い。

660 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 01:23:47 ID:rkPq3Fgi]
>>656
ずっと前に見たどこかのエロゲ会社が無料で配布してたやつは
画面と同じ大きさのbmpが10枚くらい入ってたよ。

661 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 02:53:17 ID:Z7PtKJGp]
テクスチャを使うゲームの場合、
画面サイズだと正方形じゃないから無駄にVRAM食うのが気になって、
サイズ一つ下(512x512)のテクスチャをフィットするように拡大して使っている貧乏性な俺。

662 名前:アジェグ4倍 ◆4xAJeG.COM mailto:chage [2008/07/02(水) 07:49:09 ID:VoUGDrkh]
レイヤーのビットマップを設けて、
表示する際の座標をずらせばいいんじゃあ?

663 名前:656 mailto:sage [2008/07/02(水) 21:04:37 ID:OZmBfWcb]
皆の言葉を信じて、背景の描画方法を
16×16のマップチップを敷き詰める方法から、
一画面〜四画面分の画像をベタ表示する方法へ変更してみた。

なんかリプレイ時の早送り動作が軽くなった。

664 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 21:21:58 ID:GT+Oyjsr]
リプレイ機能ついてるのか。

人気あるのかな。リプレイ機能って。

665 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 21:29:29 ID:giqVUVjy]
初めてリプレイ機能を実装したときは感動した。

666 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 21:31:38 ID:lS1P7Ldh]
今時ないほうが珍しいな
デモ見せるにしても必要だし

667 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 22:20:06 ID:OZmBfWcb]
>>665

俺もw
リプレイ機能自体は早々に作ってたんだけどうまく再生しなくて長い間放置ぎみだったけど、
結局初期化されてない項目があった事に気づいて、ちゃんと動くようになった時は感動した。

リプレイ実装のおかげで、デモの実装も実現したし、デバッグにも役立つようになったw
(テストプレイで、キャラが想定外の動きをした時、リプレイを取っておいて
 修正後にリプレイを実行して、ちゃんと直ってるか確認する)

668 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 23:08:12 ID:surY1LL8]
>665
俺も俺も!

その時はリプレイをどうやって実装すればいいかも分からなくて適当だったけどなw
(ちなみに全ての入力を保存すると言う、よくある方法だった)

そのリプレイ処理のおかげで、だいたい1日でポインタやファイル読み書き、ビットフィールドの操作とか覚えられたし。
人間、必要だと思ったらすんなりと頭に入るんだなあと思ったよ。

逆に、他人がポインタで詰まってても教えられないという欠点はあるがw



669 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 07:40:20 ID:qi9huYH9]
非ポインタとポインタは一言で言えば、
変数の中身を取り出す時に、値をじかに取り出すのか、それとも住所を取り出すか。じゃね?
ポインタは住所をやり取りする、と。

リプレイはまだ実装した事無いなー。今度実装してみよう。

670 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 08:37:45 ID:Yl0JVKtk]
キー入力保持のリプレイを他のマシンに持っていくとうまく動かないことがあるんだよな。
浮動小数点の計算誤差が若干違ったりするからだと思うけど・・・


671 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 09:10:54 ID:DTx5b/+j]
INTELとAMDのメジャーなCPU(要するにIA32互換のやつ)しかサポートしてない俺は
とりあえず

・ゲームの進行に直接作用する計算は全てFPU(x87互換のやつ)に任せる
・_controlfpとか使って計算精度等をきちんと指定する。

これで上手くいってる
FPUバグ持ちクラシックペンティアムとかもう骨董品だから無視してる

672 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 10:08:43 ID:FVj30rAO]
>>670
ttp://www.01step.net/tobitsuki/bbs/test/read.php/tobi_bbs/1116256631/18

673 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 16:33:12 ID:gwFP/f3L]
>669
似たような説明はしたことがあるが、通じてるかどうかが怪しいw

674 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 00:41:50 ID:lh91Gh1r]
XMLでシューティングゲームを記述できるエンジンを作ってるんだが、
敵の動きを高度にプログラムできるようにしようとすると、
結局ソースで実現した方が良いじゃないかという気がして、何だか悲しい。
Flexみたく、XMLの中にプログラム(or スクリプト)書きはじめるような仕様を作ったが最後、
100%エターなる。

675 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 00:51:01 ID:XLyUbCLu]
XMLてのはデータの構造を記述するためのものだろ
それでロジックを表現しようとするのがそもそも間違いだと思うが・・・

そのXMLによるシューティングゲーム作成にはどんな利点があるんだ?

676 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 01:09:13 ID:qYh8NvWd]
動作ロジックはハードコーディングして、配置や個体パラメータを
XMLデータで指定するだけでもいいんじゃね?俺がやってる方法だけど。

677 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 01:11:47 ID:XLyUbCLu]
敵の出現タイミングとか位置だけ外部ファイルで定義するようなもんか
それだったらXMLの方が見やすいかもな
エンジンとして公開するならハードコーディングの部分にかなりの工夫とバリエーションが必要だな

678 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 01:42:15 ID:lh91Gh1r]
最初は、スクリプトでシューティング作れたら、楽かなあなんて思って始めたんだけど、
XMLだと、最初から読み込んで解析してくれるライブラリがあったから、使ってみた。

ちなみに、某シューティングツクールのように

「自機に向かって移動」「移動」「弾発射」「敵発射」「なにもしない」「自爆」

で敵の動きが完結するなら、
敵の動作ロジックも全てXMLで記述できる。




679 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 02:21:14 ID:fzMGN+kp]
>>674

XMLじゃないがスクリプトでシューティングのオブジェクト配置したり
するのならすでに弾幕風とかあるぞ。

680 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 11:57:57 ID:/8DfK8rI]
技術的な会話しているところに、空気を読まず質問

縦スクロールSTGで、アイテムを放出する味方機を出そうと思っているのですが
なんかぱっと見て敵機にしか見えなくて困っています。(普通に避けてしまう)
見るからに味方機として出現させるために、何か良い方法はないでしょうか?

681 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 12:01:36 ID:fzMGN+kp]
>>680
・軽めのカットインとかメッセージを表示して見方機が来たよをかもし出す
・東方のボス戦の場合は画面下にボスのx座標がわかるようになってるがああいったマーカーを出してあげる。

で、説明書に書いておけばOK?

682 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 12:43:58 ID:dKlhKsZq]
>>680
その味方機が敵の弾を喰らうとか

683 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 12:54:34 ID:lh91Gh1r]
味方機と自機のカラーを統一するとか。

684 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 12:54:40 ID:7DWi7vho]
>>674
てゆかbulletMLあるよなぁ
674のも使ってみたいが。

685 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 14:23:05 ID:9J7xybES]
>>680

・敵のカラーとは明らかに違う、目立つ明るい色にする。
・デザインの系統を敵とは一目見て違うようにする。
 (敵が直線っぽいデザインなら、曲線ぽいデザインに、敵が生物っぽいなら、メカっぽいデザインに)
・自機と同じ形、同じような色にする。
・明るい色で縁取りするとか、とにかく他のキャラや背景と比べて「浮く」ようにする。

686 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 15:45:01 ID:eL1SAVRC]
動き方でも差別化をはかりたいね
小型なのにゆっくり現れて消えていくとか

687 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 18:25:06 ID:qjrvpm0l]
機体に「味方」って書いておけ
ってのは冗談だが、自軍のエンブレム的なものを作っておいて、
それとわかるように機体に表示しておくのも手だな

688 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 20:19:03 ID:oittVPD9]
救急車が飛んでくるしかあるまい



689 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 20:24:11 ID:fzMGN+kp]
ちょwそれBeeメイツ

690 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 21:07:37 ID:juhuhHaO]
ツインビーも救急車だったような・・・

691 名前:680 mailto:sage [2008/07/04(金) 23:27:30 ID:JgmzXrxe]
多くのレス、ありがとうございます!
絵の素材にフリー素材を使用しているため、
デザインの系統分けをしたり
エンブレムを書くのは難しいものがありますが
(雰囲気的な意味でも、救急車も厳しいです)

縁取りや、色の統一、カットインでの表示
なんらかの味方軍に統一の記号をつける
敵の弾を食らうなどの演出は、実装できそうなので、試してみることにします
本当にありがとうございました!

692 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 23:39:04 ID:XLyUbCLu]
質問者が納得したうえに話の腰を折るが
製作者が気にするほどプレイヤーは見た目にこだわってないし
慣れてしまえば気にならない
だからよっぽどややこしいデザインでなければ結構適当でも大丈夫

693 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 02:08:08 ID:OY2NBo76]
こちらも流れに乗って技術的じゃない質問を一つ。

ショットタイプについてなんですが、
ショットボタン長押しで低速移動&ショット変化ってのと
ショットとショット変更のボタンが別になっているのがあるじゃないですか。
あれってどちらが一般的なんでしょう?
最近は長押しで変化するのが多く見られる気がするんですよね。
でも昔はチェンジするボタンがあったし・・・。

ボタン配置は長押しで変化するタイプは
@ショット Aボム等 Bフルオート
チェンジするボタンのついてるものは
@ショット Aショットチェンジ Bボム
こんな感じなんでしょうかね。

オプションで好みで変えられるようにすればいいじゃないって言われればそうなんですが気になったので・・・。


694 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 02:23:37 ID:yT3V8RBn]
>>693
メインウェポンのパワーアップアイテムが一定時間で種類が切り替わるようにしとけ.
ウェポンチェンジしたくなったらその色のアイテムをとる,と.

695 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 03:05:34 ID:+VTXj324]
>>693
銀銃みたいにボタンの組み合わせという手もある

696 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 04:13:01 ID:wbV3lwSQ]
ショット変更ボタン式は、
自機の現在の武装を記憶して、目的の武装に切り替えるには何回変更ボタン押さないといけないか、
を常に考えないといけなくて煩わしく感じる。
武器別にボタン用意するか銀銃式にする方が手順を省略できてやりやすい。

697 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 04:35:56 ID:OY2NBo76]
>>694
アイテムでチェンジかぁ。
怒首領蜂みたいに最初からタイプを決める形式でやってるんで
通常時と低速時の変更をどうするかで悩んでるんですよ・・・。
アイテムはパワーアップか、ハイパーみたいな感じになるかも知れないです。

>>695
ボタンの組み合わせって事は何種類か武装があるって事ですよね?
今つくってるのはそこまでバリエーションを持たせる予定がないんです。

とりあえず今は機体2種類とビット3種類で全6種類の組み合わせができるようにしてあります。
機体α:高速移動集中攻撃型(ビット可動範囲が狭い)
機体β:低速移動拡散攻撃型(ビット可動範囲が広い)
ビットA:機体の前で左右に振れながら前方に攻撃。
ビットB:移動した方向に攻撃が傾く。
ビットC:前方の一番近い敵を狙う。

ちなみに通常時はメインショットオンリーで低速時(変更時)にビット展開になってます。

698 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 08:13:53 ID:BRmlyj+Z]
高速/低速の切り替えと武器が連動しているのなら
怒首領蜂式がなじみは深いな




699 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 08:25:07 ID:bJc5CaWq]
ゲーム性&操作感と連動するべきだろう
即座に武器を切り替えさせる必要があるゲームなら長押しは向かないってだけ

蜂は強いレーザーで押し込むゲーム性と、ボタンを押し込む動作が非常にマッチした
心地いい操作感だよなぁ

700 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 19:23:58 ID:Def2so2E]
そういえば少し前にリプレイに関する実装があったけど、その前段階として入力情報をどう管理してる?
ゲームパッドも管理するのでDirectInputを使うのが一番楽っぽいのでそれを想定して。
・DirectInputを使用して、KeyboardStateやJoystickStateを直接使用する。
・予めキーコンフィグ情報に応じてbool配列を吐き出す様な仕組みを作っておき、bool配列を読み取る。

後者だとリプレイ再生のさい、乱数情報とbool配列を保持していけば良いだけだから実用的かな?

701 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 19:29:38 ID:kss7FKxc]
リプレイやキーコンフィグ機能があるかどうか関係なく後者

702 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 23:06:46 ID:jZ262oYg]
弾幕風とBulletMLに泣いた。

こいつらに太刀打するには、もっと他の利点を押し出さなきゃな。
XMLスキーマとXSLT書いて、WEBブラウザでゲームの仕様が閲覧できるとかw

703 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 01:10:01 ID:KV5s28Rv]
>>696 >>698 >>699
今のところプレイ中のショットタイプは2種類だけで、瞬時に変える必要もないので怒首領蜂形式でやってみますね。
アドバイスありがとうございました。

704 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 21:02:59 ID:LhJHzATs]
画像しかできてないんだけどどうすればいいの

705 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 22:11:01 ID:Wq87ZP+f]
十分な量の画像があるなら、素材スレかどこかで晒してみれば?

706 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 08:13:49 ID:AsUKMvOQ]
>>700
ゲームパッドやキーボード、マウスといった具象データを、
ゲームに与える抽象データとしてまとめる。
リプレイ用に保存するのは抽象データ。

707 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 10:49:42 ID:e2sx0hGW]
>>704
その画像が素材として使えるなら欲しいと思ってしまう

708 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 11:58:08 ID:yfAt10n7]
おまえら一緒にやれやw



709 名前:707 mailto:sage [2008/07/07(月) 13:46:44 ID:dJh8Ifkj]
ツクール(SB)で製作してる俺は、お呼びでないような気がするから困る

710 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 14:21:11 ID:qtUGx97D]
>>702
俺はとにかく高速性を求めたものをこしらえたよ
オブジェクトプール、固定小数点、バイトコード、C/Javaライクetc
しょぼいSTGなのに、見えないところに無駄に時間をかけたぜww

711 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 16:31:12 ID:AsUKMvOQ]
もう弾幕には心の底から興味がないので、別のもので勝負をかける予定。冬か来年の夏な。

712 名前:704 mailto:sage [2008/07/07(月) 17:08:59 ID:N4UsRXoF]
>>707
ttp://www2.uploda.org/uporg1528706.jpg
一応出しておくけど十分な量がない上に
まともなのは爆発ぐらいしかない

713 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 17:13:10 ID:1fd4Wq9E]
グラIIと見せかけてMSX系?

714 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 17:23:24 ID:OVkuxJVV]
去年くらいから避けゲーとしての弾幕は減ってきてる気がするな。

715 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 17:47:46 ID:8OrB6Wg2]
>712
これ見てるだけで、今やってる仕事を破棄してSTG作りたくなってくるな。
素材だけで。そこまでのパワーを得られる気がした。

716 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 18:14:10 ID:yfAt10n7]
jpegなのは敢えてかw
まあ使う気はないがw

717 名前:704 mailto:sage [2008/07/07(月) 19:57:11 ID:N4UsRXoF]
>>712
ゴーファーの野望エピソード2のリメイクを作ってるんだ


718 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 20:02:56 ID:aZNnbaQ1]
日本語は正しく使ってくれ。

つまり、

「ゴーファーの野望エピソード2」のリメイクを個人で遊ぶ目的で作ろうとして、
ドット絵を(トレスなのか1から作っているのか解らないが)作ってる途中。
動かす方の知識は無いままドット絵を作り続けているが、
これからどうすればいいのかわからない。

という話でいいの?



719 名前:704 mailto:sage [2008/07/07(月) 22:03:15 ID:N4UsRXoF]
>>718
OK
ゆとりですまん
一応シューティングゲームビルダー使ってみたけど
途中で挫折した
ある程度知識をつけてからまたここにくるよ

720 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 01:12:39 ID:/74FD1OI]
まあがんばれや

721 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 05:03:13 ID:iq4s5004]
エピ2を知ってる程度におっさんで今そんなんだと
もう一生かけても無理だな。残念だが。

722 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 05:09:34 ID:p1JtdrU4]
開発を手伝ってもらうってのもいいと思う
まず音楽どうするんだろ、アレンジじゃなくて原曲かな

723 名前:707 mailto:sage [2008/07/08(火) 08:09:35 ID:stdsNVnL]
>>704
素材の出来が凄すぎて吹いた
しかし作っても公開できなさそう?
この辺の著作権がさっぱりわからん件

ともかくSBについては、SBのスレに書き込めば、いろいろわかってくるとは思います
手が入るというなら、自分で良ければ手伝いますよ
未だSBを全然使いこなしてはないですが。

724 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 11:52:52 ID:gJzpS9fO]
エミュからの吸出しを加工したもんじゃ無いの

725 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 18:20:45 ID:gbythylf]
そうなのか。STGほとんどやったことないから微妙に分からんことがある。

726 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 18:58:53 ID:Z1TOyIZq]
どうもこちらでは初めまして
とあるスレでWiki管理をやってたものです
そこの専属をやめてこの度7/10から新しいWikiにします
www.erc-j.com/stg/
STG製作のまとめWikiです
うpろだもありますので良かったら使ってください

727 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 01:51:32 ID:g3bziBg/]
>>726


728 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 12:11:40 ID:+WxpMWoT]
frgm.jp/ フリーソフトで面白いゲーム まとめ(新)
復活したので好きなゲームに投票してくれい。




729 名前:名前は開発中のものです。 mailto:sage [2008/07/12(土) 12:57:25 ID:eramyNaF]
メタルブラックの1面終了後のボーナスステージの背景の表示ってどんなアルゴリズムなんでしょうか。
2D画を3Dっぽく表示させてるんだと思うんですが、拡大縮小を駆使するんでしょうかね?

730 名前:名前は開発中のものです。 mailto:sage [2008/07/12(土) 13:43:35 ID:Px1gdp4h]
よく覚えてないけどラスターと拡縮だっけか

731 名前:名前は開発中のものです。 mailto:sage [2008/07/12(土) 17:32:14 ID:4tnUBWbg]
ちょっと製作のモチベが上がらないので
少し作ったものをうpします
以前、このスレの>>377でうpして、
いろいろ意見をいただき、出来る範囲で修正を行って続きを作りました
前回プレイされた方もそうでない方も、プレイしていただければ幸いです
良ければ感想、意見お願いします

one case
www.erc-j.com/stg/
の左上にあるSTG-URLから入れるアップローダーのstg0261.lzhにうpしました。

732 名前:名前は開発中のものです。 mailto:sage [2008/07/12(土) 19:34:59 ID:Px1gdp4h]
>>731
とりあえず二つのモードともやってみたが、スタンダードはちょっとあっさりしすぎてないか。
でも5面6面は面白かったぞ。ここにやりたかったこと詰め込んだ感じw
最初なぜか死にまくってコンティニューしたが後半はそのまま進めてクリア。

チャレンジモードは確かに最初から難しいがこっちのが序盤から面白い。
スタンダードとチャレンジの構成をほぼ同じにして難易度調整するだけのが
スタンダードも面白くなるんじゃないかね。後方攻撃にも意味出るし。

ちなみにチャレンジはクリアできなかった。最後のシャッター地帯とか
沙羅曼蛇並に意地悪になってんのかねw

733 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 20:54:08 ID:UdfaMMKk]
>>732
プレイしてくれてありがとうございます!
その優しさに泣きそうw

もともとこれはチャレンジの方だけで作っていたのですが
一面から本気すぎる
特に一面の機雷や三面の後方雑魚が鬼過ぎる
という意見を受け、
構成そのものを変える必要が生まれたため、
スタンダードがあんな感じに生まれた感じになりました。
プレイしやすさを重視させたのですが、
そればっかりが重視されてて、確かにあっさりですよね
もう少しスタンダードの調整は考えてみることにします。
難易度調整って、本当に難しい…

沙羅蔓蛇レベルのシャッターほど鬼畜にはしてないですw
そうすると自分自身がクリアーできなくなるのでw

734 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 20:58:15 ID:6QYOrVUt]
>>733
>の左上にあるSTG-URLから入れるアップローダーのstg0261.lzhにうpしました。
の左上にあるSTG-UPL

だったのねw
試したかったんだけどなんのこちゃって思ってたw

735 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 21:50:08 ID:jtrnXLQN]
>>733

俺もプレイさせてもらったよ。
前バージョンのスタート直後から殺る気マンマンな敵には正直マイッタ(苦笑)が、今回のは普通に楽しめた。
演出的にもおおっと思うようなところがいくつかあったし。
ただもうちょっとにぎやかにしてもいいかもね。

あと、起動にえらく時間がかかるのと、6面がなぜかスローモーションになる
(処理落ち?)のが気になる。

736 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 00:26:03 ID:G2OD2oeJ]
同じくプレイ。
最初なかなか起動しないんで思わずタスクマネージャを開いたら、
メモリ消費200MB超えてて吹いた。
もしや音楽全部起動時にデコードしてないか?

737 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 00:36:05 ID:IyRi5N7H]
確かに起動に時間かかったねw
何か一気に読み込んでそう

738 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 08:04:57 ID:nEyGaefz]
プレイありがとうです!

>>734
なんかわかりづらい書き方してて、すまんかったw
国語ちょっと勉強し直してくる

>>735
全体的に地味なのは確かに
最低限、自機ショットは派手にしてみようとは思っていますw
製作して初めて、既存のSTGの爽快感の良さに気づけた件

>>735-737
起動時やたら重たいのは、自分自身でも気になっていたところ
問題点を調べてみます
うっかりループとかしてそうで怖い
プログラム部分は他の有志が作ってるものなので
>>736の言うようにデコードしてるのかどうかは現時点ではわからないです

6面は処理落ちだと思います。
多重スクロールかけたりしてたからかな……
こちらも軽くなるよう改善してみます



739 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 08:18:28 ID:ArjsFr9C]
国語じゃなくてUPLがURLになってるだけでしょうw

俺も最初わからなかったけど、前回の書き込みみて間違ってると気づいた。

740 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 09:44:50 ID:nM1lOpfJ]
>>739
うああああ、今やっと気づいたw
形的に絶対URLだと思っていた俺涙目
わかりづらい日本語使ったから、誤解を招いたものだとばかり
すまんかった、さんくす

741 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 22:08:14 ID:JtGVfrRu]
東方弾幕風以外でそれくらい機能の充実してるツールって何がありますか?

742 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 21:29:39 ID:ul07QMbT]
シューティングゲームの当たり判定って矩形、円形方式以外にあるんでしょうかね?

743 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 21:41:41 ID:sDshxJUY]
1回当たり判定が正確なの作ろうとして、
1ドットずつの当たり判定を画像から配列に読み込んだ。

□□■□□
□■■■□
□■■■□
■■■■■
■■■■■

こんな感じに。

それで、まず短形で判定してぶつかってたら、配列で細かい判定をした。
プレイしてみると短形と変わらなかったけどね。

744 名前:名前は開発中のものです。 [2008/07/16(水) 21:42:49 ID:HKtDx1Lp]
abs(自機座標Xー弾座標X)+abs(自機座標Yー弾座標Y)<適当範囲

おれ適当に作ってみたとき、これでやってた。ひし形ですな。

745 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 21:50:22 ID:4EgF3qxQ]
>>744
すげえ、初めて見た

746 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 21:52:34 ID:ul07QMbT]
>>743
あーそれと近いことやってます〜

今うちでやってるモードだと1ドットレベルで当たり判定できるんですが
自機の弾の当たり判定の先端と敵の端が丁度のときは思ったようにいかないんですよね・・・

747 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 22:33:28 ID:tH6C9Mk9]
弾などのオブジェクトを基底クラスへのポインタのリストで管理しているのですが、
メモリプールとかどうしてます?
new/deleteは確保・解放速度、メモリ消費量で劣りますが、
boost::poolはサイズ固定なので派生クラスで使いづらかったり
boost:object_poolはクラス固定なので向きません

748 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 22:54:04 ID:ps1864uM]
char型配列の形でプール確保
プールで管理したいクラスのnew/delete演算子をオーバーロードしてメモリをプールから確保

これでやってる



749 名前:744 [2008/07/16(水) 23:12:47 ID:HKtDx1Lp]
>>745
矩形の方が処理はやいから実際の使い道は微妙ww

巨大な敵ならいいかもしれません。

750 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:25:00 ID:Cl1ru+Nb]
なんかみんなハイレベルなことやってんなぁ
クラスとかポインタとかよくわからん俺は全部構造体と配列で敵とか弾とか管理してる

751 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:30:18 ID:UitUcmmL]
>>747
boost::fast_pool_allocator

752 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:33:13 ID:UitUcmmL]
>>750
それでいいと思うよ。
抽象化だとか言っても結局は自己満足だ。
自分の作りやすい作り方を模索すれば良し。

753 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:37:49 ID:ul07QMbT]
>>750
まあ管理機能はあるタイミングで画面に何千もオブジェクトがでないのであれば
配列でいいんじゃね?
千越えるとさすがにリストでも使っていったほうがいいだろうけど。


>>752
でもさ、C言語でゲーム組んでてサイズでかくなってきたら
クラスみたいな実装形態にいつの間にかしちゃってたぜw

数種類のデータがあったらそのデータ毎にソースが独立してて
アクセスする際は専用関数を呼び出す。

効率は悪くなるが安全だしな。


754 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:43:34 ID:ul07QMbT]
それに実は双方向リストもたいしたことないんだよね。
どんなに構造体のサイズが変わろうが、次と前のポインターが入ってて
入り口と最後をさす管理用ポインターさえあればネットに転がってる
ソースをちょこっと修正すれば完成。

755 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:50:36 ID:Cl1ru+Nb]
>>752>>753
なるほど…自分のやりたいようにやれば良いのか…
弾とか敵とか合計13000個くらい(敵弾が12500発)当たり判定つきでいっぺんに動かしたらさすがに60FPS維持がキツくなったけどこんなもんなんだろうか
CPUはせろりんの1.6Ghzでグラボは8400GS

756 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:58:44 ID:wSTAyXoK]
一画面にそれ全部描画してるの?

757 名前:755 mailto:sage [2008/07/17(木) 00:11:06 ID:6mPYwzZu]
>>756
全部描画してることになるのかな…
表示領域?キャラが動ける範囲、そこに全部描画してみた
自機はおろか背景も見えない

移動してはみ出た弾は勝手に削除、敵は常に360/1Fの勢いで弾を出させてたから弾切れ起こしてた

携帯でスマヌ

758 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:13:24 ID:dzlckui1]
>>747
富豪厨はfailmallocが大好きです



759 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:44:03 ID:O2fFtOBP]
なんか>>750が俺とよく似ている……w

自分で自己満足ゲーム作ってる分には問題ないんだけど
Cを使うプログラマ、という観点から見るとダメダメだなぁと落ち込むんだよなぁ。

760 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:49:19 ID:WDu5mPhV]
>>759
別に勉強すればいい。
それにC++とかでクラスを使いだすとあれこれ面倒だけど
Cでリスト程度ならネットで検索すれば解説もごろごろ出てるし
関数化してしまえばぜんぜん問題ない。



761 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 03:53:57 ID:3ZWP2jps]
どうしてもこの処理がしたい!
でもそれをやるにはポインタが必要だ!

って状況になったら覚えれるよ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<199KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef