一人で完成まで頑張るの寂しいからかまって [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
・ウディタ製
・RPG
・ぼくがたのしいとおもったしすてむ
・ぼくがたのしいとおもったばらんす
・基本システム流用できるところは流用して楽していく
・エタらないように頑張る >>331
爆発は自機の描画座標を中心に
ランダムな位置へ散らして生成する 自機のダメージとバリアの基本部分を作った
下の4つのバリアで順番にダメージを吸収する
・PDSシフター:一定時間無敵、アイテムを消費する
・フォース・フィールド:メインのバリア、自動で張り直す
・プラズマ・シールド:状態異常無しでステータスと同じ処理、手動で張り直す
・ステータス:一定ダメージ分ずつ状態異常が発生、修理すると直る
吸収し切れ無かったら爆発してゲーム・オーバー 自機の爆発開始→キー入力停止→爆発終了→ゲームオーバー
の流れを実装した
画面のフェードイン/アウトの処理も作って
自機が爆発しながら画面暗転する様にした フェードイン/アウトは
白/黒の画像を画面の手前に置いて
透明度を100%→0%に少しずつ変化させるだけ 透明度 = 100 - (100 * カウンタの現在値 / カウンタの最大値)
透明度はこの式で求めて
カウンタの現在値を最大値まで上げて行く 恒星系以外で自機が爆発したら
数フレーム後に自機と光跡のスプライトを消す様にした >>340
流石に分かるだろうけど、唐突に消えるんじゃ無くて
爆発がボコボコして見えない内に消えるやつな 今日は細かい調整だけで終わった
海賊は武器の種類が多くて
恒星系と地表面で武器データを共有してて
同じビームでも X1 X2 X4 の倍率の違いが有る
で、地表面の方の武器データに
倍率を入れて無かったので入れた
海賊以外の敵は武器の種類と処理が一致するので
定数に敵のレベルを掛けるだけでダメージが決まる
イテレータの最適化を一部やってみたけど
背景は普通に配列を舐めてるだけなので
効果はあんまし無かった
単純労働かつミスすると動かなくなるので、疲れた
今日はここ迄にして置こう >>342
修正漏れが出るとチェックするのが激しく面倒 今日は昨日の続きで
自機のビームとレーザーと
敵のイテレータの最適化をやった
こんなに手間掛かってたら
そもそものイテレータの意味が無い
ケチケチしないで最初から
専用のイベント枠を確保して置けば良かった 自機の武器のイテレータ最適化ぜんぶ終わった
残りの分、もう数日掛かりそう 最適化終わった
イテレータが早くなったのと
元から Wait0.0(VSync待ち)を
多目に入れてた分も削って、大分軽くなった
FPSがゲームとしてギリギリ成立してる
手間を掛けた分のリターンは有った 敵のダメージとバリアを作った
今はHPとそれへのダメージだけで処理しているけど
後でバリアも追加できる様に組んで有る 自機のステータスを作った
バリアが剥がれた状態でダメージを受けると
次々にステータスのフラグが立って行く
レーダーとか攻撃力などが出来たら
それへの効果を実装する
効果音とか変数の中身を見る限りは
多分きちんと動いてるっぽい >>334
バリアの各処理は
・ダメージを引数で貰う
・バリアの分を差し引いた残りのダメージを返す
となっているので、フィルタの様に順番に呼んで行ける
ステータス(プラズマ・シールド(フォース・フィールド(
PDSシフター(ダメージ)))); 敵のステータスを作った
変数をフラグとして使うと
メモリを無駄に食うし
イテレータ関係で重くなるので
ビット・フラグを使う事にしたけど
生憎ツクールにはビット演算が無い
桁 => n
0 => 1
1 => 2
2 => 4
3 => 8
二分探索で、指定されたビットの桁数から
2のx乗の数nに変換して
bits / n % 2
で、フラグ・ビットが立ってる時は
bits -= n
で、フラグをOffにして
立って無い時は
bits += n
で、フラグをOnにする事で
フラグの反転が出来る
でも、一寸これでも重そうなので
ミサイルが当たった時だけとかなら良いけど
毎フレーム、チェックするなら
数フレームに1回とかに間引く必要が有るかも ミサイルにステータス異常の効果を持たせて
PCに当たったら特定の効果が発生する様にした
敵の方が出来たら一段落つくので
ブラウザ版の更新をする予定
出来てもいない内から予定の話をしたとたん
義務感が発生して萎えるし
下手したらエタりかねないので
フリーウェアとかオープンソースで
「予定」は禁句 地表面の自機への敵ミサイルの
ステータス異常も作った
ほぼコピペ
ミサイルを撃ってくる海賊は
恒星系と地表面だけにしか
出て来ないのでこれで終わりで
次は自機の側のミサイルをやる
こちらは4つのサブ・ゲームの分
作る必要が有る 恒星系の海賊への自ミサイルの
ステータス異常も作った
残りはコピペで出来そう 昨日は20時間かけてカード70枚に
キャラ設定と全体のプロットを書き出した
TS物と宗教の色が濃く出たので
背景に下げて間接照明を当てる感じにする コクピットのレーダーの画像を作った
コクピットのど真ん中をくり貫いて
裏に青色▽のレーダーを敷いた
自機から上中下の高さで表示が変わる
ターゲットのドットも作った
敵が赤で、それ以外が白い点
ミサイルはx印にした いくつの星系が有って
自機や武器、移動、サブゲームが
何処でアンロックされて
大ボス、ラスボスのサブゲームの種類
までは決めて有るけど
シナリオは来年の夏くらいから作り始める
来年末のニコフェスに間に合うかは微妙 恒星系の海賊をレーダーに表示できる様にした
ドットのX = レーダーの幅 * 敵のX / 最大のX
ドットのY = -(レーダーの幅 * 敵のZ / 最大のZ)
※画面奥がZ軸のプラス
自機の上から見下ろしでドットのXY座標を求めて
そこにドットを描画する
レーダーの部分をくり貫いたコクピットを
更に手前に描画して
レーダーの範囲外のドットを隠す
敵のY座標によってドットの大きさを変える
・自機と同じ位のYなら普通
・下方なら小さく
・上方なら大きく 自弾と敵弾のミサイルも
レーダーに表示できる様にした
高度の表示変化無しで
他の処理は敵と同じ
色覚特性に配慮して
緑と赤で色分けしない様にした
水色とピンクとかの組み合わせはNG 敵をホログラフィに表示できる様にした
最後にロックオンした敵の画像を
表示倍率固定でレーダーの下に表示する
半透明のライトグリーンの光の画像で
サンドイッチして、それっぽくした ホログラフィの透明度を
1フレーム毎に5%上下させて
フリッカーを表現した 主人公PTのプロフィールと役割などを割り当てた
A9(Anglers9)各担当メンバー
転生DNA実験体v.0.9.1〜9
A-1:ウィルザード級クラッカー、情報戦担当
A-2:元SSSの操縦士、ライバル、A9を抜けている
A-3:S-IIIの艦長、主人公の嫁、地獄耳
A-4:ガンナー、S-IIIの弾幕担当
A-5:メカニック、修理と装備担当、怪力の持ち主
A-6:シェフ/医者、針・灸・マッサージ・グルメ担当
A-7:マネージャー、交渉担当、A9のVR動画編集長、TS能力持ち
A-8:科学技術者、アイテムの合成担当
A-9:スナイパー、SSSの操縦士、元白兵戦担当だった、主人公
オーバーレア:オペレータ、UI・チュートリアル担当、A-2補欠
博士:SSSのメイン・プロセッサ、戦略担当
v.0.9.10:オメガ教団先導者
v.0.9.11:SSS#1のメカニック
v.0.9.12:SSS#1の艦長
v.0.9.13:SSS#1の砲撃手 イイネ!「ウィルザード級」は初耳だけど好きだわそういうの 二日間ひたすらWikipediaで資料読んだ
疲れたので作業に戻る >>367
あえて耳慣れない言葉にしてると思ってた
(厨・・・いや、独自設定を開チンしている所をくすぐっちまったかな・・・) >>368
まぁ厨二全開くらいでないとゲームなんか作ってられないからなw メイン武器の切り替えで
アイコンをアニメする様にした
武器を切り替えると
アイコンが横から出て来て
カチャッと止まる メイン武器の残弾数の表示を作った
0〜10までの11枚のスプライト・シートを
切り替えて描画する
次は武器の種類毎の味付けをする
http://lnl.osdn.jp/images/Space-SSS/SS/sss-2018-11-07-001.png >>371
>0から10までの11枚のスプライト・シートを 残弾ゲージの変化を実装した
只のフレーバー要素で武器毎に
味付けを変えた
「ビームの残弾ゲージ」
射撃中なら
ピクチャ番号 -= 2
ピクチャ番号 = (ピクチャ番号 + 11) % 11
ピクチャ番号 += 1
※ピクチャ番号1はゲージ0、番号11はゲージ10
ビームのゲージは1射撃で1メモリ減って
0未満になったらフル・ゲージに戻るのを
繰り返す
「レーザーの残弾ゲージ」
射撃中なら
ピクチャ番号 -= 1
(ピクチャ番号 <= 0) なら ピクチャ番号 = 2
射撃して無いなら
ピクチャ番号 += 1
(ピクチャ番号 > 11) なら ピクチャ番号 = 11
レーザーは射撃中はゲージが減って行って
無くなったら1と0で点滅する
射撃を中断するとゲージが増える
「プラズマの残弾ゲージ」
ピクチャ番号 = チャージ率 / 10 + 1
プラズマはチャージ率が0から100まで変化するので
ピクチャ番号1から11に変換するだけ サブ・アイテムのアイコン表示/切り替えと
残弾ゲージを実装した
メイン武器と違ってフレーバー要素で無く
残弾数をきっちり表示する
残弾数によって
1001発以上なら、青色でフル・ゲージ
101発以上なら、100発毎に青色ゲージ1本
11発以上なら、10発毎に緑色ゲージ1本
1発以上なら、1発毎に赤色ゲージ1本
0発なら、ゲージ無し
実際はアイテムは99個までしか持て無いので
緑色か赤色のゲージしか使わない 円形メーターの画像を作った
燃料とフォース・フィールドの
それぞれの残量表示に使う
リング状にくり抜いたレイヤーの下に
メーターの色の四角を描いて
そのレイヤーだけ自作スクリプトで
一定角度ずつ回転させると
円弧のメーターのスプライト・シートが出来上がる
http://lnl.osdn.jp/images/Space-SSS/blog/2018/11/s/hud-circular-001.png 各サブ・ゲームの中ボスのBGMを割り当てた
曲数は足りてそう >>376
http://lnl.osdn.jp/images/Space-SSS/blog/2018/11/s/hud-circular-002.png
上に乗ってるリングのレイヤーを隠すと
こんな感じ
「こんなんせんでも円弧を回転させればいいじゃんw」
ってなるかも試練けど、ドット画だから
それだと輪郭も一緒に回ってる風になるので
こうしてみた
カッチリと無機質な見た目になった 円形メーターの処理を実装した
円形メーターは「回復」「ダメージ」「表示」の
3つのゲージのレイヤーが重なって出来ていて
それぞれ「現在値」に向かって常に変動する
「ダメージ時」:
現在値 = 100 * フィールド値 / フィールド最大値
回復 = 現在値
ダメージはそのまま
表示 = 現在値
フォース・フィールドにダメージを受けたら
ダメージの分が赤く描画されて
ダメージが現在値まで追い掛ける
「回復時」:
現在値 = 100 * フィールド値 / フィールド最大値
回復 = 現在値
ダメージはそのまま
表示はそのまま
フォース・フィールドが回復したら
回復した分が水色で描画されて
ダメージと表示が現在値まで追い掛ける HUDのステータス表示を作った
自機のシルエットをパーツ単位に切り分けて
水色に塗り潰す
下のレイヤーに赤いダメージのシルエットを
敷いて置く
ダメージを受けたら
対応する部位のパーツを非表示にして
下のダメージのレイヤーを剥き出しにする HUDのシールド表示を作った
描画はステータス表示と似てるけど
パーツ単位で無くて、ゲージ状
自機のシルエットの形をしたコップに
水を注いでる様な見た目 HUDのPDSシフターの表示を作った
デジタル数字でカウント・ダウンして
バリアの上に描画する
下の白/水色/赤/黒と重なっても
識別出来る配色に手間掛かって
濃い黄色になった HUDのスピード・メーターを作った
N = メーターMax * 自機の速度 / 自機の最高速 + 1
N番のスプライト・シートを描画する
特にどうと言うものでも無い HUDの増加タンクの表示を作った
フォース・フィールドとシールドが最大7個
燃料が最大14個まで表示できる
燃料ゲージが0になった時
タンクの残りが有ったら1つ減らして
燃料ゲージを満タンにする方式だと
ゲージとタンクの両方を見ないと
残りが把握できない
なので、燃料の合計をゲージで表示して
ゲージが減るのにつれて
タンクの表示も減らして行く方式にした サブ・ゲームの開始時に
HUDが順番に点灯して起動する様に作ってある
フレーム++
表示フレーム = フレーム / ウェイト
表示数 = 現在値
(表示数 > 表示フレーム) なら 表示数 = 表示フレーム
タンクの場合は、これで通常の描画も
起動時の描画も同じ処理で出来る HUDのロックオン・マーカーを実装した
ロックオンし直す度に
中心から外へ開くアニメを描画する
これで恒星系のHUDが大体でき上がった
同時に星間通路、地表面、虚数空間のHUDも
画面下方にずらして描画するだけで出来た
今の所、恒星系以外では
敵は自機の正面にいるので
レーダーとホログラフィは
表示し無い事にした ビル街の自車のHPゲージを作った
円形メーターは元々50%に縮小していたので
100%に拡大描画して流用した ビル街の目標車両のマーカーの画像を作った
四角い枠に「Target」って書いてあって
そこから直線が伸びてる絵
直線の先端が画像の中心に来る様にして
他は余白にする事で、画像の大きさが変更になっても
描画位置を再調整しなくて済む
ツクールでは画像の中心が描画の基準点になっている >>389
いくらおっさんでもそんな古いの知らねーよ
三国志とかサリーちゃんなら解るけど カッチンカチャリコズンバラリン
カッチンカチャリコズンバラリン
意欲が消えたらまっくらやみだ〜 ビル街のターゲット表示できた
自車より画面奥にいる時は
敵車の座標に描画して
画面手前の描画範囲外にいる時は
Y座標は画面一番下で
X座標は道路の幅全体で
どの辺りにいるかで決める
画面奥から一番下まで
カーブに沿ってパースが付いてて
そこから下はパース無しの直線
になってるのをイメージする
まぁ実際に自分で作って見ないと
何言ってるか解らんだろうけど >>393
こんな形したもの見た事無いので例え憎いが
鉛筆の削った部分がパースの効いた道路で
左右に曲がる
そこから下の握る部分が
パース無しで真っ直ぐ続いてる感じか
敵がその範囲内だけに存在するイメージ ビル街のスピード・メーターを作った
√ルート字のゲージとデジタル数字を表示する
ゲージは赤色の上に緑色のを重ねて
緑色は巡航速度までに制限して
赤色はブースターの最大速度まで表示する様にする
こうするとブーストした時に
ゲージの緑の部分の先にレッドゾーンが
連なる感じで描画される
一枚のピクチャでやると、レベル・デザインの段階で
巡航速度とレッドゾーンのバランスを調整する度に
画像を描き直す必要が出て仕舞うので
そうなら無い様にこうした
巡航速度の定数を書き換えるだけで良い これでHUDも終わったので、次はアイテムをやる
思い付く端から適当に作って用意して置いて
アンロックとバランスの調整は
シナリオとレベル・デザインまで先送りする http://lnl.osdn.jp/pukiwiki/index.php?blog
作業の切れ間になったので
細かいバグを修正して
ブラウザ版をアップデートした
URLを変えないとキャッシュか何かの更新が
遅い様なので変更した 対ミサイル用のフレアとデコイの画像を作った
ついでにビル街のスピード・メーターの
√の角を面取りして丸くした 恒星系のフレアを実装した
自機の後方から迫るミサイルを
吸い寄せて無効にする
フレアを発射した直後に
Z座標がマイナスのミサイル全てにフラグを立てて
ミサイルの移動処理でそのフラグが立ってたら
フレアの座標に近づいて、ぶつかったら消滅する
一定フレーム置きに1発しか連射でき無いので
タイミング良くミサイルを
まとめて巻き込む必要が有る
防具のスペック一覧
VTブラスター:前方、全体、2連射
フレア :後方、全体、単発
デコイ :全方位、単体、単発 地表面のフレアを実装した
発射すると後方に食い付いてる敵に
ダメージを与える
フレアの本来の使い方とは違う設定
海賊以外のサブ・ゲームでは
敵がミサイルを撃たないので
発射できない様にした 恒星系のデコイを実装した
全方位から来るミサイルに
向かって行って、体当たりで破壊する
発射ボタンを押したら
ミサイルのx,y,z座標の合計が
一番小さい物をロックオンして
それへ向かって移動する
ミサイルが発射されて無ければ
デコイを発射せずにエラー音を鳴らす ミサイル等の残弾数が1より
減らないバグを直した
装備中のアイテムは減らしても0になら無いので
アイテムの装備中と所持中の合計数が1だったら
装備を外してから所持数を1減らす >>401
>ミサイルのx,y,z座標の合計
x,y,z座標の絶対値を足した合わせた合計な メイン武器は「武器」サブ・アイテムは「楯」
としてアイテム・データを設定してあって
切り替える度に自機のキャラに装備してるので
メニューから装備する事でも
使用するアイテムを切り替えられる 地表面のデコイを実装した
恒星系と地表面以外では、発射できない様にもした キャラ設定のカードを幾つか追加した
利用規約でツクール専用になってるキャラ素材を
UE4で使える様に自由なやつに移行できないか
検討してる VTブラスターで敵弾を消せる様にした
但し虚数空間の敵弾に対しては効果無し アイテムの番号を大体割り振った
頻繁に使う消費アイテムは
なるべく一覧の上の方に来る様にした アイテムのPDSシフターを実装した
アイテムを使うとツクールのシステムが
フラグを立てるので
それをトリガーにしたイベント内で
PDSシフターのタイマーをセットする
但しフラグ有りのアイテムだと装備できないし
楯にするとメニューから使用できないので
コントローラと消費アイテムに分けた
「コントローラ」
・楯として装備できる
・戦闘中Zキーで消費アイテムを使用できる
「消費アイテム」
・装備できない(しない)
・メニューから使用できる
消費アイテムは合成したり店で買ったり出来るけど
コントローラをアンロックして所持していないと
使用できない様にする フォース・フィールドとプラズマ・シールドの
アイテムを実装した
コントローラの名称をトリガーに変更した
トリガーと消費アイテムを隣にすると
トリガーを装備する度にアイテムの並びが
変わって仕舞うので、トリガーを
アイテムの並びの後ろの方に移動した ステータス修理アイテムを実装した
使うと一定時間後ステータス異常が
ランダムで3種類回復する
デザイン的に、このアイテムは
戦闘が終わってから使うもので
戦闘中に使ってる時点でゲームオーバーは間近 ここも生き残っている数少ないスレだ。
頑張って下さい >>414
来年の今頃は、先に動画でニコフェスのエントリー終わって
その隙にデバッグと調整してるかな
頑張ります フォース・フィールドの回復と
エナジーの消費の処理を作った
一定フレーム置きに
フィールドが最大値より少なければ
エナジーを減らして、フィールドを増やす
エナジーの消費処理は、引数として
加速や回復などの消費の種類と
調整割合を渡すとエナジーを減らして
HUDの設定をし
エナジーが足りたかどうかを戻り値として返す 恒星系の武器発射と移動時の
エナジー消費の処理を作った
エナジーが足り無い時は
発射と移動を制限する ビル街と白兵戦以外の武器発射と移動時の
エナジー消費の処理を作った 燃料の補給アイテムを実装した
使うと燃料タンク1つ分回復する
効率良くギリギリまで粘ってから回復するか
安全を重視して早めに使ってしまうか
トレードオフになっている
これでエナジーとバリア関係のアイテムは出来た バフの設計だけやった
これだけ有れば足りそう
デバフはステータスで扱う
・命中値
敵への当たり判定のサイズ
・回避値
自機の当たり判定のサイズ
・攻撃力
敵へのダメージ
・防御力
自機へのダメージ
・運動性
旋回の加速度と最高速度
・機動性
前後移動の加速度と最高速度
・燃費
エナジーの消費率
・バリア回復速度
バリアの回復間隔
・ドクロの旗印
援軍要請 バフの基本システムが出来た
実際の効果はまだ
バフ・アイテムを使ったら
強化率 = 150% とかして、タイマーに効果時間を入れる
で、毎フレーム、タイマーをカウント・ダウンして
0 になったら 強化率 = 100% で元に戻す
消耗品で無くて装備の場合は
タイマーに 9999 を入れると、効果が無限に続く 自機の座標と速度のベクトルをリファクタリングしてる
変数の割り当てケチって、汚いデータ構造になってる
最初からきちんとして置けば良かった
暫くかかりそうだけど、やっとか無いと
速度関係のバフが実装できないのでやる ベクトルのリファクタリングの
恒星系の分は終わった ベクトルのリファクタリングの地表面の分終わった
めんどい あけおめ、ことよろ
ベクトルのリファクタリングの虚数空間の分終わった
モチベだだ下がりだけど、あともうちょい ベクトルのリファクタリングのビル街の分終わった
後は白兵戦だけ ベクトルのリファクタリング全部終わった
ようやっとアイテム作成に戻れる 命中力と攻撃力のバフの効果を実装した
N = N * レート / 100
当たり判定の範囲やダメージの値(N)にレートを掛けるだけ 恒星系で自機に敵弾が当たった時
回避率に応じて避けられる様にした
回避率 = ピッチ速度 * (マニューバ率 / 100) * (Z速度 / 最大Z速度)
Z速度を上げながらピッチを上下すると、回避率が上がる
ピッチ速度 < 50 なら、マニューバ率 = 100%
ピッチ速度 >= 50 なら、マニューバ率 -= (100 - (ロール速度 / 2))
ピッチを連続で上下し続けていると、効果が減衰する
左右にロールすると、その減衰を遅らせる事が出来る
確率で回避できるのはシューティングとしてどうなんだ
と言われるかも試練けど、一応RPGだし
ワンパターンなCPUが相手だと、すぐに攻略されて
特定のマニューバで簡単に回避できてしまうので
対策としてこうなった ■ このスレッドは過去ログ倉庫に格納されています