まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ステージ3ボスの第二形態を作ってまして、まずホーミングレーザーを作りたい
と思って方法を色々と考えたのですが、まったく上手く出来ませんでした(汗)
ただ単純に自機を追いかけるだけなら、es_adirなりes_aimなりで自機座標を
指定してやれば簡単なのですが、この方法だとあまりにも自機を正確に
追っかけてしまうので、ゲームとしては面白くありません。
ある程度、不正確の方が避けがいがあるってもんです。
ですので、考え方としては、レーザーの移動方向に制限をつけてやれば良いのだと
思うのですが、この制限のつけ方が良くわからなくて悩み中なんです。
で、ふとHSPを勉強しはじめた頃にHSPスレでホーミングレーザーの話をしていた
事を思い出して調べてみたのですが、既に過去ログ扱いになっており見れず・・・
いつもなら諦めるのですが、今回はどうしても見たかったのでモリタポを購入して
過去ログを見てみました。
で探してみるとHSP - Hot Soup Processor [11] (12)って所にありました。
あったんですが、実はホーミングレーザーの話ではなくて、加算合成による
レーザーの表示方法の話で、ホーミングレーザーの話ではなくてちょっとがっかり・・・
でも、このサンプルにHSPDXFIXが使われており、色々と興味深い事が書いてありました。
以下スレより抜粋
*********************************************************
ブレンドファクターについて↓
ttp://www.platz.or.jp/~moal/tblend.html
*********************************************************
*********************************************************
2006/04/19(水) 02:32:08 ID:f5RCalwb
サンプルは試せてないから良く分からないけど
ALPHA_ADD=es_bfcalc(ESB_ONE,ESB_INVSRCALPHA) ;α値で不透明度(下色の影響度)+加算合成(α値255時と同じ)
ESB_ADDの代わりに、これ試してみ
他にも組み合わせはあるけどな・・・
*********************************************************
********************************************************* 2006/04/20(木) 07:12:25 ID:RLSieLL2
こんなのもある(276ので試してるだけだと分かり難いやつ)
INVSRCCOLOR_ADD=es_bfcalc(ESB_SRCALPHA,ESB_INVSRCCOLOR) ;1ドットの各色要素に対して (上色*α値+下色*(255-上色))/255 あってるかな・・・
分かりやすく言うと、合成する色を割り引いてから加算合成って感じ
α値は、減算処理後に加算合成される色に対して
ライトは、減算処理と加算合成される色両方に関係(暗いほど下が透ける)
元絵に近い感じに合成されるからレーザーとかで使うなら
加算合成で使う絵より明るくした方がいいかな・・・
あとは、グレイスケールで点のα値を用意して上のブレンドファクタでα値0か
α値の影響を受けない es_bfcalc(ESB_ZERO,ESB_INVSRCCOLOR)で (両方とも減算合成とは違うから完璧にはいかないと思うけど)
先に描画して、その上に加算合成でレーザーを重ねる
INVSRCCOLOR_ADDの方だとα値で明るさを残せるから合成後のレーザーの明るさを変えられる
*********************************************************
ブレンドファクターってesb_~以外にも色々と指定出来るんですね。
で、このブレンドファクターやらレーザーの色やらアルファ値などをレーザーを表示しながら
変更出来るソフトをアップされておられる方がおり、とても良い出来なので紹介↓
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0030.zip
マウスの左ボタンでレーザーを発射し、キーボードで様々な設定を変更できます。
レーザーの動きも、まさにこんな動きをさせたかった!と言う感じでグリグリ動き
とても爽快です^^一体どうやって動かしてるんでしょうねぇ・・・
で、このゲームどこかで見たなぁ~と思ったら、いや☆ぼーん Pの作者さんでした。
このいや☆ぼーん Pですが、ホーミングレーザーが爽快で操作感も良く
昔セガマスターシステムであったSDIを思い出す操作感で、とても面白くてお勧めです。
動作も非常に軽くて、凄いなぁと感心するばかり。
とりあえず、このレーザーを目標にホーミングレーザースクリプトを考え中ですが
ステージ3のボスに実装されなかった時は、そっとしておいてやって下さい^^;
と思って方法を色々と考えたのですが、まったく上手く出来ませんでした(汗)
ただ単純に自機を追いかけるだけなら、es_adirなりes_aimなりで自機座標を
指定してやれば簡単なのですが、この方法だとあまりにも自機を正確に
追っかけてしまうので、ゲームとしては面白くありません。
ある程度、不正確の方が避けがいがあるってもんです。
ですので、考え方としては、レーザーの移動方向に制限をつけてやれば良いのだと
思うのですが、この制限のつけ方が良くわからなくて悩み中なんです。
で、ふとHSPを勉強しはじめた頃にHSPスレでホーミングレーザーの話をしていた
事を思い出して調べてみたのですが、既に過去ログ扱いになっており見れず・・・
いつもなら諦めるのですが、今回はどうしても見たかったのでモリタポを購入して
過去ログを見てみました。
で探してみるとHSP - Hot Soup Processor [11] (12)って所にありました。
あったんですが、実はホーミングレーザーの話ではなくて、加算合成による
レーザーの表示方法の話で、ホーミングレーザーの話ではなくてちょっとがっかり・・・
でも、このサンプルにHSPDXFIXが使われており、色々と興味深い事が書いてありました。
以下スレより抜粋
*********************************************************
ブレンドファクターについて↓
ttp://www.platz.or.jp/~moal/tblend.html
*********************************************************
*********************************************************
サンプルは試せてないから良く分からないけど
ALPHA_ADD=es_bfcalc(ESB_ONE,ESB_INVSRCALPHA) ;α値で不透明度(下色の影響度)+加算合成(α値255時と同じ)
ESB_ADDの代わりに、これ試してみ
他にも組み合わせはあるけどな・・・
*********************************************************
*********************************************************
こんなのもある(276ので試してるだけだと分かり難いやつ)
INVSRCCOLOR_ADD=es_bfcalc(ESB_SRCALPHA,ESB_INVSRCCOLOR) ;1ドットの各色要素に対して (上色*α値+下色*(255-上色))/255 あってるかな・・・
分かりやすく言うと、合成する色を割り引いてから加算合成って感じ
α値は、減算処理後に加算合成される色に対して
ライトは、減算処理と加算合成される色両方に関係(暗いほど下が透ける)
元絵に近い感じに合成されるからレーザーとかで使うなら
加算合成で使う絵より明るくした方がいいかな・・・
あとは、グレイスケールで点のα値を用意して上のブレンドファクタでα値0か
α値の影響を受けない es_bfcalc(ESB_ZERO,ESB_INVSRCCOLOR)で (両方とも減算合成とは違うから完璧にはいかないと思うけど)
先に描画して、その上に加算合成でレーザーを重ねる
INVSRCCOLOR_ADDの方だとα値で明るさを残せるから合成後のレーザーの明るさを変えられる
*********************************************************
ブレンドファクターってesb_~以外にも色々と指定出来るんですね。
で、このブレンドファクターやらレーザーの色やらアルファ値などをレーザーを表示しながら
変更出来るソフトをアップされておられる方がおり、とても良い出来なので紹介↓
ttp://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0030.zip
マウスの左ボタンでレーザーを発射し、キーボードで様々な設定を変更できます。
レーザーの動きも、まさにこんな動きをさせたかった!と言う感じでグリグリ動き
とても爽快です^^一体どうやって動かしてるんでしょうねぇ・・・
で、このゲームどこかで見たなぁ~と思ったら、いや☆ぼーん Pの作者さんでした。
このいや☆ぼーん Pですが、ホーミングレーザーが爽快で操作感も良く
昔セガマスターシステムであったSDIを思い出す操作感で、とても面白くてお勧めです。
動作も非常に軽くて、凄いなぁと感心するばかり。
とりあえず、このレーザーを目標にホーミングレーザースクリプトを考え中ですが
ステージ3のボスに実装されなかった時は、そっとしておいてやって下さい^^;
PR
この記事にコメントする
無題
お久しぶりです、以前BBSに失礼した者です。
ホーミングレーザーのスクリプト、面白そうですね。
いや☆ぼーん は私もよくプレイしました(^-^
さて本題ですが、HSP開発wikiにホーミングミサイルのサンプルがありますので、よろしければ参考にどうぞ。
http://hspwiki.tm.land.to/?%C4%C9%C0%D7%C3%C6
残念ながらDirectXを使っていないものですが……
ホーミングレーザーのスクリプト、面白そうですね。
いや☆ぼーん は私もよくプレイしました(^-^
さて本題ですが、HSP開発wikiにホーミングミサイルのサンプルがありますので、よろしければ参考にどうぞ。
http://hspwiki.tm.land.to/?%C4%C9%C0%D7%C3%C6
残念ながらDirectXを使っていないものですが……
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
リンク
カテゴリー
最新記事
(04/04)
(12/26)
(12/25)
(11/17)
(10/11)
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
最古記事