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

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

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

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

過去スレ,関連スレは>>2-3で。
2013/02/07(木) 21:11:47.29ID:21VGcqfq
■過去スレ
19機目(実質)
http://toro.2ch.net/test/read.cgi/gamedev/1247841466/
18機目 http://pc11.2ch.net/test/read.cgi/gamedev/1238520070/
17機目 http://pc11.2ch.net/test/read.cgi/gamedev/1227748699/
16機目 http://pc11.2ch.net/test/read.cgi/gamedev/1217601153/
15機目 http://pc11.2ch.net/test/read.cgi/gamedev/1203303740/
14機目 http://pc11.2ch.net/test/read.cgi/gamedev/1184110374/
13機目 http://pc11.2ch.net/test/read.cgi/gamedev/1173188370/
12機目 http://pc11.2ch.net/test/read.cgi/gamedev/1154792197/
11機目 http://pc8.2ch.net/test/read.cgi/gamedev/1149422610/
10機目 http://pc8.2ch.net/test/read.cgi/gamedev/1143038992/
9機目 http://pc8.2ch.net/test/read.cgi/gamedev/1134236719/
8機目 http://pc8.2ch.net/test/read.cgi/gamedev/1120669295/
7機目 http://pc8.2ch.net/test/read.cgi/gamedev/1110815882/
6機目 http://pc5.2ch.net/test/read.cgi/gamedev/1105176011/
5機目 http://pc5.2ch.net/test/read.cgi/gamedev/1098034919/
4機目 http://pc5.2ch.net/test/read.cgi/gamedev/1092048824/
3機目 http://pc5.2ch.net/test/read.cgi/gamedev/1087339516/
2機目 http://pc5.2ch.net/test/read.cgi/gamedev/1073736474/

初代スレ http://bbs.gamdev.org/test/read.cgi/gamedev/1056635103/ (リンク切れ)
2013/02/07(木) 21:13:17.54ID:21VGcqfq
■関連スレ
シューティングツクールXPを待ち続けるスレ Part7
http://pc11.2ch.net/test/read.cgi/gamedev/1214383534/
【SB】Shooting Game Builder ver15【シューティング】
http://toro.2ch.net/test/read.cgi/gamedev/1345448955/
■他
シューティングゲーム製作技術総合スレまとめページ
http://pcstg.s59.xrea.com/tech.html
game-develop.com wiki
http://wiki.game-develop.com/
ゲムデヴあっぷろーだ
http://gmdev.xrea.jp
SHOOTING GAME DEVELOPER UPLOADER
(2013/01/13前後に過去ファイル大量消失?)
http://www.esc-j.net/stg/up/index.html
2013/02/07(木) 21:52:18.98ID:21VGcqfq
■参考リンク
BulletML
http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/
白い弾幕くん(BulletML+Lua)
http://shinh.skr.jp/sdmkun/
Bulletsmorph
http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletsmorph/

■エフェクト作成ツール
aBOM
http://kota.dokkoisho.com/
BombMaker(explosion maker)
http://www.pluto.dti.ne.jp/~nkf/
Detonation
http://www.vector.co.jp/soft/win95/art/se173882.html
GraphicsGale
http://www.tempest-j.com/
発色弾
http://www.vector.co.jp/soft/win95/game/se119747.html
2013/02/07(木) 21:55:09.28ID:21VGcqfq
昔のスレからリンク集引っ張ってきてリンク切れ等も修正しといたぞ

なんかナウい情報あったらぽまいら張れよな
2013/02/07(木) 22:26:26.06ID:Y9En7zvJ
>>1おつ
aBOM(あぼ〜ん)消えたと思ってたので地味に嬉しかった
2013/02/07(木) 23:47:30.74ID:gFOJBf2F
>>1
2013/02/08(金) 22:39:58.93ID:qTHojxbK
>>1

