08/06/23 22:33:39 FfEyNKqI
まぁどっちでもいいや
現場では擬似タスクは全く聞いたことないし、タスクにしたって
使わなくなってずいぶんと久しい。ほぼ廃れた言葉といっていい
いまどきタスクシステムなんて単語を駆使してるのは
一部の懐古趣味野郎とかマムコ信者くらいだ。いずれにしろ老害。
痛い素人の真似するのが本望でないならもっとかっこいい言い方を
模索するべきだろう。ゲームエンジンとかオートマトンエンジンとか
600:名前は開発中のものです。
08/06/23 22:54:42 ij0TulEQ
めんどくさいからタスクシステム、擬似~~でも良くね?
601:名前は開発中のものです。
08/06/23 22:57:43 PFSFGR1E
ケチを付けるのが目的だから細かい名称なんてどうでもいいのさ。
602:名前は開発中のものです。
08/06/23 23:00:02 9mnpmN5C
>>600
いやゲームエンジンだとか、商業的になるとミドルウェアという言葉で片付く。
擬似タスクシステムってやっぱり古い時代の名残だよ。
マイコンなんかで使う用語が規模も似たようなゲームマシン時代に
当てはめて生み出した造語
603:名前は開発中のものです。
08/06/23 23:25:21 HdAQdXjX
描画順はともかく、固定長配列じゃオブジェクトの追加に時間がかかるだろう
毎回走査して空きを探すのか?
富豪的に見えて、面倒なだけじゃね?
604:名前は開発中のものです。
08/06/23 23:31:51 9mnpmN5C
>>603
いやだから固定長配列だって、リストにすればOKだよ。
でもテストして最大値を割り出しておかないとだめだけどね。
605:名前は開発中のものです。
08/06/23 23:37:50 HdAQdXjX
待って、俺が誤解していない場合、
やっぱりオブジェクトを追加するときに、
空きを探して配列を走査する必要がないか?
606:名前は開発中のものです。
08/06/23 23:40:03 uMAOIcwL
>>603-604
富豪厨召喚呪文が唱えられたようなのでム板からカッ飛んできた
配列厨と罵倒されることもあるけど私は元気です
さて、>>591のおじさまが言ってる配列による順序無しリストってのはたぶん
要素削除時に最後の要素をそこに移動&上書きするものだと思うよ
順序がメチャクチャになるけど条件が許すなら大丈夫だよね
アルファブレンドなしの2D弾幕ならZ値で上下関係は保てるしね
607:名前は開発中のものです。
08/06/23 23:46:37 9mnpmN5C
>>605
配列でオブジェクトを8コ取ったとするよね
これには当然リストを構築するためのポインタも入ってるとする。
配列 □□□□□□□□
で、ゲームを起動した際に初期化処理として
使用中リスト NULL
未使用リスト □->□->□->□->□->□->□->□->NULL
こうやって置く。
あとは関数でも用意してオブジェクトを追加したければ
使用中リスト □->NULL
未使用リスト □->□->□->□->□->□->□->NULL
使用中リスト □->□->NULL
未使用リスト □->□->□->□->□->□->NULL
・・・・
使用中リスト □->□->□->□->□->□->□->□->NULL
未使用リスト NULL
使わなくなればまた未使用リストへつなげばいい。
malloc freeのコストはないけど配列で確保した個数以上は管理できない。
608:名前は開発中のものです。
08/06/23 23:49:54 uMAOIcwL
ところで富豪厨はシモジモの日々の苦しいやりくりとは無縁なので
タスクシステムとかの貧民的なアプローチに興味ないのですが
このあいだ「タスクも知らないの?プギャー」と貧乏人に煽られたので
ちょっとシメてやろうと思ってタスクスレを開いたら既にタスク派が
盛大に虐殺されていました
あまりの恐ろしい光景に震えあがってム板に帰りました
609:名前は開発中のものです。
08/06/23 23:51:54 5JyA6mIk
>>605
空きの部分も線形リストで結んで管理するのが
データ構造では一般的じゃなかったかなあ
610:名前は開発中のものです。
08/06/23 23:52:07 HdAQdXjX
>>607
OK理解した
要するにメモリプールに固定長配列を使ってるわけね
って>>577が既に書いてたし
物覚え悪くてスマソ
>>606
コピーのコスト(ry
これぞ富豪
611:名前は開発中のものです。
08/06/23 23:58:11 xReDDG2i
隔離スレあるんだからタスクシステムそのものについてはそっちでやってくれ
612:名前は開発中のものです。
08/06/24 00:29:33 oNKHrkss
むしろ隔離スレから出てくるというゲハ板→ニュー速現象が・・・
こういう全体の設計って結局は人それぞれだから、あんまり2ch向けの話題じゃないな
しかしレスから見るにDSとかPSP辺りで作ってるのかな?
613:名前は開発中のものです。
08/06/24 00:31:28 PrpKabUz
>>612
今となったらオブジェクトの管理メモリより
素材の方がメモリ食うんだけどね・・・
614:名前は開発中のものです。
08/06/24 00:31:35 NcdiOwFI
>>610
富豪厨は厨なのでパフォーマンスとか興味ないんだけど
たまには庶民の期待に応えるためにベンチとり遊びもしてたよ
弾はサイズ小さい(弾種、座標、速度、深度とかで24Bytesくらい)から
削除時のコストは24バイトのブロック転送に過ぎないよ
弾アップデートのための巡回はただのリニアアクセスだから楽だよ
2000発の弾をランダムに飛ばしたり生成削除するテストしたときは
boost::simple_segregated_storageとの速度競争で勝利を収めたよ
ところでboost::simple_segregated_storageの中身って>>607のそれと
よく似ていたんだけど、これは使用中リストから外して未使用リストに
繋げるとき(またはその逆のとき)ポインタ書き換えは何回発生する?
それと弾アップデートのための巡回は隣接要素のポインタ経由の
ランダムアクセスになるよね
まぁ富豪厨にとっては瑣末な問題なので普通に弾一個一個で
malloc/freeしてたけど
615:名前は開発中のものです。
08/06/24 01:01:38 R7H+ft0X
>>565
スレありがと。仕事で死んでたんで見れなかったんで。
参考になりますです。
616:名前は開発中のものです。
08/06/24 01:06:33 BbGOZBxw
>>603
富豪的に見えるかもしれないが、いまどきのPCはリストをポインタ辿って
走査するよりも配列を順走査する方が同じ要素数なら1.5倍くらい速いよ。
追加のコストが増えても、その他の処理で十分ペイできる。
617:名前は開発中のものです。
08/06/24 01:12:19 4FqnTxUJ
シューティングゲームに必要な要素数(せいぜい2000以下)だと、確かにそうなるかも
どどんぱちの裏ステージ的な状況だとどうか知らんがw
618:名前は開発中のものです。
08/06/24 03:41:05 3USBYfmM
>>617
>>591、>>606、>>614の言ってる配列コンテナの使い方は
削除処理=削除対象の要素を最後の要素で上書きするだけ。O(1)時間。
当然虫食いはないので要素追加時も空き要素検索は必要ない。O(1)時間。
これらの処理時間は要素数に関わらず常に一定。ただ要素サイズに比例する。
あと最大の欠点は削除・追加を繰り返すことで要素巡回順が不定になること。
だから「順序なしのリスト」なのね
これが問題にならないケースで使えばいい
619:名前は開発中のものです。
08/06/24 05:39:53 2pkhJQN/
固定配列にこだわって富豪ってのもなんだかな。
俺は大富豪なので弾幕シューでも容赦なくnew/deleteするが。
620:名前は開発中のものです。
08/06/24 07:38:39 sTkkjGQB
>まぁ富豪厨にとっては瑣末な問題なので普通に弾一個一個で
>malloc/freeしてたけど
621:名前は開発中のものです。
08/06/24 09:34:14 wbqG7Qtf
>>603
シューティングでは最初に発射された弾が最初に画面外に出て消滅(FIFO)するような気がするので、
空きオブジェクトをリストで管理しなくても、キュー(リングバッファ?)っぽく管理してもいいかなと思って、
最期に取得したオブジェクトの位置を保存してみたりして
試している今日このごろ。
622:名前は開発中のものです。
08/06/24 10:38:43 LBFcTyab
>621
Before----------------------------------------
Σ三> - -
敵
After----------------------------------------
Σ三> - 敵 -
↑
623:名前は開発中のものです。
08/06/24 10:46:15 7sGdPDL+
>>622に言おうとしたことかかれたw
敵とか地形が邪魔をしないゲーム(と呼べるのか?)であれば
>>621の言うようにFIFOでも成り立つがゲームらしくすると
敵もしくは地形で後に発射した弾が消滅する可能性だってある。
貫通弾にすればいいというかもしれないがやっぱり
動的にオブジェクトが増えたり減ったりする場合は
リストが向いてる
624:名前は開発中のものです。
08/06/24 12:47:57 wbqG7Qtf
>>622と>>623のやさしさに泣いた。
そこで、対策としてとりあえず、配列の大きさを十分に大きくしておくことと、
使用中のオブジェクトに関しては、「使用中です」フラグをつけて、スキップしようと思うんだ。
配列さえ十分な大きさがあれば、
配列を一周するまでにきっと最初に撃った弾も画面外に出て消滅してるはずってことで
625:名前は開発中のものです。
08/06/24 13:47:19 S5i4Hl5N
どっかで
class hoge{
int x;
int y;
char[256];
}
のcharがフリー領域として使えるとかあったが、どういう仕組みなんだ?
626:名前は開発中のものです。
08/06/24 15:14:33 cUcYhgYN
sizeof(char*256)バイト分確保しとくから好きな型にキャストして使えってことじゃないの?
んでも、C++でわざわざこんな方法するかね?
もっと別に良い方法があると思うけど。
よくわからん。
627:名前は開発中のものです。
08/06/24 15:35:22 3yXq89ZE
Cではそんな組み方してたみたいね
628:名前は開発中のものです。
08/06/24 18:47:38 nk5lzdPA
placement new用にメモリをプールするためにchar型の配列使ってる教本があったな
素直にnewしたいオブジェクトの配列にしろよ、と
629:名前は開発中のものです。
08/06/24 19:14:29 YG9wxXVw
東方も順番だけ記録して固定長配列でやってそう
最後尾まで行くと最初に戻って描画順序狂ってる時があるし
cave系はlistっぽいけど
普通の2D弾幕系STGなんてどっちで実装しても問題なしじゃね?
630:名前は開発中のものです。
08/06/24 19:39:33 cSyjiEYz
ぶっちゃけ最近のPCのスペックならどっちでも余裕だろうな
631:名前は開発中のものです。
08/06/24 19:40:35 ueXZ64IW
ブルーセイバーズやテイルズギアのところはBASICで作ってるらしいけど
どうやってオブジェクトを管理してるのか気になる
632:名前は開発中のものです。
08/06/24 21:26:33 pF7sIXlF
みんなで一緒に富豪厨になろうぜ。
633:名前は開発中のものです。
08/06/24 22:07:45 NcdiOwFI
>>631
富豪厨でなおかつ玉葱狂信者なのでLGPはよく知らないんだけど
マニュアルを流し読みした感じでは配列使ってやりくりする以外の手がないような。
配列の添え字(番号)を使って連結リストとか
3Dのアニメーション用にフレーム(座標系)の親子関係があるみたいだけど
姿勢と座標を自動変更(線形的なアニメーション)するためだけのもので
ユーザー定義の変数を入れ込んだりユーザー定義関数を登録して
ゲーム独自の処理をかませるようなことはできないくさい
634:名前は開発中のものです。
08/06/25 01:48:12 yLL8mfYi
ゲームとして面白ければ富豪厨だろうがなんだろうが関係ないぜ、
と言いつつ結構細かいプログラムに拘ってしまう俺降臨
無駄な処理を削って云々とかよりも、はやく体験版を出して色んな人から意見を貰った方がためになるのに…orz
635:名前は開発中のものです。
08/06/25 02:15:01 ZT5O8Vsq
公開してから「フリゲ≒軽くて当たり前」信者の対応がタルくなるけどな!
636:名前は開発中のものです。
08/06/25 09:39:54 EtCnEfpl
>>629
それってステージで描画されるすべてのオブジェクトを前もって生成して
あとは順番に描画だけしてるってこと?
637:名前は開発中のものです。
08/06/25 10:11:08 HqBe87x9
東方はやったことないんで推測だけ。
>636
固定長配列を前から見て、「空席があったらそこに座る」ってことじゃないかと。
638:名前は開発中のものです。
08/06/25 12:59:07 pCORKo/h
>>634
よう俺
最近はアイデアが浮かばないから無意識のうちにギミックに凝ってしまうのだと気づいた。
勇気を出して前に進むのも必要だと思うぜ。
639:名前は開発中のものです。
08/06/26 16:22:49 VGgrpFAu
ygs2000を使って縦スクロールSTG作ってるんですが、
インポートライブラリのatan2(y,x)の戻り値が、0から65536になっているんですよ。
どうすれば、戻り値を0から360度の範囲に変換できますか?
640:名前は開発中のものです。
08/06/26 16:51:15 RTbJUwyD
ygsは知らんけど、65536 == 360度として考えるなら
int deg = atan2(y,x) / (65536/360);
641:名前は開発中のものです。
08/06/26 17:06:38 7XWLzTd8
元がどう見てもintなんだから、360掛けてから65536で割る方がいいだろう。
642:名前は開発中のものです。
08/06/26 17:08:05 mOejCOBQ
俺なら
* 360 / 65536
とするけど。
って書こうとしたら既にかかれてたw
643:名前は開発中のものです。
08/06/26 17:08:39 Im8BFapF
>>639
勝手な予想なんだが、それ角度が360度 = 2π(rad)を超えても気にせず計算できるようになってるんじゃね??
大抵の三角関数はラジアンで実装してるだろうから。
違ってたらすまん。
644:名前は開発中のものです。
08/06/26 17:11:19 Im8BFapF
と思ったけどすごく見当違いですね、なかったことに。
645:名前は開発中のものです。
08/06/26 23:03:08 a/ZP+zQY
>>639
Selene?
むしろ、ゲーム自体を65536度にあわせて設計したほうがいいかもしれない
646:名前は開発中のものです。
08/06/28 15:07:32 nt11KuRN
おまいら話ズレすぎだろw
647:名前は開発中のものです。
08/07/01 01:37:53 9uZftGEH
横シューの背景ってどうしてますか?
648:名前は開発中のものです。
08/07/01 01:45:16 aWjEECAh
横にスクロールさせてます。
649:名前は開発中のものです。
08/07/01 02:32:17 PQIEP/fX
お前頭いいな
650:アジェグ4倍 ◆4xAJeG.COM
08/07/01 10:15:19 1U0sNwre
もう決着ついてるかもしれんが、配列の空き走査なんて、
描画の処理時間に比べれば、微々微々たるもんだよ。
ループ中にnew/deleteする方が非効率だと思うけどね。
651:名前は開発中のものです。
08/07/01 15:19:14 QwYE1J0X
いまさらすぎて噴いた
652:名前は開発中のものです。
08/07/01 16:24:12 /457mXHb
空席を見つけて適当に座る、って言って通じるもんだろうか?
653:名前は開発中のものです。
08/07/01 17:20:02 XbvaRuwU
つか何この空気コテ
654:名前は開発中のものです。
08/07/01 21:08:59 wExkfdnX
トリップでググれば哀愁漂うLinux板の糞コテ
655:名前は開発中のものです。
08/07/01 23:42:16 Ya9L5X18
>>647
シューティングツクール的な発想でいくなら、16x16(ピクセル)のタイルを画面一杯に敷き詰めてた。
あれ、32だっけ?
656:名前は開発中のものです。
08/07/02 00:02:49 DI24ohjW
む?
俺は普通にそうしてるけど、シューティングツクール的発想以外だと違うの?
657:名前は開発中のものです。
08/07/02 00:08:16 gdApJWkY
画面サイズと同じくらいのテクスチャをくるくる回して、
その上に当たり判定のないオブジェクト配置してるけど
658:名前は開発中のものです。
08/07/02 00:25:19 GT+Oyjsr
インベーダーやミサイルコマンドのように、そもそも背景が動かないというのも一つの選択肢だな。
659:名前は開発中のものです。
08/07/02 01:07:49 GdeAeksN
最近の個人製作なんかでよく見る、雲模様みたいな画像を
加算、乗算処理なんかしつつ流していく手法も結構面白い。
660:名前は開発中のものです。
08/07/02 01:23:47 rkPq3Fgi
>>656
ずっと前に見たどこかのエロゲ会社が無料で配布してたやつは
画面と同じ大きさのbmpが10枚くらい入ってたよ。
661:名前は開発中のものです。
08/07/02 02:53:17 Z7PtKJGp
テクスチャを使うゲームの場合、
画面サイズだと正方形じゃないから無駄にVRAM食うのが気になって、
サイズ一つ下(512x512)のテクスチャをフィットするように拡大して使っている貧乏性な俺。
662:アジェグ4倍 ◆4xAJeG.COM
08/07/02 07:49:09 VoUGDrkh
レイヤーのビットマップを設けて、
表示する際の座標をずらせばいいんじゃあ?
663:656
08/07/02 21:04:37 OZmBfWcb
皆の言葉を信じて、背景の描画方法を
16×16のマップチップを敷き詰める方法から、
一画面~四画面分の画像をベタ表示する方法へ変更してみた。
なんかリプレイ時の早送り動作が軽くなった。
664:名前は開発中のものです。
08/07/02 21:21:58 GT+Oyjsr
リプレイ機能ついてるのか。
人気あるのかな。リプレイ機能って。
665:名前は開発中のものです。
08/07/02 21:29:29 giqVUVjy
初めてリプレイ機能を実装したときは感動した。
666:名前は開発中のものです。
08/07/02 21:31:38 lS1P7Ldh
今時ないほうが珍しいな
デモ見せるにしても必要だし
667:名前は開発中のものです。
08/07/02 22:20:06 OZmBfWcb
>>665
俺もw
リプレイ機能自体は早々に作ってたんだけどうまく再生しなくて長い間放置ぎみだったけど、
結局初期化されてない項目があった事に気づいて、ちゃんと動くようになった時は感動した。
リプレイ実装のおかげで、デモの実装も実現したし、デバッグにも役立つようになったw
(テストプレイで、キャラが想定外の動きをした時、リプレイを取っておいて
修正後にリプレイを実行して、ちゃんと直ってるか確認する)
668:名前は開発中のものです。
08/07/02 23:08:12 surY1LL8
>665
俺も俺も!
その時はリプレイをどうやって実装すればいいかも分からなくて適当だったけどなw
(ちなみに全ての入力を保存すると言う、よくある方法だった)
そのリプレイ処理のおかげで、だいたい1日でポインタやファイル読み書き、ビットフィールドの操作とか覚えられたし。
人間、必要だと思ったらすんなりと頭に入るんだなあと思ったよ。
逆に、他人がポインタで詰まってても教えられないという欠点はあるがw
669:名前は開発中のものです。
08/07/03 07:40:20 qi9huYH9
非ポインタとポインタは一言で言えば、
変数の中身を取り出す時に、値をじかに取り出すのか、それとも住所を取り出すか。じゃね?
ポインタは住所をやり取りする、と。
リプレイはまだ実装した事無いなー。今度実装してみよう。
670:名前は開発中のものです。
08/07/03 08:37:45 Yl0JVKtk
キー入力保持のリプレイを他のマシンに持っていくとうまく動かないことがあるんだよな。
浮動小数点の計算誤差が若干違ったりするからだと思うけど・・・
671:名前は開発中のものです。
08/07/03 09:10:54 DTx5b/+j
INTELとAMDのメジャーなCPU(要するにIA32互換のやつ)しかサポートしてない俺は
とりあえず
・ゲームの進行に直接作用する計算は全てFPU(x87互換のやつ)に任せる
・_controlfpとか使って計算精度等をきちんと指定する。
これで上手くいってる
FPUバグ持ちクラシックペンティアムとかもう骨董品だから無視してる
672:名前は開発中のものです。
08/07/03 10:08:43 FVj30rAO
>>670
URLリンク(www.01step.net)
673:名前は開発中のものです。
08/07/03 16:33:12 gwFP/f3L
>669
似たような説明はしたことがあるが、通じてるかどうかが怪しいw
674:名前は開発中のものです。
08/07/04 00:41:50 lh91Gh1r
XMLでシューティングゲームを記述できるエンジンを作ってるんだが、
敵の動きを高度にプログラムできるようにしようとすると、
結局ソースで実現した方が良いじゃないかという気がして、何だか悲しい。
Flexみたく、XMLの中にプログラム(or スクリプト)書きはじめるような仕様を作ったが最後、
100%エターなる。
675:名前は開発中のものです。
08/07/04 00:51:01 XLyUbCLu
XMLてのはデータの構造を記述するためのものだろ
それでロジックを表現しようとするのがそもそも間違いだと思うが・・・
そのXMLによるシューティングゲーム作成にはどんな利点があるんだ?
676:名前は開発中のものです。
08/07/04 01:09:13 qYh8NvWd
動作ロジックはハードコーディングして、配置や個体パラメータを
XMLデータで指定するだけでもいいんじゃね?俺がやってる方法だけど。
677:名前は開発中のものです。
08/07/04 01:11:47 XLyUbCLu
敵の出現タイミングとか位置だけ外部ファイルで定義するようなもんか
それだったらXMLの方が見やすいかもな
エンジンとして公開するならハードコーディングの部分にかなりの工夫とバリエーションが必要だな
678:名前は開発中のものです。
08/07/04 01:42:15 lh91Gh1r
最初は、スクリプトでシューティング作れたら、楽かなあなんて思って始めたんだけど、
XMLだと、最初から読み込んで解析してくれるライブラリがあったから、使ってみた。
ちなみに、某シューティングツクールのように
「自機に向かって移動」「移動」「弾発射」「敵発射」「なにもしない」「自爆」
で敵の動きが完結するなら、
敵の動作ロジックも全てXMLで記述できる。
679:名前は開発中のものです。
08/07/04 02:21:14 fzMGN+kp
>>674
XMLじゃないがスクリプトでシューティングのオブジェクト配置したり
するのならすでに弾幕風とかあるぞ。
680:名前は開発中のものです。
08/07/04 11:57:57 /8DfK8rI
技術的な会話しているところに、空気を読まず質問
縦スクロールSTGで、アイテムを放出する味方機を出そうと思っているのですが
なんかぱっと見て敵機にしか見えなくて困っています。(普通に避けてしまう)
見るからに味方機として出現させるために、何か良い方法はないでしょうか?
681:名前は開発中のものです。
08/07/04 12:01:36 fzMGN+kp
>>680
・軽めのカットインとかメッセージを表示して見方機が来たよをかもし出す
・東方のボス戦の場合は画面下にボスのx座標がわかるようになってるがああいったマーカーを出してあげる。
で、説明書に書いておけばOK?
682:名前は開発中のものです。
08/07/04 12:43:58 dKlhKsZq
>>680
その味方機が敵の弾を喰らうとか
683:名前は開発中のものです。
08/07/04 12:54:34 lh91Gh1r
味方機と自機のカラーを統一するとか。
684:名前は開発中のものです。
08/07/04 12:54:40 7DWi7vho
>>674
てゆかbulletMLあるよなぁ
674のも使ってみたいが。
685:名前は開発中のものです。
08/07/04 14:23:05 9J7xybES
>>680
・敵のカラーとは明らかに違う、目立つ明るい色にする。
・デザインの系統を敵とは一目見て違うようにする。
(敵が直線っぽいデザインなら、曲線ぽいデザインに、敵が生物っぽいなら、メカっぽいデザインに)
・自機と同じ形、同じような色にする。
・明るい色で縁取りするとか、とにかく他のキャラや背景と比べて「浮く」ようにする。
686:名前は開発中のものです。
08/07/04 15:45:01 eL1SAVRC
動き方でも差別化をはかりたいね
小型なのにゆっくり現れて消えていくとか
687:名前は開発中のものです。
08/07/04 18:25:06 qjrvpm0l
機体に「味方」って書いておけ
ってのは冗談だが、自軍のエンブレム的なものを作っておいて、
それとわかるように機体に表示しておくのも手だな
688:名前は開発中のものです。
08/07/04 20:19:03 oittVPD9
救急車が飛んでくるしかあるまい
689:名前は開発中のものです。
08/07/04 20:24:11 fzMGN+kp
ちょwそれBeeメイツ
690:名前は開発中のものです。
08/07/04 21:07:37 juhuhHaO
ツインビーも救急車だったような・・・
691:680
08/07/04 23:27:30 JgmzXrxe
多くのレス、ありがとうございます!
絵の素材にフリー素材を使用しているため、
デザインの系統分けをしたり
エンブレムを書くのは難しいものがありますが
(雰囲気的な意味でも、救急車も厳しいです)
縁取りや、色の統一、カットインでの表示
なんらかの味方軍に統一の記号をつける
敵の弾を食らうなどの演出は、実装できそうなので、試してみることにします
本当にありがとうございました!
692:名前は開発中のものです。
08/07/04 23:39:04 XLyUbCLu
質問者が納得したうえに話の腰を折るが
製作者が気にするほどプレイヤーは見た目にこだわってないし
慣れてしまえば気にならない
だからよっぽどややこしいデザインでなければ結構適当でも大丈夫
693:名前は開発中のものです。
08/07/05 02:08:08 OY2NBo76
こちらも流れに乗って技術的じゃない質問を一つ。
ショットタイプについてなんですが、
ショットボタン長押しで低速移動&ショット変化ってのと
ショットとショット変更のボタンが別になっているのがあるじゃないですか。
あれってどちらが一般的なんでしょう?
最近は長押しで変化するのが多く見られる気がするんですよね。
でも昔はチェンジするボタンがあったし・・・。
ボタン配置は長押しで変化するタイプは
①ショット ②ボム等 ③フルオート
チェンジするボタンのついてるものは
①ショット ②ショットチェンジ ③ボム
こんな感じなんでしょうかね。
オプションで好みで変えられるようにすればいいじゃないって言われればそうなんですが気になったので・・・。
694:名前は開発中のものです。
08/07/05 02:23:37 yT3V8RBn
>>693
メインウェポンのパワーアップアイテムが一定時間で種類が切り替わるようにしとけ.
ウェポンチェンジしたくなったらその色のアイテムをとる,と.
695:名前は開発中のものです。
08/07/05 03:05:34 +VTXj324
>>693
銀銃みたいにボタンの組み合わせという手もある
696:名前は開発中のものです。
08/07/05 04:13:01 wbV3lwSQ
ショット変更ボタン式は、
自機の現在の武装を記憶して、目的の武装に切り替えるには何回変更ボタン押さないといけないか、
を常に考えないといけなくて煩わしく感じる。
武器別にボタン用意するか銀銃式にする方が手順を省略できてやりやすい。
697:名前は開発中のものです。
08/07/05 04:35:56 OY2NBo76
>>694
アイテムでチェンジかぁ。
怒首領蜂みたいに最初からタイプを決める形式でやってるんで
通常時と低速時の変更をどうするかで悩んでるんですよ・・・。
アイテムはパワーアップか、ハイパーみたいな感じになるかも知れないです。
>>695
ボタンの組み合わせって事は何種類か武装があるって事ですよね?
今つくってるのはそこまでバリエーションを持たせる予定がないんです。
とりあえず今は機体2種類とビット3種類で全6種類の組み合わせができるようにしてあります。
機体α:高速移動集中攻撃型(ビット可動範囲が狭い)
機体β:低速移動拡散攻撃型(ビット可動範囲が広い)
ビットA:機体の前で左右に振れながら前方に攻撃。
ビットB:移動した方向に攻撃が傾く。
ビットC:前方の一番近い敵を狙う。
ちなみに通常時はメインショットオンリーで低速時(変更時)にビット展開になってます。
698:名前は開発中のものです。
08/07/05 08:13:53 BRmlyj+Z
高速/低速の切り替えと武器が連動しているのなら
怒首領蜂式がなじみは深いな
699:名前は開発中のものです。
08/07/05 08:25:07 bJc5CaWq
ゲーム性&操作感と連動するべきだろう
即座に武器を切り替えさせる必要があるゲームなら長押しは向かないってだけ
蜂は強いレーザーで押し込むゲーム性と、ボタンを押し込む動作が非常にマッチした
心地いい操作感だよなぁ
700:名前は開発中のものです。
08/07/05 19:23:58 Def2so2E
そういえば少し前にリプレイに関する実装があったけど、その前段階として入力情報をどう管理してる?
ゲームパッドも管理するのでDirectInputを使うのが一番楽っぽいのでそれを想定して。
・DirectInputを使用して、KeyboardStateやJoystickStateを直接使用する。
・予めキーコンフィグ情報に応じてbool配列を吐き出す様な仕組みを作っておき、bool配列を読み取る。
後者だとリプレイ再生のさい、乱数情報とbool配列を保持していけば良いだけだから実用的かな?
701:名前は開発中のものです。
08/07/05 19:29:38 kss7FKxc
リプレイやキーコンフィグ機能があるかどうか関係なく後者
702:名前は開発中のものです。
08/07/05 23:06:46 jZ262oYg
弾幕風とBulletMLに泣いた。
こいつらに太刀打するには、もっと他の利点を押し出さなきゃな。
XMLスキーマとXSLT書いて、WEBブラウザでゲームの仕様が閲覧できるとかw
703:名前は開発中のものです。
08/07/06 01:10:01 KV5s28Rv
>>696 >>698 >>699
今のところプレイ中のショットタイプは2種類だけで、瞬時に変える必要もないので怒首領蜂形式でやってみますね。
アドバイスありがとうございました。
704:名前は開発中のものです。
08/07/06 21:02:59 LhJHzATs
画像しかできてないんだけどどうすればいいの
705:名前は開発中のものです。
08/07/06 22:11:01 Wq87ZP+f
十分な量の画像があるなら、素材スレかどこかで晒してみれば?
706:名前は開発中のものです。
08/07/07 08:13:49 AsUKMvOQ
>>700
ゲームパッドやキーボード、マウスといった具象データを、
ゲームに与える抽象データとしてまとめる。
リプレイ用に保存するのは抽象データ。
707:名前は開発中のものです。
08/07/07 10:49:42 e2sx0hGW
>>704
その画像が素材として使えるなら欲しいと思ってしまう
708:名前は開発中のものです。
08/07/07 11:58:08 yfAt10n7
おまえら一緒にやれやw
709:707
08/07/07 13:46:44 dJh8Ifkj
ツクール(SB)で製作してる俺は、お呼びでないような気がするから困る
710:名前は開発中のものです。
08/07/07 14:21:11 qtUGx97D
>>702
俺はとにかく高速性を求めたものをこしらえたよ
オブジェクトプール、固定小数点、バイトコード、C/Javaライクetc
しょぼいSTGなのに、見えないところに無駄に時間をかけたぜww
711:名前は開発中のものです。
08/07/07 16:31:12 AsUKMvOQ
もう弾幕には心の底から興味がないので、別のもので勝負をかける予定。冬か来年の夏な。
712:704
08/07/07 17:08:59 N4UsRXoF
>>707
URLリンク(www2.uploda.org)
一応出しておくけど十分な量がない上に
まともなのは爆発ぐらいしかない
713:名前は開発中のものです。
08/07/07 17:13:10 1fd4Wq9E
グラIIと見せかけてMSX系?
714:名前は開発中のものです。
08/07/07 17:23:24 OVkuxJVV
去年くらいから避けゲーとしての弾幕は減ってきてる気がするな。
715:名前は開発中のものです。
08/07/07 17:47:46 8OrB6Wg2
>712
これ見てるだけで、今やってる仕事を破棄してSTG作りたくなってくるな。
素材だけで。そこまでのパワーを得られる気がした。
716:名前は開発中のものです。
08/07/07 18:14:10 yfAt10n7
jpegなのは敢えてかw
まあ使う気はないがw
717:704
08/07/07 19:57:11 N4UsRXoF
>>712
ゴーファーの野望エピソード2のリメイクを作ってるんだ
718:名前は開発中のものです。
08/07/07 20:02:56 aZNnbaQ1
日本語は正しく使ってくれ。
つまり、
「ゴーファーの野望エピソード2」のリメイクを個人で遊ぶ目的で作ろうとして、
ドット絵を(トレスなのか1から作っているのか解らないが)作ってる途中。
動かす方の知識は無いままドット絵を作り続けているが、
これからどうすればいいのかわからない。
という話でいいの?
719:704
08/07/07 22:03:15 N4UsRXoF
>>718
OK
ゆとりですまん
一応シューティングゲームビルダー使ってみたけど
途中で挫折した
ある程度知識をつけてからまたここにくるよ
720:名前は開発中のものです。
08/07/08 01:12:39 /74FD1OI
まあがんばれや
721:名前は開発中のものです。
08/07/08 05:03:13 iq4s5004
エピ2を知ってる程度におっさんで今そんなんだと
もう一生かけても無理だな。残念だが。
722:名前は開発中のものです。
08/07/08 05:09:34 p1JtdrU4
開発を手伝ってもらうってのもいいと思う
まず音楽どうするんだろ、アレンジじゃなくて原曲かな
723:707
08/07/08 08:09:35 stdsNVnL
>>704
素材の出来が凄すぎて吹いた
しかし作っても公開できなさそう?
この辺の著作権がさっぱりわからん件
ともかくSBについては、SBのスレに書き込めば、いろいろわかってくるとは思います
手が入るというなら、自分で良ければ手伝いますよ
未だSBを全然使いこなしてはないですが。
724:名前は開発中のものです。
08/07/08 11:52:52 gJzpS9fO
エミュからの吸出しを加工したもんじゃ無いの
725:名前は開発中のものです。
08/07/08 18:20:45 gbythylf
そうなのか。STGほとんどやったことないから微妙に分からんことがある。
726:名前は開発中のものです。
08/07/08 18:58:53 Z1TOyIZq
どうもこちらでは初めまして
とあるスレでWiki管理をやってたものです
そこの専属をやめてこの度7/10から新しいWikiにします
URLリンク(www.erc-j.com)
STG製作のまとめWikiです
うpろだもありますので良かったら使ってください
727:名前は開発中のものです。
08/07/09 01:51:32 g3bziBg/
>>726
乙
728:名前は開発中のものです。
08/07/09 12:11:40 +WxpMWoT
URLリンク(frgm.jp) フリーソフトで面白いゲーム まとめ(新)
復活したので好きなゲームに投票してくれい。
729:名前は開発中のものです。
08/07/12 12:57:25 eramyNaF
メタルブラックの1面終了後のボーナスステージの背景の表示ってどんなアルゴリズムなんでしょうか。
2D画を3Dっぽく表示させてるんだと思うんですが、拡大縮小を駆使するんでしょうかね?
730:名前は開発中のものです。
08/07/12 13:43:35 Px1gdp4h
よく覚えてないけどラスターと拡縮だっけか
731:名前は開発中のものです。
08/07/12 17:32:14 4tnUBWbg
ちょっと製作のモチベが上がらないので
少し作ったものをうpします
以前、このスレの>>377でうpして、
いろいろ意見をいただき、出来る範囲で修正を行って続きを作りました
前回プレイされた方もそうでない方も、プレイしていただければ幸いです
良ければ感想、意見お願いします
one case
URLリンク(www.erc-j.com)
の左上にあるSTG-URLから入れるアップローダーのstg0261.lzhにうpしました。
732:名前は開発中のものです。
08/07/12 19:34:59 Px1gdp4h
>>731
とりあえず二つのモードともやってみたが、スタンダードはちょっとあっさりしすぎてないか。
でも5面6面は面白かったぞ。ここにやりたかったこと詰め込んだ感じw
最初なぜか死にまくってコンティニューしたが後半はそのまま進めてクリア。
チャレンジモードは確かに最初から難しいがこっちのが序盤から面白い。
スタンダードとチャレンジの構成をほぼ同じにして難易度調整するだけのが
スタンダードも面白くなるんじゃないかね。後方攻撃にも意味出るし。
ちなみにチャレンジはクリアできなかった。最後のシャッター地帯とか
沙羅曼蛇並に意地悪になってんのかねw
733:名前は開発中のものです。
08/07/13 20:54:08 UdfaMMKk
>>732
プレイしてくれてありがとうございます!
その優しさに泣きそうw
もともとこれはチャレンジの方だけで作っていたのですが
一面から本気すぎる
特に一面の機雷や三面の後方雑魚が鬼過ぎる
という意見を受け、
構成そのものを変える必要が生まれたため、
スタンダードがあんな感じに生まれた感じになりました。
プレイしやすさを重視させたのですが、
そればっかりが重視されてて、確かにあっさりですよね
もう少しスタンダードの調整は考えてみることにします。
難易度調整って、本当に難しい…
沙羅蔓蛇レベルのシャッターほど鬼畜にはしてないですw
そうすると自分自身がクリアーできなくなるのでw
734:名前は開発中のものです。
08/07/13 20:58:15 6QYOrVUt
>>733
>の左上にあるSTG-URLから入れるアップローダーのstg0261.lzhにうpしました。
の左上にあるSTG-UPL
だったのねw
試したかったんだけどなんのこちゃって思ってたw
735:名前は開発中のものです。
08/07/13 21:50:08 jtrnXLQN
>>733
俺もプレイさせてもらったよ。
前バージョンのスタート直後から殺る気マンマンな敵には正直マイッタ(苦笑)が、今回のは普通に楽しめた。
演出的にもおおっと思うようなところがいくつかあったし。
ただもうちょっとにぎやかにしてもいいかもね。
あと、起動にえらく時間がかかるのと、6面がなぜかスローモーションになる
(処理落ち?)のが気になる。
736:名前は開発中のものです。
08/07/14 00:26:03 G2OD2oeJ
同じくプレイ。
最初なかなか起動しないんで思わずタスクマネージャを開いたら、
メモリ消費200MB超えてて吹いた。
もしや音楽全部起動時にデコードしてないか?
737:名前は開発中のものです。
08/07/14 00:36:05 IyRi5N7H
確かに起動に時間かかったねw
何か一気に読み込んでそう
738:名前は開発中のものです。
08/07/14 08:04:57 nEyGaefz
プレイありがとうです!
>>734
なんかわかりづらい書き方してて、すまんかったw
国語ちょっと勉強し直してくる
>>735
全体的に地味なのは確かに
最低限、自機ショットは派手にしてみようとは思っていますw
製作して初めて、既存のSTGの爽快感の良さに気づけた件
>>735-737
起動時やたら重たいのは、自分自身でも気になっていたところ
問題点を調べてみます
うっかりループとかしてそうで怖い
プログラム部分は他の有志が作ってるものなので
>>736の言うようにデコードしてるのかどうかは現時点ではわからないです
6面は処理落ちだと思います。
多重スクロールかけたりしてたからかな……
こちらも軽くなるよう改善してみます
739:名前は開発中のものです。
08/07/14 08:18:28 ArjsFr9C
国語じゃなくてUPLがURLになってるだけでしょうw
俺も最初わからなかったけど、前回の書き込みみて間違ってると気づいた。
740:名前は開発中のものです。
08/07/14 09:44:50 nM1lOpfJ
>>739
うああああ、今やっと気づいたw
形的に絶対URLだと思っていた俺涙目
わかりづらい日本語使ったから、誤解を招いたものだとばかり
すまんかった、さんくす
741:名前は開発中のものです。
08/07/15 22:08:14 JtGVfrRu
東方弾幕風以外でそれくらい機能の充実してるツールって何がありますか?
742:名前は開発中のものです。
08/07/16 21:29:39 ul07QMbT
シューティングゲームの当たり判定って矩形、円形方式以外にあるんでしょうかね?
743:名前は開発中のものです。
08/07/16 21:41:41 sDshxJUY
1回当たり判定が正確なの作ろうとして、
1ドットずつの当たり判定を画像から配列に読み込んだ。
□□■□□
□■■■□
□■■■□
■■■■■
■■■■■
こんな感じに。
それで、まず短形で判定してぶつかってたら、配列で細かい判定をした。
プレイしてみると短形と変わらなかったけどね。
744:名前は開発中のものです。
08/07/16 21:42:49 HKtDx1Lp
abs(自機座標Xー弾座標X)+abs(自機座標Yー弾座標Y)<適当範囲
おれ適当に作ってみたとき、これでやってた。ひし形ですな。
745:名前は開発中のものです。
08/07/16 21:50:22 4EgF3qxQ
>>744
すげえ、初めて見た
746:名前は開発中のものです。
08/07/16 21:52:34 ul07QMbT
>>743
あーそれと近いことやってます~
今うちでやってるモードだと1ドットレベルで当たり判定できるんですが
自機の弾の当たり判定の先端と敵の端が丁度のときは思ったようにいかないんですよね・・・
747:名前は開発中のものです。
08/07/16 22:33:28 tH6C9Mk9
弾などのオブジェクトを基底クラスへのポインタのリストで管理しているのですが、
メモリプールとかどうしてます?
new/deleteは確保・解放速度、メモリ消費量で劣りますが、
boost::poolはサイズ固定なので派生クラスで使いづらかったり
boost:object_poolはクラス固定なので向きません
748:名前は開発中のものです。
08/07/16 22:54:04 ps1864uM
char型配列の形でプール確保
プールで管理したいクラスのnew/delete演算子をオーバーロードしてメモリをプールから確保
これでやってる
749:744
08/07/16 23:12:47 HKtDx1Lp
>>745
矩形の方が処理はやいから実際の使い道は微妙ww
巨大な敵ならいいかもしれません。
750:名前は開発中のものです。
08/07/16 23:25:00 Cl1ru+Nb
なんかみんなハイレベルなことやってんなぁ
クラスとかポインタとかよくわからん俺は全部構造体と配列で敵とか弾とか管理してる
751:名前は開発中のものです。
08/07/16 23:30:18 UitUcmmL
>>747
boost::fast_pool_allocator
752:名前は開発中のものです。
08/07/16 23:33:13 UitUcmmL
>>750
それでいいと思うよ。
抽象化だとか言っても結局は自己満足だ。
自分の作りやすい作り方を模索すれば良し。
753:名前は開発中のものです。
08/07/16 23:37:49 ul07QMbT
>>750
まあ管理機能はあるタイミングで画面に何千もオブジェクトがでないのであれば
配列でいいんじゃね?
千越えるとさすがにリストでも使っていったほうがいいだろうけど。
>>752
でもさ、C言語でゲーム組んでてサイズでかくなってきたら
クラスみたいな実装形態にいつの間にかしちゃってたぜw
数種類のデータがあったらそのデータ毎にソースが独立してて
アクセスする際は専用関数を呼び出す。
効率は悪くなるが安全だしな。
754:名前は開発中のものです。
08/07/16 23:43:34 ul07QMbT
それに実は双方向リストもたいしたことないんだよね。
どんなに構造体のサイズが変わろうが、次と前のポインターが入ってて
入り口と最後をさす管理用ポインターさえあればネットに転がってる
ソースをちょこっと修正すれば完成。
755:名前は開発中のものです。
08/07/16 23:50:36 Cl1ru+Nb
>>752>>753
なるほど…自分のやりたいようにやれば良いのか…
弾とか敵とか合計13000個くらい(敵弾が12500発)当たり判定つきでいっぺんに動かしたらさすがに60FPS維持がキツくなったけどこんなもんなんだろうか
CPUはせろりんの1.6Ghzでグラボは8400GS
756:名前は開発中のものです。
08/07/16 23:58:44 wSTAyXoK
一画面にそれ全部描画してるの?
757:755
08/07/17 00:11:06 6mPYwzZu
>>756
全部描画してることになるのかな…
表示領域?キャラが動ける範囲、そこに全部描画してみた
自機はおろか背景も見えない
移動してはみ出た弾は勝手に削除、敵は常に360/1Fの勢いで弾を出させてたから弾切れ起こしてた
携帯でスマヌ
758:名前は開発中のものです。
08/07/17 00:13:24 dzlckui1
>>747
富豪厨はfailmallocが大好きです
759:名前は開発中のものです。
08/07/17 00:44:03 O2fFtOBP
なんか>>750が俺とよく似ている……w
自分で自己満足ゲーム作ってる分には問題ないんだけど
Cを使うプログラマ、という観点から見るとダメダメだなぁと落ち込むんだよなぁ。
760:名前は開発中のものです。
08/07/17 00:49:19 WDu5mPhV
>>759
別に勉強すればいい。
それにC++とかでクラスを使いだすとあれこれ面倒だけど
Cでリスト程度ならネットで検索すれば解説もごろごろ出てるし
関数化してしまえばぜんぜん問題ない。
761:名前は開発中のものです。
08/07/17 03:53:57 3ZWP2jps
どうしてもこの処理がしたい!
でもそれをやるにはポインタが必要だ!
って状況になったら覚えれるよ。