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

597 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:07:12 ID:9mnpmN5C]
>>596
OSの構造しらない昔のゲームプログラマーが適当に名付けただけだよ。

その昔のゲームはキーボードからコマンドを入力するまで
イベントが動かないのもあった。アニメーションもろくにできなかったしね。

その点アクションやシューティングは一定サイクル(FPS)で処理を続けてるので
タスクといえる。だから擬似タスクシステムとしようってことでしょ。
組み込みのちょっとしたプログラムもRTOSとか呼ばれてるようだし。

598 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:21:05 ID:FfEyNKqI]
擬似なんて言い出したのは素人だろ
エンドたんでも引っ張り出して詰問してみれ

599 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:33:39 ID:FfEyNKqI]
まぁどっちでもいいや
現場では擬似タスクは全く聞いたことないし、タスクにしたって
使わなくなってずいぶんと久しい。ほぼ廃れた言葉といっていい

いまどきタスクシステムなんて単語を駆使してるのは
一部の懐古趣味野郎とかマムコ信者くらいだ。いずれにしろ老害。
痛い素人の真似するのが本望でないならもっとかっこいい言い方を
模索するべきだろう。ゲームエンジンとかオートマトンエンジンとか

600 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:54:42 ID:ij0TulEQ]
めんどくさいからタスクシステム、擬似〜〜でも良くね?

601 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 22:57:43 ID:PFSFGR1E]
ケチを付けるのが目的だから細かい名称なんてどうでもいいのさ。

602 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:00:02 ID:9mnpmN5C]
>>600
いやゲームエンジンだとか、商業的になるとミドルウェアという言葉で片付く。

擬似タスクシステムってやっぱり古い時代の名残だよ。
マイコンなんかで使う用語が規模も似たようなゲームマシン時代に
当てはめて生み出した造語

603 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:25:21 ID:HdAQdXjX]
描画順はともかく、固定長配列じゃオブジェクトの追加に時間がかかるだろう
毎回走査して空きを探すのか?
富豪的に見えて、面倒なだけじゃね?

604 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:31:51 ID:9mnpmN5C]
>>603
いやだから固定長配列だって、リストにすればOKだよ。

でもテストして最大値を割り出しておかないとだめだけどね。

605 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:37:50 ID:HdAQdXjX]
待って、俺が誤解していない場合、
やっぱりオブジェクトを追加するときに、
空きを探して配列を走査する必要がないか?



606 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:40:03 ID:uMAOIcwL]
>>603-604
富豪厨召喚呪文が唱えられたようなのでム板からカッ飛んできた
配列厨と罵倒されることもあるけど私は元気です

さて、>>591のおじさまが言ってる配列による順序無しリストってのはたぶん
要素削除時に最後の要素をそこに移動&上書きするものだと思うよ
順序がメチャクチャになるけど条件が許すなら大丈夫だよね

アルファブレンドなしの2D弾幕ならZ値で上下関係は保てるしね

607 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:46:37 ID:9mnpmN5C]
>>605
配列でオブジェクトを8コ取ったとするよね
これには当然リストを構築するためのポインタも入ってるとする。

配列 □□□□□□□□

で、ゲームを起動した際に初期化処理として

使用中リスト NULL
未使用リスト □->□->□->□->□->□->□->□->NULL

こうやって置く。

あとは関数でも用意してオブジェクトを追加したければ

使用中リスト □->NULL
未使用リスト □->□->□->□->□->□->□->NULL

使用中リスト □->□->NULL
未使用リスト □->□->□->□->□->□->NULL

・・・・

使用中リスト □->□->□->□->□->□->□->□->NULL
未使用リスト NULL

使わなくなればまた未使用リストへつなげばいい。
malloc freeのコストはないけど配列で確保した個数以上は管理できない。

