無題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
K・山田

無題

#1

投稿記事 by K・山田 » 15年前

初めまして、K・山田と申します。

龍神録プログラミングの館 を全てやって非常にタメになりました、ありがとうございます。

ここで終わるのもアレなので、まずは新しくステージを追加していきたいと思っております。
過去ログを見た結果、switch文を使うのがいいとは書かれていましたが他の方法はありませんでしょうか?

どこかで管理者様がステージの作り方を書いた構文をどなたかにメールで送っていたのも気になりました。
よろしければ私にその構文を書いたメールを頂ければ幸いです、図々しくて申し訳ありません。

私なりに考えた結果で、こういう感じで作る事は可能でしょうか?


ステージ1開始

ボスを倒す

画面を黒くしたりしてその間にリザルト等を出したりする

リザルト等を出している間に背景を次のステージ用に切り替える

リザルトを解除後、あたかも次の面に変わったかのように変わる


というのは不可能でしょうか?
擬似的に黒くしている間に背景だけを切り替える~ という方法です。
csvファイルを調整すれば敵の調整とかは出来そうです。

K・山田

ステージの追加について

#2

投稿記事 by K・山田 » 15年前

ああ、題名入れるの忘れた…お手数かけます…。

シエル

Re:ステージの追加について

#3

投稿記事 by シエル » 15年前

出来ると思います。

Dixq (管理人)

Re:ステージの追加について

#4

投稿記事 by Dixq (管理人) » 15年前

基本機能は出来ているので、初期化関数の中身だけ変えれば2面としても動作するように思います。

私なら、まず、設定値をスクリプトから操作出来るように変更します。
ボスの体力・弾幕の出る順番など、スクリプトで設定出来るようにします。

現在関数ポインタで弾幕の出る順番を管理しているので、まず配列に関数ポインタを入れて置き、
スクリプトからはその要素番号を指定するように私ならします。

スクリプトというと難しそうですが、値はテキストファイルでも何でも構いません。
要は実行ファイルをコンパイルしなおさなくてもゲーム内容が変更できれば良いのです。

ステージごとに依存しているパラメータを全て変更できるようにしたら、
後はIni関数をいじるだけか、もし必要があったとしても少し修正すればいいだけかと思います。
自機の残数やスコアなど、初期化関数で2面以降はスキップしないといけない要素もありますから、
その辺注意して初期化する必要があるように思います。

後、メールの件は忘れましたが・・いつ頃の話でしょう?

K・山田

Re:ステージの追加について

#5

投稿記事 by K・山田 » 15年前

さっそくのお返事ありがとうございます。

シエル 様>
なるほどありがとうございます、当面はその方向で検討したいと思っております。

Dixg 様>
なるほど…スクリプトを使って根本的な部分はあまり変えずに対応出来るという事ですね。
Excelファイルのcsvと同じようなシステムでしょうか、調べて試してみたいと思います。
そこをいじって不可能ならば別の所を修正すると……。

メールの件は過去ログの



Name: 管理人 [url]..伝説のハッカー(509,029ポイント) Date: 2008/02[/url]07(木) 13:38 No:14099
Title: Re:ステージの作り方。
回答はメールの方がいいのでしょうか??
一応両方にお書きしますが、よければ掲示板の方にご返答下さい。

>管理人さんのサンプルソースだと敵の出現パターンや出現のタイミングはcase文による記述で書かれていたのですがあの方法で四聖龍神録(体験版)も作ったのでしょか?

はい、全く違います・・・。
というか、全体のソースコード丸ごと違います(汗

というのも、作った当時、あのシューティングの館は、ここまで多くの人に見ていただけると思っておらず、
また、小さなミニゲームを想定していたのと、知り合いが「効率いいプログラムより、見慣れた書き方で書いてほしい」と言っていたのを受けて、
最適な書き方より、とにかく難しくないコードで書こうとして出来たものです。
なので、本来の効率的なかき方とは全然違うのです。

そのせいで、色々な人から質問が来てしまい、私のせいで、いろんな人を混乱させてしまったようです・・;
シューティングの館は近々削除予定です。
龍神録が完成したらシューティングの館をもっときちんとしたコードに書き直す予定です。

敵は数百~数千も出てくるので、case文で書いているととんでもないことになりますし、拡張性も汎用性もありませんし、
修正も困難ですよね。
私は、一般的にどのようにするかは存じませんし、シューティングプログラムの本などを読んだこともありません。
>>私が我流でやっている方法ですが、エクセルでデータを書いています。
>>例えば私が作っているゲームのステージ2では、添付ファイルのようになっています。
>>ファイルを添付したので、よければご覧下さい。
>>(添付は下の投稿にやり直しました。)



ここの部分が気になりました、お手数かけます。

Dixq (管理人)

Re:ステージの追加について

#6

投稿記事 by Dixq (管理人) » 15年前

これはシューティングの館の質問だったと思います。
龍神録プログラミングの館の他にシューティングの館があり、そちらの質問かと思います。

> ステージ1開始
> ↓
> ボスを倒す
> ↓
> 画面を黒くしたりしてその間にリザルト等を出したりする
> ↓
> リザルト等を出している間に背景を次のステージ用に切り替える
> ↓
> リザルトを解除後、あたかも次の面に変わったかのように変わる

について、もちろん可能だと思いますが、詳細の仕様はどんなものでしょう?

> 擬似的に黒くしている間に背景だけを切り替える~ という方法です。

の「擬似的」は何を意味しますか?
背景が一度全く見えない状態にしてよく、キャラが一瞬止まるような事があっても良いなら直ぐに出来ると思います。
黒で塗りつぶしている間に読み込んで必要な画像を読み込み直せばよいだけですから。
もしそうではなく、クロスワイプするように、ジワッと1面と2面がまざるような仕様だとグッと難易度は上がるでしょう。
同時に2種類の背景描画処理をするにはそれを管理するモジュールも必要になりそうです。

また、ロードしていないように思わせるには、面の終わりに近づいたら裏でゲームと並行して読み込みを開始するような仕組みも必要でしょう。
DXライブラリはマルチスレッドに対応していませんから、同時に処理をする時は工夫が必要だと思います。

背景の画像の大きさにもよりますが、小さければそのような仕組みを考えなくても一瞬で読み込めるかもしれませんね。

ただ、もしまだ2面が出来ていないなら、仕様にこだわるより先に2面を作ってしまい、それから検討した方が良いと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る