全方位シューティングは、敵配置に
あまり気を配らなくてもいい(個人の感想)から
小物としては適しているんじゃないかな
と思っている
2013/02/08(金) 23:45:03.26ID:DvnFxeTx
4年ぶりの新スレか・・・胸が熱くなるな
2013/02/12(火) 19:17:17.85ID:dFYAA3FS
基本的に話題のループと話題の否定ぐらいしかする事が無いからな
2013/02/23(土) 17:04:55.65ID:LlZYHfxI
スクリプト否定する人って、基本的に技術力の無い人が多いよね?
ステージの配置と敵の動作と弾の動作をスクリプト化するだけでも、
ずいぶんと色々こだわった処理が作れるようにならね?

まあ、ステージの配置や敵の動作、弾の動作にこだわらない人には
どうでも良い事かもしれんが。
2013/02/24(日) 08:29:56.55ID:ORlUujbJ
つーか修正作業が楽になるってだけでしょ。
2013/02/24(日) 09:16:25.63ID:v9CKhk/G
未完成品が完成品になるぐらいに楽にはなるな
2013/02/24(日) 10:45:10.67ID:0kp8/jIE
それは言いすぎ
2013/02/24(日) 10:58:42.80ID:1PKEBlGp
ゲームバランスの調整するのは楽になるでしょ。
2013/02/24(日) 11:34:14.56ID:kqZZjtwK
スクリプト化って技術力うんぬんを言うほどの技術じゃないだろw
2013/02/24(日) 13:41:57.55ID:3ZBes5Rw
みんなはどんなスクリプト使ってるの?俺のは劣化C言語。
使えるループはWhileのみ。ifはあるけどelseはない。
+=や-=はあるけど++や--は無い。使える変数は整数型のみ。
といった具合。

ただ、いくつもの関数を並列に実行させられるように作ってあるからか、
かわりになるようなスクリプトが見あたらない。オブジェクトが複数あったら、
それぞれがスタックとプログラムカウンタを持ってるだけなんだけどね。
で、Pause命令が呼び出されたらスクリプトの動作を元の言語に戻していて、
次に呼び出された時はPause命令の次の所からスクリプトの動作を再開してるわけ。
2013/02/24(日) 15:15:38.52ID:3ZBes5Rw
>>16
四則演算を入れると、ちょっと大変かもね
2013/02/24(日) 16:55:21.15ID:CYAPdegb
え?PythonやRubyを使うって話じゃないの?
2013/02/24(日) 17:27:14.90ID:v9CKhk/G
プログラマーなら簡単なスクリプトくらい、自前で組めるようになれ!
っつ〜か、最近のゲームになればなるほどスクリプト無しでは作れないほどに規模が膨らんでいるからな〜
2013/02/24(日) 19:17:44.31ID:aB/+/3X9
既存の汎用スクリプト言語があるのに車輪の再開発する意味が分からん
2013/02/24(日) 19:46:44.60ID:oLOrc41H
手段の目的化だろ
23名前は開発中のものです。
垢版 |
2013/02/24(日) 20:40:27.73ID:dkN/Sn8s
スクリプト言語自体を作るのなんて時間の無駄
それならゲーム調整なり作り込みに時間を使えと
1人で作るならスクリプト必要ないしな〜
プランナーが配置なり調整するってなら、スクリプト必要だが
2013/02/24(日) 22:15:22.34ID:/lABwMq7
趣味だと基本ぼっち開発だからロジックをプログラムの外に追い払う
積極的な理由ってそうそうないんだよね。データ(プロパティ)を外に
追い払うのと同じ感覚でロジックまで追い払うのは変態趣味の類かと

強力な開発用PCによる高速なビルド、それにエディットコンティニュー。
こういう快適な開発環境があると「スクリプト化すれば調整作業が楽になる」
というのも無理があるし
2013/02/24(日) 22:16:23.28ID:v9CKhk/G
>>23
調整や作り込みに時間を割くなら、なおさらスクリプト言語を作った方が早いと思うけどな
時間のかかるゲーム製作で作業を単純化するのは明らかな作業効率の向上が期待できるからな

