#author("2023-11-06T18:00:38+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は発展途上で機能不足が目立ち、移行する価値がないというイメージがあります [#vc8ad24d] - [[こちらのページ>ティラノからSuika2への移行について]] をよくお読みいただいた上でご判断ください * ゲームの配布はどうすればいいですか? [#h82503a8] - Suika2 ProからWindows向けにエクスポートして、ZIP圧縮したファイルを配布できます * キーボード操作を教えてください [#i83b6262] - [[キーボード操作]]をご覧ください * suika.exe のファイル名を変更できますか? [#sf64cae9] - 自由に変更できます - ファイル名はアルファベットがおすすめです - 日本語にした場合は文字コードの問題がありWindows/Mac両対応のZIPファイルの作成が非常に大変です * suika.exe のアイコンを変えられますか? [#p0574171] - 自由に変更できます - アイコン画像(512x512)をktabataに送っていただければアイコン変更済みの実行ファイルを送り返しています - ご自分でアイコンを変更したい方は、 -- Microsoftの提供するsigntool.exeを使ってsuika.exeの署名を削除する(これをやらないと改ざんされた実行ファイルと見なされてWindowsセキュリティに削除される) -- Resource Hackerでアイコンを変更する -- signtool.exeでご自身の署名を付加する -- 署名用のコード署名証明書は、海外で英語申請だと年額1〜5万円、国内で日本語申請だと10〜30万円程度が相場です (ktabataはCertumを使用。やりとりに英語とポーランド語が必要) -- Microsoft Storeで配布するならMicrosoftが署名してくれるため、ご自身の署名は不要です * Mac版のアイコンを変えられますか? [#v4742cc5] - エンジニアにおまかせしたい方 -- [[LUXION SOFT LLC.>https://luxion.co.jp]] に相談すればMac App Storeへの公開まで代行してもらえます(無料サービス) - ご自身でやりたい方 -- 個人か法人でApple Developer Programに加入します(年額13,000円程度) -- Suika2とは別なアプリとしてAppleに登録申請します -- MacでXcodeを使ってSuika2のソースコードをビルドします -- ちなみに個人だとアプリに本名が埋め込まれ、初回起動時に表示されてしまいますので、LUXION SOFT LLC.にご依頼いただくのをおすすめします * キャラクタ変更中にメッセージボックスを表示したままにするには? [#h9e073cd] - conf/config.txt ファイルの最後の方にある、下記の箇所を書き換えて、=0 を =1 に変更してください msgbox.show.on.ch=1 * フォントが変更できません [#vb5a8c46] - Suika2を終了した状態で、セーブデータのフォルダ sav を削除し、Suika2を再度起動してください - セーブデータにフォントファイル名が記録されたままだからです * 複数のキャラクタをまとめて表示できますか? [#mefbb1f8] - [[@chsx>コマンドリファレンス#y4c04486]] というコマンドをご利用ください - キャラクタと背景のうち、好きなものを変更したり、消去したり(none)、そのままにしたり(stay)できます * タイトル画面の作り方がわかりません [#of9c94af] - [[タイトル画面の作り方]] で解説しております * 主人公の名前を入力できますか? [#o9f7d8ea] - 最大26個の名前を入力できます(aからzまで) - この機能の開発にあたってはDiscordサーバ上のみなさまに助けていただきました。ありがとうございます! * メッセージボックスの横にキャラクタの顔を表示したい [#pced3fba] - キャラクタ画像として特殊な位置(face)に表示します @ch face ファイル名.png - face の位置に表示する画像は、時間指定でフェードインできません * 日付や好感度を表示したいです [#f0a3b62e] - テキストレイヤと [[@pencil コマンド>コマンドリファレンス##db5f68f1]]をお使いください * 画面全体にフィルターをかけたいです [#oc58358f] - エフェクトレイヤーを使います [[背景に色味をつける]] - 一番廉価な水準のAndroidスマートフォンだと描画性能的にギリギリになりますので、できるだけエフェクト適用済みの画像を作成してください * 表情の差分を顔のパーツだけで実現したいです [#z457e224] - 今のところサポートしていないですが、表情・服装・ポーズなどの差分レイヤグループの実装を予定しています - 基本的には差分ではなく個々のキャラクタファイルへの書き出しをお願いしております -- 他のエンジンではサポートされている機能であっても、Suika2ではそぎ落としてシンプルにしています -- 表情のバリエーションは作品のおもしろさの本質ではなく、付加価値的な要素だと考えています -- WebP画像を使えば画像サイズの問題は解決します -- エンジンごとにワークフローは異なるので、慣れていただくようお願いいたします * マクロ機能はありますか? [#w010cfee] - あります。[[@gosub>コマンドリファレンス#tdc94466]] と [[@return>コマンドリファレンス#g3c671e9]] が利用できます - マクロを外部ファイルにまとめるには、[[using>コマンドリファレンス#r3c95140]] 文を使います - サンプルとしては [[こちら>https://suika2.com/dl/sample/macro-demo.zip]] に用意してあります - 呼出元のファイルとマクロファイルでラベル名が重複したときに問題が発生するため、 マクロ内で分岐するには拡張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] - 今後、フラグに名前を付けられるようにします - ただ、名前が付いていてもやはり管理は大変だと思います -- フラグはExcelなどを使って管理することをおすすめします -- 作品を長期にわたって展開して行く上で、設計資料になるからです - スクリプトには # でコメントを入れられるので、 @set や @if を使うときには何のフラグを操作しているのかわかりやすく書いておくことが大切だと考えます -- コメントを書くのは重要です -- 1年後のあなたにも読めばすぐわかるようにコメントを書くのが望ましいと考えます * Androidのアプリの作り方を教えてください [#m1893f47] - エンジニアにまかせる場合 -- [[LUXION SOFT LLC.>https://luxion.co.jp]]にdata01.arcを送ればストア公開されます(無料サービスです) - 自分でやりたい場合 -- Android Studio をインストールします -- Windows版の Suika2 Pro から Android ソースコードをエクスポートします -- エクスポートしたソースコードを Android Studio で開いてビルドしてください -- Android Studio で署名済みのアプリをapp bundleを作成してください -- Google Play Consoleで数千円の登録料を払ってアプリを登録してください * iOSのアプリの作り方を教えてください [#d15a69e7] - エンジニアにまかせる場合 -- [[LUXION SOFT LLC.>https://luxion.co.jp]]にdata01.arcを送ればストア公開されます(動画を使う場合はmovフォルダも送ります) - 自分でやりたい場合 -- 個人か法人で Apple Developer Program に加入します(年額13,000円程度、サークル名や屋号は認められず、個人の本名か、法人名を公表してのストア公開が必要です) -- MacでXcodeをインストールします -- Windows版の Suika2 Pro から iOS ソースコードをエクスポートします -- エクスポートしたソースコードを Mac 上で Xcode で開いてビルドしてください -- Apple に対してアプリのIDを登録してください (例: jp.luxion.suika2) -- App Store Connect でアプリの詳細を登録してください -- Xcode で"アーカイブ"を行い、App Store Connect にアップロードを行います -- App Store Connect で、アップロード済みのバンドルを選択して、リリース申請を行ってください * 全画面スタイルのノベルゲームを作れますか? [#ab8299c4] - ダウンロードページにある [[全画面のテンプレート>https://suika2.com/dl/sample/nvl-demo.zip]] をご利用ください ([[デモ>https://suika2.com/run/nvl/]]) - ダウンロードページには [[縦書き全画面のテンプレート>https://suika2.com/dl/sample/nvl-tategaki-demo.zip]] もあります ([[デモ>https://suika2.com/run/nvl-tategaki/]]) * WMS の使い方はどこに書いてありますか? [#jd1bb536] - [[WMSの使いかた]] をご覧ください * メッセージボックスにセーブなどのボタンを配置できますか? [#oe90560c] - サンプルゲームでは、画面の小さなスマホでの操作を考慮して、右上のシステムメニューを使っています - 一方、Windows向けゲームでよくある、メッセージボックスにボタンを作るスタイルも可能です -- この場合、右上のシステムメニューは無効にすることができます -- [[こちらのサンプル>https://suika2.com/dl/sample/animation.zip]] をご覧ください -- Webブラウザでの実行は [[こちら>https://suika2.com/run/animation/]] * 他のエンジンではできる○○という機能がないので実装してくれますか? [#z8037e20] - Suika2の機能不足であればアクティブに実装しております - 一方で、スマートフォンはPCの1/100くらいの性能しかないため、移植を考えてあえて実装していない機能がありますので、その場合はご容赦ください * 多言語対応していますか? [#p320fef8] - 対応しています。[[多言語化]]をご覧ください * サクサク動作の秘密は何ですか? [#nac89737] - 私たちはOSごとにネイティブアプリを書いており、これがサクサク動作の秘密です - 具体的には、 -- [[HTML5+JavaScript>https://tyrano.jp/]] を用いていない -- [[Python>https://ja.renpy.org/]] を用いていない -- [[SDL2>https://krkrsdl2.github.io/krkrsdl2/]] を用いていない -- [[TJSのようなスクリプト>https://krkrz.github.io/]] を用いていない -- コア部分にCだけを用いて、C++を用いていない - 実行速度の最適化でも職人芸を披露しています -- 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年代、 サポート料がほしい開発元によって、BSLをはじめとする非オープンソースライセンス化が進行している - その上で、Suika2にとっては次の点でオープンソースという形態が有利だと考えています: -- 普及推進(無料なので敷居が低い) -- 標準技術化(KAGの後継という地位を確立する) -- 商用利用(インディーからの商業へのステップアップで、Suika2のまま移植できる) -では、そこにktabataのメリットはあるのかというと: -- 現在の所属企業の知的財産にならずに済む -- たとえktabataの所属企業が変わっても開発を継続でき、その時々の成果をOSSとして取り込んでいける -- この程度の小規模のプログラムであれば隠して独占するよりも、晒した方が、他のプログラマからフィードバックを受けることができる - といったところです - MITライセンスであるため、近い将来、商用技術(モーション技術や家庭用ゲーム機)との組み合わせが可能となる見込みです