ページ 1 / 1
お久です☆
Posted: 2008年11月06日(木) 10:16
by ようすけ
以前にこちらのサイトでdoudouというフリーのゲームを公開した者です。
続編のdoudou2が出来ました。(*^_^*)
前作やられた方はわかると思いますが
前作よりもだいぶ良くなったと思います。
アップローダーサイト↓
http://2.kissho.org/5000/index.php
46478 doudou2です☆
DLkeyは0111です。
良ければゲームの感想など教えて下さいね☆
Re:お久です☆
Posted: 2008年11月06日(木) 11:49
by Dixq (管理人)
お久しぶりです。
DLKeyそれであってます?
私の間違いだったらごめんなさい。
Re:お久です☆
Posted: 2008年11月06日(木) 12:00
by ようすけ
管理人さんどうもです。
もう一度アップし直してみました。
これでいけるはずなんですが・・・
アップローダーサイト↓
http://2.kissho.org/5000/index.php
46488 doudou2です☆
同じくDLkeyは0111です。
Re:お久です☆
Posted: 2008年11月06日(木) 12:05
by ようすけ
DLkeyは半角です。
Re:お久です☆
Posted: 2008年11月06日(木) 13:53
by 匿名
確か前も言われたと思いますが、実行ファイルがどこにあるのかわかりにくい。
データファイルはわけるべき。
以前も一回ゲームオーバーになったらそこで止まっていたと思いますが、
2作目になったのならリセット機能位はつけてみては。
弾速が速い。そのわりに当たり判定が大きい。
1作目ならまだしも2作目なのならもうちょっと絵を改善してほしい。
2作目になってどこが進化したのかよくわからない。
Re:お久です☆
Posted: 2008年11月06日(木) 14:05
by ようすけ
> 以前も一回ゲームオーバーになったらそこで止まっていたと思いますが、
2作目になったのならリセット機能位はつけてみては。
そうですね、がんばって作ってみます。
> 弾速が速い。そのわりに当たり判定が大きい。
そういうゲームですから・・・
> 1作目ならまだしも2作目なのならもうちょっと絵を改善してほしい。
すいませんが、絵は昔から下手なもので、そればっかりは(泣
でも感想どうもでした(^v^)
Re:お久です☆
Posted: 2008年11月06日(木) 14:29
by バグ
個人的にあの絵は嫌いじゃないです。妙に味があるというか…(一応、褒め言葉ですw)
ゲームバランス云々は調整すればいいので、とりあえず置いておいて…w
個人的な要望としては、フルスクリーンとウインドウモードの切り替えがあるといいかなぁ…とか思います。
Re:お久です☆
Posted: 2008年11月06日(木) 14:50
by ようすけ
バグさん感想どうもです。
> 個人的にあの絵は嫌いじゃないです。妙に味があるというか…(一応、褒め言葉ですw)
ありがとうございます(●^o^●) プログラムと同じぐらい絵には時間をかけたんで、
そう言ってもらえるとうれしいです。
> 個人的な要望としては、フルスクリーンとウインドウモードの切り替えがあるといいかなぁ…とか思います。
そうですね、私自身も切り替えがあったほうがいいのかなぁと思ってたんですが、doudouでは小さかったので
今回はフルスクリーンのみでやっちゃいました(笑
次は横スクロールのシューティングをつくってるので、切り替えできるようにしときます☆
Re:お久です☆
Posted: 2008年11月06日(木) 15:57
by Dixq (管理人)
やってみました。初めてやったシューティングを思い出しました^^
なんか懐かしい気持ちにさせてくれるゲームですね。
フルスクリーン切り替えは最初にメッセージボックスを表示させ、その結果を元に、
スクリーン設定をする関数を呼べば良いのですぐ実装できると思います。
具体的には
void message_box(){
int flag;
//メッセージボックス起動
flag=MessageBox(NULL , TEXT("フルスクリーンモードで起動しますか?\n\n「はい」推奨\n") ,TEXT("スクリーン設定") , MB_YESNO | MB_ICONQUESTION );
if(flag==IDYES)
;//ハイなら何もしない。
else
ChangeWindowMode( TRUE );//ウィンドウモードに変更
}
を呼べばいいですよ。
リセットに関しては、ゲーム開始時に初期化関数を呼んでいると思いますが、それをもう一度呼べばいいと思います。
グローバル変数の宣言時に
int charactor_hp = 100;
みたいなことをするのはよくないので、もししていたら、グローバル変数や静的変数の宣言時に代入するのはやめ、
キャラクタのステータスやステージに必要な変数の値は初期化関数で初期化してあげてください。
全ての変数を初期化関数できちんと初期化していればリセットは簡単です。
変数はなるべく構造体で用意してやればmemsetで全て一括初期化できるので、初期化ミスが減ります。
Re:お久です☆
Posted: 2008年11月06日(木) 16:28
by ようすけ
なるほど!
管理人さんどうもありがとうございます(*^_^*)
私のようにゲーム作りはじめて間もない奴にとっては、
非常にわかりやすい説明です。次のゲームで実装してみます!
ところで、ダウンロードしてくれた方々は、ちゃんとフルスクリーンで
ゲームが始まったんでしょうかねぇ?
ある本だと、WINDOWSは解像度640×480と800×600は必ずサポートしてあると
書いてあったんで、「じゃあ640×480でやってみるか」ってやったんですけど(汗
Re:お久です☆
Posted: 2008年11月06日(木) 16:30
by Dixq (管理人)
フルスクリーンで表示されましたよ。
640x480はデフォルトでそうなっているので、特に指定の必要はないですね。
あと、先ほどの関数はメイン関数の最初に書いてください。
DXライブラリの初期化関数の前です。
Re:お久です☆
Posted: 2008年11月06日(木) 16:50
by ようすけ
> フルスクリーンで表示されましたよ。
そうですか。よかったです(●^o^●)
> あと、先ほどの関数はメイン関数の最初に書いてください。
了解です!
> 初めてやったシューティングを思い出しました^^
なんか懐かしい気持ちにさせてくれるゲームですね。
そうですね、私自身もアーケードで言えば、達人、雷電、ストライカーズ1945、ガンバード
とかをやり込んでた時期があったんで、どうしてもそういう感じのゲームになっちゃいました。(笑
やっぱ人間って最初にやったゲームとかインパクトに残るものなんですね(^v^)
Re:お久です☆
Posted: 2008年11月07日(金) 02:41
by 木霊
自分もやってみました。
思っていたより難しくて、まだ2面止まりです・・・
ゲームに関しては匿名さんも仰っていたように、
ゲームオーバーになるたびに終了・再実行の流れがつらい(面倒くさい)ので
タイトル画面等はあった方がいいでしょう。
いつか読んだ本で、「STGは爽快感を感じるゲーム」というのを見たことがあります。
弾が発射される(する)音・敵の撃破音・難しい弾幕を避け切る(自分は避け切れないんですが)等の
爽快感の不足を感じました。
ですので、いくつかの効果音をつければ大分印象が変わるのではないかと思います。
あとは、画像データと音楽データを見直したほうが良いと個人的に思います。
ボム時の画像で640×480を10枚使ってますが、これを小さい爆発と大きい爆発とに分けて
乱数で出現位置を決めてある程度の数を描画してそれっぽく見せるとか、
敵を影の部分と本体で分けるとかで結構容量を減らせます。
無論ステージデータの600×2580の画像もマップチップを作成してみるとかで工夫すると良いと思います。
音楽データの方ですが、これだけでおよそ142MBもあります。
Wave形式は大きいので、曲であればOgg形式等の他の形式に(可能ならば)変更したほうがいいです。
Re:お久です☆
Posted: 2008年11月07日(金) 12:06
by ようすけ
木霊さん感想ありがとうです(*^_^*)
> 弾が発射される(する)音・敵の撃破音・難しい弾幕を避け切る(自分は避け切れないんですが)等の
爽快感の不足を感じました。
ですので、いくつかの効果音をつければ大分印象が変わるのではないかと思います。
私もステージ音楽以外に敵を倒した時にでる効果音とか付けてみたかったんですけど、
APIのPlaySound関数は同時に二つの音は出せないらしいんですよ(泣
だから同時に出せるDirectXのDirectSound?を使おうと思ったんですが、なんせゲーム作り初心者なんで
さっぱりわかりませんでした(__)
ボムの乱数はいい案ですね。試してみます☆
> 無論ステージデータの600×2580の画像もマップチップを作成してみるとかで工夫すると良いと思います。
これも個人的に謎なんですが、1-3の空ステージみたいに単純(同じ)な絵だったら例えば35×35のマップチップを画面内に敷き詰めてループさせるといったことが可能ですけど、1-1みたいな絵が全然違う場合は
どういう風にやってるんですかね?
Re:お久です☆
Posted: 2008年11月08日(土) 02:47
by 木霊
>これも個人的に謎なんですが、1-3の空ステージみたいに単純(同じ)な絵だったら例えば35×35の
>マップチップを画面内に敷き詰めてループさせるといったことが可能ですけど、1-1みたいな絵が
>全然違う場合は どういう風にやってるんですかね?
マップチップのデータを全部描くのではなくて、一部分だけ描けば出来ると思います。
1 □□□
2 ○○○
3 □○□
4 ○○□
5 □○○
とデータがあったとして、
最初は3・4・5だけを描画(画面外に実は2も描画)
スクロールに合わせて2が少しずつ出現、同時に5が画面外に
画面に2が完全に出現した場合に手順の始めで描画している範囲を1ずらす
(2・3・4を描画、画面外に1を描画)
後は繰り返し・・・
要はこんな感じです。
マップチップを増やせば(例えば同じ「崖の右側」でも2・3種類作る)多少複雑なマップでも
出来ますし、背景をアニメーションさせるのも容易です。
さっきやっと2面のボスまで行けましたがあっさりやられてしまいました・・・
ところで、自分と同じ初心者ならDxライブラリを使ってみてはどうですか?
DirectXの機能を使いやすくしてくれたライブラリですので「効果音」も簡単に実装できますよ。
http://homepage2.nifty.com/natupaji/DxLib/
ここの管理人さんや常連の方々にも、使われてる方が多いのでアドバイスも受けやすいと思います。
唯一の難点はDirectXの機能を自力で身につけようとする気がなくなることぐらいですw
Re:お久です☆
Posted: 2008年11月08日(土) 10:48
by ようすけ
> ところで、自分と同じ初心者ならDxライブラリを使ってみてはどうですか?
DirectXの機能を使いやすくしてくれたライブラリですので「効果音」も簡単に実装できますよ。
音の問題があったので以前から使おうとは思っていたんですが、なかなか腰が重くて(笑
考えてみます(^v^)
> さっきやっと2面のボスまで行けましたがあっさりやられてしまいました・・・
なるほど(^u^)
一応攻略法としては2ボスに関しては結構弾を打ってこない時があるので、
そのタイミングを覚えてボスに張り付いてショットを打ち込めばかなり早く
倒せますよ。
あとはボス戦に関しては安地(安全地帯)も少しあるので、見つければ
動かなくても死なないので余分な弾避けをしなくてすみます☆
ちなみに3ボスは2ボスよりも数倍弾も早いし強いです(笑
何はともあれ、長く遊んでやって下さい(._.)