シューティングゲームを作りました!3弾目

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

シューティングゲームを作りました!3弾目

#1

投稿記事 by situmon » 16年前

シューティングゲームをつくりました。起動できないバグを改良しました。ver1.01
本当にご迷惑をおかけしました。
前作の意見もふくめて作りました。
PASSはsitumonです。
http://ppup.dip.jp/uploader/download/12 ... 201.01.zip
見てほしいところ
弾幕です。。。けっこう不思議なのをつくったつもりです。
難易度
さまざまです。
easyはかなり甘くしました。hardはかなり違う弾幕にして、それはそれでたのしんでいただけるかと・・・
条件によりクリアするとExtraが選択できます。
条件がどうしてもわからなければ具体的にかきますが、被弾をおさえればOKです。
しかしセーブ機能がないので、一度、終了するとまたクリアしないと選択できなくなってしまいますのでご了承ください。

Tatu

Re:シューティングゲームを作りました!3弾目

#2

投稿記事 by Tatu » 16年前

ダウンロードしましたが、
難易度を選択した所で勝手に終了してしまいます。
何度かダウンロードしなおしてみましたが治りません。
生成されたLog.txtを添付します。
OSはWindows Vistaです。


前作「猫は夏の雪を見る」について

ハードが未だにクリアできません。

竜巻の怒りの前まではノーミスで行けます。
次の二つの弾幕のどちらかでゲームオーバーになるので
これらについて書きます。

竜巻の怒り LEVEL 8/10
泡弾の向きが変わるとき、よける場所が、泡弾一列分くらいと非常に狭く、また
向きの変化がランダムなため、自機のほうに全く来ないこともあれば、
泡弾が自機を閉じ込めるように動くこともあり、運の要素が大きいです。
ボスから一番遠い右下でよけるようにし、左からやってくる泡弾だけでもよけられるようになれば
少しは被弾率を下げられます。
泡弾の速度が下がれば、より上のほうで方向が変わるようにもなり、簡単になると思います。

危険な森の奥底 LEVEL 10/10
ほぼパターンですが、弾が速く、攻撃間隔が短く、全方位弾の隙間が狭い。
回避は不可能ではないが長い時間無駄な動きが許されず、かわしきるのはかなり難しくてできません。
全方位弾の数が半分に減るだけでも相当楽になると思います。


ところで、ボスの位置が真ん中より左にずれているような気がしますが、気のせいでしょうか。

また、大量のランダム弾をばらまく中ボスが弾切れを起こすことがあります。
そういう弾幕なのかと思っていましたが、ミスしたときは最後まで弾を出すので、
確認してください。

ねこ

Re:シューティングゲームを作りました!3弾目

#3

投稿記事 by ねこ » 16年前

<しかしセーブ機能がないので、一度、終了するとまたクリアしないと選択できなくなってしまいますのでご了承ください。
まだプレイしてないんですが、これって苦労して出せても無駄になるのか・・・ってモチベーション下げちゃうと思いますよ。

INIファイルというものを使った凄く簡単な「セーブ方法」を下記に記載してみますので対応する考えがあったら是非に。
<1>
// クリア時にINIファイルを作る
char cExtr[ 32 ] = "";
sprintf_s( cExtr, sizeof( cExtr ), "%d", iExtraFlg);
WritePrivateProfileString( "SYSTEM", "EXTRA", cExtr, "System.ini" );
<2>
// 起動時にINIファイルから読み込む
iExtraFlg = GetPrivateProfileInt( "SYSTEM", "EXTRA", 0, "System.ini" );
<3>
// EXTRAをメニューから選択可能にする処理
if( iExtraFlg == 1 )
{
}
「iExtraFlg」という変数を仮に「EXTRA出現条件フラグ」とします。
1の処理をEXTRA出現時に行う事で「System.ini」というINIファイルというものが作成されます。
2はゲーム起動時常に実行するようにします。INIファイルが無ければ「iExtraFlg」には0が入ります。
3はメニュー時に「iExtraFlg」を見て分岐します。

こんな風にすると比較的容易にセーブ情報を保持する事が出来ます。

situmon

Re:シューティングゲームを作りました!3弾目

#4

投稿記事 by situmon » 16年前

ねこさん、詳しく教えていただけますか?

situmon

Re:シューティングゲームを作りました!3弾目

#5

投稿記事 by situmon » 16年前

猫は夏の雪を見る
アップしなおそうか考えてます(改良版)、

situmon

Re:シューティングゲームを作りました!3弾目

