トップページgamedev
1001コメント290KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/12/11(日) 02:45:19ID:mUK4fRmr
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

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

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

過去スレ,関連スレは >>2で。
0377名前は開発中のものです。2006/01/22(日) 19:17:21ID:NcjuLclA
>>375
どこらへんに無駄が?詳しく頼む。
あれは擬似タスクの最もシンプルな実装の一つだと思うが。
擬似タスクそのものが無駄というなら何も言わんけど。
0378名前は開発中のものです。2006/01/22(日) 20:03:05ID:P8A4UCU8
>377
全てのオブジェクト(タスク)が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:vxx8pXOs
(・ω・)なんだてめーもんくあるのか
0382名前は開発中のものです。2006/01/22(日) 21:30:38ID:vQrCl7Ti
>>378
関係者乙
0383名前は開発中のものです。2006/01/22(日) 23:08:47ID:P8A4UCU8
>379
「動けば良い」の先を考える。これが結構面白い。

>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
あのソースはC社で研修に使われていたソースに激似。
ほぼあの当時のまま使われてることにちょっと驚きつつも、
擬似タスクの基本的な構造としては解りやすいから良いんじゃないかな。
「なんかムダ」「ワークがもう少し必要」っていう問題が見えてきたら、
それに対応できる構造を考えていけばいいんだし、そこに至るまでの足がかりになるからね。

と、元関係者(あちらは知らんと思うけど)の俺乙。
0387名前は開発中のものです。2006/01/23(月) 01:26:35ID:yJIlIQCh
ようわからんけど、すでに絶滅したタスクシステムを
使わざるを得ない環境ならともかく
高級言語Dでやるなよということだな

でも>>386の文章と>>378をやじったのがつながらんな
0388名前は開発中のものです。2006/01/23(月) 02:07:45ID:hBV4cIOI
別人だし。
0389名前は開発中のものです。2006/01/23(月) 02:18:46ID:yJIlIQCh
同じ人だって意味じゃねー
0390名前は開発中のものです。2006/01/23(月) 03:48:23ID:gMtHf+rj
>あと公開されてたのはcjあたり

CJってどこよ?
0391名前は開発中のものです。2006/01/23(月) 04:01:41ID:XeEyi3lt
クッジョブ
0392名前は開発中のものです。2006/01/23(月) 04:17:51ID:zWoY+E2s
>390
ttp://www1.odn.ne.jp/ceb94660/
ますますHPが訳分かんなくなってるな。
0393名前は開発中のものです。2006/01/23(月) 08:10:42ID:lfqxy6zp
CreatureJungleをCJと書く奴は明らかに作者。唐突だし。
0394名前は開発中のものです。2006/01/23(月) 08:37:29ID:rGqhftO8
作者じゃないけど俺でもわかったど
0395名前は開発中のものです。2006/01/23(月) 12:05:26ID:yJIlIQCh
CJってよくPCで出来るSTGのスレででてきてたけど
ファイル名もCJ256とかCJ16だし

それに流れから行って唐突でもねーべ
0396名前は開発中のものです。2006/01/23(月) 12:50:24ID:eVoJuO1R
クセのあるソースだと、元ネタが予想できるという事だ罠
0397名前は開発中のものです。2006/01/23(月) 13:12:23ID:U4/Yq91z
いきなりCJと言われても絶対わからん
0398名前は開発中のものです。2006/01/23(月) 13:32:02ID:GPV3Udm7
>全てのオブジェクト(タスク)がACTとして確保されるため、
>単純なオブジェクトも複雑なオブジェクトも同一の構造であることを強要される。

これがダメな理由がまったく思いつかないんだが。
0399名前は開発中のものです。2006/01/23(月) 18:29:46ID:U4/Yq91z
美学に反するんじゃね?w
プログラマは無駄な美学持ってるやつ多いからな…
0400名前は開発中のものです。2006/01/23(月) 19:16:01ID:GPV3Udm7
どう考えても同一構造にしたほうが美しいだろうw
まあ、実物見てないから知らんけどwww

構造の中に好きなだけ自分のクラスをつっこみゃ良いじゃん。
0401名前は開発中のものです。2006/01/23(月) 23:07:33ID:zWoY+E2s
>398
単純なオブジェクトと、複雑なオブジェクトではメモリ必要量が違う。
基本的に、少数の複雑なオブジェクト(ボスや自機)と多数の単純なオブジェクト(弾)
によって構成される一般的なシューティングで見れば、
その多数の単純オブジェクトで、差分メモリを無駄にしている。