608 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:49:54 ID:uMAOIcwL]
ところで富豪厨はシモジモの日々の苦しいやりくりとは無縁なので
タスクシステムとかの貧民的なアプローチに興味ないのですが
このあいだ「タスクも知らないの?プギャー」と貧乏人に煽られたので
ちょっとシメてやろうと思ってタスクスレを開いたら既にタスク派が
盛大に虐殺されていました

あまりの恐ろしい光景に震えあがってム板に帰りました

609 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:51:54 ID:5JyA6mIk]
>>605
空きの部分も線形リストで結んで管理するのが
データ構造では一般的じゃなかったかなあ

610 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:52:07 ID:HdAQdXjX]
>>607
OK理解した
要するにメモリプールに固定長配列を使ってるわけね
って>>577が既に書いてたし
物覚え悪くてスマソ

>>606
コピーのコスト(ry
これぞ富豪

611 名前:名前は開発中のものです。 mailto:sage [2008/06/23(月) 23:58:11 ID:xReDDG2i]
隔離スレあるんだからタスクシステムそのものについてはそっちでやってくれ

612 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 00:29:33 ID:oNKHrkss]
むしろ隔離スレから出てくるというゲハ板→ニュー速現象が・・・
こういう全体の設計って結局は人それぞれだから、あんまり2ch向けの話題じゃないな

しかしレスから見るにDSとかPSP辺りで作ってるのかな?

613 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 00:31:28 ID:PrpKabUz]
>>612
今となったらオブジェクトの管理メモリより
素材の方がメモリ食うんだけどね・・・

614 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 00:31:35 ID:NcdiOwFI]
>>610
富豪厨は厨なのでパフォーマンスとか興味ないんだけど
たまには庶民の期待に応えるためにベンチとり遊びもしてたよ

弾はサイズ小さい(弾種、座標、速度、深度とかで24Bytesくらい)から
削除時のコストは24バイトのブロック転送に過ぎないよ
弾アップデートのための巡回はただのリニアアクセスだから楽だよ
2000発の弾をランダムに飛ばしたり生成削除するテストしたときは
boost::simple_segregated_storageとの速度競争で勝利を収めたよ

ところでboost::simple_segregated_storageの中身って>>607のそれと
よく似ていたんだけど、これは使用中リストから外して未使用リストに
繋げるとき(またはその逆のとき)ポインタ書き換えは何回発生する?
それと弾アップデートのための巡回は隣接要素のポインタ経由の
ランダムアクセスになるよね

まぁ富豪厨にとっては瑣末な問題なので普通に弾一個一個で
malloc/freeしてたけど

615 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 01:01:38 ID:R7H+ft0X]
>>565
スレありがと。仕事で死んでたんで見れなかったんで。
参考になりますです。



616 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 01:06:33 ID:BbGOZBxw]
>>603
富豪的に見えるかもしれないが、いまどきのPCはリストをポインタ辿って
走査するよりも配列を順走査する方が同じ要素数なら1.5倍くらい速いよ。
追加のコストが増えても、その他の処理で十分ペイできる。

617 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 01:12:19 ID:4FqnTxUJ]
シューティングゲームに必要な要素数(せいぜい2000以下)だと、確かにそうなるかも
どどんぱちの裏ステージ的な状況だとどうか知らんがw

618 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 03:41:05 ID:3USBYfmM]
>>617

>>591>>606>>614の言ってる配列コンテナの使い方は
削除処理=削除対象の要素を最後の要素で上書きするだけ。O(1)時間。
当然虫食いはないので要素追加時も空き要素検索は必要ない。O(1)時間。
これらの処理時間は要素数に関わらず常に一定。ただ要素サイズに比例する。
あと最大の欠点は削除・追加を繰り返すことで要素巡回順が不定になること。
だから「順序なしのリスト」なのね

これが問題にならないケースで使えばいい


619 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 05:39:53 ID:2pkhJQN/]
固定配列にこだわって富豪ってのもなんだかな。
俺は大富豪なので弾幕シューでも容赦なくnew/deleteするが。

