「霊魔幻日譚」の解説
東方シナリオコンペの投票期間も終わりましたので、今回のシナリオの解説など
やってみようと思います。

なんでわざわざ解説なんて?といったところなのですが、
今回のシナリオは今のSRCでできることの技術デモみたいな側面がありますので、
せっかく培った技術を他の誰かにも再利用してもらえればいいなぁと思ったりしまして。

そういうわけで、ストーリー的な補完よりは技術的な意味での解説記事になります。
また、頭の中身をうまくアウトプットするのは苦手なので、
自分用メモの書き直しレベルなのですが。

それでもよろしければ下へとお進みください。
●本当に「開発版スゲー」なのか?

今回のシナリオは、私が色んな所からパクった拝借したインクルードで色んなギミックを実装しています。
それらのギミックは確かに開発版でしか動かないものもあるのですが、実は安定版でもだいたい動きます
じゃあなんで開発版使ったんだよというと、カスタムインターミッションと拡大戦闘アニメは開発版専用だからです。
特に、拡大戦闘アニメは今回のシナリオの肝に個人的に置いてましたので、開発版が必須でした。
逆に、それらを外しても良いのならば開発版は必要なかったわけです。



●拡大戦闘アニメ

開発版2.3系列の目玉機能でもある拡大戦闘アニメを本シナリオでは全面的に取り入れました。
え、マップ兵器にアニメついてないって? 忘れてた細けぇこたぁいいんだよ!

拡大戦闘アニメ自体は他の方もシナリオで使用されていたりSRC自体の機能だったりしますので詳しい説明は省きます。
が、細かい部分でやっぱり気をつけないといけないこともあるのでその辺をちらっと。

属性武装とは相性が悪い
自爆技を使った相手の脱出アニメを拡大で処理しようとすると、攻撃側、防御側の組み合わせによってはバグります。
たぶん、攻撃を仕掛けた側が破壊される場合に対応していないせいだと思います(未検証)。
※ゼアルさんのラジオ配信中に発覚したバグです

・反転してはいけないユニット
現在の拡大戦闘には、今回のシナリオでのアイテムの画像のように左右反転してはいけないユニット画像を表示する術がありません。
単純に陣営が敵と味方しか居なければ、攻撃側、防御側が固定されるので対処可能……と思いきや、マップ兵器に巻き込むと味方であっても反転表示される可能性が出てきます。
(実はこれが今回マップ兵器に戦闘アニメを設定しなかった大原因)

・ダメージ数値表示
現在のSRC開発版の最新版(2.4.0a)では、拡大戦闘アニメで表示されるべきダメージ数値表示が何故か通常のアニメで表示されてしまいます。
そのため、拡大戦闘アニメの合間に通常アニメが表示されてしまうという問題が起こります。
(特に今回は、後述する陣営色透過との兼ね合いで見栄えが一層悪くなります)
バグだと思われますが、修正されるまではちょっと違和感が残ってしまいますので、今回のシナリオでは"Option ダメージ表示無効"を併用しました。
結果、ダメージ表示がなくなりますが許容できればそれでいいかと割りきりました。


●カスタムインターミッション

「自作インターミッションですか? すごいですね!」とお褒めいただいてとても心が痛んだのですが、樹招さんのインクルードをお借りしたものです。
元々試作品(Beta)として公開されていたものなのですが、自環境では大きな問題が見当たらなかったので調整の上で投入させていただいた次第です。
主な調整点はタイトル画面ですね。STGの東方原作に近くなるように見た目とかを少々いじりました。
結果として、うまく動かない環境が出てしまったようですが……検証不足が露呈してしまった形に。
ただ、今回のシナリオはそういう意味でも技術デモっぽいものだと思ってましたので導入に後悔はしていないです。

また、動作不良のうち何割かは使い方が異なり、再開の際にセーブデータを直接読みに行ってしまったためではないかと推測しています。
今回のシナリオでは(というかこのカスタムインターミッションでは)インターミッションからの再開ではセーブデータを読みに行ってはいけません
再開の場合でもシナリオ起動.eveを読み込まなくてはいけないという仕様がややこしくてうまく通じなかったのではないかと懸念しております。
SRCを普通に起動するとセーブデータ".src"ファイルを読み込むモードで起動するので、わざわざ.eveを読み込むモードに切り替えなくてはいけませんし……
SRCにコマンドラインから引数でファイル名を与えれば解決するかと思ったんですが、どうもうまく行かず断念しました。


