一人で完成まで頑張るの寂しいからかまって [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
・ウディタ製
・RPG
・ぼくがたのしいとおもったしすてむ
・ぼくがたのしいとおもったばらんす
・基本システム流用できるところは流用して楽していく
・エタらないように頑張る 「自ビーム x 敵」の当たり判定を作った
ビームは生成順に配列に入れる事で
遠いものから近いものまで、距離順に列ぶので
z座標の二分探索で当たり判定を高速化できる
1) 敵の配列でループ
2) 敵がビームの先端と末端の外側なら 6) へ行く
3) 敵に一番近いビームを二分探索で探す
4) 敵とビームの座標で当たり判定
5) 当たっていたら敵にダメージを与える
6) 配列を次の敵に進めて 2) へ行く ビームだのレーザーだの言っても知らんわだろうから解説
https://www.youtube.com/watch?v=kc4qrNfTe1A
メイン武装にはビーム、レーザー、プラズマの三種類が有り
それぞれ三段階のグレードに分かれる
ビーム :標準武装。タップ撃ちすると遠方へ届く。偏差撃ちが必要
レーザー:エイムさえ合えば撃った瞬間に当たる。DPSがビームの1/2
プラズマ:チャージ武器。溜めてから撃つとダメージ大。連射するとダメージ小 ビームの処理を微妙に最適化後コピペして
「自プラズマ x 敵」の当たり判定を作った
ビーム大量に撃てても仕様がないので
減らして、タップ撃ち要素を増した 動画見た。
ツクールでよくここまで動かすなw
ちょっと狭苦しい感が気になる。
コンパネが場所を取ってるからなのか
ビームがでかすぎるからなのか https://www.youtube.com/watch?v=ICbmdUzIwq4
これも相当狭苦しいから大丈夫w
ビーム小さくするとチマチマ感出ちゃうしな
お洒落な360度ディスプレイじゃなくて
Xウィング的ヴィンテージ・コンパネにした スターラスターって初めて見たけど、ものすごくスタートレック(レトロゲーのほう)だなw
(さすがにやったことは無いけど)
上げてくれた動画を見て、未来のコクピットって、ガラス越しに外を見る(下方が死角になる)んじゃなくて、
ヘッドマウントディスプレイ越しに360度見える(自分の体すら死角にならない)のが、正しい将来像なんじゃないかと妄想した。
(コンパネもといインパネは当然HUD。まぁ、どっかに既出な妄想なんだろうけど) >>139
昔のマイコンでBASICと言えば、みんな大好きスタートレック
全方位モニタとか網膜投影HUDは
エルガイム、Zガンダム、マシーネンクリーガー辺りから始まって
縦横シューティングとかで、一時全盛期が有ったし
その妄想はだいたい合ってる
今は一部の同人で、三人称視点+青白いHUDが流行ってたりするけど
SSSSは時代に逆行するレトロ雰囲気
パネルの計器は全部ゲームと連動させる予定 ワープの星の光跡を毎フレーム全て描画していたのを
差分だけにした
特に目に見えて高速化はされ無かった
デバッグするサブ・ゲームを
ゲーム開始時にメニューで選択できる様にした
ゲーム中にテンキーの「/ キー」で
メイン・メニューを出せる様にした
「Shift + Z + X」の同時押しで同様の機能だけど
上手く認識してくれない
Nキーロールオーバーで無い、安いキーボードだからだろうか? 度々変更になるけど現時点でのキー割り当て
←→↑↓ :移動
X :メイン射撃
Z :サブ・アイテム
Shift + X + ←→:メイン切り替え
Shift + Z + ←→:サブ切り替え
Shift + ↑↓ :加速/減速
Shift + ←→ :メニュー
Shift + X + Z :メニュー(キーボードによっては不可)
「/」 :メニュー
「-」「+」 :加速/減速
ツクールでは色々制限が多いのでこれが限界 サブ・ゲーム選択メニューに、デフォルトの項目を追加した
2003だと選択肢が4つ(キャンセル入れると5つ)しかないので
階層メニューになって面倒なので、空いてる所に入れた キー入力周りをリファクタリングした
Shiftとかの組み合わせでキーのフラグを立てる階層と
立っているフラグを見て各処理を呼ぶ階層の二段構えにした >>140
マイコンとBASICが並んでると、昔懐かしベーマガを思い出すなw
>SSSSは時代に逆行するレトロ雰囲気
なるほど理解した!いいね! >>145
ベーマガに投稿したかったけど
当時は作り散らかすだけで
一本も完成させられなかった思い出
レトロでも何でもオッサンは
生まれ育った場所に戻って来てしまう
という動物の本能(シャケとかと一緒 自機の光跡の画像作った
ノズルの光ってる部分をコピペで抽出しただけ 自機の光跡の描画できた
リング・バッファで自機の過去の座標を記録して置いて
透明度の変化でフェード・アウトさせながら
光跡の画像を描画する
ツインビーの分身と同じ
自機が動いている時だけリング・バッファに
自機の座標を追加して行くと
グラディウスのオプションになる
ただそのままだと自機の動きが速くて
画像同士の間が空いてスカスカになるので
補完する必要が有る
1) n を 1 から補完数までループ
2) 光跡のx = 自機のx + (自機のx - 1つ前の自機のx) * n / 補完数
3) 光跡のy = 自機のy + (自機のy - 1つ前の自機のy) * n / 補完数
4) 光跡のx, yをリング・バッファに登録
5) ループ末尾 >>148
間違った修正
2) 光跡のx = 1つ前の自機のx + (自機のx - 1つ前の自機のx) * n / 補完数
3) 光跡のy = 1つ前の自機のy + (自機のy - 1つ前の自機のy) * n / 補完数 説明のために省いたり構成を変えると
文章にバグが紛れ込むと言う 光跡の画像を少し厚み出して
リング・バッファのサイズを半分に減らした 虚数空間の方の自機の光跡も出来た
描画座標の計算が違うだけで、通路と大体一緒
自機の向きに合わせて光跡の角度も変える様にしたけど
見た目ほとんど効果無かった 取り敢えず、虚数空間の自弾レーザーだけ
当たり判定作った
判定上の敵x = 敵x / 敵z
判定上の敵y = 敵y / 敵z
abs(判定上の敵x - 画面上の自機x) <= 当たりwidth かつ
abs(判定上の敵y - 画面上の自機y) <= 当たりheight なら当たり
敵の判定上の座標と、画面上の描画座標は
視点の移動等によって、同じでは無くなって来る
ダメージと爆発のエフェクトがまだ出来てないので
適当にSEを鳴らしてテストしてる
ツクール200Xにはprintfどころか文字列変数すら無いので
しばしば効果音でデバッグしたりする ブレードランナーとかエイリアンズみたいに
「ヒコンッ…ヒコンッ…」って動体探知器で
インターラクティブ・デバッグだな ビームの当たり判定も出来た
ほぼ星間通路のやつのコピペ プラズマの判定もコピペでやった
判定する敵を換えただけ >>154
当り判定を
abs(略)≦width or height / 敵z
にしないと、遠い敵の当り判定でかすぎじゃね? >>158
それはSEデバッグの時点でオレもすぐ気づいて
「ダメージ・エフェクトがまだ出来てないので
十分にテスト出来ないから、デバッグと調整は後回しにします」
って言う話と一緒にレスするか迷ったけど
基本的に実際にやり終わった事/出来上がった事しか
レスをしない方針なので、予定の話はしないでいたら
目敏く突っつかれたし、おまいら油断も隙も無いな
後知恵っぽく聞こえちゃうだろw
新人研修で、話の段取りが有るのに
空気読まずに途中で質問したり
伏線を張ってるのに「ここおかしくないですか?」
ってドヤったりして、一人だけ浮き捲った挙句
一週間で肩を叩かれた新人のオレを思い出すし
その時の過ちを今つぐなってる気分だワ
あと実際の座標で当たり判定すると
遠くの敵がスカスカで当てるの難しくなるので
見た目上の大きさでやらないといけなくなりそうだし
どの道テスト出来る段階にならないと
机上の空論なので後回しにする必要が有る
有言実行 = 出来ても無い内からベラベラしゃべる → エターナル
不言実行 = やり終わった事だけを報告する → 完走ランナー
「今日は一つこれを覚えて行って下さいね奥さん」 サンダーセプター
https://www.youtube.com/watch?v=VoR0f97vWE4
スペースハリアー
https://www.youtube.com/watch?v=JLOf2StF_zY
↑を例に解説すると
どちらも一点透視図法で遠くの物ほど小さく見えるが
サンダーセプターでは、一本道なので画面手前も奥も
キャラクタの動ける座標の範囲は変わらないのに対し
スペースハリアーでは、奥に行くほど
画面の数倍の範囲に広がって行く
なので前者ではzで割る前の実際の座標で
当たり判定できる
後者ではzで割った見た目上の座標で
判定しないと当たり憎い
但し遠くの敵は幅と高さが小さくなるが
自弾の当たり幅はあまり変え無い
自弾◯と近くの敵■の判定ギリギリの位置
◯■
自弾○と遠くの敵「.」の判定ギリギリの位置
○. 要するにスペハリでは
遠くの物は当たり判定ガバでないと当たらんなる >>159
勝ったなガハハ
実際、デバッグ時は当り判定が緩いほうが楽なのは同意w
スペハリ動画見たけど、自機が撃つ弾って画面座標上でまっすぐ直進(ワールド座標上だと斜めに直進)なんなー、だから154の式になるのね >>162
面倒草い奴だなw
見た目直進が実際斜めなのはその通り
理解は早い様だな
この手の作った事あんじゃね? 虚数空間の敵のダメージ/爆発エフェクト作った
恒星間通路のをコピペして
座標計算は虚数の敵のとチャンポンした >>163
残念ながら、作ろうと思ったこともないな。
こういうのは、大型筐体のなかで揺すられてナンボだと思ってたので。 地表面の自弾当たり判定は
ロックオン操作が前提になるので
先にそれをやる
取り敢えず下準備はしたので
飯食ったらコードで埋めてく 地表面の自弾のロックオン出来た
取り敢えず画面の中心に一番近い敵をロックオンして
そこに向けて弾が飛ぶ様にした
ロック可能範囲とかマーカーの描画は
後でHUDを作る時にまとめてやる ロックオンの切り替え出来た
移動キーを左右にコンコン入れると
ロックオンの対象が左右隣りの敵に移って行く
右移動キーが on の場合
1) n = -1
2) minX = 999999
3) 敵の配列でループ
4) x = 現在の配列要素のx
5) (ロック中の敵x < x) かつ (x < minX) なら
n = 現在の配列の添字
minX = x
6) ループの末尾
7) (n > -1) なら、その敵をロックオン
ロックオン中の敵よりも右側限定で
一番左側の敵を探して、それを再ロックオンする
これを左移動キーの分も反対向きにやればOK
実際のコードでは、x座標が同じ敵がいた場合は
y座標も同様にチェックする 地表面のレーザーの当たり判定作った
ダメージ・エフェクトがまだ出来て無いので
きちんと当たってるか確認でき無い
当たり判定とダメージは、両方揃うまで
お互いにテスト出来ない関係
鶏が先か卵が先か 地表面のダメージ/爆発エフェクト出来た
レーザーの当たり判定も、ちゃんと動いてた
レーザーは撃った瞬間に、問答無用で着弾するので
コリジョンもへったくれも無いけど 地表面の自弾ビームの当たり判定できた
ロックオンしている敵とだけ判定するので
全敵 X 全ビームの総当たりにならず
計算量が O(N) で処理が軽い
但し、ロック先を切り替えると
直前の敵に向かっていた残りのビームが
全弾外れるけど、仕様と言う事にする 世界設定で、惑星上や宇宙港ではロックオンが可能
大型艦でもある程度可能なので大艦巨砲主義が成立する
「当たるのであれば、どうと言う事は無い」 恒星系に大量に漂ってる白い玉が悪さして
コンピュータやネットが制限されるので
旧式の照準装置で船員の技量に頼った戦いになる 小型艇 < 大型艦 < 巨大要塞 < 小型艇 < ……
の三すくみ
衛星要塞に対抗できる小型戦闘機
そして宇宙モノ…後は分かるな?
おっとこれ以上はディズられてしまうな >>171
各ビームに敵のイテレータを持たせて置いて
当たり判定する時に、イテレータの値が違う時だけ
イテレータを更新する事で、処理速度を維持したまま
残弾が当たらないのを回避した ビル街の遠景が左右の端までスクロールしたら
クロスフェードして中心にリセットする様にした
遠景のピクチャを同じ画像で2枚用意して置いて
端に来たら、そこで1枚目の動きを止めて
もう1枚の座標を中心に戻し、透明度を100%にする
後は描画する時に、透明度が0%になるまで
毎フレーム減らして行く >>176
こうすると遠景の端をループさせた画像を用意しなくても
スクロールのスピード感を保ったまま
自然に無限ループ出来る
遠景のビル街は、写真を加工したもので
ループ画像にするのは面倒なので、この様にした 地表面の「自プラズマ X 敵」の当たり判定できた
ビームのほぼコピペ イテレータの操作を高速化しようとして上手く行かなかった
データA1
データA2
データA3
データB1
データB2
データB3
データC1
データC2
データC3
インデックス1 = データA1のインデックス
インデックス2 = データA2のインデックス
インデックス3 = データA3のインデックス
こう言う感じで、各インデックスから
ポインタみたいに間接的にデータに
アクセスするのだけど
ループでインデックスにセットするのを止めて
if文のネストでインデックスの個数を
二分探索の場合分けして、代入文を個数分並べたら
高速化できるんじゃないかと考えた
所謂「ループ展開」ってやつで
アセンブラだと、これで速くなるんだけど
ツクール2003ではダメっぽい
多分if文の中身が長いと
一行ずつ解釈してendifを探すので時間がかかる
のかも試練
去年の9月末に生まれて初めてRPGツクールを使い出して
「これアセンブラライクだな」と思ったけど
必ずしもそうでも無い様だな 恒星系の背景の宇宙の素材を探した
加工したので明日以降、描画できる様にする 恒星系の背景の星々を描画できる様にした
これで宇宙っぽくなった
x,y,z軸の先端の前後左右上下の無限遠に
宇宙の画像を6つ配置して
自機のピッチ/ロールの動きに合わせて
座標を回転させるだけ
画像の回転はロールの時だけで良い
(本当は良くないけど2.5Dゲー的ごまかし) 今日の作業だが、現時点でやれる事があまり残って無いし
先送りにしていた恒星系の敵を作って仕舞わないと進まない
他のサブゲームでは、敵が正面か一寸斜め向く程度だけど
宇宙空間だと、きちんと計算しないといけん
で、俺の3D技術はバーチャファイター1辺りで
止っているので、真面目に勉強する必要が有る
と言う訳けで、一旦作業を中断して
暫くセガの黒本を読む事にする
ただそれだと読書感想文になって仕舞うので
世界観の背景設定を小出しにして時間を稼ぐ 取り敢えず「ロボを出す」から「ロボを動かす」
まで読んだ
「PDS--Perfect Defending System」
この宇宙の基本的な4つの力の内、重力を除いて
一時的に平行宇宙に枝分かれさせる事で
範囲内の核エネルギーと放射線/放射性物質を
高次元で折り畳まれた宇宙の何処か遠くへ
送り込む、核兵器に対する完全防御システム 別にエターなったわけじゃ無いから
勝手に終了宣言とかするんじゃないぞ!
分かったな? 何の能力もないゴミ共が頑張ってる奴を必死に蹴落そうとする様は見てて滑稽だな。頑張れ >>185
お、おう 掩護射撃テンキュー
作業してないと落ち着かないので、戦線復帰を急ぐ
寝る前にもう少し読むワ 『「ロボファイト」を作り始める』と『Zバッファ精度問題』
を読んで、14章『立体を描く』が終わった
この調子で頑張る
>>183
枝分かれしていても1/4は繋っているので
一定時間経過後、復元力が働いて元の宇宙に戻る
PDS物理学では、エネルギーは発生元の物質や
条件などによって、固有の「色」が有ると考える
核エネルギー等いくつかの色は特定されているが
特定手順は研究開発した科学者によって
ブラック・ボックスにされている
もうner 「15章ライブラリの作り方」を読んだ
>>187
PDSは、その核エネルギーの色にのみ
効果が発生する
しかし核兵器が無力化される事によって
紛争の火種が世界中にばら撒かれて仕舞う
PDSが働いている領域では
電磁波に指向性を持たせて
他の物質を透過させる事が出来る
この特性と高度なトラッキング技術などを
組み合わせる事で
「無制限の電波帯域」
「莫大な容量の外部記憶」
「量子計算機の小型化」
が可能になる 「16章XMLモドキを読む」を読んだ
>>188
PDSによる量子計算機は
「タキオン・コンピューティング」と呼ばれ
計算時間が負になり(0には出来無い)
結果を先に得て、後から計算する
「時間の後払い」が出来る
応用として、答が分っている短かい計算を繰り返し
結果が一致しなければ、近い将来計算が
中断される事が確率的に予言できる
これを交通システムに搭載すれば
事故を事前に察知する事が可能と成る
100%当たるのでは無くガイガーカウンタの様に
チリチリとしたノイズ音で聞き取れる 「17章 遅くないコードを書くために」を読んだ
ここ迄で脱線が終わって、次から本題に戻るそうな
>>189
動物が進化の過程で、自分の周囲の
三次元空間を見る「目」を獲得した様に
人類は起こり得る未来の四次元時空間
を感じ取る能力を得た
地球は、ほぼ全球がPDSネットワークで覆われ
ネットフレアが吹き上げる紺碧の星と化している
但し南極大陸だけは国際条約でPDSの使用が禁止され
各国の核融合発電所の街が点在する
ここ迄は21世紀の設定で、スペースSSSは
その数百年後が舞台となる 「18章 立体の衝突処理」の前半を読んだ
>>190
スペースSSSに登場する主な組織
国家に代る横軸のソーシャル・ネット構造
・グローバル連合
・シオニス同盟
持つ者と持たざる者を隔てる縦軸の階層構造
・自由貿易組合
・オメガ教団
人類の宇宙進出を担う中立組織
・宇宙港連合
・星間通路管理局
・深銀河開拓公社
人類に敵対する非DNA生命体
・電磁甲殻体
・バイドロイド
宇宙に秩序をもたらす者
・王立銀河宅配協会
・考古学探求者
組織に属さないならず者達
・海賊
・賞金稼ぎ 「18章 立体の衝突処理」の後半を読んだ
> 衝突処理を「売り物クォリティ」にする作業は
> 君にゆだねられることになる
とか丸投げ落ち。こんな本読まずに
自分のやりたい様にやった方が早い
>>191
「グローバル連合」
「Global Allied Planets : GAP」
「通称:グ連」
・銀河統一政府を樹立しようとする勢力
「シオニス同盟」
「Zionis Rebellion : Zio」
「通称:同盟」
・各惑星は独立すべきとする勢力
・民衆はどちらかの勢力を
自由に支持する権利を
両勢力の軍事力バランスによって
担保されている
・明確な国境が無いので
大規模な戦争が起きない代わりに
経済戦や情報戦で綱引きが行われる
・局地的な小競り合い等の
茶番の上で成り立つ平和な時代と言える
だが今日の飯にありつくのは楽では無い! 放置しても無反応なので、今日も頑張る
「19章 ロボファイトの設計」を読んだ ∧_∧ ミ _ ドスッ
( )┌─┴┴─┐
/ つ. 終 了 |
:/o /´ .└─┬┬─┘
(_(_) ;;、`;。;`| | 読書だけだとモチベだだ下がりなので
読みながら作業もする事にする
恒星系の海賊の画像を取り敢えず1種類
レンダリングした
動かして問題無ければ4種類に増やす
画像が同じでも地域によって
攻撃パターンが変わる様にする
宇宙では45度ずつだけ回転させても
8 x 8 x 8 = 512パターン
必要になって画像デカ杉なので
筒状に回転させて端折る事にした
正面向きに45度ずつ回転で8パターン
更に真後ろまで45度ずつ振り向いて
8 x 5 = 40パターン
で何とか表現する 恒星系の海賊の共通コードを書いて準備した
自機と敵のローリングで、きちんと向きが合うか
テスト用の描画を先に作った方が良さそうだな 顔グラの利用規約を読み直したら
ツクールVXのユーザ登録が必須だったので
セールの時に買って置く事にする
UE4のVRに移植する時には使えないので
代わりのを探して置く必要が有る 一晩中、素材探し直ししたけど
ツクール以外で使えて、顔グラの質と量が
揃ってる素材サイトは、あんまり無いな
顔グラの仕様自体がツクール向けとしても
ツクール以外でも需要は有るだろうに YADOTさんのサイトの自作エンカウント処理を読んだ
後でマップの処理を作る時に対応できる様に
考慮して海賊の生成処理を書く 恒星系の海賊の生成と描画が出来た
AIはまだ空っぽで動かない
デバッグ用に、敵を画面の中心にサイズ固定で描画して
方向転換が正しく出来てるか、テスト表示できる様にした
画面のUIに余裕が有れば、これを使って
サイト付近の敵を小さ目にHUDに描画するのも
格好良いかも 海賊のAIを取り敢えず2つ分だけ考えた
実装したら説明する 海賊の直進移動を作った
向いている方向へ動く
恒星系の敵の進行方向は円柱で表す
円柱の穴を常にZ座標に向けていて
自機か敵がロールすると円柱がネジ状に回転する
敵がピッチで機首を上げ下げすると
円柱の周囲に放射状に開く
ピッチとロールの角度だけで向きを管理してる訳で
ポリゴン3Dゲーとしてはデタラメだけど
スプライト2.5Dゲーとして割り切る x,y の速度は、ロールとピッチの角度をそれぞれ
サイン波状の三角波に変換して
掛け合わせで合成して求める
z の速度は、ピッチだけで決まる
「ロールの三角波」
r = (ロール角度 + 90) % 360
r < 180 なら r = (90 - r)
r >= 180 なら r = (r - 270)
「ピッチの三角波」
p = (ピッチ角度 + 90) % 360
p < 180 なら p = (p - 90)
p >= 180 なら p = (270 - p)
「x の速度」
vx = (r * p / 90) * 速度 / 90 恒星系の海賊 B の AI を作った
旋回して自機の後方につける→追い抜く
を繰り返す
自機の前方にいる時は
ピッチを ±30 に向けて
z 軸のマイナス側(後方)へ向かう
自機の後方にいる時は
ロールで天頂を自機に向け
ピッチを 160±10 に向けて
自機の方へ斜めに向かう デバッグ用のレーダー表示も作った
描画x = 敵のx * 表示範囲 / 敵の最大x
描画y = -敵のz * 表示範囲 / 敵の最大z
拡大率 = 4%くらい
で描画するだけ 通路と虚空の自弾の当たり判定で
連射しないと当たらないバグを多分w修正できた
微妙かも試練
敵のz座標が先頭と末尾の弾の範囲外だったら
二分探索せずに終了する所で
弾のz方向の幅を計算に入れて無かった 恒星系の海賊 C の AI を作った
自機の方へ旋回して急接近→突っ切ったら反転
の一撃離脱戦法を繰り返す
生成時の初期化でフェーズ = 0
フェーズ 0 の時は
ロールで天頂を自機に向け
ピッチを自機の方へ ±30 に向けて
最大加速
自機に近づいたらフェーズ = 1
フェーズ 1 の時は
そのまま直進
自機から離れたらフェーズ = 2
フェーズ 2 の時は
ピッチを自機の方へ ±30 に向けつつ
減速
速度が 0 になったらフェーズ = 0 マウスでエイムするわけじゃ無く
カーソル・キーで移動もエイムもするゲームなので
当たり判定は基本ガバ
パッドFPSでも自動エイム必須だし、問題無い
SpaceSSSで自動エイムすると、移動がおかしくなる
スプライトゲー作った事無い奴に限って
ポリゴンゲーの常識色眼鏡でベラベラ語る 恒星系の海賊グループのエンカウント処理を作った
1. マップの初期化で地形毎に
グループ単位の比率を設定して置く
2. グループの比率に応じて
ランダムにグループを選ぶ
3. グループによって敵の種類毎の比率を設定する
4. 敵の比率に応じて、ランダムに敵を出現させる
5. 敵の出現数分 4. を繰り返す 比率に応じてランダムに選択する処理
比率A = 20
比率B = 30
比率C = 50
比率D = 60
比率の合計 = 比率A + 比率B + 比率C + 比率D
n = 乱数(1〜10000)
n %= 比率の合計
(n < 比率A) なら
敵Aを生成
違うなら
n -= 比率A
(n < 比率B) なら
敵Bを生成
違うなら
n -= 比率B
(n < 比率C) なら
敵Cを生成
違うなら
n -= 比率C
(n < 比率D) なら
敵Dを生成 恒星系の海賊 A の AI 作った
フェーズ が 0 の時
自機と直角に向いて、前方を旋回
一定時間後、フェーズ = 1
フェーズ が 1 の時
自機の後方へ移動
後方に離れたら、フェーズ = 2
フェーズ が 2 の時
自機と直角に向いて、後方を旋回
一定時間後、フェーズ = 3
フェーズ が 3 の時
自機の前方へ移動
前方に離れたら、フェーズ = 0
以上を繰り返す 海賊の残り3種類をレンダリングして
スプライト・シートに列べた
これで種類毎に違う画像で描画される PCのミサイルの画像作った
本体 + スモークで 4 枚使うとすると
PCが 4 発 x 4 枚 = 16 枚
敵が 4 機 x 4 枚 = 16 枚
足して 32 枚のスプライトの座標を
回転させる事になるので、一寸重いかも試練 恒星系の自ミサイルの初期化とイテレータ作った
取り敢えず休憩 自ミサイルの発射処理を書いた
敵の中から描画座標がレティクルの範囲内で
自機に一番近いものを探してロックオンして
ミサイルのデータを設定する
移動と描画はまだ出来て無いので
ロックオンや発射とかの効果音だけ 後でリファクタリングしなくて良い様に
考えて作ってるので、亀の様に遅い
ツクールで順番並べ替えたりするのキツいんでな
何言ってるか分からんだろうけど 自ミサイルの移動処理を作った
ミサイルの座標だけ回転させて
移動ベクトルの方は回転せずに
毎フレーム計算する事で、処理を軽くした
ミサイルのスモークの座標も回転させないで
数珠つなぎに座標をコピペして行くだけにしたけど
そもそも宇宙空間でスモーク出すのはおかしいので
恒星系のサブ・ゲームの時だけカットするかも
設定フラグでスモークをOn/Off出来る様にしとく 自ミサイルの描画作った
ロックオンして無い状態で発射すると
ショボい効果音で真っ直ぐ飛んで行く
ロックした敵へのホーミングが
まだ少しバグってる 自ミサイルの当たり判定作った
ホーミングのバグは
敵とミサイルの距離を計算する所が
敵と原点(自機)の距離になってた
逃げる敵機をミサイルが追い掛けてって
ドーンするのが楽しい ロックオン可能範囲に敵の見た目の幅を加味した
ミサイルはフレアを使わない限り
ロックしたら、ほぼ確実に当たるので
ガバにしないで厳密に範囲チェックする様にした 自ビームの当たり判定作った
通路のビームの判定をコピペして
座標のスケールを調整しただけ
代入の右辺値は変数名が表示され無いで
変数番号だけなので
コピペだからと気を抜いてると
書き換えミスでバグが入り込む グレネードの画像のチョイスをしたり
細かいネタ出し等をした
ミサイルを実装し終わってから
グレネードを作るか
同時並行でやるかで迷う 自弾のボムの画像作った
敵にダメージを与えるだけで無く
敵弾も吹き飛ばす
グレネードと言う設定だったけど
白兵戦の手榴弾のと被るし
スペックがそのまんまなので
ボムに変更した(分かり易い ボムの初期化とイテレータ書いた
弾が爆風に隠れ無い様に
爆風と弾のピクチャ配列を
連番で無く別けて確保した
内部的に連射できる様に作るけど
実際は単発か、爆風が出てる間に
もう一発撃てる様に2発に設定する ボムの発射と移動処理を作った
サブ・アイテム・キーを押して発射
放すと爆発する
但し発射直後の数フレームは爆発しない
まだ描画は出来て無いけど
効果音を聴く限りは、きちんと動いてるっぽい >>199
すっちむでVXのセールしてたので買って置いた
立ち上げて直ぐそっ閉じしたし、多分一度も使わない
素材の利用規約に従っただけ
ツクールは知り合いに
「1000枚のスプライトはこう使う」
って手本を観せるためだけにやってるので
これ1本作ったら終わりにする ボムの当たり判定を作った
賞金首とか依頼で稼いで
ボムとかミサイルいっぱい買えば
ボス戦とか強目の敵に仏波できる様にして
3Dシューティング苦手な人にも
救済措置を用意する ■ このスレッドは過去ログ倉庫に格納されています