620 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 07:38:39 ID:sTkkjGQB]
>まぁ富豪厨にとっては瑣末な問題なので普通に弾一個一個で
>malloc/freeしてたけど

621 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 09:34:14 ID:wbqG7Qtf]
>>603
シューティングでは最初に発射された弾が最初に画面外に出て消滅(FIFO)するような気がするので、
空きオブジェクトをリストで管理しなくても、キュー(リングバッファ?)っぽく管理してもいいかなと思って、
最期に取得したオブジェクトの位置を保存してみたりして
試している今日このごろ。


622 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 10:38:43 ID:LBFcTyab]
>621

Before----------------------------------------

Σ三>    -        -
                   敵


After----------------------------------------

Σ三>           -  敵   -
                  ↑


623 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 10:46:15 ID:7sGdPDL+]
>>622に言おうとしたことかかれたw

敵とか地形が邪魔をしないゲーム(と呼べるのか?)であれば
>>621の言うようにFIFOでも成り立つがゲームらしくすると
敵もしくは地形で後に発射した弾が消滅する可能性だってある。

貫通弾にすればいいというかもしれないがやっぱり
動的にオブジェクトが増えたり減ったりする場合は
リストが向いてる

624 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 12:47:57 ID:wbqG7Qtf]
>>622>>623のやさしさに泣いた。

そこで、対策としてとりあえず、配列の大きさを十分に大きくしておくことと、
使用中のオブジェクトに関しては、「使用中です」フラグをつけて、スキップしようと思うんだ。

配列さえ十分な大きさがあれば、
配列を一周するまでにきっと最初に撃った弾も画面外に出て消滅してるはずってことで


625 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 13:47:19 ID:S5i4Hl5N]
どっかで

class hoge{
int x;
int y;
char[256];
}

のcharがフリー領域として使えるとかあったが、どういう仕組みなんだ?



626 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 15:14:33 ID:cUcYhgYN]
sizeof(char*256)バイト分確保しとくから好きな型にキャストして使えってことじゃないの?

んでも、C++でわざわざこんな方法するかね?
もっと別に良い方法があると思うけど。
よくわからん。

627 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 15:35:22 ID:3yXq89ZE]
Cではそんな組み方してたみたいね

628 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 18:47:38 ID:nk5lzdPA]
placement new用にメモリをプールするためにchar型の配列使ってる教本があったな
素直にnewしたいオブジェクトの配列にしろよ、と

629 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 19:14:29 ID:YG9wxXVw]
東方も順番だけ記録して固定長配列でやってそう
最後尾まで行くと最初に戻って描画順序狂ってる時があるし
cave系はlistっぽいけど

普通の2D弾幕系STGなんてどっちで実装しても問題なしじゃね?

630 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 19:39:33 ID:cSyjiEYz]
ぶっちゃけ最近のPCのスペックならどっちでも余裕だろうな

631 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 19:40:35 ID:ueXZ64IW]
ブルーセイバーズやテイルズギアのところはBASICで作ってるらしいけど
どうやってオブジェクトを管理してるのか気になる

632 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 21:26:33 ID:pF7sIXlF]
みんなで一緒に富豪厨になろうぜ。

633 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 22:07:45 ID:NcdiOwFI]
>>631
富豪厨でなおかつ玉葱狂信者なのでLGPはよく知らないんだけど
マニュアルを流し読みした感じでは配列使ってやりくりする以外の手がないような。
配列の添え字(番号)を使って連結リストとか

3Dのアニメーション用にフレーム(座標系)の親子関係があるみたいだけど
姿勢と座標を自動変更(線形的なアニメーション)するためだけのもので
ユーザー定義の変数を入れ込んだりユーザー定義関数を登録して
ゲーム独自の処理をかませるようなことはできないくさい


