よくある質問 のバックアップの現在との差分(No.16) - Polaris Engine Wiki

Wikiトップ   編集   新規作成   複製   名称変更   アップロード   添付ファイル一覧   バックアップ  

 

  • 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2024-03-17T15:03:46+09:00","default:discord","discord")
#author("2024-05-13T18:06:13+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作品|
* 他のゲームエンジンとの比較 [#o75fb25e]

* UnityからSuika2に移行したいです [#e5946911]
- ノベルパートだけでしたら機能的にはすでに十分達成できており、すぐにでも移行していただけます
- Unityを使わなくてもiOS, Android, PlayStation4/5, Xbox, Switchで展開できます
- 家庭用ゲーム機のSDKは非公開であり、OSS化できませんので、個別にktabataまでお問い合わせください
- Unityは強力な反面、スマホで動作させるための軽量化・最適化にとても苦労すると聞いていますが、Suika2では何も考えずにサクっと動きます
- Suika2から各プラットフォーム用のソースコードが出力されますので、それをベースに改良していただくことも可能です
- すでにUnityで制作されていて、Unityのライセンス料改定についていけなくなった場合や、新しいハードがUnityをサポートしないという事態になった場合、Suika2にご相談いただければ最善を尽くします
** Polaris Engineにはどんな特徴がありますか [#ndb413a9]
- Polaris EngineはiOSやAndroidのアプリをワンクリックで出力できる世界で唯一のノベルエンジンです
- Polaris EngineはUnityプロジェクトを出力できるので家庭用ゲーム機への移植が簡単である世界で唯一のOSSノベルエンジンです
- 免責: 2024年5月13日に著者の知る限り

* ティラノスクリプトからSuika2に移行したいです [#ne5d11a4]
- [[こちらのページ>ティラノからSuika2への移行について]] をお読みください
- 個人的な考えでは、ティラノスクリプトはSuika2の登場ですでに役割を終えたと思います
- ノベコレに投稿しないのであれば、もうティラノスクリプトを利用する意義は薄いと思います
- 近日、Suika2からKAGをエクスポート可能にしますので、どうしてもノベコレに投稿したい方は、この機能をお使いいただき、ノベコレに投稿されてください
- すでにティラノビルダーで制作されていて、あとからアプリ化できないことに気づき、その段階でSuika2に移植したいと相談された場合は、良心的な価格の移植業者さんを紹介しています
** 他のエンジンからPolaris Engineに移行したいです [#ne5d11a4]
- 他のエンジンからPolaris Engineへ移行するのは、iPhone, iPad, Android, 家庭用ゲーム機で公開する可能性がある場合にしていただければと思います
- PCやWebでの公開しか考えない場合、無理に学習コストをかけて移行していただかなくてもよいと思います
- 新たにノベルへ参入される方はウェルカムです

* ティラノビルダーからSuika2に移行したいです [#p81edbc1]
- ティラノビルダーであれば1人で制作できるが、スクリプト形式のエンジンだと制作できない、という方がとても少数ながらいらっしゃることを把握しています
- 最新のSuika2 Pro Desktopには、ビルダーほど視覚的ではないものの、マウス操作の支援がついているため、比較的移行しやすくなっております
- ティラノビルダーで制作されて、あとからアプリ化できないことに気づき、その段階でSuika2に移植したいと相談された場合は、良心的な価格の移植業者さんを紹介しています
** 公開場所はどうすればいいですか? [#u1bd6d06]
- Windows / Webブラウザ
-- まずは「ふりーむ!」様での公開を目標とされることをおすすめします
-- 公開場所へのリスペクトがあれば審査をクリアできると信じています
- iPhone / iPad / Vision Pro
-- まず、ご自身のApple IDのデバイスにアプリをインストールするのは自由に行えます (Apple Developmentと呼ばれるインストール)
-- 次に、あらかじめデバイスIDを登録しておけば、100台までならAirDropでアプリをインストールできます(Ad Hocと呼ばれるインストール)
-- 最後に、App Storeでの公開にはアプリの内容を元にAppleによる総合的な審査を受ける必要があります (App Store Connectと呼ばれるインストール)
- Android
-- Google Driveなどの適当な場所にAPKファイルをアップロードして、野良アプリという形でゲーム公開することが可能です
-- Google Playストアでの個人公開の場合、アプリのテスターを20人集める必要があり、法人公開ならまだこの制限はないようです
- 家庭用ゲーム機
-- 各社のWebサイトで開発者登録を行います
-- 作品の申請を行います
-- 申請にあたっては「ミドルウェア」や「ゲームエンジン」の欄に「Polaris Engine(Unityバックエンド)」と記述してください
--- 「Polaris Engineとは何か」と聞かれた場合には、ただのUnityだと答えればOKです
-- ゲーム機専用のUnityを入手したら、Polaris EngineからUnity用にエクスポートしたゲームをビルドしてください

* ktabataはLight.vnを応援しているのですか [#f6043884]
- Light.vnの作者である炯淳さんとSuika2の作者であるktabataは何度か会ったことがあります
- それはそうとして、ktabataは基本的に、Light.vnの使用を推奨していません
- 理由はLight.vnの設計に根本的な問題があって、モバイル対応が困難だからです
- ktabataの理解では、コンピュータの主流はスマホに移行したので、PCは近い将来なくなると思います
- Light.vnで制作されて、あとからスマホやゲーム機に移植できないことに気づき、その段階でSuika2に移植したいと相談された場合は、良心的な価格の移植業者さんを紹介しています
** 他のエンジンではできる○○という機能がないので実装してくれますか? [#z8037e20]
- Polaris Engineの機能不足であれば、ほぼ例外なくご要望の機能を実装しております
- 一方で、スマートフォンはPCの1/100くらいの性能しかないため、移植を考えてあえて実装しない場合もあります(たとえば福笑い方式や衣装差分など)
- 提案者を尊重していないということは一切なく、既存エンジンの手法がスマホでは利用できないだけです

* ゲームの配布はどうすればいいですか [#h82503a8]
** Windows向けのゲーム [#g8be340d]
- Suika2からWindows向けにエクスポートして、フォルダごとZIP圧縮して配布します
** WindowsとMacに対応したゲーム [#q1a58877]
- Suika2からWindows/Mac向けにエクスポートして、フォルダごとZIP圧縮して配布します
- Mac版は起動方法が少しトリッキーなので、次のような手順書をZIPに入れておくことをおすすめします
-- 1. suika-mac.dmgファイルを開く
-- 2. 開いた場所にある Suika.app(アプリ)をdata01.arcと同じフォルダにコピーする
-- 3. コピーしたアプリを開く
&ref(https://cldup.com/lCzEbxODvI.jpg,150x100,);
&ref(https://cldup.com/90XJ_sBjV7.png,150x100,);
- 注意として、一度suika-mac.dmgから取り出したアプリは、ZIPにして配布しても起動できません
-- Macのアプリはすべて、ライセンスを持った開発者の署名と、Appleによる内容チェックが必要です
-- Suika.appにはktabataの署名がついており、Appleに提出して審査済みです
-- suika-mac.dmgにもktabataの署名がついており、アプリの署名と一致しています
-- もし取り出したアプリをZIPにしてしまった場合、ZIPには署名がないことになります
-- Macでは、Webからダウンロードされたファイルが特別扱いされており、そのファイルの署名と、中に入っているアプリの署名が一致しない場合、Mac上のファイルにアクセスできないという制限を受けます
-- ややこしいことに、ZIPを作った人のMacでは、ダウンロードファイルではないので実行できてしまいます
-- しかし、WebからZIPをダウンロードした人のMacでは、ゲームファイルが開けないという謎のエラーが発生してしまいます
~

* キーボード操作を教えてください [#i83b6262]
- [[キーボード操作]]をご覧ください
* インストール関連 [#m077614b]

* suika.exe のファイル名を変更できますか? [#sf64cae9]
- 自由に変更できます
- 文字コードの問題があるため、Windows/Mac両対応にする場合は、ファイル名をアルファベットにすることをおすすめします
** Polaris Engineをダウンロードしましたが実行ができません [#n9126a0e]

* suika.exe のアイコンを変えられますか? [#p0574171]
- 自由に変更できます
- アイコン画像(512x512)をktabataに送っていただければ、アイコン変更済みの実行ファイルを送り返していますので、お気軽にDMください
- ご自分でアイコンを変更していただいてもよいですが、その場合はktabataの署名が無効になるため、実行時に「不明な配布元」であるとして警告画面が表示されます
- 実行ファイルがウイルス対策ソフトによってウイルスと誤判定されている可能性があります
- 対策として、
-- Windowsアップデートを行う
-- ウィルス定義ファイルを最新にする
-- リアルタイムスキャンを一時的に無効にする
-- ウィルス対策ソフトの設定で隔離済みファイルを確認し、ウィルスではないとマークする
-- ゲームのフォルダを変えてみる
-- Polaris Engineのインストール先を変えてみる
- 難しい場合は [[Discord>https://discord.com/invite/Xh9mFwr4E8]] やXでお気軽にお尋ねください

* Mac版のアイコンを変えられますか? [#v4742cc5]
- もちろんです、ソースコードからビルドしてください
- 難しい場合はアイコンファイルをktabataに送っていただければと思います
** 自動アップデート機能がうまく動作しません [#y72cc05e]

* キャラクタ変更中にメッセージボックスを表示したままにするには? [#h9e073cd]
- ウィルス対策ソフトがブロックしている可能性があります
- ダウンロード後に実行できない場合と同じ手順で解決できる可能性があります

~

* ゲーム制作関連 [#ue870580]

** 複数のキャラクタをまとめて表示できますか? [#mefbb1f8]
- 17系列以降では [[Ciel]] というYU-RIS風の演出システムがあり、これの活用をご検討ください
- それより前からある機能ですと、
-- [[@all>コマンドリファレンス#y4c04486]] というコマンドがあります
-- キャラクタと背景のうち、好きなものを変更したり、消去したり(none)、そのままにしたり(stay)できます

** キャラクタ変更中にメッセージボックスを表示したままにするには? [#h9e073cd]
- conf/config.txt ファイルの最後の方にある、下記の箇所を書き換えて、=0 を =1 に変更してください
 msgbox.show.on.ch=1

* フォントが変更できません [#vb5a8c46]
** メッセージボックスの横にキャラクタの顔を表示したいです [#pced3fba]
- キャラクタ画像として特殊な位置(face)に表示します
 @ch face ファイル名.png
- face の位置に表示する画像は、フェードイン・フェードアウトの時間指定が無視されます

** メッセージボックスにセーブなどのボタンを配置できますか? [#oe90560c]
- サンプルゲームでは、画面の小さなスマホでの操作を考慮して、右上のシステムメニューを使っています
- 一方、Windows向けゲームでよくある、メッセージボックスにボタンを作るスタイルも可能です
- この場合、右上のシステムメニューは無効にすることができます
- スマホ対応を考えると積極的におすすめはしませんが、一応機能としてはあるということです

** 表情の差分を顔のパーツだけで実現したいです [#z457e224]
- 個人的な考えでは、この機能は他のエンジンの「負の遺産」だと思います
- たしかに制作が楽になる面はあるのですが、読み込み時間、メモリ使用量、合成時間を考えると、スマホには荷が重いと考えます
- よって、技術的な詳細は省きますがSuika2では実装しないことに決めました

** フォントが変更できません [#vb5a8c46]
- セーブデータにフォントファイル名が記録されていることで、フォントを変更できない、指定していないはずのフォントファイルが開けないと言われる、といった問題が発生します
- Suika2を終了した状態で、セーブデータのフォルダ sav を削除し、Suika2を再度起動することで解決します
- Polaris Engineを終了した状態で、セーブデータのフォルダ sav を削除し、Polaris Engineを再度起動することで解決します

* 複数のキャラクタをまとめて表示できますか? [#mefbb1f8]
- [[@chsx>コマンドリファレンス#y4c04486]] というコマンドをご利用ください
- キャラクタと背景のうち、好きなものを変更したり、消去したり(none)、そのままにしたり(stay)できます
- YU-RIS/ERIS風の演出システムを導入するところですので、そちらの利用もご検討ください

* タイトル画面の作り方がわかりません [#of9c94af]
** タイトル画面の作り方がわかりません [#of9c94af]
- [[タイトル画面の作り方]] で解説しております

* 主人公の名前を入力できますか? [#o9f7d8ea]
** 主人公の名前を入力できますか? [#o9f7d8ea]
- 最大26個の名前を入力できます(aからzまで)
- この機能の開発にあたってはDiscordサーバー上のみなさまに助けていただきました。ありがとうございます!

* メッセージボックスの横にキャラクタの顔を表示したい [#pced3fba]
- キャラクタ画像として特殊な位置(face)に表示します
 @ch face ファイル名.png
- face の位置に表示する画像は、フェードイン・フェードアウトの時間指定が無視されます
** 目パチ画像の作り方を教えてください [#q0d1b90b]
- [[目パチの使用方法]] を参照ください

* 日付や好感度を表示したいです [#f0a3b62e]
** 日付や好感度を表示したいです [#f0a3b62e]
- テキストレイヤと [[@pencil コマンド>コマンドリファレンス#db5f68f1]]をお使いください
- 現状では簡易的な表現しかできず、もっと複雑なシステムを構築したい方には、素直にUnityを使っていただくことをおすすめしています
- Polaris Engineはノベル特化であるため、あまり複雑なゲームシステムの構築を意識していません
- 気合いの入ったSLGを作りたい方は、素直にUnityを使っていただくことをおすすめしています

* 画面全体にフィルターをかけたいです [#oc58358f]
** 画面全体にフィルターをかけたいです [#oc58358f]
- エフェクトレイヤーを使います [[背景に色味をつける]]
- 一番廉価な水準のAndroidスマートフォンだと描画性能的にギリギリになるため、積極的にはおすすめしていません
- できるだけフィルター適用済みの画像を作成して対処をお願いします
- できるだけカラーフィルター適用済みの画像を作成して対処をお願いします

* 表情の差分を顔のパーツだけで実現したいです [#z457e224]
- 個人的な考えては、この機能は吉里吉里の負の遺産です
- 技術的な詳細は省きますが、これを使うとスマホ移植が困難になりますので、Suika2では実装しないことに決めました

* マクロ機能はありますか? [#w010cfee]
** マクロ機能はありますか? [#w010cfee]
- あります。[[@gosub>コマンドリファレンス#tdc94466]] と [[@return>コマンドリファレンス#g3c671e9]] が利用できます
- マクロを外部ファイルにまとめるには、[[using>コマンドリファレンス#r3c95140]] 文を使います
- サンプルとしては [[こちら>https://suika2.com/dl/sample/macro-demo.zip]] に用意してあります
- 呼出元のファイルとマクロファイルでラベル名が重複したときに問題が発生するため、 マクロ内で分岐するには拡張ifブロックを使うと、ラベル名を不要にできます。
- マクロ呼び出しは &マクロ名 と省略して記述できます (例: &my_macro)
- マクロの引数は、マクロ内では &1 のように引数番号で記述できます (例: @ch c &1 1.0)
- 呼出元のファイルとマクロファイルでラベル名が重複したときに問題が発生するのを避けるため、 マクロ内で分岐するには拡張ifブロックを使ってラベル名を不要にできます。

 <<<
 # 呼び出し側 (happyは引数)
 &マクロ名 happy.png
 ...
 # 呼び出される側
 :マクロ名
 if $1 == 0 {
     @ch c file1.png
     # 引数で指定されたファイルを表示する
     @ch c &1
 }-
 else {
     @ch c file2.png
     @ch c normal.png
 }
 >>>

* CG鑑賞モードを作れますか? [#i2913e76]
** CG鑑賞モードを作れますか? [#i2913e76]
- [[@gui>コマンドリファレンス#x5321807]] コマンドを利用して作成可能です
- ダウンロードページにある [[こちらのサンプル>https://suika2.com/dl/sample/gallery-demo.zip]] を改造してお使いください
- ボタンの設定で、type: gallery;を指定して、var: $1;のように変数を指定します
- 変数の値が0であればボタンは表示されません
- 変数の値が0以外であればボタンが表示されます

* 分岐チャートを作れますか? [#ffbc32f5]
** 分岐チャートを作れますか? [#ffbc32f5]
- [[@gui>コマンドリファレンス#x5321807]] コマンドを利用して作成可能です
- ダウンロードページにある [[こちらのサンプル>https://suika2.com/dl/sample/gallery-demo.zip]] を改造してお使いください
- 仕組みはCG鑑賞モードと同じです

* 音声ファイルのビットレートはどうすればいいですか? [#q7d0ced6]
- PC向けのゲームでは下記が目安です
-- BGM ... ステレオ128kbps
-- SE ... ステレオ128kbps
-- ボイス ... モノラル64kbps(日本語サンプル) か ステレオ128kbps(英語サンプル)
- スマートフォンではスピーカーが1つの機種が大半ですので、モノラル48kbpsが目安です
** 全画面スタイルのノベルゲームを作れますか? [#ab8299c4]
- Polaris Engineを起動後にゲームを新規作成するときに、「日本語ノベル」か「日本語縦書き」のテンプレートを選択してください

* フラグ管理が大変です [#v07d70aa]
** ルビの中央寄せはできますか? [#h8497e55]
- 現状では未対応で、半角スペースを使って手動調整していただいております(実際、プロの開発現場でもこんな感じです)
- 中央寄せ対応については、Unityやスマホ対応のブラッシュアップが優先のため、そちらが落ち着くまでお待ちください

** 多言語対応していますか? [#p320fef8]
- 対応しています。[[多言語化]]をご覧ください

** WMS の使い方はどこに書いてありますか? [#jd1bb536]
- [[WMSの使い方]] をご覧ください

** キーボード操作を教えてください [#i83b6262]
- [[キーボード操作]]をご覧ください

** 音声ファイルのビットレートはどうすればいいですか? [#q7d0ced6]
- PC向けのゲーム
-- BGM ... ステレオ 128kbps
-- SE ... ステレオ 128kbps
-- ボイス ... モノラル 64kbps (日本語サンプル)、場合によってはステレオ128kbps (英語サンプル)
- スマートフォン
-- すべて モノラル 48kbps
--- スピーカーが1つのことが多いのでモノラルです
--- スマホ本体の小さなスピーカーであれば、高音がカットされてもプレイ感に影響が出にくいため、アプリサイズ削減を考えて低ビットレートにしています
--- イヤホンでプレイされるようであれば、プレイ感に影響が出ないように、PC向けと同じ設定をおすすめします

** フラグ管理が大変です [#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で初回数千円の登録料を払ってアプリを申請してください
** 旧式のSuika2制作ゲームを最新のインストール版Polaris Engineで編集するにはどうすればいいですか? [#g7287433]
- [[インストール版Suika2への移行]] をご覧ください(とても簡単です!)

* 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 でゲームを作成するときに、全画面のテンプレートを選択してください
- 縦書きも選択できます
* ゲーム配布関連 [#y08b62d4]

* WMS の使い方はどこに書いてありますか? [#jd1bb536]
- [[WMSの使い方]] をご覧ください
** ゲームの配布はどうすればいいですか [#h82503a8]
- Suika2からWindows向けにエクスポートして、フォルダごとZIP圧縮して配布します

* メッセージボックスにセーブなどのボタンを配置できますか? [#oe90560c]
- サンプルゲームでは、画面の小さなスマホでの操作を考慮して、右上のシステムメニューを使っています
- 一方、Windows向けゲームでよくある、メッセージボックスにボタンを作るスタイルも可能です
-- この場合、右上のシステムメニューは無効にすることができます
-- [[こちらのサンプル>https://suika2.com/dl/sample/animation.zip]] をご覧ください
-- Webブラウザでの実行は [[こちら>https://suika2.com/run/animation/]]
- スマホ対応を考えると積極的におすすめはしませんが、一応機能としてはあるということです
** game.exe のファイル名を変更できますか? [#sf64cae9]
- 自由に変更できます

* 旧式のSuika2制作ゲームを最新のインストール版Suika2で編集するにはどうすればいいですか? [#g7287433]
- [[インストール版Suika2への移行]] をご覧ください(とても簡単です!)
** game.exe のアイコンを変えられますか? [#p0574171]
- Resource Hackerというソフトでgame-nosign.exeのアイコンを差し替えてください
- game-nosign.exeは署名されていないので、アイコンを変更できます(アイコン変更用)
- game.exeは署名されているので、アイコンを変更できません(デフォルトアイコンな代わりに、起動時の警告がでにくい)

* 他のエンジンではできる○○という機能がないので実装してくれますか? [#z8037e20]
- Suika2の機能不足であれば、ほぼ例外なくご要望の機能を実装しております
- 一方で、スマートフォンはPCの1/100くらいの性能しかないため、移植を考えてあえて実装しない場合もあります(たとえば福笑い方式や衣装差分など)
- 提案者を尊重していないということは一切なく、吉里吉里やティラノの技術がスマホでは通用しないというだけのことです
- もし提案を却下されてしまったとしても、別なことで引き続きプロジェクトへの貢献をお願いします!
** Mac版のアイコンを変えられますか? [#v4742cc5]
- Polaris Engineでは、Mac向けエクスポートはXcode用のソースコード出力です
- 出力されたソースコードをXcodeで開いて、アイコンを変更してください

* 多言語対応していますか? [#p320fef8]
- 対応しています。[[多言語化]]をご覧ください
** Androidのアプリの作り方を教えてください [#m1893f47]
- [[Android版の作り方]]をご覧ください

* Suika2のiOS対応の強みについて教えてください [#df2a8be4]
** iOSのアプリの作り方を教えてください [#d15a69e7]
- [[iOS版の作り方]]をご覧下さい

~

* Polaris Engine / Suika2関連 [#j41cf476]

** 実績を教えてください [#kfff21df]
- 把握している限りでは下記の通りです (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作品|

~

** Polaris EngineのiOS対応の強みについて教えてください [#df2a8be4]
- まず次のことを知ってください
-- Appleはストアにおいて、JavaScriptやPythonからiOSのAPIを呼び出すことを禁止しています(事実)
-- Appleはマーケティング上の理由で、Webではなくアプリに力を入れています(事実)
-- 日本でのiPhoneシェアは7割、つまりアプリの方が重要であり、Webゲームは主流ではないです(事実)
-- Appleは今後もWebに力をいれることはない(ktabataの憶測)
-- Safariの対応状況から察するに、Appleは今後もWebに力をいれることはないでしょう(ktabataの憶測)
-- ゲームプラットフォームとしてのWebの力は衰えていく一方だと思います(ktabataの憶測)
-- AppleはすでにアプリでOpenGLを非推奨にしており(事実)、いずれ廃止すると思います(ktabataの憶測)
- そこで次の点を思い出してください
-- ティラノはJavaScript製である(禁止されている!)
-- Ren'PyはPython製である(禁止されている!)
-- Suika2はJavaScriptやPythonを一切使わず、iOSのソースコードをエクスポートする(これはOK!)
- 以上を踏まえると、ノベルのiOS対応では、UnityかSuika2しか選択肢がないことがわかります
- Unityは無料ではないため、無料という範囲では、Suika2しかないということもわかります
-- あのエンジンはJavaScript製です(禁止されている。アプリ化に難がある。)
-- あのエンジンはPython製です(禁止されている。アプリ化に難がある。)
-- あのエンジンはOpenGL製です(重すぎる。)
- Polaris EngineはJavaScriptやPythonやOpenGLを一切使わず、iOS専用のソースコードをエクスポートします(Appleとして理想形)
- 以上を踏まえると、ノベルのiOS対応では、Polaris Engineは第一選択という判断になってきます(ktabataの憶測)
- Polaris EngineはUnityエクスポートも可能ですが、直接iOSエクスポートも可能であるため、あえてライセンス料の必要なUnityを利用する必要はないと考える企業・開発者が多いでしょう(ktabataの憶測)

* サクサク動作の秘密は何ですか? [#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++を用いていない>https://lightvn.net]]
** サクサク動作の秘密は何ですか? [#nac89737]
- 私たちはOSごとにネイティブアプリを作り分けており、これがサクサク動作の秘密です
-- すべてのOSで共通して利用できるコア部分には、どんなOSでも必ず利用できるという観点から、1989年バージョンのC言語だけを用いています
-- 共通して利用できない部分はOSごとの推奨言語を使って完全に作り分けています
--- 私たちはこれを「HAL: ハードウェア抽象化レイヤー」と呼んでいます
--- HALは元々、OSの移植性を高めるための設計実装手法であり、Microsoft Windows NTやNetBSDで採用されています
- 実行速度の最適化でも職人芸を披露しています
-- GPU方面の最適化
--- Direct3DのシェーダをHLSLではなくアセンブリを使って記述して極限まで最適化しています
--- すべてのスプライトを毎フレーム描画するのではなく、合成済みの2枚の画面をフェードして軽量化/安定化/省電力化しています
--- 演出としては割り切ったものになりますが、スマートフォンへの移植性が非常に高いです
--- すべてのスプライトを毎フレーム描画するのではなく、合成済みの2枚の画面をフェードして軽量化/安定化/省電力化/低発熱化しています
--- 機能性で割り切った部分もありますが、スマートフォンでの動作の安定性がバツグンです
-- CPU方面の最適化
--- GPUの描画結果をCPUに書き戻せないプラットフォームもある、という観点で、現状ではCPU描画も併用しています
--- 描画ルーチンをSIMD命令に最適化しており、ユーザのCPUで利用できる一番速い拡張命令を使用しています
--- Intel/AMD: SSE, SSE2, SSE3, SSE4.1, SSE4.2, AVX, AVX2
--- Arm: NEON

* Suika2はどうしてオープンソースなんですか? [#ne4ba862]
** Polaris Engineはどうしてオープンソースなんですか? [#ne4ba862]
- オープンソースが特段に高尚だと考えているわけではないです
- 私から見たオープンソースの歴史はこんな感じです:
- ktabataから見たオープンソースの歴史はこんな感じです:
-- 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標準化する。)
- その上で、Polaris Engineにとっては次の点でオープンソースという形態が有利だと考えています:
-- 普及推進(無料なので敷居が低く、まだ売れる前のクリエイタに使っていただける)
-- 標準化(KAG、つまりPCの吉里吉里・Webのティラノスクリプトから完全移行してもらい、実質的な後継ソフトウェアとしての地位を確固たるものにする。場合によってはIEEE標準化する。)
-- Unityの置き換え(Unityはこの先、利用料で一悶着あることが容易に想像でき、ビジュアルノベルの発展を阻害すると考えています)
-- 商用利用(インディーからの商業へのステップアップで、Unityへの移植を不要とし、Suika2のまま移植できる)
-- 商用利用(インディーからの商業へのステップアップで、Unityへの移植を不要とし、Polaris Engineのまま移植できる)
- では、そこにktabataのメリットはあるのかというと:
-- 勤務先企業の知的財産にならずにすむ
-- 勤務先企業が変わっても開発を継続できる
-- ノベルエンジン程度なら正直3日あれば書けるので、特段に権利を保護する必要を感じず、それよりも広くフィードバックをいただきたい
-- 出向などで勤務先企業が変わっても開発を継続できる
-- 正直、作品特化のノベルエンジンなら3日あれば書けるので、特段に権利を保護する必要が感じられず、それよりも広くフィードバックをいただきたい
- といったところです
- MITライセンスであるため、将来的にも誰かに独占されることはないので、安心してご利用いただければと思います
- MITライセンスという一番緩いライセンスであるため、将来的にも誰かに独占されることはなく、ktabataですら独占が不能ですので、安心してご利用いただければと思います