Suika2 よくある質問

Suika2に関する疑問に答えます。

ゲームの配布はどうすればいいですか?

Suika2 Proからエクスポートして、ZIP圧縮したファイルを配布できます。
配布実績のあるサイトは下記の通りです。

suika.exe のファイル名は変更できますか?

自由に変更できます。

suika.exe のアイコンを変えられますか?

自由に変更できますが、EXEファイルへの署名がやり直しになります。
アイコン画像を送っていただければEXEファイルを送り返します。

Mac版でもアイコンやファイル名を設定できますが、 Suika2とは別なアプリとしてAppleに登録申請する必要があるので、 こちらはご相談ください。

キャラクタ変更中にメッセージボックスを表示したままにするには?

一番よくあるご質問です。
conf/config.txt ファイルの最後の方にある、下記の箇所を書き換えるだけです。 =0=1 に変更してください。

msgbox.show.on.ch=1

フォントが変更できません

セーブデータにフォントファイル名が記録されたままだからです。
Suika2を終了した状態で、セーブデータのフォルダ sav を削除し、Suika2を再度起動してください。

複数のキャラクタをまとめて表示できますか?

@chsx というコマンドをご利用ください。
キャラクタと背景のうち、好きなものを変更したり、消去したり(none)、そのままにしたり(stay)できます。

タイトル画面の作り方がわかりません

こちらのページ で解説しております。

主人公の名前を入力できますか?

最大27個の名前を入力できます。
開発にあたっては、Discordサーバ上のみなさまに助けていただきました。
ありがとうございます。

メッセージボックスの横にキャラクタの顔を表示したい

キャラクタ画像として特殊な位置(face)に表示します。 なお、face の位置に表示する画像は、時間指定でフェードインできません。

@ch face ファイル名.png

日付や好感度を表示したいです

テキストレイヤーと @pencil コマンドをお使いください。

画面全体にフィルターをかけたいです

エフェクトレイヤーを使います。@anime コマンドを利用できます。

表情の差分を顔のパーツだけで実現したいです

今のところサポートしていないですが、目パチ、口パクを実装する際に実現したいです。

マクロ機能はありますか?

あります。@gosub@return が利用できます。
マクロを外部ファイルにまとめるには、using 文を使います。
サンプルとしては こちら に用意してあります。

呼出元のファイルとマクロファイルでラベル名が重複したときに問題が発生するため、 マクロ内で分岐するには拡張ifブロックを使うと、ラベル名を不要にできます。

<<<
if $1 == 0 {
    @ch c file1.png
}-
else {
    @ch c file2.png
}
>>>

CG鑑賞モードを作れますか?

@gui コマンドを利用して作成可能です。
ダウンロードページにある こちらのサンプル を改造してお使いください。

分岐チャートを作れますか?

@gui コマンドを利用して作成可能です。
ダウンロードページにある こちらのサンプル を改造してお使いください。

音声ファイルのビットレートはどうすればいいですか?

サンプルゲームでは128kbps程度となっています。 商用ゲームでもこれくらいのビットレートだと思います。

フラグ管理が大変です

今後、フラグに名前を付けられるようにします。 ただ、名前が付いていてもやはり管理は大変だと思います。

フラグはExcelなどを使って管理することをおすすめします。
また、スクリプトには # でコメントを入れられるので、 @set@if を使うときには何のフラグを操作しているのかわかりやすく書いておくことが大切です。

コメントを書くのは重要です。 1年後のあなたにも読めばすぐわかるようにコメントを書くのが望ましいです。

Androidのアプリの作り方を教えてください

Suika2 Pro から Android ソースコードをエクスポートして、Android Studio でビルドしてください。

iOSのアプリの作り方を教えてください

Suika2 Pro から iOS ソースコードをエクスポートして、Xcode でビルドしてください。

全画面スタイルのノベルゲームを作れますか?

全画面のテンプレート をご利用ください。
縦書き全画面のテンプレート もあります。

WMS の使い方はどこに書いてありますか?

WMS の使いかた はこちらです。

メッセージボックスにセーブなどのボタンを配置できますか?

サンプルゲームでは、画面の小さなスマホでの操作を考慮して、右上のシステムメニューを使っています。
一方、メッセージボックスにボタンを作ることも可能です。
こちらのサンプル ご覧ください。
右上のシステムメニューは無効にすることができます。

サクサク動作の秘密は何ですか?

私たちは OS ごとにネイティブアプリケーションを書いており、これがサクサク動作の秘密です。
具体的には、HTML5 や JavaScript などの Web 技術を用いていないことや、 Python や SDL2 ではなく独自の移植を行っているということです。

Webブラウザでの動作が高速なのは、Emscripten や WebGL という技術のおかげです。

それから、これはプログラマ向けの説明ですが、私たちは速度のための最適化に相当な情熱を費しています。
GPU方面では、Direct3DのシェーダをHSLSではなくアセンブリを使って記述し、 極限まで最適化しているため、15年前の非力な内蔵GPUでも問題なく動作します。
CPU方面では、描画ルーチンをSIMD命令に最適化していて、 ユーザのCPUで利用できる一番速い拡張命令が使用されます。