2012年6月9日土曜日

シューティングゲーム Ver0.11β 公開

今日も暑かったですね。群馬県は30℃を越えたところもあるとか。6月でこの気温は夏が心配になってくる。それでは本題↓



先日に引き続き「シューティングゲーム Ver0.11β」を公開しました。



ダウンロードはこちらから→Ver011.lzhをダウンロード



前回から目立った変更点は無いのですが一応変更点を下に書いておきます。



どっかの部長さんに指摘して頂いた2ゲームオーバーの後の選択ボタンを押すとフリーズするバグを修正。「こちらでは確認できませんでした」なんて書いてすみませんでした。



DirectX移行する際、標準命令の「dialog」を「es_dialog」に変更したのにシステム変数の「stat」を「esr_stat」に変更するのを忘れていました。申し訳ありません。



敵の登場の動作を追加。



これはボス戦の前に入れる予定の道中の追加の準備の伴う物です。次回の公開までに道中を仮完成させる予定です。ソースの方には変数が準備されているのがわかると思います。



Extendしすぎるバグを修正。



エクステンドする点数に0点が入っていたため被弾しても同時にエクステンドしてしまう現象を修正。



graze数が異常な速度で上昇するバグを修正。



一度かすった弾はカウントしないようにする命令を追加。



効果音について



効果音はソースを見ると命令がコメントになっています。こちらで開発の際に使用している音は他者からの借り物のため公開することが出来ませんでした。効果音が欲しいという方はこちらで新しいバージョンが公開されるのを待っていただくかコメントを外し自分で用意して下さい。



動作条件・・・windowsでありDirectX 7以降が動作している物



動作確認が取れているもの・・・windows xp pro DirectX9.0c



推奨環境



OS  windows xp / vista /7



CPU Pentium 4 1.80GHz以上



GPU チップセットで十分



まだまだバグはたくさんあると思いますがとりあえずは普通にプレイできると思います。バグを発見したらコメントに書いて頂けましたら、原因解明ししだい修正します。



そういえば200Hit達成しました。ありがとうございます。自分が200を踏んだと思う人はコメントに書いてください。時期は2012年6月6日から7日の間です。



222は誰が踏むのかな?



