ほかのランタイムを使う¶
基本セットに入っているのは Windows (Unity) ランタイムだけです。PSP・X68000・MSX (V9990)・WebGL のランタイムは、エディタで 初めて選んだときに自動でダウンロード します (0.91.0-beta 以降。WebGL は 0.93.1-beta 以降)。
Windows (Unity) 以外のランタイムは α 版です
PSP・X68000・MSX・XZ80・WebGL のランタイムは α 版 で、一部の機能が未実装です。未実装のコマンドは書き出すときに読み飛ばされるので、スクリプトはそのまま進行します。 作品として完成させる場合は、Windows (Unity) ランタイムをお使いください。対応状況は ランタイム対応表 を参照してください。
| ランタイム | 状態 | 利用者が用意するもの |
|---|---|---|
| PSP | α 版 | なし (エミュレータ PPSSPP も自動でダウンロードします) |
| X68000 | α 版 | RetroArch と PX68k コア、X68000 の IPL/CG ROM、Human68k 3.02 のシステムディスク (無償公開物。起動 HDF はエディタが作ります) |
| MSX (V9990) | α 版 | openMSX、MSX turboR (Panasonic FS-A1GT) のシステム ROM |
| WebGL (ブラウザ) | α 版 | なし (Unity は不要です。公開先のアカウントは必要です) |
| XZ80 | α 版 (公開準備中) | — |
ダウンロードのしくみ¶
- エディタでランタイムを選ぶと、必要なもの (ランタイム本体・共通ツールなど) の一覧とライセンスが表示されます。
- 「はい」を押すと、GitHub の VNStudio 公式配布ページ (Releases) からダウンロードします。
- ダウンロードしたファイルは、署名付きの配布情報に書かれたハッシュ値 (SHA-256) と照合してから使います。一致しないファイルは破棄します。
ダウンロードしたものは %LOCALAPPDATA%\VNStudio\components に保存され、次回からはダウンロードせずに使います。新しい版が公開されたときは、ランタイムを選んだときに更新するかどうかを確認します。
ランタイムごとに別々に更新されるので、基本セットを入れ直す必要はありません。
共通ツールについて
PSP・X68000・MSX では、共通ツール (vnstudio-tools.exe、約 33 MB) も一緒にダウンロードします。最初のランタイムで一度ダウンロードすれば、ほかのランタイムでも使い回します。
作業ファイルは %LOCALAPPDATA%\VNStudio\work に作られます。
PSP¶
PSP ランタイムの主な未実装機能 (α 版)
セーブ・ロード、システムメニュー、FM 音源 (fm)、小数・文字列の変数。
追加の準備は要りません。 初めて PSP を選んだとき、ランタイムと一緒に PSP エミュレータ PPSSPP (GPL-2.0 以降) を PPSSPP の公式サイト からダウンロードします。VNStudio は PPSSPP を再配布しておらず、公式サイトの配布物をそのまま取得します。
X68000¶
X68000 ランタイムの主な未実装機能 (α 版)
セーブ・ロード画面、システムメニュー、FM 音源 (fm)、小数・文字列の変数。一部の演出・サウンド命令は部分対応です。
X68000 のプレビューには、エミュレータ RetroArch と PX68k コア を使います。次のものを用意してください。
- RetroArch をインストールします。libretro 公式の配布サーバー buildbot.libretro.com から
RetroArch-Win64-setup.exeをダウンロードして実行してください。- 検索で出てくる「RetroArch ダウンロード」系のサイトには、公式ではないものや広告の多いものがあります。上のリンク (公式) を使ってください。
- RetroArch のソースコードと公式情報は GitHub の libretro/RetroArch にあります (GitHub には Windows 版のインストーラーは置かれていません)。
- RetroArch を起動し、「オンラインアップデータ」→「コアダウンローダー」から Sharp - X68000 (PX68k) を入れます。
- RetroArch のフォルダにある
system\keropiフォルダに、X68000 のiplrom.datとcgrom.datを置きます (フォルダがなければ作ります)。 - 起動用のハードディスクイメージ (HDF) を作ります。
- X68000 LIBRARY の「Human68k version 3.02 のシステムディスク」 から、ディスクイメージ版
HUMN302I.LZHをダウンロードします (展開は不要です)。 - X68000 を選んだときに表示される設定画面で、「Boot HDF template」の下の 「Human68k 3.02 から作成...」 を押し、ダウンロードした
HUMN302I.LZHを選びます。 - 利用条件を確認して「はい」を押すと、PX68k で起動する HDF (60MB) を自動で作り、設定に書き込みます。
- X68000 LIBRARY の「Human68k version 3.02 のシステムディスク」 から、ディスクイメージ版
X68000 を初めて選んだとき、見つからなかった項目を指定する設定画面が表示されます。 ゲームのファイルを HDF に書き込むためのツール rb-cli (rusty-backup、AGPL-3.0) は、公式の配布ページから自動でダウンロードします。
X68000 で使える機能
X68000 では、台詞の中の \n (改行) に対応していません。そのまま文字として表示されます (長い台詞は自動で折り返されます)。
Human68k の利用条件
Human68k 3.02 は、シャープが無償公開したソフトウェアです。同梱の 許諾条件 に従ってください。 シャープ X シリーズとそのエミュレータ上でのみ使え、作ったものの配布は無償に限られます。起動 HDF はプレビュー用です。有償の作品には同梱しないでください (VNStudio が書き出す X68000 の配布用ファイルには、HDF は含まれません)。
ROM と HDF について
X68000 の ROM と Human68k は VNStudio には含まれていません。ROM はご自身で権利をお持ちのものを使ってください。
MSX (V9990)¶
MSX ランタイムの主な未実装機能 (α 版)
背景レイヤー bg2 / bg3、録音した BGM (bgm)、小数・文字列の変数。call savemode / call loadmode は非対応です。
MSX のプレビューには、エミュレータ openMSX を使います。GFX9000 (V9990) を載せた MSX turboR (Panasonic FS-A1GT) として起動します。
- openMSX の Windows 版をインストールします。次のどれかの場所にあれば自動で見つけます。
C:\Program Files\openMSX\openmsx.exe(インストーラーの既定の場所)%LOCALAPPDATA%\VNStudio\Tools\openMSX\openmsx.exe- 環境変数
VNSTUDIO_OPENMSXに指定した場所
- Panasonic FS-A1GT のシステム ROM
fs-a1gt_firmware.romとfs-a1gt_kanjifont.romを、openMSX のshare\systemromsフォルダ、またはドキュメント\openMSX\share\systemromsに置きます。- openMSX は ROM をファイル名ではなく中身で見分けます。VNStudio も同じ方法で確認し、足りないときは MSX を選んだときに不足しているファイル名を表示します。
準備ができていないときは、MSX を選んだときに案内が表示されます。
MSX で使える機能
bg1/bgp1で、背景に透過画像を重ねられます (透明/不透明の2段階)。エディタを 0.92.25-beta、MSXランタイムを 0.92.25-beta に更新し、プレビュー・配布用ROMを作り直してください。clearbg1または画像名のないbgp1で消せます。bg_scroll bg0では静止画のbg1を再合成しません。静止画のbg1とbg_scroll bg1は同じレイヤーを使います。save/load、savegrid/loadgrid、settingsmenu、cg0〜cg255、cggridを利用できます。セーブ画面とCG画面のサムネイルは 56×32 ドットで、背景の中央16:9部分から作成します。- セーブ・ロード・CG・設定画面を閉じると、ゲーム画面と設定を復元します。セーブデータの破損は読み込みません。
- この更新には MSXランタイム 0.92.25-beta と共通ツール 0.92.25-beta が必要です。エディタは 0.92.25-beta 以降に更新し、配布用ファイルを作り直してください。
fade inなどで、背景や立ち絵が一瞬現れてからフェードが始まるちらつきを解消しました。V9990 ではフェードによる明暗演出は行わず、指定した時間だけ待って、背景などの切り替えは即座に反映されます。clearが立ち絵も消すようになり、イベントCGなどで前の立ち絵が残る問題を修正しました。- 4M ROM (標準ASCII16・セーブなし)、8M ROM (ASCII16-X)、DOS2/SD (Nextor・最大64MiB) のパッケージ形式を選べます。MSXを選ぶと右側の「Controls」に表示される「MSX package」で選択します。DOS2/SDはV9990専用です。
- turboR向けVOICEの先読みと、DOS2/SDプレビューのopenMSX起動に対応しています。
- 映像は V9990 (GFX9000) 向けだけに対応しています。エディタの MSX の映像設定は「V9990」にしてください。
- MSX では、録音した BGM (
bgm) は再生できず、読み飛ばされます。MSX で曲を鳴らすにはfmコマンドで MML を再生してください。 - MSX では、台詞の中の
\n(改行) に対応していません。そのまま文字として表示されます (長い台詞は自動で折り返されます)。 - 各コマンドの対応状況は ランタイム対応表 を参照してください。
WebGL (ブラウザ)¶
WebGL ランタイムの主な制限 (α 版)
- 動画 (webm) の背景は表示されません。
- セーブ・ロードはブラウザ向けの調整をしていません (動作は確認中です)。
- ブラウザのタブに表示される名前は「Unity Web Player | VNStudio」で、まだ作品名に変えられません。
WebGL ランタイムは、作品をブラウザで遊べる形に書き出します (0.93.1-beta 以降)。中身は Windows (Unity) ランタイムと同じなので、スクリプトのコマンドは基本的に Windows (Unity) と同じように動きます。 追加の準備は要りません。Unity をインストールする必要もありません。スマートフォン・タブレットにも対応していて、タップで会話を進め、長押し (約 0.6 秒) でメニュー を開けます (0.93.2-beta 以降)。
- エディタでランタイムの矢印を押して 「WebGL」 を選びます。
- 右側の「公開先」で、GitHub Pages / itch.io / unityroom のどれか 1 つを選びます。
- GitHub Pages / itch.io: 同じ形式です (Brotli 圧縮)。GitHub Pages へは下記の「ワンクリック公開」も使えます。
- unityroom: unityroom 専用の形式です (Gzip 圧縮)。
- 中央の「WebGL」のボタンを押します。初めてのときは、WebGL ランタイム (約 40 MB) をダウンロードしてよいか確認されます。
- 書き出しが終わると、公開物のフォルダが開き、同時にブラウザでプレビューが始まります (エディタの中の簡易サーバーで表示しています)。「クリックして開始」と表示されたら、画面をクリックしてください。
公開物は %LOCALAPPDATA%\VNStudio\work\webgl\publish にできます。公開先ごとのアップロード手順書 (公開手順_GitHubPages.txt・公開手順_itch.io.txt・公開手順_unityroom.txt) が同じフォルダに入っているので、それに沿ってアップロードしてください。
GitHub Pages には、リポジトリの URL を入れてボタンを押すだけの ワンクリック公開 も使えます (0.93.2-beta 以降)。配り方とワンクリック公開の手順は 作品を配布する を参照してください。
WebGL の書き出しで行う変換
- WAV の音声は MP3 に変換します (エディタに同梱の LAME を使います)。MP3・OGG はそのまま使います。
fmコマンドの MML の曲は、書き出すときに録音して MP3 にします。ブラウザでは録音した曲を繰り返し再生します。- 素材とスクリプトは、20 MB ごとに分けたファイル (
game.pak) にまとめます。
WebGL の素材の保護について
WebGL の公開物は、Windows (Unity) のような 作品ごとの鍵 を使いません。すべての作品に共通の鍵で簡易的に暗号化しているだけなので、素材やスクリプトを抜き出されないようにする効果はほとんどありません。また、音声ファイル (MP3 など) は暗号化せずにそのまま公開物に入ります。公開して困る素材は入れないでください。
音声ファイル名の大文字・小文字 (Web で公開するとき)
WebGL では、音声 (BGM・SE) は暗号化せずそのまま個別ファイルとして公開物に入り、ブラウザが URL で読み込みます。GitHub Pages など多くの Web サーバーは ファイル名の大文字・小文字を区別する ため、スクリプトで指定する音声名は、実際のファイル名と大文字・小文字まで一致させてください。
- 例: ファイルが
bgm1.mp3なら、スクリプトはbgm play bgm1と書きます。bgm play BGM1と書くと、Windows (Unity) では鳴りますが、公開後のブラウザでは見つからず無音になります (ブラウザのデバッグコンソールに[AudioManager] Error loading BGM: … not Foundと出ます)。 - 背景・立ち絵・UI などの画像は
game.pakにまとめられるため、この影響は受けません。音声名は小文字でそろえておくと安全です。
XZ80¶
XZ80 ランタイムの主な未実装機能 (α 版)
セーブ・ロード、背景スクロール、システムメニュー・設定メニュー、小数・文字列の変数。
XZ80 ランタイムは公開の準備中です。現在のバージョンでは、選ぶと「準備中」と表示されます。
ダウンロードしたランタイムを削除するには¶
%LOCALAPPDATA%\VNStudio\components の中の、ランタイムの名前のフォルダを削除してください。次に選んだときに、もう一度ダウンロードします。