#6

投稿記事 by situmon » 16年前

しかし前作と比べるとかなり違うので自分でもびっくりです。
検討します。ありがとうございます。Tatuさん、
追記
すいません、間違えて最新版のを消してしまったようです・・・
すこし復旧に時間をください。猫は夏の雪を見る のHARDは躊躇せずかなり適当に作ってしまった部分もあり申し訳ないです。

ねこ

Re:シューティングゲームを作りました!3弾目

#7

投稿記事 by ねこ » 16年前

それなりに詳しく・・・書いてるつもりではあるんですがw

「iExtraFlg」をEXTRA出現フラグにでも置き換えれば張り付ければ動くと思いますよ。
とりあえず何が分からないのか分からないのでこれ以上答えられないです。

チルチル

Re:シューティングゲームを作りました!3弾目

#8

投稿記事 by チルチル » 16年前

特に目立った欠点も無く、ゲームとしては成立していますね

タイトルの項目の順番ですが、EXは真ん中の方が良いんじゃないでしょうか?
あと一番下で下を押したら上に戻ったりすると良いですね

それから場面変化が少し鈍いと言うか遅いですね
やはりフェードインがあるとわかりやすいと思います

前作の反動でしょうか、敵が死ぬのが早いですね
もう少し硬くしてはどうでしょうか?

後は素材をもう少し作りこむと良いと思います

ゲームとしての基本はできてると思うので
次は応用編として3D背景かレーザーに挑戦してはどうでしょうか?
どちらもやってみると意外に簡単ですよ

しかしINIファイルを使った保存の方法もあるんですね、知りませんでした・・

バグ

Re:シューティングゲームを作りました!3弾目

#9

投稿記事 by バグ » 16年前

INIファイルは御手軽な反面、改竄しやすいので使い処を考えなくてはいけません(^_^;)

ねこ

Re:シューティングゲームを作りました!3弾目

#10

投稿記事 by ねこ » 16年前

>チルチルさん
バグさんもおっしゃられてますがINIファイルは「お手軽セーブ」ってだけなので実際のセーブファイルに使うのはあまり好ましくありません。

今回みたいなケースの場合だと「EXTRAが出るまでファイル自体存在しない」という状態なため、
あらかじめ編集出来たりしないので、ファイルorパラメータが存在しない場合のデフォルト値を上手く使っています。
フラグ解放後にどんどんINIファイルのパラメータを増やす方式なら編集されてもただフラグがON/OFFになるだけになり、フラグ解放後の編集に意味を持たせなくできます。

situmon

Re:シューティングゲームを作りました!3弾目

#11

投稿記事 by situmon » 16年前

敵のHPって、考えるのが難しくて、弾幕をよけさせつつ倒す快感を残さなきゃいけないので難しいです。
人に言ってもらってはじめてこのくらいとわかるので、、、直してみます。
次回作は3面+EXTRAにしたいとおもいます。
レーザーは無理かもですが、3D背景を少し勉強したいです。
あとセーブ機能についてですが、ゲームプログラミングの館のセーブ方法がわからなかったので、
どなたか教えてほしいのですが・・・INIファイルは変えられやすいのですよね・・・

ねこ

Re:シューティングゲームを作りました!3弾目

#12

投稿記事 by ねこ » 16年前

>situmonさん
例えばハイスコアやプレイ情報等の情報を残す場合だとINIファイルなんかは使ってはいけませんが
EXTRAをプレイするには起動毎にクリアしないといけなくなる、
という状況を回避するための簡易セーブを書いただけです。
暫定で作るならINIで構わないと思いますし、むしろ習作ですからEXTRA最初から出してても良いんじゃないかと。

<セーブ方法がわからない
恐らくですがC言語レベル、構造体やバイナリファイルの扱いについての理解が足りてないんだと思います。
龍神録ベースに作るとそれなりに動くものが出来る反面、プログラムの基礎は勉強しなければ身に付きません。
基礎が身に付けば様々な応用が出来ますので製作と勉強は交互にやると良いかと思います。

ひよこ

Re:シューティングゲームを作りました!3弾目

#13

投稿記事 by ひよこ » 16年前

やってみました。弾幕がとてもきれいでした。絵も上手でしたし、
私はNormalで
「猫が寝る空間」にやられすぎて終了ってことが多かったです。
コンティニュー機能を追加してもらえるとうれしいです。

situmon

Re:シューティングゲームを作りました!3弾目

#14

投稿記事 by situmon » 16年前