634 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 01:48:12 ID:yLL8mfYi]
ゲームとして面白ければ富豪厨だろうがなんだろうが関係ないぜ、
と言いつつ結構細かいプログラムに拘ってしまう俺降臨
無駄な処理を削って云々とかよりも、はやく体験版を出して色んな人から意見を貰った方がためになるのに…orz

635 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 02:15:01 ID:ZT5O8Vsq]
公開してから「フリゲ≒軽くて当たり前」信者の対応がタルくなるけどな!



636 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 09:39:54 ID:EtCnEfpl]
>>629
それってステージで描画されるすべてのオブジェクトを前もって生成して
あとは順番に描画だけしてるってこと?

637 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 10:11:08 ID:HqBe87x9]
東方はやったことないんで推測だけ。

>636
固定長配列を前から見て、「空席があったらそこに座る」ってことじゃないかと。

638 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 12:59:07 ID:pCORKo/h]
>>634
よう俺
最近はアイデアが浮かばないから無意識のうちにギミックに凝ってしまうのだと気づいた。
勇気を出して前に進むのも必要だと思うぜ。

639 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 16:22:49 ID:VGgrpFAu]
ygs2000を使って縦スクロールSTG作ってるんですが、
インポートライブラリのatan2(y,x)の戻り値が、0から65536になっているんですよ。
どうすれば、戻り値を0から360度の範囲に変換できますか?

640 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 16:51:15 ID:RTbJUwyD]
ygsは知らんけど、65536 == 360度として考えるなら

int deg = atan2(y,x) / (65536/360);

641 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 17:06:38 ID:7XWLzTd8]
元がどう見てもintなんだから、360掛けてから65536で割る方がいいだろう。

642 名前:名前は開発中のものです。 [2008/06/26(木) 17:08:05 ID:mOejCOBQ]
俺なら

* 360 / 65536

とするけど。

って書こうとしたら既にかかれてたw

643 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 17:08:39 ID:Im8BFapF]
>>639
勝手な予想なんだが、それ角度が360度 = 2π(rad)を超えても気にせず計算できるようになってるんじゃね??
大抵の三角関数はラジアンで実装してるだろうから。
違ってたらすまん。


644 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 17:11:19 ID:Im8BFapF]
と思ったけどすごく見当違いですね、なかったことに。

645 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 23:03:08 ID:a/ZP+zQY]
>>639
Selene?

むしろ、ゲーム自体を65536度にあわせて設計したほうがいいかもしれない




646 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 15:07:32 ID:nt11KuRN]
おまいら話ズレすぎだろw

647 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 01:37:53 ID:9uZftGEH]
横シューの背景ってどうしてますか?

648 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 01:45:16 ID:aWjEECAh]
横にスクロールさせてます。

649 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 02:32:17 ID:PQIEP/fX]
お前頭いいな

650 名前:アジェグ4倍 ◆4xAJeG.COM mailto:chage [2008/07/01(火) 10:15:19 ID:1U0sNwre]
もう決着ついてるかもしれんが、配列の空き走査なんて、
描画の処理時間に比べれば、微々微々たるもんだよ。

ループ中にnew/deleteする方が非効率だと思うけどね。


651 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 15:19:14 ID:QwYE1J0X]
いまさらすぎて噴いた

652 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 16:24:12 ID:/457mXHb]
空席を見つけて適当に座る、って言って通じるもんだろうか?

653 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 17:20:02 ID:XbvaRuwU]
つか何この空気コテ

654 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 21:08:59 ID:wExkfdnX]
トリップでググれば哀愁漂うLinux板の糞コテ


655 名前:名前は開発中のものです。 mailto:sage [2008/07/01(火) 23:42:16 ID:Ya9L5X18]
>>647
シューティングツクール的な発想でいくなら、16x16(ピクセル)のタイルを画面一杯に敷き詰めてた。
あれ、32だっけ?



656 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 00:02:49 ID:DI24ohjW]
む?
俺は普通にそうしてるけど、シューティングツクール的発想以外だと違うの?

