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

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

更に更に戦艦を作製しています。
戦艦は4つのパートに分けて作ろうと思っていて、とりあえず4分の3程度まで完成しました。
2007_9_9.jpg

先日悩んでいたプレイ時間の問題は、戦艦自体を弱くして早く倒せるようにして
プレイ時間を短くするようにしてみました。と言っても結構長いんですが(汗)

後は最後のパートを作製すれば後半は完成するのですが
この最後のパートからボスへ繋がる演出を入れようと思っているのですが
上手く考えがまとまらず悩み中です^^;
曲も全然出来てませんし、出来ればEASYモード?も追加したいと思っているので
先は長そうです。。。
PR

更に戦艦を作製していっています。
先日書いたように、戦艦に設置されているキャラクタが同じキャラでも
設置座標が違うので、スクリプトを組むのが非常に面倒なんですよね。
とりあえず、ちょっとづつではありますが進めていってます。

2007_9_71.jpg

2007_9_72.jpg

2007_9_73.jpg

今の所、戦艦の半分くらいは出来た感じ。
しかし、1ステージのプレイ時間を3分程度にしようと決めていたのに
既に3分超えてしまって、どうしようか悩み中です。
前半部分を削除するか・・・と言っても削除すると後半部分の
タイムテーブルを全て変更しなければならず、どうしたもんだか^^;

ちょっと久しぶりの更新です。
私は関西在住なのですが、先日までテレビ大阪でドラゴンボールを毎朝放送していたので
見ていたのですが、ドラゴンボールが終わって次はドラゴンボールZを放送するのかと
思っていたら、そのまま終わってしまって(汗)
続きが気になるので(と言っても漫画は読んでいたので内容は知っているのですが)
ふとニコニコ動画を見てみたら、なんとほぼ全話アップされており見出したらとまらなくなり
全然ゲーム作ってる間がありませんでした。
相変わらず、ピッコロさんは渋かったです^^

で、追加しようと思っていた1UPアイテムを実装しました↓
2007_9_5.jpg
アイテム画像はHamCorossam様のSTG素材を使用させて頂いています。

ある一定の条件を満たしたら出現、と言うふうにしたかったのですが
この条件をスクリプトで再現するのに非常に苦労しました。
どうやったかってのを書きたいんですが、それを書いてしまうと
出現方法を書いてしまうような物なので、またの機会に書こうかと思っています^^
小さい回転砲台も出来たので、戦艦を作製していっています。
戦艦については、4つのパートに分けて作って行こうと考えていて
まず、前半部分を作製してみました。
2007_8_28.jpg
この辺から、ちゃんと切り返しを考えて避けないといけないようにしようかと思って
自機狙い弾メインで弾幕を作ってみました。
1UPアイテムなんかも出したいな~と思っているんですが、どういう風に出現させるかを
考え中です^^;
先日作った小さい回転砲台を実装しました。
ちゅうか、やっと出来た・・・ここ数日、ずーーーーと悩んでました(汗)

先日HOUDAI.GIFこのような砲台の絵を作成したのですが、これを動かす為の
スクリプトを考えようと思って、まずは、どういう風に表現するか考えてみました。

考え方としては2007_8_241.jpgこの砲台画像に2007_8_242.jpgこのハッチ画像をかさねれば
下から砲台が出来て来るような感じに出来るはず。
スプライト番号を上手く管理して砲台よりもハッチのスプライト番号を若くすれば
上手く重なって見えます。

と、ここまでは良かったんですが、ここからが大変でした・・・
とりあえずハッチのアニメとかは置いておいて、砲台を設置して自由に動かせる
ようにしようとしたのですが、この砲台は戦艦に設置されています。
と言う事は、動きとしては戦艦と同じように動かなければなりません。
でずが、砲台の設置されている座標は砲台ごとに違います。

砲台の座標は、戦艦の座標を基準にして計算しますので
例えば戦艦のx座標をsenkanx、y座標をsenkanyとしたとすると
砲台の座標はsenkanx+任意のx座標、senkany+任意のy座標
ってな感じで計算します。
じゃあ、配列変数に任意のx/y座標を代入して計算すれば余裕やんって思ったのですが
任意のスプライト番号に任意の配列変数を足すというスプリクトの作り方が思いつかず
非常に悩みました。

例えば2台の砲台があったとして、砲台のスプライト番号が100と101だったとします。
で、スプライト番号100の砲台には配列変数(1)を足したい!と思っても
この砲台と配列変数を結び付ける方法が良くわからなかったんですが、試行錯誤して
いる内に何とか出来ました。
方法としては、砲台が生成された第1フレーム目に砲台が発生した回数をカウントする
変数を用意し、このカウント数によって砲台の座標を決める配列変数を設定するように
すると上手く動いてくれるようになりました。(上手く文章に書けません^^;)

で、砲台が上手くいったので次はハッチを重ねて表示しようとして、また躓きました。
これも上の問題と同じで、任意のスプライトの砲台と、任意のスプライトのハッチを
結びつける方法がわからなかったんですが、良く考えてみると悩んでいいる事が
上の問題と同じやな~と思って、それなら同じように生成時間の第1フレーム目に
ハッチをes_setで設置すれば良いはずや!と思って設置してみたら
最初は上手く動かなかったんですが、スプライト番号にも配列を使用して指定したら
何とか上手くいってくれました^^

で、ハッチのアニメーションは生成時間によって。↓こんな感じで変更するようにしています
if (et.enemy>0)&(et.enemy<10)  : es_chr enemy31s.enemy,877
if (et.enemy>10)&(et.enemy<15) : es_chr enemy31s.enemy,878



これも、もっと良い方法がないもんかと思っているのですが、es_linkだと勝手に
元に戻ってしまうし、どうしたもんだかって感じで今の所、アニメの為に生成時間に
合わせて延々とスプリクトを書いています^^;

何とかハッチが開いたり閉じたりして砲台が見え隠れするようになったのですが
今度は当り判定で躓きました。
ハッチが開いている時だけ当り判定があって、閉じている時は当り判定を無くしたい
と思って、まずタイプ値を変更して対応しようとしたんですが上手くいかず
どうしたもんかと思ったんですが、ふっと思い出した事がありました。
デバック用に自機を無敵にしているのですが、この無敵にする方法に
私はes_size命令のヒットチェック領域を0にして無敵にしています。
これと同じで砲台も2種類作って、es_sizeでヒットチェック領域が有る物と無い物を
作製し、生成時間によって切り替えれば良いんだ!と思ってやってみたら
上手くいきました^^
2007_8_24.jpg
とりあえず、こんな感じ。
砲台が隠れている時は、ちょっと暗い画像に変更するようにしてみました。
最初に作った、ハッチが空いた後にニョキっと出てくる砲台は廃止しました。
ちゅうか、そこまで作りこむ元気がもうありません(汗)

ただの砲台だったら、こんなに苦労せずに出来たと思うんですが
たったコレだけの事でも、色々とやらなければならない事があるんやな~と
感じました。
背景が凝ってるゲームって、見た目以上に作製時間が掛かるんでしょうね。
砲台スクリプトも出来たので、やっと戦艦本体の作成に取り掛かれそうです^^
Twitter
カレンダー
03 2025/04 05
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]