>ひよこさん
「猫が寝る空間」
あれはかなりパターンなので、あとは自機狙い弾をよくみればよけられますよ♪
コンティニュー機能は3回くらいで追加します(次回作)
あとポーズ画面はどうでしたか?
ひよこさんにいわれていたので考えて実装したのですが。。。
>ねこさん
バイナリファイルの扱いが足りてないのだと思います。構造体などは本を読んでいたのですが、
これは・・・勉強します。

チルチル

Re:シューティングゲームを作りました!3弾目

#15

投稿記事 by チルチル » 16年前

とりあえず私が使っているセーブの方法でサンプルを作ってみました
パッと作ったのでミスが無いか心配ですが・・

チルチル

Re:シューティングゲームを作りました!3弾目

#16

投稿記事 by チルチル » 16年前

と思ったらchar型なのに1000まで代入できるようにしてしましました・・
セーブと関係はありませんが0~100ぐらいでお願いします

ポーズですがエスケープを押した時は解除
Xを押した時はタイトルに戻るを選択の方が良いと思います

situmon

Re:シューティングゲームを作りました!3弾目

#17

投稿記事 by situmon » 16年前

もしよければですが、使わせていただいてよろしいでしょうか、
チルチルさんのコードを使いたいです。

チルチル

Re:シューティングゲームを作りました!3弾目

#18

投稿記事 by チルチル » 16年前

どうぞ使ってください♪

そういえばセーブとは方法が違いますけど
リプレイ機能なども付けると良いかもしれません

ひよこ

Re:シューティングゲームを作りました!3弾目

#19

投稿記事 by ひよこ » 16年前

situmonさん
>>あとポーズ画面はどうでしたか?
シューティングの画面のままとメニューとなっていてよかったです。

situmon

Re:シューティングゲームを作りました!3弾目

#20

投稿記事 by situmon » 16年前

>チルチルさん
セーブ機能はできたのですが、リプレイ機能は具体的に・・・どう作ればいいのでしょうか?
あとセーブ機能についてですが、
fopenの宣言を確認してくださいとでてきてしまいますが、
きちんとビルドされ、動作もできているのですが、なぜでしょう。
ぐぐってみましたが、具体的に解決しませんでした。

チルチル

Re:シューティングゲームを作りました!3弾目

#21

投稿記事 by チルチル » 16年前

「fopenの宣言を確認してください」と言うのは上のサンプルの段階で出るようですね
動作できるという事はエラーではなく警告のようですが
私の環境では何故か警告を出さない設定になっているので
そういう警告が出るとは知りませんでした
なので原因は私にもわからないです、申し訳ありません・・

動作しているので問題は無いと思いますが、警告が出るのは気分が良くないですよね
fopen関数はCの標準関数だったと思うのでstdio.hをインクルードすれば消えるかもしれません

どなたか出ないようにする方法を知っている方がいたら教えてください

リプレイですが私は過去ログのような方法で実装しました、匿名と言うのは私です

http://www.play21.jp/board/formz.cgi?ac ... lognum=103

この頃は私の受け答えが下手だったので、見てもわからない可能性が高いです(今も結構下手ですが・・)
実装してわかったんですが不十分な所もあったので、良かったらサンプルとか作りますよ
諸事情で今は自分のプログラムが進められなくて暇ですし・・

リプレイが難しかったらスナップショットとかでも良いかもしれません
これがあるだけでクオリティが少し高く感じる気がします

ちなみに私の悪い病気(誰かに自分の中途半端なコードを進めたがる病)
が発動中なのでヤバイと思ったら話を斬って下さい
リプレイの処理を進めていながら、もっと効率の良い方法があったら変更しようとか考えてますから・・

situmon

Re:シューティングゲームを作りました!3弾目

#22

投稿記事 by situmon » 16年前

>中途半端なコード
いえいえ、参考になるので助かります。
リプレイですが、リファレンスみてみます。

array

Re:シューティングゲームを作りました!3弾目

#23

投稿記事 by array » 16年前

どうも、遊ばせてもらいました。とくに感想はいえませんが、毎回ゲームのクオリティーが上がっていくので、バージョンアップ・新作のたびにDLして少しあそばせてもらってます。
頑張って下さい。

situmon

Re:シューティングゲームを作りました!3弾目

#24

投稿記事 by situmon » 16年前

クオリティー。。。
でも自分で毎作品ごとに少しずつ、機能がアップしてるのは感じています。
ありがとうございます。

閉鎖

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