忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

HSPコンテスト2007でSolid State SURVIVOR が「(株)晋遊舎 「Windows100%」編集部賞」
を受賞したのですが、そのお陰で今月発売のWindows100%誌に掲載されました!

s-DSCF5482.jpg
ほんのちょっと小さく掲載されただけですが、それでも自分が作製したゲームが雑誌に
掲載されるなんて夢にも思っていなかったので、とても嬉しいです^^
これも、色々なみなさんの協力のお陰ですね。頑張って作製して、なるべく早く完成させようと
思っていますので、今後とも、よろしくお願い致しますm(_ _)m
PR

WiiのバーチャルコンソールでFC版のグラディススIIをダウンロードしてみました。
当時アーケード版を死ぬほどやり込んでいた私にとって、FC版の発売は楽しみな反面
ホントに移植出来るのか?と不安もあったのですが、1面をプレイした瞬間に全ての不安は
無くなりました^^

s-DSCF5372.jpg
1面からいきなり上下スクロールするは、炎はアニメーションしてるはで、とてもファミコンで動いて
いるとは思えない感じ。
しかも、オプション4個(FC版のグラディウス1は2個しか装備出来なかった)&長いレーザー&
合成音声とコナミの気合を感じずにはいられない出来です。

ただ、完全移植は無理だったようで、FC版独自の面構成となっているのですが
これがまた良い出来で、立派にグラディウスIIしてるんですよね~。

s-DSCF5373.jpg
1面後半はサラマンダの3面のようなプロミネンス地帯になっているのですが
このプロミネンスも綺麗に動いていて感動ものです^^

s-DSCF5382.jpg
氷地帯もAC程沢山の氷は出てきませんが、ファミコンとしては考えられないくらい氷が出てきます。
ちなみに、ファミコンは4個以上スプライトが横に並べる事が出来ないので
スプライトが4個以上並ぶとキャラがちらつくのですが、このちらつきも上手く制御しているようで
キャラが沢山出てちらついても、あまり気にならないんですよね。
(たしか、拡張ロム?を搭載していてキャラ表示数が増えていたような気がします)

s-DSCF5390.jpg
高速スクロール面も再現されていて、AC版とかわらず高速で上下にスクロールしていきます。

s-DSCF5385.jpg
ビックコアのデザインもFC版グラディウス1と比べると、かなりカッコよくなってます^^

s-DSCF5386.jpg
テトランもちゃんと再現。

などなど、ボスも色々と移植されているのですが、中でも感動したのが下の2つ
s-DSCF5391.jpg
中間要塞はACと同じように、コアが後ろから出てきて、本体が上下から登場し合体します。

s-DSCF5392.jpg
これは絶対無理やろ~と思っていたクラブが、ちゃんと6本の足を動かしながら登場します。
このクラブを見たときはホント感動しました。おまけに、このクラブは倒せます^^

そして、わすれちゃいけないのがBGM。ファミコンは3音+ノイズ+DPCMの合計5個の音が
出せるのですが、とても5音で鳴っているとは思えない程、上手く作ってあってカッコイイです。
タイトル画面でA+B+スタートでサウンドテストモードになるのでじっくり聞けるのもポイント。
AC版の移植の曲もあれば、FC版独自の曲もありますが、このFC独自の曲がまたカッコイイ。

ゲーム性といい、音楽といい、とても良い出来だと思うのですが当時のこのゲームの評価は
あんまり良かったような記憶がありません(汗)というか、評価以前にあまり話題に
ならなかったような気がします。(私のまわりだけかもしれませんが)

なんにせよ、とても面白いのでお勧めなのですが、グラディウスII自体をプレイした事の無い方は
ACの完全移植版のPCE版を先にダウンロードしてからの方が良いかもしれません。
PCE版が楽しいと感じる人はFC版も楽しめると思います。
この調子でMSX版のグラディウス2がバーチャルコンソールに移植されたら最高なんですけどね~。

ネームエントリーの方は大体出来て来たので、ランキング表示の方を作ろうと思ったのですが
ランキング表示させる為には、得点をソートしないといけません。

で、ソートの方法について色々と調べてみたのですが結構ややこしそうな感じでした。
ここでふと、リンク先の「マクセルの手動ブログ」さんで簡単なソートの方法を掲載されていたのを
思い出し、早速見てみました。
(左側メニュー部分の成果のHSPから「スコアランキング表 (えせソート)」をクリックで見れます)

