[表示 : 全て 最新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で。

83 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 17:45:56 ID:PCJP7SA4]
>>80
DDR2メモリ4GBが数千円で買える今なら大声で言える

ゲームオブジェクト全てをダブルバッファリングだな
フレーム(t)バッファはリードオンリー
フレーム(t+冲)バッファはライトオンリー
オラ(t+冲) = オラ(t) + (世界(t)がオラに元気を分けた。差分)(冲) + (オラのパワー。差分)(冲)
差分スキームは好きなの使え。ここでは単に一次オイラー

同一フレーム内オブジェクト同士の相互参照は一切ないから
更新順序も排他アクセスも一切不要
メモリが2倍要るという欠点は先述のPC環境なら無視でいいだろ

動作環境
 メインメモリ1GBで動かない時は2GB積んでみてください
 メインメモリ2GBで動かない時は4GB積んでみてください
 …etc…

84 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 19:25:31 ID:+53rIC4V]
あなた起動時に全ての画像読み込んでそうですね
俺はちまちまやってます

85 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 23:57:27 ID:PCJP7SA4]
富豪厨の俺でも流石にそれはないが
ステージ単位でドカっと読み込んでる
boost::progress_displayのゲージがジリジリと動く様を
ティーカップ片手に優雅に待てば良いのだ

それすら我慢できない低属性プレイヤーはrejectだ

86 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 23:58:50 ID:zSjwTnFq]
はいはい、boostスレに帰ろうなw

87 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 13:52:14 ID:zi8sXJbl]
敵弾をCPUごとに振り分ければよくね。どんな鬼畜弾幕になるのか知らんが。

88 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 14:26:14 ID:kWeEHiH7]
弾同士が干渉しないならそれが良さそうだが、
2DSTGで複数コア使う必要があるような処理って弾同士の干渉くらいな気がする。
>>83は汎用性あって良いかもしれん。

89 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 14:34:56 ID:h/08ARO0]
>敵弾をCPUごとに振り分ければよくね

よく分からんが
2DSTGでゲームオブジェクトを並列化しようって話をしてるなら
エフェクトや弾が真っ先に候補に上がるのはごく自然なことだよ
エフェクトや弾同士は相互作用が基本的に無いから実装も単純

90 名前:名前は開発中のものです。 mailto:sae [2008/03/18(火) 14:35:40 ID:h/08ARO0]
レスがかぶっちった

91 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 18:20:56 ID:PQFbQVbE]
2Dシューティングを作りたいなと思ってここにたどり着いたのですが、
フリーソフトで何を使えば一番簡単に始められますか?



92 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 18:25:47 ID:+UFwrO/v]
HSP

93 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 18:31:16 ID:kJphN6cj]
STGビルダー

94 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 19:18:33 ID:UdPg6oix]
両方捨てがたいな

95 名前:名前は開発中のものです。 mailto:sage [2008/03/18(火) 20:05:42 ID:PQFbQVbE]
>>92-94
ありがとうございます。
両方調べて出直してきます。

96 名前:名前は開発中のものです。 mailto:sage [2008/03/20(木) 18:13:51 ID:zMjnThxP]
ゲーム中のオブジェクトの基本となるクラスがあるとして、
そのクラスの配列を作り、メンバ変数でオブジェクトの種類を区別するか、
そのクラスへのポインタの配列をつくり、放り込む派生クラスの種類で区別するか
どっちのやりかたで作ってる?

前者の方が複雑なポインタを考えない分、簡単かもしれないけど、
後者の方がオブジェクト指向的に綺麗かなぁ

97 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 00:45:59 ID:Y2tGkS1P]
判定アリ背景(接触しても死なない)の処理がとてもめんどうなんですが
こういった処理をしている方、どんな風にやってますか?

98 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 07:09:36 ID:zfnOUqWA]
どういう処理にしたいのかもうちょっと詳しく

99 名前:名前は開発中のものです。 mailto:sage [2008/03/21(金) 11:47:21 ID:Hgv+vM2A]
すみません
・接触しても死なない/めり込まない
・縦の壁に対して斜め入力をし続けると、空いてる方向に移動する
・スクロール等で壁が移動する場合、キャラは押される
・画面端に挟まれると死ぬ
こんな感じです
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]
絆スキップ






[ 続きを読む ] / [ 携帯版 ]

前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