- 公式 Light.vn 関連記録 「更新履歴」より
Ver16.0.1 アップデート内容(2024/03/02)
16.0.1)
[ Light.vn本体 ]
- エディタ:配布画面の文字列更新
- エディタ:’が自動で’’とならないように修正
- コマンド:クリア、未使用リソースも必要であれば解除するように改善
- コマンド:隣接方向衝突継続時、処理軽量化
[ バグ修正 ]
- エディタ:””の中の//のハイライト問題修正
- () がunmatched lineとなる問題修正
- () の計算がリアルタイムプレビューに反映されない問題修正
- サンプル:tut_var_card.txt デッキ構成後のエラー修正
- サンプル:tut_var_card.txt デッキ構成枚数が不十分でも完了をおせる問題修正
- サンプル:Plugins/map_natuki/map.txt ステージが進まない問題修正
- commands_to_english:対象外のファイルがコピーされない問題修正
16.0.0)
[ Light.vn本体 ]
- 無限ループ検知アルゴリズム改善
- 衝突アルゴリズム軽量化
- 非日本語言語設定でLight.vnを使う場合、日本語情報も処理するように
- 非日本語言語設定でも、Light.vnの公式日本語サンプルを使えるように。
- エディタ:Strings_editor.xmlに必要な文字列が含まれていない場合のエラーをより分かりやすく
- エディタ:スクリプトタブにて、ID情報を最後に追加
- 変化コマンドの軽量化
- 変化コマンドのテスト追加
- サンプル:テキスト装飾が必要な箇所を、<></>形式に大々的に修正
- commands_to_english: Pluginsにも実行されるように
- Light.vnのitch.ioページ公開開始。
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- コマンドを引数として貰う場合、該当コマンドが画面領域の一番下のスクリプトを対象に実行されるように変更
- 画面領域終了なく、画面領域開始がされたスクリプトがスクリプト終了する場合、エラーとして
- 砂時計、変数式確認機、状態更新器、ボタンを含めたクリック可能個体、個体が作られた画面領域が活性化中にのみ動作するように
- 文字自動待機、デフォルトを「2」に更新
- 既存動作が望まれる場合、settings.xmlにTextAutoWaitMethodDefault="0"追加
- 上記の変更によるサンプルを修正
- tut_text.txtにて変更の説明追加
[ バグ修正 ]
- エディタ:スクリプトタブを早く切り替える時のバグ修正
- エディタ:シナリオ行ハイライトバグ修正
- 衝突コマンド実行順バグ修正
- もし・ちがってももし、バグ修正
- シンクロコマンド上書き問題修正
- シナリオ行最後の空白が反映されない問題修正
- \\wがシナリオ行で表示されない問題修正
- \\n関連バグ修正
- commands_to_english:テキストファイル以外のファイルを処理しようとする場合のバグ修正
今回の更新内容を大きく分けると:
-スクリプトが複雑化しつつある動的プロジェクトへの対応
--画面領域中心のスクリプト組み方へ変更
--よりデバッグしやすい組み方へ変更
-Light.vnの英語・多言語対応に向けたインフラ整備
-Light.vnサンプルの、最新機能に合わせた更新
になりそうです。
文字自動待機のデフォルトを「2」に変更したのは、長んな方々の作品制作の協力をしながら、
必要のない大量の \w を長年観察したから、ですね。無駄な時間を削減できるように、
デフォルトとしてより効率のいいやり方を前面にだそう、との思いで変更しました。
2/29は「春に生きれば」
3月は「狂愛イノセンス」
が発売されます。今年は特にパブリッシング活動にも力をいれ、多方面で皆さんの活動の支援ができればと思います。
こうして新たな冒険に向けて出る時期でもありますが、英訳などを通してLight.vnの今までを振りかえる貴重な数か月間でもありました。
多くの方々の協力・バグ報告・要望を通して今のLight.vnが出来ております。
これからも、よろしくお願いします!
また、今までありがとうございました!
- 炯淳
Ver14.6.1 アップデート内容(2023/12/04)
14.6.1)
- 文字自動待機 2 (空白行待機)指定時に、行頭の空白を除いて空行である場合でも待機するように。
- “ の前に空白があっても、新しい文章として処理
- tut_overall.txtの吹き出しスクリプト、オートモードにも対応できるように改善
- 自動カメラ付着バグ修正
- Commands.xml 音声絵、カメラオプションの記述漏れ修正
14.6.0)
[ Light.vn本体 ]
- エラー報告の情報量増量
- 動画にブレンドモードを反映出来るように。
- エディタ)無限ループエラーが一度のみでるように。
- lvCmd追加
- lvGetNames
- lvGetClosestObjectWithName
- lvSystem::ViewportSize
- エディタ便利機能追加
- スクリプト中のコマンドをハイライト(ダブルクリック):コマンド説明が表示
- 個体検索機能追加
- 変数検索機能追加
- コマンド目録:英文キーワードも表示
- コマンド追加:
- 自動カメラ付着
- UI作成などに役立つ
- 自動カメラ付着
- コマンド:文字色、2色によるグラデーションができるように拡張
- 文字装飾コマンドに対象名を指定した場合でも、リアルタイムプレビューに反映されるように。
- ボタン、砂時計などでコマンド実行の際に、その個体が存在するスクリプトを基準に実行されるように。(スクリプトスタックの一番上のスクリプト基準ではなく)
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
コマンド:親子
- 親の存在を強制し、最低子が一個存在することを強制。
- lvCmd:lvSystem::WindowSize追加
- vn_win_width, vn_win_height 削除
- サンプル更新。
- lvCmd:lvSystem::WindowMode追加
- vn_sysWindowMode 削除
- サンプル更新。
[ バグ修正 ]
- リアルタイムプレビュースタック表示問題
- マスクサイズエラー修正
- ウインドウサイズ問題修正
- アンドロイドデータ読み込み問題修正
長らく要望されたエディターの便利機能を今回大々的に追加してみました。
難しいのでは、と思って長い間悩んだのですが、いざ実装しようとしてみたら出来るものですね。
中級者以上の方々にも役立ちながら、初心者の方々の手助けにもなれる機能の方向性を検討しながら色々追加してみたのですが、いかがでしょうか。
文字色のグラデーションもやはりいいですね。
lvGetNames, lvGetClosestObjectWithNameはDiscord内でRTS類の実装の話し合いが活発になったことを見て追加してみました。
次回更新ではまたUIの作成などが楽になる概念をいくつかしようと思っております。
自動カメラ付着、ある意味その最初の一歩です。
今年の更新はこれで最後となります、皆さんにとって少し早いクリスマスプレゼントになれたら。
それではまた来年あいましょう! - 炯淳
追伸:
毎度のことですが、実際に制作をされる方々の作業風景を見るとかなり参考になりますね。14.6.1にて既存機能の便利化を更に行いました。
ありがとうございました!
Ver14.4.1 アップデート内容(2023/09/29)
14.4.1)
- 複数背景音再生バグ修正
- Commands.xmlの背景音コマンド説明更新
14.4.0)
[ Light.vn本体 ]
- コマンド:背景音、複数作成可能に
- コマンド:背景音自動継続、上記を踏まえ仕組み拡張
- 描画順改善:
- Commands.xmlにて詳細説明
- コマンド:続行、「使用文字窓」で文字窓化された「文字」個体にも反映されるように。
- 吹き出しに必要での実装。
- 入力禁止 trueの場合、Windowsのウインドウのxを推しても、ダイアログが出ないように。
- コマンド:文字窓、オプション追加:超過無視
- コマンド:文字速度、オプション追加:オート設定反映
- コマンド:lua、” {{ }} ” を通してLight.vnの引数を直接渡せられるように。
- luaテスト追加
- コマンド:文字超過自動待機、追加!
- 多言語対応の際の文字枠の制限問題などから自由に。
- コマンド:モデル、ボーンのあるglbファイルも表示可能に!
- コマンド:ライト反映、追加!
- ライト表現の大幅な改良。
- 更に綺麗に表示。
- 新ツール実装:Tools/scenario_extractor.exe
Scripts/フォルダーからシナリオを抽出するツール。- 仕組み:
全ファイルを上から下まで処理して、文字列を見つけた場合- その文字列がバックログに入る場合:
バックログに表示される形式を保存 - しない場合:
文字列をそのまま保存
- その文字列がバックログに入る場合:
- 処理結果は _extracted_Scriptsにて保存。
- 仕組み:
- サンプル:
- tut_map_shop.txt
- 店のアイテムUI更新ラグ解消
- ラムの鞄にものがない場合、undefinedではなくボタンが表示されないように。
- 下のクリアの処理改善を踏まえ、全サンプルにて場面が切り替わる場所にクリア追加。
- 結果的にたまに発生していたキートリガーがリークしていたなどのスクリプトバグ修正
- system/save.txt load.txt
- 文字窓の必要箇所に「超過無視」追加
- Plugins/lvn_message
- もし、でのシンクロコマンド使用ができなくなった為の修正
- tut_3d.txt
- VRoid Studioインポート例追加
モデル提供:高天原まきなhttps://twitter.com/makina_novel
- VRoid Studioインポート例追加
- tut_map_shop.txt
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- シンクロコマンドを、キーダンや砂時計などの外部処理装置からできないように。
- 派生効果:もし、からもシンクロコマンドの直接実行が不可に・・。
- コマンド)クリア
- キートリガー初期化、も行うように。
- 文字窓に文字列をあてようとして、文字枠の幅を超えた場合、エラーが出るように。(文字超過自動待機 falseの場合)
[ バグ修正 ]
- もし、関連バグ修正
- commands_to_english: 反復実行不可バグ修正
- ライトのバウンディングボックス非表示問題修正
- スクリーンアウト、問題修正
- 文字ワードラップ設定未保存問題修正
- クリア、バグ修正
- 一部モデルでのライト計算問題修正
気づいたら色々出来てしまっていた14.4となります!
特に注目すべきなのは:
-Tools/scenario_extractor.exe
シナリオ抽出ツール!
前々からLight.vnにて直接シナリオを作成されている方が多く、声をあてたいが上手くシナリオを抽出出来ず困る、との意見があった為、
今回実装しました。
-VRoid Studioインポート
言うまでもなく、これで演出の幅がまたかなり広がりそうです。
https://vroid.com/studio
-文字超過自動待機
多言語対応がより楽に!
またRPG・漫画風作品に長い台詞を色々気にせず更に楽に当てられるようにするための機能として実装。
14.2の九絵機能・文字超過自動待機、両方台詞を当てやすくする為の機能ですが、演出として何を使うかは作品の雰囲気に合わせ
自由に使って貰えたら。
個人的には、「クリア」にキートリガー初期化を加えたことを切っ掛けに、今回サンプルにてクリアの使用頻度をあげてみた結果、
スクリプトバグの可能性を徹底的に潰せたことも嬉しかったり。
長い間謎だったライト周りの一部計算式を解決し、ライトまわりが結果的に更に綺麗に表示されるようになったのも嬉しいです。 - 炯淳
Ver14.2.1 アップデート内容(2023/08/05)
14.2.1)
- 3Dテスト追加
- ライトテスト追加
- 配布状態で失敗するテストを修正
- スクリプト保存仕組みの強化
- commands_to_origin -> commands_to_englishに名前変更
- 実行すると、元のScriptsフォルダが_source_Scriptsに。
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- 「クリア」を実行するといくつかの指定が初期化されるように
- Commands.xml参考
- 「ジャンプ」にてスクリプト先を指定する場合、「マクロ反映」が初期化されるように。
14.2.0)
[ Light.vn本体 ]
- マルチプラットフォーム準備度に関したテスト追加
- Failedが出た場合、プロジェクトに含まれたファイル名が「英数字_-+.!」で構成されていないことが原因です。
- ファイルを無視してほしい場合は、頭文字として@を付けてください。
- Failedが出た場合、プロジェクトに含まれたファイル名が「英数字_-+.!」で構成されていないことが原因です。
- 配布・新規プロジェクトテスト追加
- エディタ).txt .luaファイルのみを開けられるように
- もし・違ったらもしコマンドの安定性向上
- アニメーション登録の引数チェック強化
- アプリのウインドウサイズを調整可能に設定した場合、最後に開いたときのサイズに復帰するように
- エディタ)ファイルが空の状態で保存しようとする場合、確認メッセージがでるように
- 「| 」を使った複数コマンド仕様仕組みを安定化
- 素材読み込み速度向上
- コマンド追加)方形画像登録
- コマンド)九絵、拡大種類引数追加
- コマンド)文字、行サイズ引数追加
- サンプル追加
- /Plugins/map_2d_3dims/mapTest2.txt
- tatsuさん提供の、立体交差マップサンプル
- 羊の店マップの後
- /Plugins/map_2d_3dims/mapTest2.txt
- tut_overall.txt
- 九絵の拡大種類引数紹介サンプル
- 九絵検証+素材提供協力
- 490さん:maps/testwaku.png提供
- ニカさん:maps/rpanda2.png提供
- LightTests
- 全部successの場合、最後にCoverage数値を表示するように。
- Tools/commands_to_origin.exe
- プロジェクト内のスクリプトを、英文コマンドに変更したバージョンをData/_mod_Scriptsフォルダの下に作成。
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- コマンド:衝突許可単位、侵入許可単位に名前変更
- 変数消去:, で変数名を区切るように修正
- アニメシート登録縦計算を正しく修正
- settings.xml WindowSizeAdjustable Trueの場合、
- 作品の縦横比に合わせてアプリが伸びるように改善・変更
- settings.xml WindowSizeAllowFreeRatioを追加。Trueの場合、
- WindowSizeAdjustable Trueの場合、作品の縦横比を無視してアプリが伸びるように。
[ バグ修正 ]
- 進入禁止問題修正
- クロマキー問題修正
- 文字陰問題修正
- ブラウザー出力問題修正
- パッチ配布問題修正
- アニメーション問題修正
- もし()問題修正
- 衝突時のz表示問題修正
- z r 説明問題修正
- エディタ:個体座標問題修正
- エディタ:テストプレイ中のスクリプト修正が終了後反映されない問題修正
- LightTestsが終わらない問題修正
- 回転絵問題修正
- 九絵セーブ問題修正
衝突処理を使った作品が予想以上に増えてきた事、スクリプト中の「 l 」などの処理を以前急いで作ったことなどがあり、 今回はそこら辺の処理を軽量化・テストを追加することにかなりの時間をかけました。 結果的に、tatsuさんの協力で立体マップのサンプルも組み込むが出来、 また490さんとニカさんのフィードバックの元、九絵周りの新たな引数とサンプルの追加まで出来ました。 アプリの縦横比を維持したサイズ操作も、よしのさんの作品に刺激されて、でしたね。 みなさんの新作や意見を元にこうしてLightvnも成長しておりますので、これからもよろしくお願いします。 Wikiもそうですが、Lightvnも今になっては私一人が開発している何かではなく、 皆さん全員がいるからこその何かになっていますね。 commands_to_originは、 強いて言えば日本語コマンドが逆に苦手な方々が、公式サンプルに使って勉強が楽になれるように、 の考えで作ってみましたが、どうなんでしょうかね。 こうしてLightEditor以外にも、ツールを一つ二つ追加していくかも、と思い始めたので、 Toolsフォルダーを追加しました。 次回は・・・弾幕ゲームか格闘ゲームを作りたい・・・欲がぁ! といいつつもコミケに参加される方々用の便利機能もありのような・・。 かなり暑いのですが、水分補給も忘れず、塩タブレットも飲みながらみなさん元気に創作ライフを過ごしていただければ。 追伸(14.2.1) クリアを実行するといくつかの設定が初期化されるように追加しました。 Light.vn上で調整できる環境設定が増えてきたことで逆に「真っ白な状態」に戻すことが面倒になってきていることを実感し、このようにしてみました。 なので、スクリプトの始まりに「クリア」をこまめに追加するのもありかもしれません。 これで更に作りやすいLight.vnになれたら。 - 炯淳 |
Ver14.0.2 アップデート内容(2023/05/25)
14.0.2)
- 背景拡大問題修正
- 衝突範囲タイルのz問題修正
- スクリプト | 待機、などの記述の誤作動修正
[ Light.vn本体 ]
- コマンド:スクリプトにて、ファイル名ではなく「現在」オプションを追加
- プラグインなどをより共有しやすく。
- LightTestsのアイコン更新
- デザイン:伊藤コウ
- コマンド)背景、性能向上
- コマンド)文字再度出力、文字も対象にできるように
- コマンド)文字行サイズ、文字も対象にできるように
- コマンド)文字、「バックログ登録」引数追加
- コマンド)開く、失敗時エラーを表示するように
- コマンド)親子、対象名として文字列も認識するように
- lvSize, lvEmpty、文字列も対象にできるように
- xmlまわりのテスト拡張
- エディタ:編集モードの際のレンダー負荷軽減
- エディタ:リアルタイムプレビューoffの場合でのGPU使用をほぼゼロに
- 結果的にoffの場合、作品画面がレンダーされません。
- LightTests: テスト数:205に増加。
- コマンド)九絵、追加
- コマンド)変数消去、追加
- lvn関数)lvSubstringCount、追加
- tut_overall.txtにて「九絵」のスクリプトサンプル追加
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- 描画基準個体:カメラ付着個体は対象外に
- プロジェクトデータをData/フォルダの下に。
- ロード直後に、入力禁止 true 状態になるように
- system/events.txtを更新。
- Tiledからのjson情報中のタイルセットの’Image’ファイルパスが「./」で始まっていなければエラーが出るように
- (手動で修正する必要があるかもです)
[ バグ修正 ]
- 交叉判定バグ修正
- インとトランジションによるクラッシュ修正
- 「もし」コマンド使用時の問題修正
- 変数 = 、のスクリプトバグを修正
- 背景音自動継続バグ修正
- カメラ追走バグ修正
- tut_overall.txtにてのアニメーションバグ修正
- セーブスクリーンショットバグ修正
- Command.xml読み込みバグ修正
- 自動マスククラッシュ修正
- 自動マスクが文字に反映されない問題修正
[ 他告知 ]
- MicrosoftがWindows7へのサポートを完全終了した為、次回のバージョンからWindows7への対応は保証しない方針に切り替わります。
- Light.vnの言語設定ファイルのGithub Repoを運営開始
今回は久々にビジュアルノベル用の機能に焦点を合わせた更新となります。 機能として目立っているのはやはり「九絵」ですね。 漫画特有の力動感の高い表現の実装には前々から興味を惹かれていたのですが、 拡張性がありながらもユーザー側からすれば低労力で使える仕様に関して、長い間悩んだ結果誕生したのが、 今回の「九絵」となります。 (コマンド名のおかしさに関してはもうみなさん慣れているだろうと思います) 漫画といえばマスク的表現も頻繁で、総合的に後一歩の所で何か実装しきれていない感じは個人的にありますが、 更新を遅らせるよりはとりあえず出してみました! みなさんの使い方などをみながら、私も落ち着いて更なる使いやすさと拡張しやすさに向けてまた工夫したいと思っておりますので、 楽しく自由にご活用いただければ。 プロジェクトデータをData/というフォルダーの下に引っ込めたのは、 最上位のフォルダにフォルダがありすぎて管理面であれな気がしたのと(部屋であれPCであれ、掃除と簡潔さは大事ですね)、 後にデータまわりの効率化をもう一度行おうと考えていて、その為の事前作業になります。 言語ファイル用のGithub Repoを作ったのは、 前にこちらの方でも述べた通り、皆さんにプログラマーとしての経験を更にあげるにはどうすればいいか、と考えていた中で浮かんだ案の一つで、 誤字などあれば気軽にPRをお願いできれば。 他言語対応にもまたいつか挑んでみたいですね。 次回更新は・・・・「必要な」ことをするか、また頭のいかれた何かを実装するか、悩ましいですね。 それでは、また次回更新にて! - 炯淳 |
Ver13.8.1 アップデート内容(2023/03/11)
13.8.1)
- 衝突時に各衝突範囲の座標・交叉x,y,zも引数として渡すように。
- 例:tut_map_3_kojiken.txt 進入禁止接触
- 物理計算バグ修正
- SystemMessage, SystemDialogクラッシュ修正
[ Light.vn本体 ]
- オーディオまわりに問題があってもプレイできるように。
- 数字変数の処理速度向上
- エディタ)左側の挿入ボタンを通して個体を配置する際に
- インコマンドも追加。
- 反映できる個体には拡大も追加
- エディタ)テストプレイ途中にスクリプトが修正される場合、編集モードに戻った際に反映されるように。
- エディタ)動画、モデル、ライトもマウスで配置可能に
- コマンド)カメラ追走、 カメラ追走3Dにfalse引数を追加。
- (解除できるように)
- コマンド追加)動画終了形式
- コマンド追加)描画基準個体
- コマンド追加)衝突基準個体
- エディタ)FPSが必要以上に低下した場合、警告を表示するように。
- ダイアログに「ゲームエンド」を付けた場合、ダイアログスクリプト登録がされていなくても実行されるように。
- settings.xml: cap_update_dt_to_fixed_update_dt 追加
- Updateフレーム毎のディレイの最大値をLight.vnが決めた内部値を上回らないようにする機能。
- 衝突範囲に侵入禁止をつかっている場合、使用を推奨。
- Updateフレーム毎のディレイの最大値をLight.vnが決めた内部値を上回らないようにする機能。
- ウインドウなどを動かしてラグが発生した場合での、侵入禁止の処理を改善。
- キー長押しの処理軽量化
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- なし
[ バグ修正 ]
- スクリーンアウト関連バグ修正
- Configs関連ファイルの書き込み問題修正
- 既読スキップ関連強制終了修正
- 終了時の強制終了問題修正
- LightTestsの強制終了問題修正
- エディタのモデル挿入クラッシュ修正
- 文字ワードラップバグ修正
- エディタのハイライト問題修正
- 方向移動バグ修正
あけましておめでとうございます、今年最初の更新となります。 本格的に色々実装する前に、色々後回しにしていた要望などを実装し、 RPGを含めた動的ジャンル機能を更に追加する前に、そうした作品の軽量化や安定動作の為の機能も今回追加しました。 また、ありがたいことに作業される姿の観察を許可して頂いた方々がいて、その際に感じたことなどもエディターに反映しました。 文字ワードラップバグが修正されたことも英語版の制作をされる方々にとって大きな力になれたら。 13.8.1にて衝突の際にスクリプトに渡される引数を追加しましたが、 これで2Dゲームにおいての衝突処理の殆どをユーザー側で実装できるようになったのでは、と思います。 今年もよろしくお願いします、 いつも応援しております。 - 炯淳 |
Ver13.6.5 アップデート内容(2022/11/24)
13.6.5)
- エディタ:テストプレイ切り替え問題修正
- kojiken_map_3.txt問題修正
- タイルマップのタイルアニメーション問題修正
- 衝突範囲球の問題修正
- ブラウザー出力:描画許可コマンド問題修正
- スキップ時に画像トランジションがスキップされない問題修正
- 下位バージョンとの互換性がとれない更新目録
- ジャンプ・最終ジャンプにて「スクリプト」を指定する場合、元のスクリプトに属していた「変数」が初期化。
[ Light.vn本体 ]
- 内部のグラフィック処理更新
- 数字変数の処理速度向上
- エディタ)Command.xmlからコマンドを自動取得しハイライト
- エンジン更新によりSettings.xmlの設定が古くなっている場合、自動でデフォルト値にする。
- lvfunctions追加
- lvPositionCenter
- lvPositionCenterXYZ
- lvState
- lvHasState
- lvSystem::isPausingLowerSCripts
- lvMath::r_to_z, lvMath::z_to_r
- 砂時計:コマンドを文字列として指定できるように。
- エラー時に元となるスクリプトのスタック内での順も表示
- エディタ)スクリプトタブにおいて、スクリプトの「変数」もみられるように。
- エディタ)テストプレイ・編集の切り替え速度更新
- エディタ)一時停止機能追加
- コマンド追加:動画クロマキー
- コマンド追加:並列スクリプト
- コマンド追加:breakpoint
- コマンド追加:状態更新機
- コマンド追加:状態
- エディタ)テストプレイ中にエラーが発生した場合、自動で一時停止に切り替わるように。
- もし・違ってももし:
- 内部の()を処理して、trueかfalseによって、後半の該当部分を処理しないように。
- true/falseのどちらかになっているかのチェック追加
- オートコンプリートにlvFunctions追加
- オートコンプリートにコマンドマクロ追加
- コマンド追加:移動xyr
- コマンド追加:移動r
- コマンド追加:レイヤ2
- 既に存在している文字の文字陰、文字ボールド値などを更新できるように。
- 文字装飾にtextShadowを使用できるように。
- エディタ)背景音、動画挿入ボタンを通して挿入されるスクリプトに、「イン」も追加
- 「スクリプト終了」がスクリプトスタックの一番下のスクリプトで使用できないように。
- LightAppで起動させている場合
- Commands.xml: バックログスクロール、の説明追加
- コマンド追加:下位スクリプト一時停止
- コマンド追加:動画更新
- タイルマップ表示の軽量化
- テスト追加
- ミニゲーム追加:3Dダンジョンボス戦
- 協力:菜月なこ🌙🐻❄️VirtualVoiceActor 様
- /Plugins/map_natuki/map.txt
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- 変数が数字の場合
- 整数として指定された変数は、小数点が入った数字との計算が行われない以上、整数として処理される。
- 同一名前の衝突範囲が存在できないように。
- アウトなどにより消滅予定の個体の衝突範囲は、衝突処理の計算に含まれないように。
- 「マクロ」コマンドで空白文字列を対象にできないように。
- 「合成画像登録」コマンドで登録する名前が、現存する個体が使用中の合成画像の登録名にあたる場合、エラーがでるように。
- 参考:これら二つの更新は、まきなさんのスクリプト解説動画をみていく中でこれは修正せねば!と思ったのがきっかけ。
動画に影響されやすい開発者である。
- 参考:これら二つの更新は、まきなさんのスクリプト解説動画をみていく中でこれは修正せねば!と思ったのがきっかけ。
- Layer座標とz座標の概念を分離
- z = 100 * laye(r) になる。
- 結果的にCommands.xmlまわりの説明修正:
- 位置範囲, 粒子発生器, タイルマップ, 歩行領域絵, カメラ追走, カメラ追走3D
- 速度範囲, 加速設定, 衝突範囲球形追加
- lvPositionCenterZ
- など
- コマンド名更新:カメラ範囲z -> カメラ範囲r
- 画像全体品質:ウインドウサイズが作品解像度と異なる場合、出力される画面全体の見方にも影響。
- コマンド削除:
- ボタン単独活性化, ボタン全活性化, ボタン活性スタック
- コマンド追加:衝突許可単位
- 結果的に衝突計算もより正確に。
[ バグ修正 ]
- streamloadmgrまわりのたまに出るクラッシュ修正
- エディタ:タイルマップ上の個体の衝突範囲表示がおかしい問題修正
- 歩行領域タイル人物のフレーム横幅・縦幅がゼロの場合の問題修正
- スキップ時に、ループ演出がスキップされない問題修正
- カメラ追走3Dが保存されない問題修正
- エディター上でテストプレイをして、セーブ・ロードを行う場合、ロード以前の背景音が残っていた問題修正
- 特殊効果自動反映まわりの問題修正
3Dダンジョンでのボス戦を実装する為に、今回あらゆる機能が追加・更新されました。 ・状態更新機 ・並列スクリプト 目だった追加は先ずおそらくこれら二つで、 動的なボス戦を実装していく中でエディタの既存機能だけでは面倒な作業が多すぎて ・エディタの一時停止機能追加 ・全てのスクリプトの変数を閲覧できるように、breakpoint機能の追加 などなどを追加実装しました。 最終的に工事犬が回転しつつ機関銃みたいにパンを発射してほしく、やむを得ずzとlaye(r)の概念を切り離す、という選択を致しました。 Layerの座標をr座標と命名した背景: 最初はl座標と命名してみたが、移動l、と書いてみたらあまりにもlが目立たず、 またx,y,zと違い l だけ文字が高く細いのが何だか統一性にかけるように感じられ、 最終的にLayerの最後のrをとり、「r」座標にしました。 整数変数が小数点ありの数字としてデフォルト処理されるのもあまりにも面倒で、今回思い切ってc++などの言語と同じく、 小数点ありの数字との計算がされない以上整数として処理、という方針に更新しました。 最後に、今回のミニゲームはVirtual Voice Actorの「菜月なこ」さまとのコラボになります。 声優としての実力は勿論、テクニカルな知識も豊富な方で、ボイスがつくとこうも作品がかわるんだな!ということを実感しつつ、 おかげさまで動画を使った類似3Dボスの実現までできました。改めてありがとうございますー その過程で誕生した動画クロマキー機能も、多くの方々に愛される、作品の新たな可能性を開く機能になれたらと思います。 |
Ver13.4.1 アップデート内容(2022/10/03)
13.4.1)
- ミニゲームに`個体深度計算 true`追加
- 文字読後透明度バグ修正
- カメラ基準個体描画が認識されないバグ修正
[ Light.vn本体 ]
- リアルタイムプレビュー軽量化
- LightTestsにもエンジンバージョンを表示
- ボタン、トラックバーなどのコマンドからの効果音エラーをより分かりやすく
- 砂時計、ボタンなどにつけるコマンドによるエラーをより分かりやすく
- エディタ)キートリガタブにてキー状態が分かるように
- エディタ) 個体タブにて画面領域情報表示
- lvfunctions追加
- lvMediaOffset
- lvSpeedX,Y,Z
- lvObjTransformPoint
- lvObjTransformVector
- lvCreateVarHashMapFromJson
- lvClear
- lvHashMapHasKey
- lvAnimationIsPlaying
- lvSaveSetDataVar
- lvRemoveSuffixの使用方法を追加
- 回転絵を一時停止コマンドの影響をうけるように
- 同期音の正確度向上
- 計算式を計算する際のエラー情報をより豊富に
- システムメッセージなどのコマンドにて\nの使用ができるように
- 画像コマンド利用の際に画像同士のサイズが同一であることを更にチェック
- コマンド追加) 全域情報削除
- デバッグに有用
- コマンド追加) 衝突範囲球形追加
- コマンド追加) カメラ追走3D
- コマンド追加) 文字マクロ
- コマンド追加) システムダイアログ
- エディタ)自由カメラ拡張
- 自由カメラタブも追加
- 左側のメニューを通して個体を入れる際にもプレビュー画面のカメラなども反映するように
- エディタ)言語変更の際にメニューのより多くのところが変更を反映するように
- 文字装飾コマンド追加:rubyAt
- 文字マクロ、と共に使うと同一の高さにルビをふることが楽に
- shiaさんの要望から派生した tram / tatsuさんの提案を参考に。
- またmarkdownみたいな形での文字装飾表記も可能に
- 文字マクロ、と共に使うと同一の高さにルビをふることが楽に
- 2D素材を使った3Dマップ・ミニゲームの構築例追加
- tut_map_4_kojiken.txt
- 舞台と敵デザイン:ニカ
- tut_map_4_kojiken.txt
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- Strings_editor.xmlの簡略化
- 粒子発生器の透明度が0の場合、追加の粒子を発生させないように変更。
- スクリプト上で粒子の色などをちゃんと指定してから放射を開始できるようにするための措置。
[ バグ修正 ]
- タイルマップによる強制終了問題修正
- LightTestsがglobal0.xmlなどを変更しないように。
- リアルタイムプレビューとcsv問題修正
- 衝突処理の優先順位問題修正
- 画像のトランジション問題修正
- 文字窓のマスクずれ修正
- ルビ問題修正
- エディター上の編集モードへの切り替え問題修正
- スキップ関連問題修正
- ブラウザー:タップ関連問題修正
- リアルタイムプレビュー上の「反復実行」問題修正
- lvfunction内でのマイナス数字問題修正
- 縦書き上でのルビ問題修正
- マイナス方向への回転問題修正
- 衝突判定の2重処理問題修正
> 2D素材を使った3Dマップ・ミニゲームの構築例追加 今回はこちらの実装を可能にする機能を中心に色々実装してみました。 2D素材を使った3Dマップの構築自体は前々からできたのですが、 舞台が大きくなればなるほど既存のプレビュー画面だけだと何度もスクリプト修正・テストプレイを繰り返す必要があり Light.vnのリアルタイムプレビューの趣旨に反してしまうと感じ、今回はまず自由カメラあたりを大々的に拡張させてみました。 実装後、実際使ってみたら、新世界でした。 3D空間を創るなら今後これなしの流れは考えられない!と思ったほど便利です。 3D舞台を創った後遊び感覚で飛び回るのも面白いですね。 カメラをここにおけばこんな感じだな、というのも伝わるので、雰囲気づくりの為のカメラワークなどにも大分役立ちそうです。 肝心な3Dマップ・ミニゲームの方は、前回のミニゲームと同じく500行くらいで全部実装。 またスクリプトの中身をみると、実は前の横スクロールサンプルのと大して変わりません。 見た目は違っても、ほぼ同じ論理・方法で動いているな、というのを是非感じてほしく、みなさんの世界への見方と、自身の可能性を広げていく切っ掛けになれたら嬉しいです。 それにしても、今回のサンプルも面白いですね。 敵とプレイヤーアニメーションがそれぞれ特徴がよく出るようにデザインされていて、作り手としてもプレイヤーとしても自分もとても楽しめましたので、 みなさんも一度プレイしていただけたら! (あ、ゲームをプレイするだけでなく、自由カメラで一通り飛び回るのも楽しいです) - 炯淳 余談: 参考に、動的動作というか、ゲーム内のものの動きを自分好みにねじまげたければ、数を扱う知識や感覚があればとても便利です。 lvObjTransformPointなどの関数を今回追加したのも同じ理由で、Light.vnを通して数字と物理への興味関心も自然に育てられたらと思っております。 余談2: エディター内の自由カメラの操作はBlenderにある程度近い形に実装してみました。 Blenderは無料な点を含め今後3D舞台を創られる方々にとっては使用頻度がますます高くなりそうなソフトだと感じたので、 Light.vnを使用しつつもBlenderの勉強も楽になってほしいという願いをこめ、ある程度操作を共有できるようにしてみました。 |
Ver13.2.1 アップデート内容(2022/07/03)
13.2.1)
- セーブ・ロードまわりのスクリプトの簡略化とTIP
- キー入力がされない問題修正
- サンプルのcg, replayまわりの全域変数漏れ修正
- エディターの文字入力・変換の可視性改善
- HP
- 導入事例がWikiに飛ぶように。
- Downloadページに
- 開設動画一覧追加。
- まきなさんの紹介動画を追加。
[ Light.vn本体 ]
- スクリプト読み込みの最適化
- キー入力まわりの処理の軽量化
- 結果的にtut_map.txtまわりのプレイヤー操作も反応がより早く
- lvfunctions追加
- lvCopyDeep
- lvMath::sqrt
- lvShuffle
- lvListPushAt
- lvListPopAt
- lvListAppendBack
- リスト・ハッシュマップ変数処理の軽量化
- <></>の形でのテキスト装飾
- Commands.xmlの「テキスト装飾」参考
- 台詞情報登録コマンドに使われるcsvファイルにも使用可能。
- Commands.xmlの「テキスト装飾」参考
- エディタ)ライトのバウンディングボックスがよりみやすいように。
- エディタ)起動に失敗した場合、エディタが開かないように
- 画像コマンドの軽量化
- マスクコマンドの軽量化
- 変化関連コマンド軽量化
- 方向移動コマンドも衝突計算に含まれるように
- エディタ)変数タブ:リスト・ハッシュマップの中身などをみれるように
- エディタ)個体タブ:親子関係の表示
- リアルタイムプレビューの軽量化
- 文字・文字窓へのマスク反映
- LightTests.exeのテストの大幅な追加
- 個体名を引数として受けるコマンド全部、個体名を文字列としてうけられるように
- 変数 リスト[x] などのかきかたをする際に、ちゃんとリスト範囲をチェックするように
- /*----- のかきかたができるように
- エディタ)スクリプトハイライトの大幅な軽量化
- エディタ)スクリプトタブ切り替えの大幅な軽量化
- LightAppによるポップアップのタイトルにバージョンも一緒に表示されるように
- 栞の後の引数名の正当性チェック
- ジャンプコマンドの最後に引数を指定できるように
- エディタ)個体挿入のための操作時にクリックを早く受け付けすぎてしまう現象改善
- サンプルのフォント更新
- サンプルが全体的によりみやすくなったような。
- カードゲームサンプル追加
- tut_var_card.txt
- (変数チュートリアル)
- カードと背景デザイン:ニカ
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- lvText追加
- 結果、文字窓の名前などを通して文字列を取得することを不可に変更。
- rubyの書き方が<ruby ルビ></>に変更
- カメラ追走、引数変更
- 追走をより滑らかにするための変更
- 加速度x,y,zコマンドがPC環境の影響と関係なく一定・滑らかに動作するように。
- 既存プロジェクトで使用中の場合、少し数値を調整する必要があるかも。
- トラックバーで変数を調整する場合、小数点以下まで反映されるように
- 音声絵を「滑らかに」表示させるかどうかの引数追加。
- tut_media.txtの口パク例がより滑らかになった。
- 衝突開始時などのコマンドにあてられる引数が、「グループ順」に反映されるように
- 文字反復出力 + オート設定反映の場合、オート待機時間まで反映されるように。
[ バグ修正 ]
- エディタ)アイコン処理問題修正
- 文字入力問題修正
- エディタ:ログによるクラッシュ修正
- エディタ:テストプレイ問題修正
- 変数によるクラッシュ修正
- 親子による問題修正
- 衝突開始時、終了時が2度以上実行される問題修正
今回は目だった機能追加よりは、基礎機能の強化が多いですね。 ・LightTestsにおいてのテストの大幅追加も個人的に嬉しく、 ・エディターにおいての親子関係や変数の中身の表示、 ・長い間後回しにしていた文字へのマスク反映の実現、 ・気になっていた音声絵のより滑らかな表示(口パク用途での)、 ・多言語対応においてのテキスト装飾、 ・キートリガーの一テンポ遅いような発動理由の解明と解消、 ・衝突処理の管理をしやすくする仕組みの実現、 ・UIでのテキストオート設定表示のオート待機時間を含めた完成。 一つ一つ単独でみると大したことでもなさそうかもですが、 これらが全部実現された結果Light.vnの完成度というか、中身の強靭さといいましょうか、それが一気にまたあがった気がします。 あ、エディターのハイライト処理の大幅向上とタブ切り替え時間の大幅な軽量化も個人的に嬉しいですね。 ここまわりは「バグかも」との報告を送ってくれた方々がいなかったら自分一人だと改善しようという考えすらしなかったはずなので個人的にもありがたいですね。 最後に、Discord内部で最近カードゲームの話で少し盛り上がっていたので折角なのでこちら側で実装してみました。 カードのデザインクオリティが高く、元気さに溢れていて、自分も完成後「おおおおお」と叫びながらプレイしていました。 スクリプトはみると分かると思いますが、500行くらいで全部実装していて、 カードの種類、カードの間の相性、攻撃された際の反応など楽に拡張できる形にしておりますので、自由に使ってくださいー - 炯淳 |
Ver13.0.2 アップデート内容(2022/03/30)
13.0.2)
- lvListPushFrontなどのクラッシュ修正
- タイル移動upsが反映されない問題修正
- ジャンプコマンドの正確度向上
- サンプルのeffects.txtを最新のコマンドに更新
- エディタ)同一単語がハイライトされないように
[ Light.vn本体 ]
- iOSサンプルの配布:https://apps.apple.com/jp/app/light-vn-story/id1603858823
- 音周りのメモリー使用効率化
- lv関数の処理最適化
- lv関数追加
- lvSize
- lvMath::pi
- lvMath::deg
- lvMath::rad
- lvMath::abs
- lvMath::sin
- lvMath::cos
- lvMath::tan
- lvMath::asin
- lvMath::acos
- lvMath::atan
- lvMath::atan2
- lvSystem::InputType
- lvSystem::IsFixedWindowSize
- lvSystem::IsRunForever
- 配布状態のアプリの場合、SaveDataが暗号化されるように
- コマンド追加:
- マクロ反映
- セーブ文章形式
- 未使用素材自動開放
- 衝突開始時、などの衝突条件が満たされた際に、
個体名が実行コマンドの最後につけられることを明記。(Commands.xml) - エディタ)
- 配布時にプロジェクトフォルダー、又は作品タイトルが必ず入力されていることを確認するように。
- タブ変更時に未使用素材を解放するかの選択ができるように。
- 入力禁止、情報追加
- マクロ反映、情報追加
- 物理処理、情報追加
- コマンド)クリア:衝突処理のチェックまでもクリア
- マクロの最適化
- Windows, iOS上でのRAM自動計算仕組みを内部に追加
- TItle.txt:ブラウザー上でのメモリー管理関連した情報追加
- tut_overall.txt: SpriteStudioの導入例追加
- (重要)性能の低いデバイスでも演出の表示が一定であるように内部処理最適化
[ 更新 (下位バージョンとの互換性がとれない更新目録) ]
- コマンド)アニメ登録簡易
- 衝突範囲の処理を大幅に軽量化
- 上記により、コマンド形式が変更)
- 衝突範囲方形
- 衝突範囲方形追加
- 衝突範囲タイル
- 衝突範囲タイル追加
- 衝突範囲タイルレイヤ追加
- 衝突開始時
- 衝突継続時
- 衝突終了時
- 隣接方向衝突継続時
- 衝突処理消去
- 衝突範囲に「グループ」という概念を追加、
- 判定はそれに基づいて行われるように変更。
- 上記により、コマンド形式が変更)
[ バグ修正 ]
- タイルマップの表示問題修正
- 演出目録追加と個体追加による問題修正
- lv関数でのマイナス数字問題修正
- lvTextureWHクラッシュ修正
- タイル移動xy 0が動作しない問題修正
- ルアスクリプトのプラグインとしての読み込み問題修正
- settings.xmlのwindowsizeadjustableが動作しない問題修正
- 衝突範囲タイル・方形の同時使用問題修正
- サンプル内での変数 -> 臨時全域変数変更忘れ修正
- 一部キートリガーの状態観測問題修正
- エディター上の一部コマンドによる停止問題修正
- リアルタイムプレビューによるクラッシュ修正
- アニメ再生・一時停止が複数個体を受け付けない問題修正
13.0。 派手な機能は追加されていないのですが、iOSアプリの配布開始を含め、マルチプラットフォーム展開に必要な機能の実装と整備でLight.vnも堂々とマルチプラットフォームツールとして再誕生できたような気がします。 Ver12の最後あたりで急に実装された衝突判定まわりの機能も今回大々的に内部処理をシンプル化・軽量化できたので、今後の拡張も容易になりそうです。 長い間導入を試みていたSpriteStudioも、連番画像の形で導入でき、 理想とは少し違った形ではあるものの、最初の一歩としては十分で、今回実装されたメモリーまわりの管理の効率化もあってこれから Light.vn と外部アニメーションツールを連携させた形での作品制作も気楽にできるようになったかと。 なによりも「性能の低いデバイスでも演出の表示が一定であるように内部処理を最適化」 私個人としてはこれに成功したことが相当嬉しいです。 大分前から少し謎だった時間周りの内部処理が、数学的に綺麗にまとまり、その結果 Light.vn の作品がより多くの環境でプレイ出来るようになったことは、相当嬉しい。 - 炯淳 |
- 公式 Light.vn 関連記録 「更新履歴」より