#author("2024-03-28T22:53:08+09:00","default:discord","discord") 目次 #contents * 実績を教えてください [#kfff21df] - [[利用作品紹介>https://suika2.com/works/]]をご覧ください - 把握している限りでは下記の通りです (2023年11月2日現在) |サイト名|審査|採用作品数|有料作品数| |[[ふりーむ!>https://freem.ne.jp/]] 様 |ストアと同水準の審査あり|51作品、Windows版とブラウザ版の重複あり|-| |[[PLiCy>https://plicy.net]] 様|NGワードによる自動チェックがあるが、Suika2のパッケージには機能しない|10作品|-| |[[フリーゲーム夢現>https://freegame-mugen.jp]] 様|緩やかな審査あり|11作品|-| |Google Play ストア 様|動作不良についての審査あり|5作品|1作品| |Apple App Store 様|表現内容についての審査あり|3作品|1作品| |Valve Steam 様|動作不良についての審査あり|1作品|1作品| |DLsite 様|動作不良についての審査あり|3作品|3作品| |BOOTH 様|審査なし|8作品|0作品| * 他のエンジンからSuika2に移行したいです [#ne5d11a4] - PCやWebで公開したいだけの場合は、なるべくメジャーなエンジンをおすすめしています - iPhoneやAndroidをターゲットにしたい場合はぜひSuika2をご利用ください - 近日中にUnity+Suika2を公開しますので、MITライセンスのまま家庭用ゲーム機に対応します * ゲームの配布はどうすればいいですか [#h82503a8] - Suika2からWindows向けにエクスポートして、フォルダごとZIP圧縮して配布します * キーボード操作を教えてください [#i83b6262] - [[キーボード操作]]をご覧ください * suika.exe のファイル名を変更できますか? [#sf64cae9] - 自由に変更できます - 文字コードの問題があるため、Windows/Mac両対応にする場合は、ファイル名をアルファベットにすることをおすすめします * suika.exe のアイコンを変えられますか? [#p0574171] - 自由に変更できます - アイコン画像(512x512)をktabataに送っていただければ、アイコン変更済みの実行ファイルを送り返していますので、お気軽にDMください - ご自分でアイコンを変更していただいてもよいですが、その場合はktabataの署名が無効になるため、実行時に「不明な配布元」であるとして警告画面が表示されます * Mac版のアイコンを変えられますか? [#v4742cc5] - もちろんです、ソースコードからビルドしてください - 難しい場合はアイコンファイルをktabataに送っていただければと思います * キャラクタ変更中にメッセージボックスを表示したままにするには? [#h9e073cd] - conf/config.txt ファイルの最後の方にある、下記の箇所を書き換えて、=0 を =1 に変更してください msgbox.show.on.ch=1 * フォントが変更できません [#vb5a8c46] - セーブデータにフォントファイル名が記録されていることで、フォントを変更できない、指定していないはずのフォントファイルが開けないと言われる、といった問題が発生します - Suika2を終了した状態で、セーブデータのフォルダ sav を削除し、Suika2を再度起動することで解決します * 複数のキャラクタをまとめて表示できますか? [#mefbb1f8] - 17系列以降では [[Ciel]] というYU-RIS風の演出システムがあり、これの活用をご検討ください - それより前からある機能ですと、 -- [[@all>コマンドリファレンス#y4c04486]] というコマンドがあります -- キャラクタと背景のうち、好きなものを変更したり、消去したり(none)、そのままにしたり(stay)できます * タイトル画面の作り方がわかりません [#of9c94af] - [[タイトル画面の作り方]] で解説しております * 主人公の名前を入力できますか? [#o9f7d8ea] - 最大26個の名前を入力できます(aからzまで) - この機能の開発にあたってはDiscordサーバー上のみなさまに助けていただきました。ありがとうございます! * メッセージボックスの横にキャラクタの顔を表示したいです [#pced3fba] - キャラクタ画像として特殊な位置(face)に表示します @ch face ファイル名.png - face の位置に表示する画像は、フェードイン・フェードアウトの時間指定が無視されます * 目パチ画像の作り方を教えてください [#q0d1b90b] - [[目パチ]] を参照ください * 日付や好感度を表示したいです [#f0a3b62e] - テキストレイヤと [[@pencil コマンド>コマンドリファレンス#db5f68f1]]をお使いください - 現状では簡易的な表現しかできず、もっと複雑なシステムを構築したい方には、素直にUnityを使っていただくことをおすすめしています * 画面全体にフィルターをかけたいです [#oc58358f] - エフェクトレイヤーを使います [[背景に色味をつける]] - 一番廉価な水準のAndroidスマートフォンだと描画性能的にギリギリになるため、積極的にはおすすめしていません - できるだけフィルター適用済みの画像を作成して対処をお願いします * 表情の差分を顔のパーツだけで実現したいです [#z457e224] - 個人的な考えては、この機能は吉里吉里の負の遺産です - 技術的な詳細は省きますが、これを使うとスマホ移植が困難になりますので、Suika2では実装しないことに決めました * マクロ機能はありますか? [#w010cfee] - あります。[[@gosub>コマンドリファレンス#tdc94466]] と [[@return>コマンドリファレンス#g3c671e9]] が利用できます - マクロを外部ファイルにまとめるには、[[using>コマンドリファレンス#r3c95140]] 文を使います - サンプルとしては [[こちら>https://suika2.com/dl/sample/macro-demo.zip]] に用意してあります - マクロ呼び出しは &マクロ名 と省略して記述できます - マクロの引数は &1 のように引数番号で記述できます - 呼出元のファイルとマクロファイルでラベル名が重複したときに問題が発生するため、 マクロ内で分岐するには拡張ifブロックを使うと、ラベル名を不要にできます。 <<< if $1 == 0 { @ch c file1.png }- else { @ch c file2.png } >>> * CG鑑賞モードを作れますか? [#i2913e76] - [[@gui>コマンドリファレンス#x5321807]] コマンドを利用して作成可能です - ダウンロードページにある [[こちらのサンプル>https://suika2.com/dl/sample/gallery-demo.zip]] を改造してお使いください * 分岐チャートを作れますか? [#ffbc32f5] - [[@gui>コマンドリファレンス#x5321807]] コマンドを利用して作成可能です - ダウンロードページにある [[こちらのサンプル>https://suika2.com/dl/sample/gallery-demo.zip]] を改造してお使いください * 音声ファイルのビットレートはどうすればいいですか? [#q7d0ced6] - PC向けのゲームでは下記が目安です -- BGM ... ステレオ128kbps -- SE ... ステレオ128kbps -- ボイス ... モノラル64kbps(日本語サンプル) か ステレオ128kbps(英語サンプル) - スマートフォンではスピーカーが1つの機種が大半ですので、モノラル48kbpsが目安です * フラグ管理が大変です [#v07d70aa] - フラグに名前をつけられるようになりました -- フラグ名はコンフィグファイルに記述して管理できます -- 作品を長期にわたって保守して行く上で、よい設計資料になると考えています - スクリプトには # でコメントを入れられるので、 @set や @if を使うときには何のフラグを操作しているのかわかりやすく書いておくことが大切だと考えます - コメントを書くのは重要です -- 1年後のあなたにも読めばすぐわかるようにコメントを書くのが望ましいと考えます * Androidのアプリの作り方を教えてください [#m1893f47] - data01.arcをktabataに送っていただければ、LUXION SOFT LLC.社に依頼してストア公開を無料代行します -- 個人開発者からの申請は困難な現状ですので、この法人を積極的に活用されてください - 自分でやりたい場合は下記を参考にされてください -- ビルド手順 --- Android Studio をインストールします --- Suika2 Pro Desktop から Android ソースコードをエクスポートします --- エクスポートしたソースコードを Android Studio で開いてください --- File -> Sync Project with Gradle Files --- Build -> Make Project --- Run -> Debug app -- ストア申請手順 --- Android Studio で署名済みのapp bundleを作成してください (Build -> Generate Signed Bundle / APK...) --- Google Play Consoleで初回数千円の登録料を払ってアプリを申請してください * iOSのアプリの作り方を教えてください [#d15a69e7] - data01.arcをktabataに送っていただければ、LUXION SOFT LLC.社に依頼してストア公開を無料代行します -- 個人開発者からの申請は本名公開が必須ですので、この法人を積極的に活用されてください - 自分でやりたい場合 -- まず個人か法人で Apple Developer Program に加入します --- 登録料として年額13,000円程度のサブスク加入が必要です --- サークル名や屋号は認められません --- 個人なら免許証の名前、法人ならDUNS登録名がストア表示名になります -- MacでXcodeをインストールします -- Suika2 Pro Desktop から iOS ソースコードをエクスポートします -- エクスポートしたソースコードを Mac 上で Xcode で開いてビルドしてください -- Apple に対してアプリのIDを登録してください (例: jp.luxion.suika2) -- App Store Connect でアプリの詳細を登録してください -- Xcode で "Archive" を行い、App Store Connect にアップロードを行います -- App Store Connect で、アップロード済みのバンドルを選択して、リリース申請を行ってください * 全画面スタイルのノベルゲームを作れますか? [#ab8299c4] - Suika2 Pro Desktop でゲームを作成するときに、全画面のテンプレートを選択してください - 縦書きも選択できます * WMS の使い方はどこに書いてありますか? [#jd1bb536] - [[WMSの使い方]] をご覧ください * メッセージボックスにセーブなどのボタンを配置できますか? [#oe90560c] - サンプルゲームでは、画面の小さなスマホでの操作を考慮して、右上のシステムメニューを使っています - 一方、Windows向けゲームでよくある、メッセージボックスにボタンを作るスタイルも可能です -- この場合、右上のシステムメニューは無効にすることができます -- [[こちらのサンプル>https://suika2.com/dl/sample/animation.zip]] をご覧ください -- Webブラウザでの実行は [[こちら>https://suika2.com/run/animation/]] - スマホ対応を考えると積極的におすすめはしませんが、一応機能としてはあるということです * 旧式のSuika2制作ゲームを最新のインストール版Suika2で編集するにはどうすればいいですか? [#g7287433] - [[インストール版Suika2への移行]] をご覧ください(とても簡単です!) * 他のエンジンではできる○○という機能がないので実装してくれますか? [#z8037e20] - Suika2の機能不足であれば、ほぼ例外なくご要望の機能を実装しております - 一方で、スマートフォンはPCの1/100くらいの性能しかないため、移植を考えてあえて実装しない場合もあります(たとえば福笑い方式や衣装差分など) - 提案者を尊重していないということは一切なく、既存エンジンの手法がスマホでは利用できないだけです * 多言語対応していますか? [#p320fef8] - 対応しています。[[多言語化]]をご覧ください * Suika2のiOS対応の強みについて教えてください [#df2a8be4] - まず次のことを知ってください -- Appleはストアにおいて、JavaScriptやPythonからiOSのAPIを呼び出すことを禁止しています(事実) -- Appleはマーケティング上の理由で、Webではなくアプリに力を入れています(事実) -- 日本でのiPhoneシェアは7割、つまりアプリの方が重要であり、Webゲームは主流ではないです(事実) -- Appleは今後もWebに力をいれることはないと思います(ktabataの憶測) - そこで次の点を思い出してください -- あのエンジンはJavaScript製です(禁止されている) -- あのエンジンはPython製です(禁止されている) -- Suika2はJavaScriptやPythonを一切使わずiOSのソースコードをエクスポートします(これはOK!) - 以上を踏まえると、ノベルのiOS対応ではUnityかSuika2しか選択肢がないことがわかります * サクサク動作の秘密は何ですか? [#nac89737] - 私たちはOSごとにネイティブアプリを書いており、これがサクサク動作の秘密です - コア部分にはCだけを用いており、OSごとの外側の部分は完全に作り分けています - 実行速度の最適化でも職人芸を披露しています -- GPU方面の最適化 --- Direct3DのシェーダをHLSLではなくアセンブリを使って記述して極限まで最適化しています --- すべてのスプライトを毎フレーム描画するのではなく、合成済みの2枚の画面をフェードして軽量化/安定化/省電力化しています --- 演出としては割り切ったものになりますが、スマートフォンへの移植性が非常に高いです -- CPU方面の最適化 --- 描画ルーチンをSIMD命令に最適化しており、ユーザのCPUで利用できる一番速い拡張命令を使用しています --- Intel/AMD: SSE, SSE2, SSE3, SSE4.1, SSE4.2, AVX, AVX2 --- Arm: NEON * Suika2はどうしてオープンソースなんですか? [#ne4ba862] - オープンソースが特段に高尚だと考えているわけではないです - 私から見たオープンソースの歴史はこんな感じです: -- 1970年代、ソースコードは入手できるのが一般的だった -- 1980年代、ソースコードは知的財産として非公開化が進んだ -- 1983年、Richard M. Stallmanがソースコードを自由に利用できるOSの開発を宣言(GNU) -- 1990年代、UNIXを巡る知的財産の訴訟でBSDというOSが一時的に利用できなくなった -- 1990年代、Linus Torvaldsの趣味ソフトLinuxが誕生し、10年程度で成長してUNIX/BSDを置き換えた -- 2000年代、OSS全盛期、Linuxカーネル+GNUプログラムの利用が普及、RedHatなどがサポート料で収益化 -- 2010年代、AWSなどクラウドが普及し、サポートはクラウドベンダが提供、OSS開発元がサポート料を得られなくなった -- 2020年代、 サポート料がほしいOSS開発元によって、BSLをはじめとする非オープンソースライセンス化が進行している - その上で、Suika2にとっては次の点でオープンソースという形態が有利だと考えています: -- 普及推進(無料なので敷居が低い) -- 標準化(PCの吉里吉里やYU-RIS/ERIS、Webのティラノスクリプトから完全移行してもらい、実質的な後継ソフトウェアとしての地位を確固たるものにする。場合によってはIEEE標準化する。) -- Unityの置き換え(Unityはこの先、利用料で一悶着あることが容易に想像でき、ビジュアルノベルの発展を阻害すると考えています) -- 商用利用(インディーからの商業へのステップアップで、Unityへの移植を不要とし、Suika2のまま移植できる) - では、そこにktabataのメリットはあるのかというと: -- 勤務先企業の知的財産にならずにすむ -- 勤務先企業が変わっても開発を継続できる -- ノベルエンジン程度なら正直3日あれば書けるので、特段に権利を保護する必要を感じず、それよりも広くフィードバックをいただきたい - といったところです - MITライセンスであるため、将来的にも誰かに独占されることはないので、安心してご利用いただければと思います