読んでみて納得。とても簡単でわかりやすく解説されています。
本来のソートとはちょっと違いますが、スコアランキングとしては十分に機能します。

この、マクセルさんのスクリプトを使わせて貰って、簡単なランキング表示スクリプトを作成してみました↓
**************************************************************
 screen 0,280,120,0,0,0
 sc=0  ;初期スコア
 dim ranking,5 ; ① 1~5位のスコアを配列変数に保存
 ranking.0=500 ; ② 適当なスコアをデフォルトとして保存。
 ranking.1=450
 ranking.2=400
 ranking.3=350
 ranking.4=300
 scrrank=5  ; ③ 現在の順位(最初はランク外)
*main
 redraw 0 ;仮想画面を指定
 color 0,0,0 ;色に黒を指定
 boxf 0,0,640,480 ;指定色で画面を塗りつぶす

 stick ky,16
 if ky=16 : sc+10       ;スペースでスコア加算
 if ky=32 : gosub *rank ;エンターでランキング反映

 color 255,255,255
 pos 0,0
 mes " 1位 "+ranking.0
 mes " 2位 "+ranking.1
 mes " 3位 "+ranking.2
 mes " 4位 "+ranking.3
 mes " 5位 "+ranking.4
 mes "score "+sc
 pos 85,0
 mes "Spaceでスコア加算"
 mes "Enterでランキングに反映"
 redraw 1 ;画面を更新
 await 16
 getkey syuryo,27:if syuryo=1:end;ESCを押すと強制終了
 goto *main ;*mainに戻る

*rank
 if sc>ranking.4 {     ; ④ ランクイン時のみ以降を処理
  repeat 5
   if sc>ranking.cnt :scrrank=cnt :break ; ⑤ 現在のランクを判定
  loop
  repeat 5
   if scrrank=4-cnt :ranking(4-cnt)=sc :break ; ⑦ 処理対象が現在の順位まで来たら現スコアを保存し終了
   ranking(4-cnt)=ranking(4-cnt-1)   ; ⑥ 現在の順位より下位のランクをずらす
  loop
 } 
 sc=0
 return
*********************************************************************
上記のスクリプトを実行するとこんな感じ↓
WS000000.JPG
スペースでスコア加算し5位よりも大きいスコアなら、エンターを押した時にランキングに反映されます。
ほぼ、マクセルさんのスクリプトを写しただけですが、ランキングスクリプトとしては
これで十分な感じですね。
後は、これに名前を関連付けで保存&読み込み出来るようにするべく試行錯誤しています^^;

先日からネームエントリーとランキング表示を作っていっているのですが
画面のデザインを先に考えてからでないと、作った後に修正しまくらないといけない
ような気がしたので、先に画面デザインをEDGE2を使用して考えてみました。

ネームエントリー画面
s-181.jpg

ランキング画面
s-182.jpg
こんな感じで表示してバックに背景でも表示させようと思っています。
まだ表示のスクリプトは全然出来てませんが^^;

表示する情報としては、ランキング・名前・スコア・得点・使用機体・到達ステージぐらいで良いかな?
そう言えばモードごとに保存するスコアを変えないといけない事にいまさら気づきました(汗)
モードは3つあるので、3×5で15人分の情報を保存&取り出し出来るような仕組みを考えないと
いけませんね。
頭がこんがらがりそうな予感・・・^^;
現在作成中のステージ4ですが、どうも煮詰まってしまって考えが上手くまとまらないんですよね・・・
なので、気分転換に追加しようと思っていたネームエントリーとランキング表示を作ろうかと思って
まずはネームエントリーを作っていっています。

今の所こんな感じ↓
f9476a5f.jpg
かなり暫定的な出来ですが、カーソルで文字を選ぶようにする所まで完成しました。
でも、ここからが大変です。

ネームは保存して、次回起動時に呼び出せるようにしなければなりません。
でも、ここで選択している文字は画面上では文字ですが、パソコンの内部では
ただの画像でしかありません。
なので、ファイルに保存出来るように、選択した文字を文字コードと照らし合わせて保存出来るように
変換しないといけません。
(例えば、a なら文字コード65とか、zなら文字コード90とか)
これを上手く変換出来るようなスクリプトを作ろうと思って色々と考え中です^^;

ちなみに文字コードは下記のスクリプトで簡単に調べれます↓
 onkey goto *lab
 stop
*lab
 mes "キーコード : "+wparam+", 文字コード : "+iparam
 stop
Twitter
カレンダー
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/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]