657 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 00:08:16 ID:gdApJWkY]
画面サイズと同じくらいのテクスチャをくるくる回して、
その上に当たり判定のないオブジェクト配置してるけど

658 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 00:25:19 ID:GT+Oyjsr]
インベーダーやミサイルコマンドのように、そもそも背景が動かないというのも一つの選択肢だな。


659 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 01:07:49 ID:GdeAeksN]
最近の個人製作なんかでよく見る、雲模様みたいな画像を
加算、乗算処理なんかしつつ流していく手法も結構面白い。

660 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 01:23:47 ID:rkPq3Fgi]
>>656
ずっと前に見たどこかのエロゲ会社が無料で配布してたやつは
画面と同じ大きさのbmpが10枚くらい入ってたよ。

661 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 02:53:17 ID:Z7PtKJGp]
テクスチャを使うゲームの場合、
画面サイズだと正方形じゃないから無駄にVRAM食うのが気になって、
サイズ一つ下(512x512)のテクスチャをフィットするように拡大して使っている貧乏性な俺。

662 名前:アジェグ4倍 ◆4xAJeG.COM mailto:chage [2008/07/02(水) 07:49:09 ID:VoUGDrkh]
レイヤーのビットマップを設けて、
表示する際の座標をずらせばいいんじゃあ?

663 名前:656 mailto:sage [2008/07/02(水) 21:04:37 ID:OZmBfWcb]
皆の言葉を信じて、背景の描画方法を
16×16のマップチップを敷き詰める方法から、
一画面〜四画面分の画像をベタ表示する方法へ変更してみた。

なんかリプレイ時の早送り動作が軽くなった。

664 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 21:21:58 ID:GT+Oyjsr]
リプレイ機能ついてるのか。

人気あるのかな。リプレイ機能って。

665 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 21:29:29 ID:giqVUVjy]
初めてリプレイ機能を実装したときは感動した。



666 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 21:31:38 ID:lS1P7Ldh]
今時ないほうが珍しいな
デモ見せるにしても必要だし

667 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 22:20:06 ID:OZmBfWcb]
>>665

俺もw
リプレイ機能自体は早々に作ってたんだけどうまく再生しなくて長い間放置ぎみだったけど、
結局初期化されてない項目があった事に気づいて、ちゃんと動くようになった時は感動した。

リプレイ実装のおかげで、デモの実装も実現したし、デバッグにも役立つようになったw
(テストプレイで、キャラが想定外の動きをした時、リプレイを取っておいて
 修正後にリプレイを実行して、ちゃんと直ってるか確認する)

668 名前:名前は開発中のものです。 mailto:sage [2008/07/02(水) 23:08:12 ID:surY1LL8]
>665
俺も俺も!

その時はリプレイをどうやって実装すればいいかも分からなくて適当だったけどなw
(ちなみに全ての入力を保存すると言う、よくある方法だった)

そのリプレイ処理のおかげで、だいたい1日でポインタやファイル読み書き、ビットフィールドの操作とか覚えられたし。
人間、必要だと思ったらすんなりと頭に入るんだなあと思ったよ。

逆に、他人がポインタで詰まってても教えられないという欠点はあるがw

669 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 07:40:20 ID:qi9huYH9]
非ポインタとポインタは一言で言えば、
変数の中身を取り出す時に、値をじかに取り出すのか、それとも住所を取り出すか。じゃね?
ポインタは住所をやり取りする、と。

リプレイはまだ実装した事無いなー。今度実装してみよう。

670 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 08:37:45 ID:Yl0JVKtk]
キー入力保持のリプレイを他のマシンに持っていくとうまく動かないことがあるんだよな。
浮動小数点の計算誤差が若干違ったりするからだと思うけど・・・


671 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 09:10:54 ID:DTx5b/+j]
INTELとAMDのメジャーなCPU(要するにIA32互換のやつ)しかサポートしてない俺は
とりあえず

