FC2ブログ

門殊銭の進捗です

キーボードを打つ指が悴む季節になって、クリスマスが終わったと思ったらもう年末ですってよ
月日が経つのがどんどん加速して感じるようになったGoreです。

えーと門殊銭の進捗なんですけど、完成してるのが「Stage1」と
「霊夢魔理沙の自機3装備(6通り)」だけで、後は諸々が未実装状態になってます。
平たく言うと予定より盛大に遅れてます。進んでません。
仕様書の骨格はEXまで9割近くできてるんですけど、何故か増えていくという…。アホじゃないですかね。

諸々専門的な言い訳とか解析した仕様等は追記エリアに追いやりましたので、
奇特な人はそちらから流し読みしていただけるとありがたいです。
体験版はとりあえず「年号変わるまでに発表(2019年4月辺り)」を目標に製作してます。

それでは、スクリーンショットをどうぞ。

●気まぐれ機体紹介
thbit_20181228044533.png
霊夢A 誘導特化型
輝針城6面ボス 少名針妙丸が支援に回ってくれる装備です。
輝針城の霊夢A(妖器装備)を再現しています。
地霊殿の交信強度システムを組み込む事が確定した以上、やっぱり
サポートキャラ居ないと雰囲気でないかなぁと思ったので各キャラに三人サポートが付きます。
支援キャラクターの立ち絵は、会話には出てこないのであしからず。
thbit_20181228031814.png
高速移動時のショットは毎度おなじみ「ホーミングアミュレット」
紺珠伝の仕様を再現した天華楼からそのまま続投してるので、長所も欠点もそのまんまです。
弾速遅い・威力控えめ・誘導精度甘めのショットなので、コレに頼り切ってると辛くなってくるでしょう。
thbit_20181228031909.png
低速移動時のショットは「よくばり大幣(おおぬさ)」
威力が高く、敵をロックオンして追跡攻撃する近接攻撃武器です。
ぶっ壊れ性能なのも原作再現です。敵が来る場所に置いて使おう。
高速ショットと大幣で同時に攻撃する霊夢砲も出来るよ!
thbit_20181228031855.png
Cボタンで発動する貯金開放中の支援攻撃(サブウェポン)が「打ち出の御幣(ごへい)」
有難い金色の欲張り大幣が性能そのままで分裂。
thbit_20181228032012.png
ゲージレベル最大の時には6本まで増えます。
今作は敵をやや硬め(当社比)にしたのでコレで削っていくといいでしょう。
thbit_20181228032007.png
高速移動時のスペルカードは霊符「夢想封印」
いつもの奴です。性能も威力も爆発力も標準的。
thbit_20181228032106.png
低速移動時のスペルカード、妖器「無慈悲なお祓い棒」
消費に見合った爆発的な威力を叩き出します。

あっそうそう。リプレイ再生中の残り時間が判りやすいように
おまけ機能として、キー入力表示の上に秒数表示とタイマーゲージを付けてみました。
99分59秒99まで表示することが可能です。デモプレイではキー入力表示のみにする予定です。

一応動画としても進捗内容を出したいので、"間に合いそうでしたら"動画出します。



■追記(という名の言い訳というか仕様解析欄)
コチラで言い訳させていただきますと、弾幕風ph3のテキストオブジェクト(文字描画)の仕様により
文字一つ一つが個別に描画出力されるという信じられない仕様が発覚した所為です。
元はと言えば、会話イベントにルビ描画実装したらテキストを送る度にやたらfpsが落ち始めたので
「あれれ~?おっかしいぞ~?」と調査し始めたのが突貫スクリプト大工事の始まりとなりました。

このままでは言いがかりに捉えられかねないので証拠スクショ。
thbit_20181117132145.png
thbit_20181117131203.png
メモリに読み込んだ画像を解析するツール越しに起動してます。
なんと文字1つ1つが個別の小さい画像扱い。
thbit_20181117130510.png
こっちはSpellPracticeでの解析画像。
一応同じ文字の場合は使いまわされているようですが…。

要するに「異なる文字を表示させればさせる程、キャッシュが溜まっていく」訳です。
平仮名だけでも50音ありますし、漢字も含めれば当然の如くRAMが逼迫していく一方です。
しかもメモリの開放手段は現状では「ゲームアプリを落とす」しかなく…。
ついでに描画は超美麗という訳でもなく、ルビ含まない文字数取得できる関数が無かったり
フォントによってアウトライン崩れたり…。
多分他のエンジンだと当たり前のように出来てる事ですよねコレって

th16_112.png
東方原作(スクショは天空璋)では一枚の画像に予め文字を書き込んで、
そこから規定領域を普通の画像として切り取って使うので使いまわしが利く上に
上限が決まっているので、メモリ効率も良く。比較的描画負荷も低いです。

恐らくスクリプトの拡張性(主にRPGやノベルゲー等への使用)を
考慮してこんな仕様にしたのでしょうね。
東方ではメインゲームのスペカ名表示や会話・EDテキスト、音楽室のコメント、
後はPlayerDataのスペル取得履歴くらいしか使わないのでメモリの節約ができますが…。

これらを何とかしようとしてゲーム内に使ってるあらゆる文字列を
すべて画像に変換(レンダリング)する作業が発生し著しく作業能率が落ちてしまったのが
進捗遅延の原因です。(まぁモチベ低下の影響が一番大きいんですけども)

thbit_20181228042202.png
thbit_20181228042204.png
んで、転んでもタダでは起きたくないので原作っぽくネームレジスト画面を作り直しました。
内部処理
文字列を1文字ずつ分割してToString関数で1文字単位の文字列に変換してから
alternativeでcase分けしてフォント画像の切り取り範囲を指定しています。
username.jpg
リプレイやハイスコアランキング・スナップショット出力時のファイル名
更にリプレイ再生中のタイマー等もコレ1枚で描画してます。フォントはあえて変えてます。

一応これから弾幕風ph3で東方ライクなSTG作りたい人向けの備忘録という事で残しておきます。
SAIFON等のレイヤー構造が保存できるテキスト描画ソフトで規格化するといいかもしれませんね。
ちなみに私はフォントサイズ16。縁取り2.5pxでテキストをレンダリングしてます。
pngで個別出力も出来るのでSAI持ってない人にもオススメです。

コメントの投稿

非公開コメント

プロフィール

ごれ(Gorenshi)

Author:ごれ(Gorenshi)
弾幕とか素材とか作ってる人

カテゴリ
最新記事
ご挨拶 Dec 31, 2037
プレイ動画用意しました Aug 05, 2020
東方門殊銭0.02b Aug 02, 2020
東方門殊銭0.02aパッチ Jul 28, 2020
東方門殊銭体験版公開しました! Jun 21, 2020
月別アーカイブ
全記事表示リンク

全ての記事を表示する

検索フォーム
RSSリンクの表示
リンク
ブロとも申請

この人とブロともになる

QRコード
QR