>>21
既存の汎用スクリプトには欲しい機能が無いから自分用の汎用スクリプトを作った。
自分の場合は楽に作れるようになったから他人も楽に作れるようになるはずだと考えるのはごく自然な流れだと思うが?
2013/02/24(日) 22:43:11.04ID:3ZBes5Rw
>>24
ロジックを分断する事で余計な事まで考える要素を無くせるのは
大きな違いだと思うが?そりゃ、自分の作ったコードを隅々まで
覚えておけるような奇特なスキルを持ってるなら必要ないかもしれないが、
生憎とそんなレアスキルを持ってる人間ばかりじゃないからね。
2013/02/24(日) 23:00:00.05ID:/mg+TVVX
スクリプトの有難味を否定している奴は、
大してビルド時間のかからない小規模な作品か、
もしくは当たり判定がレガシーで、素材作成奴隷から搾取して見た目だけ目新しくした金太郎あめゲー
しか想定していないんだろうな。
2013/02/24(日) 23:44:52.56ID:kqZZjtwK
見た目大事だよ
見た目の有難みを否定している奴は(ry
2013/02/25(月) 07:24:13.52ID:WCk6fbxC
見た目だけで作ってると信者が付かないよ
延々と焼き畑農業をやってるような物だからね
2013/02/25(月) 09:07:38.61ID:g5KYtKu3
>>26
機能分割や結合度の制御の話なら、プログラムから追い払って別の言語で
記述しなくても出来ることではないかと

>>27
否定される場合の条件が書かれてるのだから、全否定されてるわけではないし
そんなふうに毒づくようなことでもないのではないかと
2013/02/25(月) 09:25:50.58ID:g5KYtKu3
ビルド時間云々については、少なくともPCゲーの場合については
例えばVC++ではデバッグ実行中に一時停止してコード修正して
継続実行できるので、スクリプトとして外部に追い払う積極的な
動機付けにはなってないんじゃないかな
2013/02/25(月) 18:23:12.86ID:fRU1BZYK
吉里吉里みたいにプログラムが書けない人向けに作るなら分かるんだけどな
2013/02/25(月) 18:55:35.93ID:WCk6fbxC
>機能分割や結合度の制御の話なら、プログラムから追い払って別の言語で
>記述しなくても出来ることではないかと

そんな便利な方法がスクリプトを使う以外にあるなら教えて欲しいな
例えばマルチスレッドは、同期の問題やらメモリーの問題やらがあるから扱いに手間がかかりすぎる
後、スクリプトの保守性の容易さもスクリプトを用いる要因として挙げておく
バイナリーデータで作業するよりテキストデータで作業する方が楽なんだよ

他には、プログラムは上から下に読める方が楽というのもあるな
2013/02/25(月) 18:58:21.51ID:hSmN3zD5
やり方は一つじゃない
個々の事情に合わせたやり方でやればいいだけ
2013/02/25(月) 19:22:25.91ID:v5ruHLn3
アーケード進出した某同人シューティングゲームでは
敵や地形の動作が全部C++のベタ書きで組んであった。
ステージ中のギミックが細かいから、スクリプト化するメリットが
薄いと判断し、この方針にしたらしい。

スクリプト言語が必要かどうかはその都度考えればいい。
2013/02/25(月) 21:23:59.66ID:foAVtOAT
俺も個々の判断が正しいと思うわ。
どっちにしろ押し付けるのはいいとは思わない。
そして完成させた奴が一番正しい。
2013/02/25(月) 21:59:28.99ID:dDMXDQeb
>アーケード進出した某同人シューティングゲーム
動画見たよ
かっこいいなコレ
クソッ、やられてるぜ
2013/02/25(月) 22:37:22.76ID:g5KYtKu3
>>33
>そんな便利な方法がスクリプトを使う以外にあるなら教えて欲しいな

便利な方法というか、機能分割やら結合度やらは構造化設計の基本だし
これは別にスクリプトでなければ出来ないというような話ではないかと

>例えばマルチスレッドは、同期の問題やらメモリーの問題やらがあるから扱いに手間がかかりすぎる

どういう使い方をしてるのか知らないけど、ターゲットハードウェアが
そこらのPCであればSMPの素直なスカラー機だから並列プログラミングに
ついての先人の知見は豊富だし各種ライブラリもあるわけで

で、スレ趣旨に従って無難に2DSTG前提とすれば計算リソースについては
別に厳しい要求にはならないわけで、並列処理の粒度が粗い、オーソドックスな
マルチスレッドプログラミングで問題ないわけで。例えば
・ファイルI/O
・サウンド
・グラフィックス
・OSとのメッセージ処理
・ゲームのシミュレーション部

のような分割単位で。シミュレーション部なんかシングルスレッド処理でも
別に問題はないと思うよ?

>後、スクリプトの保守性の容易さもスクリプトを用いる要因として挙げておく
>バイナリーデータで作業するよりテキストデータで作業する方が楽なんだよ

>他には、プログラムは上から下に読める方が楽というのもあるな

C/C++のソースコードはテキストだよ
2013/02/25(月) 22:54:22.16ID:g5KYtKu3
スクリプト言語の類を用意することで最も利得を得るのは組織が大きくなる
場合だと思うんだよね。能力が異なる人間(非プログラマ)のために異なるロールを
用意する。開発プロセスの分割統治の都合で採り入れられる場合が多いと思うよ

吉里吉里とかツクールはプログラマ不在の開発環境でゲームを作れるよね?
こういう採用方法に比べればプログラマのぼっち開発ではどうしても利得は
減ると思うよ
2013/02/25(月) 23:23:08.55ID:w9I6p7eL
うん。だからプログラマーが1人で作るならスクリプトいらないと思うよ
2013/02/25(月) 23:32:44.77ID:g5KYtKu3
あ、ごめん。>>39アンカー忘れ。>>26の中の人宛てなんだ。
42名前は開発中のものです。
垢版 |
2013/02/25(月) 23:53:40.29ID:w9I6p7eL
>>41
ああ、そうか
そもそもアルゴリズム組むのに
「自分の作ったコードを隅々まで覚えておけるような奇特なスキル」
こんなスキル全く必要ないもんね

定数はスクリプトでもプログラム言語でも直書きなんてしないし、
座標系なんかにも依存した書き方しない

スクリプトはアルゴリズムを自分以外の人間が組む場合のみ必要かな
それ以外はデメリットの方が多い

スクリプト自体を作る勉強だったり、悦にはいるなら止めはしないけどね
2013/02/26(火) 00:33:22.36ID:r1ghKX/j
>>42
>「自分の作ったコードを隅々まで覚えておけるような奇特なスキル」
>こんなスキル全く必要ないもんね

そうなんだよね。>>26の人のその部分の主張は意味わからずスルーしてたけど
OOで言うところのオープンクローズドとか依存関係逆転とかの原則をわざと
無視しない限りそんなスキルは要求されないと思うよ
2013/02/26(火) 07:09:53.34ID:DkFXdEid
スクリプト(脚本)にも複雑なものから単純なものまで色々あるよな。
「アクタの舞台上での動きをコーディングする」ってのが、そもそもの「脚本」の発想だよな。

>>31
>VC++ではデバッグ実行中に一時停止してコード修正して継続実行できる
どういう開発スタイルか、今一つ理解できないんだが、
アクタの行動タイミングってのは、レベルデザインでは非常に重要な要素だと思うんだが、
行動タイミングをいじったら、その局面を最初からテストプレイしないと、
つまり実行し直さないと、
行動タイミングが最適化されているかどうかを確認できないんじゃないか?
2013/02/26(火) 07:52:10.98ID:GJO8cvl3
>>38
並列処理の必要な敵や敵弾の動作、マップ上でのオブジェクトの配置でスクリプト使ってるんだけど、
これをマルチスレッドでやろうとしたら大変な作業になった事がね。

スレッドの処理は基本的に頻繁に強制停止&強制終了出来ないし、
同期で手を抜いたら同じ変数に複数の処理が同時にアクセスしただけでアウトだったし、
あんまり良い記憶は無いな。
2013/02/26(火) 08:18:23.95ID:GJO8cvl3
>>38
CやC++は関数型言語だからな
必ず上から下の順番で処理されるわけじゃないだろ
2013/02/26(火) 08:45:56.49ID:ZO3czmm8
いわゆる継続が分かってないんだな
2013/02/26(火) 11:23:18.83ID:IZ6xhKQG
>>46
言いたい事はなんとなくESPで分かるけど、C/C++は手続き型だと思うよ・・・
2013/02/26(火) 17:09:44.72ID:kLR9mGyc
うむ。
C/C++は思いっきり後方参照できない言語だ。
2013/02/26(火) 22:17:28.15ID:IZ6xhKQG
>>44
あ、ごめん。誤解されてそうなので補足すると
継続実行云々の話は、スクリプト使わないとビルド時間ガーに対して、一例として
エディットコンティニュー機能とかあるんだよー(ドヤァ って説明しても、それが
何なのか分かってもらえなかったので、その機能を噛み砕いて説明しなおしたんだ

ゲームワールド内の時間を巻き戻す仕組みとはまた別の話だよ。指定した時間に
戻れる仕組みがなければそれは不便だと思うよ。もちろんそれは同意だよ。
で、大抵はゲーム途中のスナップショットを取ってたりユーザー入力みたいな
外乱要素を記録しとくよね。

ステージ開始点でもスナップショットを撮った時点でも何でも構わないけど
初期値が揃ってる時点を選んできて、そこをシミュレーション開始点にして
記録しといたユーザー入力情報使って数値積分していけば、その後の任意の
時間のゲームワールド状態を再構築できるよね。もちろん修正内容次第では
コケるから多少の工夫は必要だけど

シミュレーション部のみ全速力で計算し直すから時間ステップ数が多少増えても
計算リソースを余らしてる軽いゲームなら瞬きしてる間に計算は終わるよ
2013/02/26(火) 22:50:45.90ID:IZ6xhKQG
>>45
そうなんだ
というか、そういう微細な粒度の並列化っていうのは計算リソースをギリギリまで
使い倒さなきゃならないような過酷な要求がなければ基本避けると思うんだけど
もし仮にそんな追い詰められてる状況なら、細粒度タスクを高効率で計算リソースに
充填できることをウリにしてる既成のフレームワークを採り入れる選択肢だって
あると思うんだよね

個人的には、必要がなければこういうのはやらないに越したことないと思ってるよ
2013/02/27(水) 08:14:49.06ID:NPH6xvS3
>>51
マルチタスクをいかにして実現するか?に話が移ってきたな

自分の場合は、始めは関数ポインタを使って実装していた
が、これだと上から下に処理が読めないし、ループを実装する度に構造体に変数を追加しなきゃいけないし、
条件分岐を入れると分かりにくくなるし、関数名は考えなきゃいけないし
で非常に面倒だったんだよな
デバッグの度にどの関数に跳ぶかも変わるからエラーの原因を突き止めるのも一苦労だったし

で、色々やってみてスクリプトに移った。
2013/02/27(水) 22:37:56.37ID:AbSJF1pN
たぶん>>17の中の人であってるのかな?

なんか「コルーチンって便利だよね」というような話だと思うんだけど違うのかな?
フレームを跨ぐ一連の手続きを(適当な所でyield文で区切りながら)ズラズラ
書ければ便利だよねーって話については同感だよ
2013/02/28(木) 10:24:02.08ID:wDqVc8up
コルーチンって言うんだ。なるほど。
本に載ってなかったからなぁ……
2013/02/28(木) 19:30:44.24ID:kCDasCKU
コルーチン、ファイバー、グリーンスレッド、タスクシステム
呼び方はいろいろだけど最近のスクリプト言語ならだいたい入ってる機能だな
2013/02/28(木) 19:43:18.41ID:KZb5Abui
異物を後挿する性的嗜好
2013/02/28(木) 20:21:36.47ID:Peauy+uR
C#でも簡単にできるよね > コルーチン
2013/02/28(木) 22:55:59.64ID:En+IfUxx
でも実はあまり使わなかったりする
2013/03/03(日) 19:43:56.28ID:PuHW5bxl
C#のコルーチンって、リセットする方法がよく分からん
2013/03/03(日) 23:20:32.38ID:jxpQBdyk
普通に未実装
2013/03/04(月) 07:11:37.09ID:ovGrk0h4
仮想マシンを初期化出来ないとゲームでは扱いづらいな、コルーチンって
2013/03/04(月) 07:35:30.14ID:ovGrk0h4
まあ、大概のスクリプトでは初期化出来るけどな
2013/03/09(土) 20:37:17.21ID:PTnmfIu0
つまり車輪の再開発するぐらいなら既存のスクリプトをつかえと?
いいじゃん別に、使い慣れたツールを好きに使えば。
2013/03/09(土) 20:54:17.31ID:ddtmCFyq
こうして似たようなツールが増殖するわけだ
公開されてないスクリプトとか含めると、どのくらいあるんだろうな〜
2013/03/09(土) 23:14:07.78ID:urR3/HGo
気にすることか?
2013/03/10(日) 12:42:17.00ID:dGQNv4sf
どんな記述で書いてるかが気になるんだよな
Schemeみたいなので描いてる人とかいるかもしれないじゃん
とはいえ、PythonとかRuby、Lua、Squirrelすら、実は使った事は無いわけだが……
何がオススメなんだろ?
2013/03/11(月) 19:10:51.99ID:V/xe+I4g
ABAさんが話題的にタイムリーなものを発表?してたので貼り
ttp://abagames.sakura.ne.jp/stgl/
2013/03/13(水) 19:31:55.26ID:+2hVYdf0
ハックシッ、ヘーックシッ(花粉症)
2013/03/13(水) 23:57:33.26ID:+zEjVBSJ
PAUSEを切って、ブラーを切って、パーティクルを控えめにして遊びながら弄ってるだけなんだけど
Haxeのコードって読みやすいなぁ。ActionScriptの書き方はもうすっかり忘れちゃってたけど
すぐに馴染めたよ。で、STGLに馴染むほうに手間取ってる有様
2013/03/14(木) 01:35:25.23ID:meuD2otF
Notifyのあたりがよくわからんかった・・・
2013/03/17(日) 00:38:19.45ID:P4QF61hy
リプレイずれ直らなくてモチベだだ下がり・・・
2013/03/17(日) 09:10:26.82ID:9586QbU6
@キー入力を保存・再生できてるつもりが凡ミスしてて実はできてなかった
AΔt可変なのに保存・再生してなかった(してたつもりが凡ミスで実は)
B乱数生成器のseed値を設定してなかった(してたつもりが凡ミスで実は)
C中性子線量の異常に伴うソフトエラーと意欲の減退
2013/03/17(日) 12:58:00.28ID:9586QbU6
>>70
自分もはじめ混乱してソース眺めてた。関数呼び出しの親子関係が
そのまんまアクターの親子関係ってことに気づくまでは、ギギギギ
これ待たせてる相手って誰よ何よどこよ状態だた

日記のほうに「1関数 = 1アクター」「関数呼び出し=アクターの生成」
とか色々解説があったので、そっち読んだほうが良さげ
http://d.hatena.ne.jp/ABA/20130313
2013/04/29(月) 07:32:56.51ID:TBVUoLaw
地上物との衝突判定なんだけど
スターフォースはチップ単位で判定してるのは何となくわかる
だけどゼビウスのようにランダムに配置している場合はどうすればいい?
2013/04/29(月) 18:08:11.15ID:PRms3FTp
アケ版ゼビウスの地形、あー見えて8x8ドットのタイル(マップチップ)を
格子状に並べてるんだよね

でも今様のハードウェアならタイルもBGもOBJもへったくれもないんだし
計算資源も使い切れないほど潤沢に用意されてるんだし、好きなようにやれよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況