確かに最近のメモリが潤沢な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+LRNK
むしろ単純にするために同一の構造を強要してるんだと思ったんだけど
0405名前は開発中のものです。2006/01/24(火) 01:10:01ID:tH1FX665
まあ、なぜ必要なのかその境地にまで達してないのだろう。
仕事で5年もやればなんか必要だと思うようになると思うけど。

ちゃんと設計すればサイズ可変にもできるしなぁ。
0406名前は開発中のものです。2006/01/24(火) 01:22:13ID:ti+DHhFc
オブジェクト指向もタスク処理もしらなくてもSTGは作れる

知っていれば面倒なバグ出さないから拡張性で有利>オブジェクト指向
0407名前は開発中のものです。2006/01/24(火) 02:28:12ID:tH1FX665
オブジェクト指向覚えるのが面倒くさいやつはタスクで。
タスクも覚えるのが面倒くさいと思ってるうちはベタ書きで。

STG程度ならいまじゃ全部グローバルで保持しても普通に作れる。
0408名前は開発中のものです。2006/01/24(火) 02:33:44ID:rCZ3DEf7
まあHSPでも普通に作れてるしなあ。
0409名前は開発中のものです。2006/01/24(火) 04:08:20ID:quGkergB
HSPで構造体が使えればなぁ・・・
0410名前は開発中のものです。2006/01/24(火) 08:30:44ID:lW4/KOcd
で、ACTって何よ?
0411名前は開発中のものです。2006/01/24(火) 13:50:28ID:NpYb47br
ACTionの略では
0412名前は開発中のものです。2006/01/24(火) 18:16:30ID:mDNWO736
いや、actorの略だろ。
0413名前は開発中のものです。2006/01/24(火) 18:20:03ID:NpYb47br
ああ、話が繋がってたのか、すまん
0414名前は開発中のものです。2006/01/25(水) 21:44:48ID:p6DIHyAU
ファミコンで発売してそうなぐらいなデキのシューティングゲームでソース公開してる人いないんですか?
0415名前は開発中のものです。2006/01/25(水) 21:53:48ID:1rQK/H1L
すいません、質問です。
敵キャラとか弾をSTLで処理するというのは、
@キャラなり弾なりのオブジェクトを生成する
Aオブジェクトを直接STLのLISTにつっこむか、ポインタをLISTに入れる
ということでいいんでしょうか?
0416名前は開発中のものです。2006/01/25(水) 21:58:52ID:RFNuS2XK
<algorithm>を使うってのも含まれるんじゃないかと。
0417名前は開発中のものです。2006/01/26(木) 00:22:02ID:800Kzw0N
>415
その漠然とした言葉を明確に定義する意味があるのか?

個人的には、STLを使うといっても、三段階に分かれるかな。
コンテナを使う→イテレータを使う→アルゴリズムを使う
0418名前は開発中のものです。2006/01/26(木) 01:12:57ID:jKgtnRtO
コンテナってR−TYPEの?
0419名前は開発中のものです。2006/01/26(木) 01:52:08ID:uGngXek3
重いコンテナ〜 試練の道を〜
0420名前は開発中のものです。2006/01/26(木) 02:47:20ID:R2/Ifoi1
燃える〜男の〜コンテナ〜
0421名前は開発中のものです。2006/01/26(木) 05:25:24ID:TObCu6MP
志村、コンダラ!コンダラ!
04224152006/01/26(木) 12:40:41ID:qu7IF+vr
415です。
練習用に作ったプログラム(弾をランダムに撃つ敵が1体出てくるだけ)では、
弾のオブジェクトを生成する際、一つ前に撃った弾のオブジェクトのポインタを
持たせて「リストもどき」にしてたので、STLだとどうするのかな、と思いまして。
0423名前は開発中のものです。2006/01/26(木) 22:39:19ID:6VsCyO++
だれかソースUPしてくれ・・
0424名前は開発中のものです。2006/01/26(木) 23:07:45ID:yrvBeKCI
見てみたい
0425名前は開発中のものです。2006/01/26(木) 23:16:07ID:Ch33snWF
スカートの中?
0426名前は開発中のものです。2006/01/27(金) 00:03:17ID:ZzcOIWPU
必ずゲットだぜ?
0427名前は開発中のものです。2006/01/27(金) 23:37:53ID:/N5VYZ3c
当たり判定の関数作りたいんだけどどうすればいい?
0428名前は開発中のものです。2006/01/27(金) 23:40:36ID:GSmZkh1/
>>427
好きにすればよい。


