シューティングゲーム製作技術総合 9機目
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/12/11(日) 02:45:19ID:mUK4fRmrそれは「シューティングゲーム製作」・・・。
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!
ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
過去スレ,関連スレは >>2で。
0321名前は開発中のものです。
2006/01/21(土) 15:07:29ID:3Z8sqjK0>>316は事実だろ、どこが悪いんだ?
それとも周知の事実だから別に言う必要もないという程度のこと?w
0322名前は開発中のものです。
2006/01/21(土) 15:16:49ID:geuRotB0CでOOP。この発言はちょくちょく見かけるけど複雑な思いがよぎるよ。
ホントにCでしか開発できない状況になったらそんな悪あがきするだろうけど、
C++も選べる状況だったらねー。意地でもC++使いたいけどね…。
OOPで楽をしたいと思ったとき、「Cでも出切る」って意見の意図が俺わからんのよね。
OOPLを軽視しているか、OOPを楽しめていないのか、そんな感じを受けるんだよね(偏見)。
0323名前は開発中のものです。
2006/01/21(土) 15:18:25ID:xWjgEtZL0324名前は開発中のものです。
2006/01/21(土) 15:24:04ID:geuRotB0どういう意図があるのか疑問に思ってるんです。
0325名前は開発中のものです。
2006/01/21(土) 15:48:25ID:8WfQblht0326名前は開発中のものです。
2006/01/21(土) 15:52:57ID:8WfQblht>クラスの実装はOOPの実装を補佐するための実装だからな。
>やろうと思えばC言語だけでもOOPで組める。
だとか
>本当のおいしさはいつだってポリモーフィズムなんだから(偏見)、そのために継承を使い、
>ほかはオブジェクトコンポジションでゆるーくクラス間を関係させておきたいよね。
だとか。何年も前に既に言われてることを、
さも自分の思いついた意見かのように言っちゃってまぁ…。
知識晒して、優越感感じたいだけだろ。
0327名前は開発中のものです。
2006/01/21(土) 16:12:06ID:geuRotB0俺の思いついた意見ではありません。受け売りとおっしゃるが、
技術的な基礎、これはこうやって共有していくもんとちがう?
だから>>284への返答をするとなると、こういうレスをつけちゃう。
> 知識晒して、優越感感じたいだけだろ。
あたりまえのことを晒しても優越感は得られません。
あたりまえのことを、あたりまえに言っただけ。
0328名前は開発中のものです。
2006/01/21(土) 16:21:13ID:3Z8sqjK0分かってると思うけど、OOPは所詮は概念だから、どの言語でもできるんだよ。
それが「Cでもできる」の意図でしょ。
そして、C++やJavaなどのOOPLな高級言語を使うと概念を記述するのが容易くなる。
例え「Cでもできる」と言い張っても、選択の制約が無いならわざわざCなど選ばんw
例えばPrologなんか知ってる奴は分かると思うんだが
手続き型プログラミングの設計でわざわざPrologでやる奴はおるまい?
概念に適した言語を使えばよいというだけだな。
0329名前は開発中のものです。
2006/01/21(土) 16:28:48ID:3Z8sqjK00330302
2006/01/21(土) 16:29:34ID:NWahimDIちょっと勉強不足せいでどうなるか(どうするか)不明です。けれどとても参考になりました。ありがとうございました。
0331名前は開発中のものです。
2006/01/21(土) 16:35:15ID:15mBv3lg0332名前は開発中のものです。
2006/01/21(土) 16:36:34ID:8WfQblht>俺の思いついた意見ではありません。
なら、
>実装の手間を省くための継承、という面がしばしば強調されすぎてるんだとおもふ。
「おもふ」とか言ってんじゃねーよ。実装継承がうんたらも何年前だよ。
>技術的な基礎、これはこうやって共有していくもんとちがう?
お前は単に情報を劣化して請け売りしてるだけ。ソースだけを示した方が良い。
>あたりまえのことを晒しても優越感は得られません。
お前は当たり前のことに言うのに「(偏見)」とか付けるのか。2回見たぞ。
0333名前は開発中のものです。
2006/01/21(土) 16:40:01ID:geuRotB00334名前は開発中のものです。
2006/01/21(土) 16:53:28ID:geuRotB0それなら分かる。
>>332
>> 実装の手間を省くための継承、という面がしばしば強調されすぎてるんだとおもふ。
> 「おもふ」とか言ってんじゃねーよ。実装継承がうんたらも何年前だよ。
>> 技術的な基礎、これはこうやって共有していくもんとちがう?
> お前は単に情報を劣化して請け売りしてるだけ。ソースだけを示した方が良い。
失礼、そのとおり。しょうもないことを言ってしまってごめん。
>> あたりまえのことを晒しても優越感は得られません。
> お前は当たり前のことに言うのに「(偏見)」とか付けるのか。2回見たぞ。
OOPの美味しさはいろいろあるだろう。そんなかでやっぱ特においしいものはといえば、
> ポリモーフィズムなんだから(偏見)
言い切ってしまうのはヘン。俺にとってはと限定しようとすると、偏見、とつけた。
> OOPLを軽視しているか、OOPを楽しめていないのか、そんな感じを受けるんだよね(偏見)。
これはまさに偏見。CでOOP発言をしている人にたいしての、俺の偏見。
0335名前は開発中のものです。
2006/01/21(土) 17:07:12ID:xWjgEtZL0336名前は開発中のものです。
2006/01/21(土) 17:31:10ID:ZfB5A8hx茶々入れも含めて、もはや何が何やら・・・
どっかに設計概念全般に関するスレッドは無かったか?
0337名前は開発中のものです。
2006/01/21(土) 17:35:44ID:E5l3VzaBいいんだけどなぁ。
0338名前は開発中のものです。
2006/01/21(土) 17:39:44ID:xWjgEtZL実装率ってあてにならんよね
しかもネイティブだけどSunのVM実装よりかなり遅いしな
ネイティブの意味がないとかよくいわれてる
どの道実行時にコンパイルしてるんだから
その辺はいまじゃこだわる必要はないと思うけどね
あれはNETBSDとか局地専用
そしてネイティブにこだわる人のほとんどは最適化の進んでいるWinだったり不思議なものだ
0339名前は開発中のものです。
2006/01/21(土) 18:14:03ID:0zSUa7B4漏れみたいに自前でスクリプトを作ることになるぞ。w
0340名前は開発中のものです。
2006/01/21(土) 19:50:38ID:x4Sj0Pj3家では贅沢な環境でやりたいなー
0341名前は開発中のものです。
2006/01/21(土) 20:32:50ID:xjFCJ8uL「OOP」を「おっぱい」と読むと楽しくなるぞ
0342名前は開発中のものです。
2006/01/21(土) 20:42:20ID:E5l3VzaB横に髪留めを付けたメガネ娘にも見える
0343名前は開発中のものです。
2006/01/21(土) 21:19:12ID:+7zb7qTQ0344名前は開発中のものです。
2006/01/21(土) 21:51:41ID:3jTeBScx敵とプレイヤーの当り判定。その結果をプレイヤーの構造体に書き込み。
プレイヤーと敵の当り判定。その結果を敵の構造体に書き込み。
まあつまり1つの関数で全部やろうとするから組み合わせ分関数が必要になるわけですよ。
当り判定専用関数とそれ専用の構造体なりクラスなりを持て。
で、当たってた場合の個別の処理は、それぞれの関数で実装すべし。
理想、
関数 bool Collision( &Collision, &Collision )
関数 void プレイヤ判定用( &Player, &Enemy )
関数 void 敵判定用( &EnemyCollision, &PlayerCollision, )
PlayserもEnemyもCollisionリストを持っており、それぞれを使って判定して
当たっていた場合の処理をそれぞれの関数のなかでやる。
C++で設計するならコリジョンクラスの中に判定用メソッドつける。
判定自体を汎用化しときゃバグ取りも1回で住むし、アイテムや敵同士の判定などにも
用意に使いまわせる。
0345名前は開発中のものです。
2006/01/21(土) 22:10:55ID:gJyZ7puh0346名前は開発中のものです。
2006/01/21(土) 22:45:21ID:xWjgEtZLバグの出にくい、わかりやすい保守しやすいコードは大事ではないかな
ミニゲーム程度ならきにはせんだろうけど、しっかり作るとなると
年単位でかかるのも珍しいことではなかろう
0347名前は開発中のものです。
2006/01/21(土) 22:45:33ID:ht2WeWt9ぐらいって、シューティング制作を無礼るな!
効率と言うより再利用性。
まあ>344はちょっと訊かれてもいない実装の詳細を語りすぎている感があるが。
0348名前は開発中のものです。
2006/01/21(土) 22:59:00ID:ien9/xz5シューティングなんて、プログラミング的にはぶっちゃけミニゲーム程度のモンだし。
0349名前は開発中のものです。
2006/01/21(土) 23:07:54ID:xqjb/9V/0350名前は開発中のものです。
2006/01/21(土) 23:17:39ID:geuRotB0何度も書き直せるサイズだからこそ、書き直しも楽になる。
効率や再利用性についても、とことん試せるってもんでしょ。
0351名前は開発中のものです。
2006/01/21(土) 23:36:57ID:q3UiUWCR二回も呼ばれてますがな
返事は一回でよろしい
0352名前は開発中のものです。
2006/01/22(日) 00:03:11ID:eMC9jRZf0353名前は開発中のものです。
2006/01/22(日) 00:04:53ID:v+un3HUZ同義語として骨組みばかりでゲーム部分に開発が進まない
ってのもあるな
でも作り直すたびに綺麗に、見通しがよくなってるよね?
ならいいんじゃないの?
0354名前は開発中のものです。
2006/01/22(日) 00:59:48ID:vxx8pXOsなんて読むの
0355名前は開発中のものです。
2006/01/22(日) 01:09:30ID:NcjuLclA>>353
それ目的を見失ってる。
いつまでも足踏みしてちゃ駄目だよ。
地盤を固めるのが目的なんじゃなくて、最終的には家を建てるんだから。
0356名前は開発中のものです。
2006/01/22(日) 01:13:32ID:v+un3HUZ0357名前は開発中のものです。
2006/01/22(日) 01:39:16ID:NcjuLclA悪い面のほうが大きい。
0358名前は開発中のものです。
2006/01/22(日) 02:13:17ID:M8R6LppBいい悪いなんて自分の価値観次第だしどっちともいえないんじゃないの?
0359名前は開発中のものです。
2006/01/22(日) 02:24:02ID:bw1X9aab趣味でなら、目的がころころ変わってもいいじゃん。
成果物とか技術向上なんて二の次ってこともあるだろうし。
まぁ確かに気に入ってた作者がライブラリ作成に目覚めてしまったときは
哀しくなるが、口出しまではできん...
0360名前は開発中のものです。
2006/01/22(日) 02:28:44ID:WHJi0Wsn遠足とか修学旅行の計画立ててる時が一番楽しいのと同じ感じで
0361名前は開発中のものです。
2006/01/22(日) 02:37:52ID:GPtNsZKF0362名前は開発中のものです。
2006/01/22(日) 03:49:01ID:ktWylK25>哀しくなるが、口出しまではできん...
正気に戻ったら、良いものを作ってくれるだろうから、その日を期待汁
そもそも俺みたいに、自前の言語を組んでるわけでもあるまいに
えっと、PG最大の罠って、言語製作とOS製作と、あと何だっけ?
0363名前は開発中のものです。
2006/01/22(日) 03:55:33ID:oYuvIiQw0364名前は開発中のものです。
2006/01/22(日) 04:28:30ID:pvI33Zz40365名前は開発中のものです。
2006/01/22(日) 04:30:21ID:pvI33Zz4土いじりが治水工事に変わったら、もはや別の作業だよ。w
0366名前は開発中のものです。
2006/01/22(日) 04:36:39ID:g0AnarUk大人になったらダムを建ててるようなものか
0367名前は開発中のものです。
2006/01/22(日) 04:48:47ID:eMC9jRZf骨組みの場合は、家の建築スピードアップのための改良なんだから
骨組み改良して、その骨組みでゲーム作成してを交互にやっていくのが一番だろう。
シューティングは特にお約束が多いから使い回しが効きやすいし。
0368名前は開発中のものです。
2006/01/22(日) 05:04:59ID:yU2CUuQX土を馴らしてから家を建てる
土を馴らしてから土台を作って家を建てる
土を馴らしてから地面に鉄筋を埋め込み、
土台を作ってから、足場を組んで家を建てる
始めに工場で家の部品を作り、
土を馴らしてから地面に鉄筋を埋め込み、土台を作ってから、
足場を組んでから部品を組み立てる事で家を建てる
どんどん別の作業になっていく罠
0369名前は開発中のものです。
2006/01/22(日) 06:14:41ID:yIJIXzdjでも下の方が丈夫で良い家ができるんじゃないか?
ゲームの場合は凄い技術を使ってても面白いとは限らないが…
0370名前は開発中のものです。
2006/01/22(日) 08:36:18ID:mcpJRo0J凄いと思わせる技術、面白いと思わせる技術は、
全く別のものだからね
漏れとしては、量産するための技術と、面白いと思わせる技術が欲しい
0371名前は開発中のものです。
2006/01/22(日) 10:03:26ID:qzKGE9oXお前がまず書けよ
0372名前は開発中のものです。
2006/01/22(日) 10:52:49ID:iA+EKNdL下にいけばいくほど完成しない。
実際の家を組み立てていく過程で、また土台が気に入らなくて作り直してしまう。
時々前の工法の方が良かったんじゃないか?でループするときもある。
完璧な土台を求めてね。
0373名前は開発中のものです。
2006/01/22(日) 17:11:28ID:6e/DY9sY参考になりそうなSTGのソースってなんかある?
ただたんに、俺が他の人のやり方を学びたいと思っただけなんだけど
0374名前は開発中のものです。
2006/01/22(日) 17:38:04ID:NcjuLclA前者のBulletMLは再利用されまくり。
後者のact.cppはいわゆる擬似タスクだが、こんなものは一度作ってしまえば二度と
手を入れることは無いだろう。結果、再利用しまくり。
0375名前は開発中のものです。
2006/01/22(日) 18:43:32ID:P8A4UCU8>act.cpp
いやあれでは無駄が多すぎる。と、
プログラマと言うより構造設計研究評論家な人は思ってしまうわけなんよ。
永遠に銀の弾丸を探すこと。が趣味というか。
0376名前は開発中のものです。
2006/01/22(日) 18:56:30ID:v+un3HUZ一色氏のほうはたぶん見ないほうがいい
あと公開されてたのはcjあたり
delphiだけどこれもシンプルで分かりやすい
一応オブジェクト指向とかなにも知らなくてもいいという例のひとつ
0377名前は開発中のものです。
2006/01/22(日) 19:17:21ID:NcjuLclAどこらへんに無駄が?詳しく頼む。
あれは擬似タスクの最もシンプルな実装の一つだと思うが。
擬似タスクそのものが無駄というなら何も言わんけど。
0378名前は開発中のものです。
2006/01/22(日) 20:03:05ID:P8A4UCU8全てのオブジェクト(タスク)がACTとして確保されるため、
単純なオブジェクトも複雑なオブジェクトも同一の構造であることを強要される。
custom.hを用いてC++のテンプレート的構造をしているが、
ポリモーフィズムな継承的構造の方が適しているのではないか?
とりあえず思いついたのはこんなところ。
0379名前は開発中のものです。
2006/01/22(日) 20:21:42ID:vxx8pXOs動けばどうでも良いんじゃね
0380名前は開発中のものです。
2006/01/22(日) 20:40:25ID:IugY3r8N動けばどうでも良いんじゃね
動けばどうでも良いんじゃね
0381名前は開発中のものです。
2006/01/22(日) 20:51:34ID:vxx8pXOs0382名前は開発中のものです。
2006/01/22(日) 21:30:38ID:vQrCl7Ti関係者乙
0383名前は開発中のものです。
2006/01/22(日) 23:08:47ID:P8A4UCU8「動けば良い」の先を考える。これが結構面白い。
>382
レスの流れから読みとれないのだが、俺って何の関係者?
0384名前は開発中のものです。
2006/01/23(月) 00:30:22ID:DASE87T/0385名前は開発中のものです。
2006/01/23(月) 00:34:16ID:yJIlIQChほんと関係者ってなんだろ
0386名前は開発中のものです。
2006/01/23(月) 01:05:45ID:hBV4cIOIほぼあの当時のまま使われてることにちょっと驚きつつも、
擬似タスクの基本的な構造としては解りやすいから良いんじゃないかな。
「なんかムダ」「ワークがもう少し必要」っていう問題が見えてきたら、
それに対応できる構造を考えていけばいいんだし、そこに至るまでの足がかりになるからね。
と、元関係者(あちらは知らんと思うけど)の俺乙。
0387名前は開発中のものです。
2006/01/23(月) 01:26:35ID:yJIlIQCh使わざるを得ない環境ならともかく
高級言語Dでやるなよということだな
でも>>386の文章と>>378をやじったのがつながらんな
0388名前は開発中のものです。
2006/01/23(月) 02:07:45ID:hBV4cIOI0389名前は開発中のものです。
2006/01/23(月) 02:18:46ID:yJIlIQCh0390名前は開発中のものです。
2006/01/23(月) 03:48:23ID:gMtHf+rjCJってどこよ?
0391名前は開発中のものです。
2006/01/23(月) 04:01:41ID:XeEyi3lt0392名前は開発中のものです。
2006/01/23(月) 04:17:51ID:zWoY+E2sttp://www1.odn.ne.jp/ceb94660/
ますますHPが訳分かんなくなってるな。
0393名前は開発中のものです。
2006/01/23(月) 08:10:42ID:lfqxy6zp0394名前は開発中のものです。
2006/01/23(月) 08:37:29ID:rGqhftO80395名前は開発中のものです。
2006/01/23(月) 12:05:26ID:yJIlIQChファイル名もCJ256とかCJ16だし
それに流れから行って唐突でもねーべ
0396名前は開発中のものです。
2006/01/23(月) 12:50:24ID:eVoJuO1R0397名前は開発中のものです。
2006/01/23(月) 13:12:23ID:U4/Yq91z0398名前は開発中のものです。
2006/01/23(月) 13:32:02ID:GPV3Udm7>単純なオブジェクトも複雑なオブジェクトも同一の構造であることを強要される。
これがダメな理由がまったく思いつかないんだが。
0399名前は開発中のものです。
2006/01/23(月) 18:29:46ID:U4/Yq91zプログラマは無駄な美学持ってるやつ多いからな…
0400名前は開発中のものです。
2006/01/23(月) 19:16:01ID:GPV3Udm7まあ、実物見てないから知らんけどwww
構造の中に好きなだけ自分のクラスをつっこみゃ良いじゃん。
0401名前は開発中のものです。
2006/01/23(月) 23:07:33ID:zWoY+E2s単純なオブジェクトと、複雑なオブジェクトではメモリ必要量が違う。
基本的に、少数の複雑なオブジェクト(ボスや自機)と多数の単純なオブジェクト(弾)
によって構成される一般的なシューティングで見れば、
その多数の単純オブジェクトで、差分メモリを無駄にしている。
確かに最近のメモリが潤沢なPCなら、
この辺でたとえ数メガオーバー使おうが何ともないが、
0402名前は開発中のものです。
2006/01/23(月) 23:20:51ID:6+ucHJqi関数ポインタだとか、たくさんのフラグとかがいろいろあったって
さすがに1kbもあれば絶対に足りると思うし
この10分の1でもいいぐらいじゃないのか?
だとすればオブジェクトが1000個あったって1MBだ
この点では何も問題無いっしょ
ちなみに怒首領蜂や紅魔郷はオブジェクト数256個までだ
0403名前は開発中のものです。
2006/01/23(月) 23:24:01ID:yJIlIQChメンテナンス性が悪い、拡張性が悪いとかそういうことでしょ
0404名前は開発中のものです。
2006/01/23(月) 23:44:01ID:B8L+LRNK0405名前は開発中のものです。
2006/01/24(火) 01:10:01ID:tH1FX665仕事で5年もやればなんか必要だと思うようになると思うけど。
ちゃんと設計すればサイズ可変にもできるしなぁ。
0406名前は開発中のものです。
2006/01/24(火) 01:22:13ID:ti+DHhFc知っていれば面倒なバグ出さないから拡張性で有利>オブジェクト指向
0407名前は開発中のものです。
2006/01/24(火) 02:28:12ID:tH1FX665タスクも覚えるのが面倒くさいと思ってるうちはベタ書きで。
STG程度ならいまじゃ全部グローバルで保持しても普通に作れる。
0408名前は開発中のものです。
2006/01/24(火) 02:33:44ID:rCZ3DEf70409名前は開発中のものです。
2006/01/24(火) 04:08:20ID:quGkergB0410名前は開発中のものです。
2006/01/24(火) 08:30:44ID:lW4/KOcd0411名前は開発中のものです。
2006/01/24(火) 13:50:28ID:NpYb47br0412名前は開発中のものです。
2006/01/24(火) 18:16:30ID:mDNWO7360413名前は開発中のものです。
2006/01/24(火) 18:20:03ID:NpYb47br0414名前は開発中のものです。
2006/01/25(水) 21:44:48ID:p6DIHyAU0415名前は開発中のものです。
2006/01/25(水) 21:53:48ID:1rQK/H1L敵キャラとか弾をSTLで処理するというのは、
@キャラなり弾なりのオブジェクトを生成する
Aオブジェクトを直接STLのLISTにつっこむか、ポインタをLISTに入れる
ということでいいんでしょうか?
0416名前は開発中のものです。
2006/01/25(水) 21:58:52ID:RFNuS2XK0417名前は開発中のものです。
2006/01/26(木) 00:22:02ID:800Kzw0Nその漠然とした言葉を明確に定義する意味があるのか?
個人的には、STLを使うといっても、三段階に分かれるかな。
コンテナを使う→イテレータを使う→アルゴリズムを使う
0418名前は開発中のものです。
2006/01/26(木) 01:12:57ID:jKgtnRtO0419名前は開発中のものです。
2006/01/26(木) 01:52:08ID:uGngXek30420名前は開発中のものです。
2006/01/26(木) 02:47:20ID:R2/Ifoi1■ このスレッドは過去ログ倉庫に格納されています