●陣営色透過(タイルの非表示)

今回のシナリオのもう一つの目玉機能ですが、前述のとおり実は開発版は必要ありません。
導入に関しても、WIZARDさんのサイトで公開されている「陣営色透過表示インクルード改」をほぼそのまま導入しただけです。
ただし、改変自由とのことなので数カ所に手を入れています。

・『背景』との相性
"Paintpicture 背景"を使うものとの相性が非常に悪いです。
このインクル自体が背景レイヤに描き込む仕様なので仕方ないのですが、一枚絵を貼りこんでマップにする手法を使うときは注意が必要です。
手間ですが、無難にマップチップに分解して配置したほうが良いと思われます。
また、当然のようにMELTとの相性も悪いです。
つまり、使いどころを選びます。
選びますが、今回のように導入できるとかなり雰囲気を向上できます。

・『空中』『地上』移動時の挙動
このインクルードでは「行動終了時」「戦闘時(ダメージ計算時)」「変形時」などにユニット状態を再描画して陣営色透過を実現しています。
だいたいそれだけ抑えれば破綻なくユニットを描画できるのですが、それでは問題の出る場合があります。
それが『空中』『地上』などへのエリア移動の場合で、SRCにはこれらのエリア移動イベントを検出するイベントラベルがありません。
つまり、ユニットは内部的に空中へ移動したのに、表示的には地上に居るまま、という状態が起こってしまいます。
実際、お借りしたインクルードもオリジナル版ではこの問題が回避できていませんでした。

せめてこの時に、何かしらの計算式やメッセージ類が呼び出されればそこに関数呼び出しを無理やり埋め込めば解決するのに……
……いえ、ひとつ呼び出されるものがありました。それは、各パイロットの『空中』『地上』シチュエーションのメッセージです。
全パイロットのpilot_message.txtに、以下のようなメッセージを入れることで問題は解決できます。
> 地上, $(ユニット)は着地した$(ユニット表示())
> 水上, $(ユニット)は着水した$(ユニット表示())
> 水中, $(ユニット)は潜水した$(ユニット表示())
> 空中, $(ユニット)は浮上した$(ユニット表示())
> 地中, $(ユニット)は潜地した$(ユニット表示())
無駄にメッセージが表示されてしまいますし全パイロットという手間はありますが、これで何とか回避することができます。

・戦闘アニメとの兼ね合い
戦闘アニメはパネル表示を前提にしているため、ちょっとした瞬間にパネルが復活して見えてしまう場合があります。
具体的には一部のアニメと、援護防御時のユニット移動アニメなどですね。
……これは今回はもう仕方ないやということで諦めました。
SRCでやる以上、ある程度の諦めは必要かなーと。
幸いにも今回は拡大戦闘アニメを導入することにしたので、通常のアニメでのパネル復活は気にする必要がなくなりました。


とりあえず、今日はこのへんまで。
後日続きを書きます。たぶん。
なにか気になるところご質問などありましたらお気軽にコメント欄にどうぞー
スポンサーサイト
【2013/10/01 22:42】 | SRCシナリオ | トラックバック(0) | コメント(0)
<<冬コミについて+α | ホーム | SRCシナリオコンペに参加しました>>
コメント
コメントの投稿












管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://jiyugiga.blog49.fc2.com/tb.php/82-35b2a275
この記事にトラックバックする(FC2ブログユーザー)
時遊戯画つれづれ


同人サークル『時遊戯画』の日記代わりのブログです。 主に創作した作品の発表・お知らせや日々のよしなしごとなど。

プロフィール

漂流いかだ(KOR)

Author:漂流いかだ(KOR)
同人サークル「時遊戯画」主宰。
東方シリーズの二次創作を舞台に活動中。
SSとか音とか絵とか中途半端に節操なく。

HP:時遊戯画

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する