マジレスするなら何の当り判定よ?
0429名前は開発中のものです。2006/01/28(土) 00:10:15ID:eDYyLJy9
アイスじゃね?
0430名前は開発中のものです。2006/01/28(土) 01:45:34ID:SvFODR6e
女の子のハートとの当たり判定
0431名前は開発中のものです。2006/01/28(土) 06:00:30ID:qqUIY9F3
>>427
二つの矩形を与えて当たってるかどうか返す関数でいいよ

unsigned int HitCheck(RECTANGLE &a, RECTANGLE &b) {
 int left = a->x - (b->x + b->w);
 int right = b->x - (a->x + a->w);
 int up = a->y - (b->y + b->h);
 int down = b->y - (b->y + b->h);

 return ((unsigned int)(left & right & up & down) >> 31);
}

円はしらね
0432名前は開発中のものです。2006/01/28(土) 12:54:51ID:H2EN+aH+
大小比較の代わりに符号ビットを見てるのね。なるほど
とすると円はこんな感じだろーか

#define POW2(aNum) (aNum * aNum)

unsigned int HitCheck(円 *a, 円 *b) {
int distancePow2 = POW2(a->x - b->x) + POW2(a->y - b->y);
int rPow2 = POW2(a->r +b->r);
return ((unsigned int) (distancePow2 - rPow2)) >> 31;
}
0433名前は開発中のものです。2006/01/28(土) 14:06:57ID:PcvEZcpA
失礼ながらageさせてもらいます(汗
新聞配達しながらゲーム製作学校通ってる俺に少しばかり協力してもらいたいのですが2月末までにゲームを一本作ることになっているのですが結構難航しておりまして^^;
それもゲームを全て一人で作るというものなのです。 
 自分はC++で2D縦STG(640*480 自機48*48{東方みたいなの})を一応作っているのですが まぁ、プログラムのほうは問題ないとして、絵と音楽が全くダメなのですよ^^;
そこで、みなさんにお聞きしたいのですが何かいい素材があるサイトを知っている方がいましたら教えてほしいのです
教えていただいたらそれを自分で加工しますので宜しくお願いしたいです。

駄文ですみませんが宜しくお願いします。 
0434名前は開発中のものです。2006/01/28(土) 14:10:44ID:Qwd/X7xp
「すべて一人で」なら素材も一人でつくるんだろ?
0435名前は開発中のものです。2006/01/28(土) 14:23:20ID:PcvEZcpA
4行目は、
「プログラムは0から作り既存のゲームを参考にかつ自分だけのオリジナル要素を含ませなければならない。」
と修正します、すみません。
0436名前は開発中のものです。2006/01/28(土) 14:31:32ID:uDh/D0fu
ここおすすめ
http://www.google.com/
0437名前は開発中のものです。2006/01/28(土) 14:33:18ID:PcvEZcpA
あ、ついでに一つ質問よろしいでしょうか?
私はSTGについてあまり詳しくないのですが、STGにLifeバーが付いているのってどう思いますか?
ぬるいシューティングだって思いますかね? より激しい戦闘ができると思って加えてみようと思うんですが
よかったら意見を聞かせてほしいです。
0438名前は開発中のものです。2006/01/28(土) 14:34:03ID:XJNrfdbD
>>432
マクロの使い方を勉強しろ。動かないぞそれは。
0439名前は開発中のものです。2006/01/28(土) 14:36:07ID:PcvEZcpA
>>436 そうですね、ここはとても便利です。
あまりに自分の質問がアバウトだからぐぐるのURL来るかなと思ったんですが。
頑張って探してみます thx
0440名前は開発中のものです。2006/01/28(土) 14:59:46ID:rNsPI2IO
>>437
Life制ってのは特に珍しくないと思うけど。古いものではドラゴンスピリットとかもそうだし。
0441名前は開発中のものです。2006/01/28(土) 15:03:23ID:PcvEZcpA
ちょっとLife制のシューティングゲームに興味があるのでぐぐってみますね
果たして敵はどんな攻撃を使うのか気になって。
やはり狙い撃ち弾と弾幕を半端なく出すんですかね?何か参考になるSTGゲームがあれば・・・
ちょっと今日は用があるので落ちます すいません^^;
0442名前は開発中のものです。2006/01/28(土) 15:08:44ID:H2EN+aH+
>>438
うは、サンクスです。恥ずかしいorz
#define POW2(aNum) ((aNum) * (aNum))
これならいけるかな?
0443名前は開発中のものです。2006/01/28(土) 16:12:57ID:qRdLs8xG
>>437
ほかのヤツがどう思ってるか知らんが
喰らうことが前提のLife制STGは
それに気がついた時点でプレイするのをやめる。
やっぱ、「一発で死ぬ」という緊張感がないとな。

あくまで俺個人の意見だが。
0444名前は開発中のものです。2006/01/28(土) 16:16:04ID:gFZeZDpI
>431
31ってなんですか?
0445名前は開発中のものです。2006/01/28(土) 16:45:21ID:2iPnPfVA
アイスクリーム
0446名前は開発中のものです。2006/01/28(土) 16:56:57ID:1X1hH8Uz
>>433

不憫なので一つだけ紹介しちゃる
音は"マッチメイカァズ"でぐぐれ。
0447名前は開発中のものです。2006/01/28(土) 17:05:44ID:01MYyks1
>>437
ライフ制ならある程度喰らうようにしないといけないよな
ぐわんげとか参考にしたら?
0448名前は開発中のものです。2006/01/28(土) 17:59:57ID:mmsIm1U9
>>442
多分違う
0449名前は開発中のものです。2006/01/28(土) 18:35:45ID:skkQEFBc
ライフ制って1回弾にあたるとその後グダグダになりやすいのであんまり好きじゃない。
点滅してる間に抜けちゃえ、とか。ACTだけど魔界村のアーサーみたいんだとわかりやすいけどね。
あと攻撃が避けられないものとかも萎えるし。
0450名前は開発中のものです。2006/01/28(土) 18:36:47ID:7v+taOOZ
その場復活はライフ制みたいなもんだろ
0451名前は開発中のものです。2006/01/28(土) 19:05:36ID:+9l2FCuN
全く違うと思うぞ。
0452名前は開発中のものです。2006/01/28(土) 20:00:37ID:pIAngSOB
3目盛りしかなくてなんかに当たると1目盛り減るライフゲージか。


しまったエクステンドがうまく説明できない。
0453名前は開発中のものです。2006/01/28(土) 20:28:53ID:NPLq0UC/
マンガ肉だろ
0454名前は開発中のものです。2006/01/28(土) 20:39:05ID:H2EN+aH+
>>448
降参です。どこが違うんだろ(´・ω・`)
試してみると動いてはいるような。もしよろしければレビューを…ダメデスカ
http://gamdev.org/up/img/4503.zip

>>431
このへんとか
http://www.aya.or.jp/~sanami/peace/memorial/code11-20.html#CODE14

いいかげんスレ違いかな。失礼しました。
0455名前は開発中のものです。2006/01/28(土) 20:57:52ID:OEBCg8eL
>>452
ラジルギ?
0456名前は開発中のものです。2006/01/28(土) 21:32:07ID:H2EN+aH+
ミスった… >>454 で書いた >>431 のところは >>444 宛てね。たびたびすまん

グラディウスのフォースフィールドなんかはライフに近いような気もする
0457名前は開発中のものです。2006/01/28(土) 22:29:16ID:sZ5w+DTT
>431>432
いろいろ突っ込みどころはあるが、とりあえずconst、sizeof(int)を使え。

今ライフ制というと思いつくのがスグリ。
スタンダードなシューティングとはかなり違うが。
0458名前は開発中のものです。2006/01/29(日) 01:06:28ID:S4nB5KSB
なんか色々ダメすぎるので俺H2EN+aH+のは見なかったことに>>427
ツッコミくれた方々わざわざ申し訳ありませんでした...吊ってきます
0459名前は開発中のものです。2006/01/29(日) 01:26:36ID:4It584Od
>>457
constは分かるがsizeof(int)はどこに使うんだ?
0460名前は開発中のものです。2006/01/29(日) 01:28:32ID:K51AC3SX
最近のシューティングでライフ制と言うと、人型シューティングで残機表示が
自機の形をしていない物を指される。それと被弾しても爆発しないで、そのまま立ち直る動きを見せるもの。
人が自機のシューティングは残機がライフっていう事にしないと、同じ人がいっぱいいる事になってしまう。
例えばエスプガルーダの残機はライフと呼ばれる。
ただ、本来ライフ制と言うと、ボスのライフゲージみたいなのがあるか、
100くらいの数字から、当たると少しずつ数字が減っていく物を指すと思う。
0461名前は開発中のものです。2006/01/29(日) 02:34:23ID:C72864/p
ライフ制だと大味になりやすいよなぁ
そんな俺は、速攻で回復するライフ制に、しようとしてるけどバランス取るのは厳しいかな
自分が、キーボードやパッドじゃ旨く操作出来ないから、即死しない&ミスを引きずらないシステムに
したんだけど、緊張感とSTGとしての面白さを出す事が出来るか・・・
0462名前は開発中のものです。2006/01/29(日) 02:52:30ID:J742mbTo
1943
0463名前は開発中のものです。2006/01/29(日) 04:35:34ID:6bZVsHTW
>459
int幅を32に決め打ちはいくないってことじゃないの?
0464名前は開発中のものです。2006/01/29(日) 06:04:55ID:4It584Od
>>463
それを言い出したら負数が2の補数を当てにしている時点で駄目だとか
きりがなくなっていくな
0465名前は開発中のものです。2006/01/29(日) 06:13:52ID:eXXhPw0C
互換性があがればいいんだよ
0466名前は開発中のものです。2006/01/29(日) 10:32:09ID:hxgD9f44
別に決めうちだっていいじゃな〜い。
0467名前は開発中のものです。2006/01/29(日) 11:52:09ID:XHk7I4wV
もともとSTGする人間じゃない奴にとってライフ制は有り難いんだろうけどね
放っといてもライフがガンガン減少するようにして被弾しても執行猶予がつくだけで
カスリなりアイテムなりで常時ライフ回復できるようにして頑張ればリカバリー出来るとかってすると面白いかも
0468名前は開発中のものです。2006/01/29(日) 13:03:07ID:pB25YCZK
きゅぴしゅーとか東方とか、バリバリエスクテンドなんだよな
クリアまで6,7回エスクテンドすると思う

ああいう間口の広さがなんか好きだ
0469名前は開発中のものです。2006/01/29(日) 13:22:08ID:6bZVsHTW
extendな。

Every Extendはある意味新しかった。そういや商業化したんだっけか。


それはさておき、エクステンドは回数限定をするべきか一定得点で毎回にするべきかたまに迷うことがあったり。
回数限定だとある意味気が楽。エクステンドの機会がなくなればあとは得点気にしないで逃げ回ってもOKだから。
0470名前は開発中のものです。2006/01/29(日) 13:46:38ID:bTI3C3Gv
ゲーム内容による
0471名前は開発中のものです。2006/01/29(日) 17:13:43ID:z8TiMcpc
逃げ回るなら逆にぶっ壊す方が好きだな。
0472名前は開発中のものです。2006/01/29(日) 17:27:33ID:SZXBOSBU
>Every Extendはある意味新しかった。そういや商業化したんだっけか。

ググってみたらマジだった。ネットで無料なのに、売れるのかな…
0473名前は開発中のものです。2006/01/29(日) 17:30:04ID:fA9xgIup
メカ音痴という、ネットを使いこなせない人種も世の中にはいるのだよ
0474名前は開発中のものです。2006/01/29(日) 18:10:08ID:VxI2hR6A
絵と音の強化って付加価値があるから"ネットで・・・"はあまり影響ないと思うけど
PSPってのが・・・
0475名前は開発中のものです。2006/01/29(日) 18:16:38ID:Rqg5/0HM
ライフ制もガーディック外伝レベルの殴り合いまで行けばなかなか痛快でな。
バランス取り辛いけどな。(ALGがバランス取れてたかというと疑問かも)
0476名前は開発中のものです。2006/01/29(日) 20:02:51ID:8yNLlr8S
エリア88とUSネイビーはライフ制ゲームではピカイチの名作だと思う。
難易度も程よく、貧弱な自機とそれを補うサブウェポンのバランスが絶妙。
0477名前は開発中のものです。2006/01/29(日) 22:01:22ID:iI5C0PQZ
でおまえら語ってるだけで実際は何も作ってないって落ちっですか?
作品あるならUPしてください。おながいしますよ
■ このスレッドは過去ログ倉庫に格納されています