・ゲームの進行に直接作用する計算は全てFPU(x87互換のやつ)に任せる
・_controlfpとか使って計算精度等をきちんと指定する。

これで上手くいってる
FPUバグ持ちクラシックペンティアムとかもう骨董品だから無視してる

672 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 10:08:43 ID:FVj30rAO]
>>670
ttp://www.01step.net/tobitsuki/bbs/test/read.php/tobi_bbs/1116256631/18

673 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 16:33:12 ID:gwFP/f3L]
>669
似たような説明はしたことがあるが、通じてるかどうかが怪しいw

674 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 00:41:50 ID:lh91Gh1r]
XMLでシューティングゲームを記述できるエンジンを作ってるんだが、
敵の動きを高度にプログラムできるようにしようとすると、
結局ソースで実現した方が良いじゃないかという気がして、何だか悲しい。
Flexみたく、XMLの中にプログラム(or スクリプト)書きはじめるような仕様を作ったが最後、
100%エターなる。

675 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 00:51:01 ID:XLyUbCLu]
XMLてのはデータの構造を記述するためのものだろ
それでロジックを表現しようとするのがそもそも間違いだと思うが・・・

そのXMLによるシューティングゲーム作成にはどんな利点があるんだ?



676 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 01:09:13 ID:qYh8NvWd]
動作ロジックはハードコーディングして、配置や個体パラメータを
XMLデータで指定するだけでもいいんじゃね?俺がやってる方法だけど。

677 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 01:11:47 ID:XLyUbCLu]
敵の出現タイミングとか位置だけ外部ファイルで定義するようなもんか
それだったらXMLの方が見やすいかもな
エンジンとして公開するならハードコーディングの部分にかなりの工夫とバリエーションが必要だな

678 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 01:42:15 ID:lh91Gh1r]
最初は、スクリプトでシューティング作れたら、楽かなあなんて思って始めたんだけど、
XMLだと、最初から読み込んで解析してくれるライブラリがあったから、使ってみた。

ちなみに、某シューティングツクールのように

「自機に向かって移動」「移動」「弾発射」「敵発射」「なにもしない」「自爆」

で敵の動きが完結するなら、
敵の動作ロジックも全てXMLで記述できる。


679 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 02:21:14 ID:fzMGN+kp]
>>674

XMLじゃないがスクリプトでシューティングのオブジェクト配置したり
するのならすでに弾幕風とかあるぞ。

680 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 11:57:57 ID:/8DfK8rI]
技術的な会話しているところに、空気を読まず質問

縦スクロールSTGで、アイテムを放出する味方機を出そうと思っているのですが
なんかぱっと見て敵機にしか見えなくて困っています。(普通に避けてしまう)
見るからに味方機として出現させるために、何か良い方法はないでしょうか?

681 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 12:01:36 ID:fzMGN+kp]
>>680
・軽めのカットインとかメッセージを表示して見方機が来たよをかもし出す
・東方のボス戦の場合は画面下にボスのx座標がわかるようになってるがああいったマーカーを出してあげる。

で、説明書に書いておけばOK?

682 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 12:43:58 ID:dKlhKsZq]
>>680
その味方機が敵の弾を喰らうとか

683 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 12:54:34 ID:lh91Gh1r]
味方機と自機のカラーを統一するとか。

684 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 12:54:40 ID:7DWi7vho]
>>674
てゆかbulletMLあるよなぁ
674のも使ってみたいが。

685 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 14:23:05 ID:9J7xybES]
>>680

・敵のカラーとは明らかに違う、目立つ明るい色にする。
・デザインの系統を敵とは一目見て違うようにする。
 (敵が直線っぽいデザインなら、曲線ぽいデザインに、敵が生物っぽいなら、メカっぽいデザインに)
・自機と同じ形、同じような色にする。
・明るい色で縁取りするとか、とにかく他のキャラや背景と比べて「浮く」ようにする。



