まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ステージ5は地下都市みたいな感じをイメージしていたので、ステージ5作製に向けて
とりあえず↓こんな背景を作製してみました。

地下なのに雲があるってのはおかしい気もしますが、まぁゲームなので^^;
で、なんとなく都市上空って感じには出来たかなぁと思っているのですが
他にも色々とやりたい事があって、それぞれのアイデアがまとまらずに
どうしたもんかと考えています。
ステージ5でやろうと思っている事は・・・
背景の回転スクロール(フェリオスの1面のような感じ)
龍のような巨大な多関節キャラの登場
背景の斜めもしくは横スクロール
ガルーダ2の5面のような縦穴地帯
などなど、他にもアレやコレやと悩み中です^^;
とりあえず↓こんな背景を作製してみました。
地下なのに雲があるってのはおかしい気もしますが、まぁゲームなので^^;
で、なんとなく都市上空って感じには出来たかなぁと思っているのですが
他にも色々とやりたい事があって、それぞれのアイデアがまとまらずに
どうしたもんかと考えています。
ステージ5でやろうと思っている事は・・・
背景の回転スクロール(フェリオスの1面のような感じ)
龍のような巨大な多関節キャラの登場
背景の斜めもしくは横スクロール
ガルーダ2の5面のような縦穴地帯
などなど、他にもアレやコレやと悩み中です^^;
PR
弾幕型さんが更新停止されたようですorz
一時的な物なのか完全な閉鎖なのかわかりませんがとても残念です。
始まりがあれば終りもあるわけでどんなサイトでもいつの日かは更新停止になってしまうものですが
それにしても突然だったのでショックでした。
ここのサイトのお陰で知りえたSTGも沢山ありましたし、うちのゲームも頻繁に紹介
して頂いていたので、弾幕型の中の人とは直接の面識はありませんが心からありがとう&お疲れ様
と言いたいです。
あまりにもカッコよかったので紹介
コレほどまでにピアノの音が合うとは思いませんでした^^
最初のバブルシステムから、もう鳥肌もんです。
グラディウスの曲は全曲大好きなのですが、その中でも特に良かったと思ったのが2面と6面。
意外と良かったと言った方がよいかな?
ピアノで演奏する事によって、本来の曲の良さが出ているような気がしました。
もちろん定番の1面4面7面も聴きごたえ抜群です^^
そして最後のネームエントリーが、これまた良い味出してて、ここ最近毎日聴いてます。
他にも、サラマンダやモンスターランド、ドルアーガの塔などをアップされており
私と同じくらいの年齢の人は結構楽しめるんじゃないかと思いますよ^^
コレほどまでにピアノの音が合うとは思いませんでした^^
最初のバブルシステムから、もう鳥肌もんです。
グラディウスの曲は全曲大好きなのですが、その中でも特に良かったと思ったのが2面と6面。
意外と良かったと言った方がよいかな?
ピアノで演奏する事によって、本来の曲の良さが出ているような気がしました。
もちろん定番の1面4面7面も聴きごたえ抜群です^^
そして最後のネームエントリーが、これまた良い味出してて、ここ最近毎日聴いてます。
他にも、サラマンダやモンスターランド、ドルアーガの塔などをアップされており
私と同じくらいの年齢の人は結構楽しめるんじゃないかと思いますよ^^
ステージ5を作る前に、ネームエントリーの曲を作ってネームエントリーを完成させて
しまおうと思って曲を作っていたのですが、なかなか良い感じの曲が出来ないので
先にステージ5を作り始めようかと思って、まずやろうと思っていた3Dでの背景表示
の為のテストスクリプトを作ってみました。
hspdxfixを使用した3Dでの背景表示スクリプト
このスクリプトを動かすとこんな感じ↓

側面の壁は3Dっぽく表示し、手前よりも奥の方が小さくスクロールします。
表示方法は以前書いた方法で簡単に表示出来るのですが一つ問題がありました。
側面の壁と背景の画像が綺麗に合ってスクロールしないんです。
お互いのスクロールスピードを同じにしていると、壁を縮小表示してる分
綺麗に合わないんですよね。
で、スクロールスピードを変えてみたり、表示画像の大きさを変えてみたりと
色々と試してみたのですが、いまいち上手くいきません・・・
ここでふと思いつきました。
この壁の画像は、こんな画像を読み込んで表示させています↓

これをes_d3doptを使用して3D表示させると、画像の真ん中を軸に大きくなったり
小さくなったりします。
この真ん中を軸にするってのがポイントで、読み込む画像を↓のように2倍にして読み込めば・・・