12 件のコメント:

  1. どっかの部長2012年6月9日 15:16

    いえいえ、何も謝ることはないと思いますよ、実際自分も起こっていませんし。
    今自分はシューティングゲームのために素材をせっせこ作成中です。
    BGMとかも自作のほうがいいのでしょうが、もちろん自分にはそんな才能なんぞないに等しいので;w;

    返信削除
  2. らべんだあ2012年6月9日 20:26

    >どっかの部長さん
    謝るのは一応規定みたいな物なので、というか怒っていなくてもこちら側がミスをしたのだから謝るのは当然かと思って。
    BGMはどうしましょうか。僕はフリーのMIDI素材を適当にアレンジしてみるのでいいかと思っているのですが。画像もフリーのをアレンジして。これなら1から作るよりも簡単で著作権にも引っかからないし。あとは誰か絵のうまい友達に描いてもらうとか。(でも絵がうまくてもまともな絵を描く友達がいない。)
    この後、僕はburuumanさんとコズミック・ノヴァさんと鉄E233takasakiさんとオフ会です。といっても学校の友達だから普通に遊ぶだけですけど。このシューティングでも遊びますよww

    返信削除
  3. どっかの部長2012年6月10日 0:41

    とりあえず自機が動くだけの奴を作りました
    ファイルは添付方法がわからなかったのでなしです
    redraw命令を使ってもなんかちらつくんですが、どうしたらいいでしょう
    ある程度は仕方がないのかもしれませんが
         screen 0,400,300 ;パラメータは左から画面番号、大きさ(x、y)
    ;画面番号1はパソコン側で使っているので使わないこと
    buffer 2 ;bufferは、見えない画面を出すscreen命令
    picload "picture/シューティング用素材.bmp"
    ;ファイルパスの指定は基本的には相対パスで
    gsel 0 ;これから使う画面を指定
    x = 50
    y = 120
    *main
    color 255,255,255
    boxf
    stick key,15 ;キーボードやマウスの状態を変数へ
    if(key & 1) : x = x - 5
    if(key & 2) : y = y - 5
    if(key & 4) : x = x + 5
    if(key & 8) : y = y + 5
    if x 400 : x = 400
    if y 300 : y = 300
    color 1,1,1 ;透明にする色指定
    pos x,y
    gmode 4,32,32,255 ;コピーするモード、コピーする大きさ(x、y)
    gcopy 2,0,0 ;画像をコピー
    redraw 1
    redraw 0
    await 16
    goto *main

    返信削除
  4. 鉄E233takasaki2012年6月10日 1:19

    今、buruumanさん宅です。おまえもくるのか?
    メール代わりに使ってわりぃ!

    返信削除
  5. らべんだあ2012年6月10日 6:47

    >どっかの部長さん
    添付ファイルはこのブログにはどうやっても載せられません。どうしてもというのなら自分のブログなどにファイルをUPしてそれをリンクするという裏技がありますが…
    redraw命令は正しく使われいるし、こちらで動作させてもちらつきませんでしたのでHSP標準命令の限界かと思われます。もしくは画面などのハードウェアの問題も考えられます。垂直同期周波数(わからなかったら調べて下さい)は60Hz推奨です。
    弾幕シューティングを作るのであれば標準命令ではなくDirectXを使った命令にしたほうがいいと思います。Directxを使用すればちらつきは全く気にならなくなると思います。自機だけなら見た目は変わりませんが弾幕が1000個とか描画させるとかなり違いが出てきます。今のうちならDirectXに移行は簡単です。僕は「hspdx」を使っています。ほとんどの描画命令が標準命令の前に「es_」をつければいいので。
    >鉄E233takasaki
    行くよ。というか行って帰ってきたよ。
    そのコメントburuumanさん宅のPCで投稿したでしょww
    IPアドレスでわかるんだなぁ。これが。

    返信削除
  6. どっかの部長2012年6月10日 17:08

    前回のに加えて弾を動かすプログラム
    …なんだけど、弾が動かない;w;
    なんでー?
    screen 0,400,300 ;パラメータは左から画面番号、大きさ(x、y)
    ;画面番号1はパソコン側で使っているので使わないこと
    buffer 2 ;bufferは、見えない画面を出すscreen命令
    picload "picture/シューティング用素材.bmp"
    ;ファイルパスの指定は基本的には相対パスで
    gsel 0 ;これから使う画面を指定
    x = 50.0
    y = 120.0
    maxbullet = 100 ;弾の最大数
    dim b , maxbullet
    dimtype b_x ,vartype("double"),maxbullet ;少数が使えるbという変数をmaxbulletの数だけ作る
    dimtype b_y ,vartype("double"),maxbullet
    dimtype b_vx ,vartype("double"),maxbullet
    dimtype b_vy ,vartype("double"),maxbullet
    b(0) = 1
    b_x(0) = 50.0
    b_y(0) = 200.0
    b_vx(0) = 5.0
    b_vy(0) = 0.0
    *main
    color 255,255,255
    boxf
    stick key,15 ;キーボードやマウスの状態を変数へ
    if(key & 1) : x = x - 5.0
    if(key & 2) : y = y - 5.0
    if(key & 4) : x = x + 5.0
    if(key & 8) : y = y + 5.0
    if x 400.0 : x = 400.0
    if y 300.0 : y = 300.0
    repeat maxbullet
    if( b(cnt) == 1 ){
    b_vx(cnt) = b_x(cnt) + b_vx(cnt)
    b_vy(cnt) = b_y(cnt) + b_vy(cnt)
    }
    loop
    color 1,1,1 ;透明にする色指定
    pos x,y
    gmode 4,32,32,255 ;コピーするモード、コピーする大きさ(x、y)
    gcopy 2,0,0 ;画像をコピー
    repeat maxbullet ;maxbulletの数だけ繰り返す
    if( b(cnt) == 1 ){
    pos b_x(cnt) , b_y(cnt) ;cntには繰り返した回数が入る
    gmode 4,16,16,255 ;コピーするモード、コピーする大きさ(x、y)
    gcopy 2,32,0
    }
    loop ;repeatへ戻る
    redraw 1
    redraw 0
    await 16
    goto *main

    返信削除
  7. らべんだあ2012年6月10日 21:13

    >どっかの部長さん
    では、対処法を。
    screen 0,400,300 ;パラメータは左から画面番号、大きさ(x、y)
    を1行目とした場合44行目と45行目の
    b_vx(cnt) = b_x(cnt) + b_vx(cnt)
    b_vy(cnt) = b_y(cnt) + b_vy(cnt)

    b_x(cnt) = b_x(cnt) + b_vx(cnt)
    b_y(cnt) = b_y(cnt) + b_vy(cnt)
    に直すとうまくいきます。
    代入される変数(左辺)が弾幕の速度に間違ってなっていたのが問題だと思います。弾幕の座標にする事で解決です。
    このソースって魯鈍ジョンさんの講座を見て作りましたよね。この先ピチューン音(被弾音)が必要になってきますよ。自分で用意しておいて下さい。

    返信削除
  8. どっかの部長2012年6月11日 1:48

    おう、こんなところで間違えていようとは…
    どうもありがとうございます
    効果音は…そうですね、「魔王魂」ってとこから借りてきます

    返信削除
  9. らべんだあ2012年6月11日 3:16

    >どっかの部長さん
    魔王魂っていったいなんだ?

    ググって見た。

    こんなのがあるとは・・・
    僕は東方の体験版から効果音を抜き出して使っていましたが、これだと上にも書いた通り著作権問題が公開する際に発生するので音無しにいています。ここから良いのを探すもしくはそれを元に改造してみようと思います。たぶんVer0.11か0.2では効果音が付くと思います。
    HSPの記述ミスはお互い気をつけましょう。

    返信削除
  10. どっかの部長2012年6月12日 4:57

    自機狙いの弾幕
    なんか被弾して効果音鳴らすたびに重くなる… 原因がソースにないのならソースコードは消したっても構いません
    ソースは長いので管理人により消されました。
    ソースが知りたい人はニコニコ動画sm6461673を御覧下さい。

    返信削除
  11. らベンダあさん、ブログ更新したから見てくれー
    http://yaplog.jp/kazamakirito/

    返信削除
  12. らべんだあ2012年6月12日 5:41

    >どっかの部長さん
    ソース自体に問題は無さそうでしたのでソースは消させてもらいましたm(_ _)m
    重たくなるのは仕方ありません。1度に大量に被弾したらそんだけの回数を鳴らさないのでかなりのスペックが必要です。(mp3の場合)
    wavにする事によりかなり改善されると思います。またサウンドファイルも軽くするとさらに改善されます。pentium 4 1.80 GHzでも動画と同じような感じになりました。
    実際のシューティングでは基本的に1回被弾するとある程度の無敵時間が発生するのでそんなに問題は無いと思います。
    >鉄E233takasakiさん 改めて 風間キリトさん
    ブログ見ましたよ。最近鉄道写真をうpしていないなぁ。
    6月16日晴れろ~。

    返信削除