686 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 15:45:01 ID:eL1SAVRC]
動き方でも差別化をはかりたいね
小型なのにゆっくり現れて消えていくとか

687 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 18:25:06 ID:qjrvpm0l]
機体に「味方」って書いておけ
ってのは冗談だが、自軍のエンブレム的なものを作っておいて、
それとわかるように機体に表示しておくのも手だな

688 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 20:19:03 ID:oittVPD9]
救急車が飛んでくるしかあるまい

689 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 20:24:11 ID:fzMGN+kp]
ちょwそれBeeメイツ

690 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 21:07:37 ID:juhuhHaO]
ツインビーも救急車だったような・・・

691 名前:680 mailto:sage [2008/07/04(金) 23:27:30 ID:JgmzXrxe]
多くのレス、ありがとうございます!
絵の素材にフリー素材を使用しているため、
デザインの系統分けをしたり
エンブレムを書くのは難しいものがありますが
(雰囲気的な意味でも、救急車も厳しいです)

縁取りや、色の統一、カットインでの表示
なんらかの味方軍に統一の記号をつける
敵の弾を食らうなどの演出は、実装できそうなので、試してみることにします
本当にありがとうございました!

692 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 23:39:04 ID:XLyUbCLu]
質問者が納得したうえに話の腰を折るが
製作者が気にするほどプレイヤーは見た目にこだわってないし
慣れてしまえば気にならない
だからよっぽどややこしいデザインでなければ結構適当でも大丈夫

693 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 02:08:08 ID:OY2NBo76]
こちらも流れに乗って技術的じゃない質問を一つ。

ショットタイプについてなんですが、
ショットボタン長押しで低速移動&ショット変化ってのと
ショットとショット変更のボタンが別になっているのがあるじゃないですか。
あれってどちらが一般的なんでしょう?
最近は長押しで変化するのが多く見られる気がするんですよね。
でも昔はチェンジするボタンがあったし・・・。

ボタン配置は長押しで変化するタイプは
@ショット Aボム等 Bフルオート
チェンジするボタンのついてるものは
@ショット Aショットチェンジ Bボム
こんな感じなんでしょうかね。

オプションで好みで変えられるようにすればいいじゃないって言われればそうなんですが気になったので・・・。


694 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 02:23:37 ID:yT3V8RBn]
>>693
メインウェポンのパワーアップアイテムが一定時間で種類が切り替わるようにしとけ.
ウェポンチェンジしたくなったらその色のアイテムをとる,と.

695 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 03:05:34 ID:+VTXj324]
>>693
銀銃みたいにボタンの組み合わせという手もある



696 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 04:13:01 ID:wbV3lwSQ]
ショット変更ボタン式は、
自機の現在の武装を記憶して、目的の武装に切り替えるには何回変更ボタン押さないといけないか、
を常に考えないといけなくて煩わしく感じる。
武器別にボタン用意するか銀銃式にする方が手順を省略できてやりやすい。

697 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 04:35:56 ID:OY2NBo76]
>>694
アイテムでチェンジかぁ。
怒首領蜂みたいに最初からタイプを決める形式でやってるんで
通常時と低速時の変更をどうするかで悩んでるんですよ・・・。
アイテムはパワーアップか、ハイパーみたいな感じになるかも知れないです。

>>695
ボタンの組み合わせって事は何種類か武装があるって事ですよね?
今つくってるのはそこまでバリエーションを持たせる予定がないんです。

とりあえず今は機体2種類とビット3種類で全6種類の組み合わせができるようにしてあります。
機体α:高速移動集中攻撃型(ビット可動範囲が狭い)
機体β:低速移動拡散攻撃型(ビット可動範囲が広い)
ビットA:機体の前で左右に振れながら前方に攻撃。
ビットB:移動した方向に攻撃が傾く。
ビットC:前方の一番近い敵を狙う。

ちなみに通常時はメインショットオンリーで低速時(変更時)にビット展開になってます。






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

前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