丁度、真ん中で回転して表示されるので上手い具合に背景と合ってくれる様になりました^^
とりあえず、これで上手く出来たのですが、本当はこれに拡大/縮小をプラスしたかったんですが
そうすると画像同士が上手くくっつかずに、おかしな事になってしまうんですよね・・・
色々と考え中です^^;
しまおうと思って曲を作っていたのですが、なかなか良い感じの曲が出来ないので
先にステージ5を作り始めようかと思って、まずやろうと思っていた3Dでの背景表示
の為のテストスクリプトを作ってみました。
hspdxfixを使用した3Dでの背景表示スクリプト
このスクリプトを動かすとこんな感じ↓
側面の壁は3Dっぽく表示し、手前よりも奥の方が小さくスクロールします。
表示方法は以前書いた方法で簡単に表示出来るのですが一つ問題がありました。
側面の壁と背景の画像が綺麗に合ってスクロールしないんです。
お互いのスクロールスピードを同じにしていると、壁を縮小表示してる分
綺麗に合わないんですよね。
で、スクロールスピードを変えてみたり、表示画像の大きさを変えてみたりと
色々と試してみたのですが、いまいち上手くいきません・・・
ここでふと思いつきました。
この壁の画像は、こんな画像を読み込んで表示させています↓
これをes_d3doptを使用して3D表示させると、画像の真ん中を軸に大きくなったり
小さくなったりします。
この真ん中を軸にするってのがポイントで、読み込む画像を↓のように2倍にして読み込めば・・・
丁度、真ん中で回転して表示されるので上手い具合に背景と合ってくれる様になりました^^
とりあえず、これで上手く出来たのですが、本当はこれに拡大/縮小をプラスしたかったんですが
そうすると画像同士が上手くくっつかずに、おかしな事になってしまうんですよね・・・
色々と考え中です^^;
前々から気になっていたのですが、私の今のスクリプトだと縦横移動時と斜め移動時で
自機の移動スピードが違っていました。
これは移動処理を下記のように、斜め移動を考慮せずに斜め移動時は単純にx軸とy軸を
足して移動させていたからです。
こんな感じ↓
move=5
stick ky,15
xv=(ky>>2&1)-(ky&1);x軸移動処理
yv=(ky>>3&1)-(ky>>1&1);y軸移動処理
px=xv*move+px : py=yv*move+py;自機移動処理
pos px,py
この方法でもちゃんと動きますが、斜め移動時の移動スピードが縦横移動時よりも速く移動
してしまい不自然です。
で、色々と調べてみたところ、縦横移動時よりも斜め移動時の方がルート2倍速く移動する
事がわかりました。
ルート2ってのは「ひとよひとよにひとみごろ」なので1.41421356です。
(こんな所で役にたつなんて^^;)
1.41421356で計算するのは大変なので、1.41で考えてみます。
1.41倍移動すると言う事は、その逆の分移動させれば良いという事になります。
1.41倍の逆ってのは逆数を考えるようで、1.41の逆数は1/1.41になり
1÷1.41で0.70921・・・・・と言う事で約0.71倍の速さで移動すれば良いと言う事になります。
(計算&考え方合ってると思いますが、間違ってたら教えてください^^;)
それを踏まえて移動処理を考えてみました↓
斜め移動処理スクリプト
このスクリプトを起動させるここんな感じ↓

上下左右で自機移動
スペースを押すと斜め移動を考慮しない移動
エンターを押すと斜め移動を考慮する移動を行います。
スクリプトとしては↓のように
move=5.
stick ky,15
if xv!0 : if yv!0 : move=move*0.71;斜め移動の時の処理
xv=double((ky>>2&1)-(ky&1));x軸移動処理
yv=double((ky>>3&1)-(ky>>1&1));y軸移動処理
px=xv*move+px : py=yv*move+py;自機移動処理
pos px,py
縦横の両方ともが移動している場合に、移動量moveに0.71をかけています。
以上を踏まえて作成中のSolid State SURVIVORに組み込んでみたのですが
今まで斜め移動が速いのに慣れていたので、逆に不自然に感じでしまうのですが
そのうち慣れるだろうと思っています^^;
自機の移動スピードが違っていました。
これは移動処理を下記のように、斜め移動を考慮せずに斜め移動時は単純にx軸とy軸を
足して移動させていたからです。
こんな感じ↓
move=5
stick ky,15
xv=(ky>>2&1)-(ky&1);x軸移動処理
yv=(ky>>3&1)-(ky>>1&1);y軸移動処理
px=xv*move+px : py=yv*move+py;自機移動処理
pos px,py
この方法でもちゃんと動きますが、斜め移動時の移動スピードが縦横移動時よりも速く移動
してしまい不自然です。
で、色々と調べてみたところ、縦横移動時よりも斜め移動時の方がルート2倍速く移動する
事がわかりました。
ルート2ってのは「ひとよひとよにひとみごろ」なので1.41421356です。
(こんな所で役にたつなんて^^;)
1.41421356で計算するのは大変なので、1.41で考えてみます。
1.41倍移動すると言う事は、その逆の分移動させれば良いという事になります。
1.41倍の逆ってのは逆数を考えるようで、1.41の逆数は1/1.41になり
1÷1.41で0.70921・・・・・と言う事で約0.71倍の速さで移動すれば良いと言う事になります。
(計算&考え方合ってると思いますが、間違ってたら教えてください^^;)
それを踏まえて移動処理を考えてみました↓
斜め移動処理スクリプト
このスクリプトを起動させるここんな感じ↓
上下左右で自機移動
スペースを押すと斜め移動を考慮しない移動
エンターを押すと斜め移動を考慮する移動を行います。
スクリプトとしては↓のように
move=5.
stick ky,15
if xv!0 : if yv!0 : move=move*0.71;斜め移動の時の処理
xv=double((ky>>2&1)-(ky&1));x軸移動処理
yv=double((ky>>3&1)-(ky>>1&1));y軸移動処理
px=xv*move+px : py=yv*move+py;自機移動処理
pos px,py
縦横の両方ともが移動している場合に、移動量moveに0.71をかけています。
以上を踏まえて作成中のSolid State SURVIVORに組み込んでみたのですが
今まで斜め移動が速いのに慣れていたので、逆に不自然に感じでしまうのですが
そのうち慣れるだろうと思っています^^;
カレンダー
| 08 | 2026/09 | 10 |
| 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が特に好きで、並木学氏は最高!
ブログ内検索
最古記事