PSPとか東方とか

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

□ 「ONScripter for PSP」の参考書(暫定版)

「ONScripter for PSP」の参考書(暫定版)

これまで「ONScripter for PSP」を使用してPCゲームをPSPで起動させる記事を書いてきましたが、沢山のコメントを受けてONSの基本的なところの解説も必要かもしれないと思い記事にしてみました。

最近の情報まではカバーできていない(むしろ2~3年前からの情報がメイン)と思いますので、参考程度にお願いします。また、間違いや最近の動向等のご指摘・情報提供をしてくださると助かります。

注意及び利用規約
記事にある各種フリーソフトなどを使用してPCまたはPSPに不具合が生じても当方は責任を負いません。また、これらの作業でゲームの作成元や各フリーソフトの製作者様への問い合わせ等は迷惑になりますので絶対に行わないでください。


【第一章】 ONScripter for PSP(以下ONS)について


無事に起動できました

ONScripterとは「NScripter」と呼ばれるエンジンで作成されたスクリプトを独自に解釈して実行するプログラムです。NScripterは高橋直樹氏が開発されたゲーム実行エンジンであり、PSPで動作するバイナリパッケージは「霧雨の降る日に(すとーむ氏)」のサイトで公開されています。 つまりはNScripterで作られたゲームをWindows以外のプラットホーム(PSPなど)で動作させることができるアプリですね。

NScripterはフリーウェアながら自由度の高いエンジンで、商業ゲームでも使用されたりもしています。メジャーなところでは商業ではオーガスト様の「月は東に日は西に」やねこねこソフト様の「銀色」。同人ではTYPE-MOON様の「月姫」や07th Expansion様の「ひぐらしのなく頃に」等が挙げられますね。

[参考]
Studio O.G.A.
霧雨の降る日に
NScripter Wikipedia


【第二章】 ONSをPSPで起動させる際の基本


夏☆Kanonの構成を使って解説していきます。それぞれのファイルがどのようなものであるかを理解すれば他のゲーム変換時やうまく起動しない際の原因特定に非常に役立ちます。むしろ本当に基本な部分ですから、ONSを使いたい場合は必ず覚えてください。
ONSをPSPで起動させる際の基本


① EBOOT.PBP ・・・ PSPでの実行ファイルに相当します。

デフォルトではXMBからはこの記事の見出しのようにシンプルな感じに表示されます。好きなアイコンや背景等を埋め込んで表示させることもできるので、その辺はこの記事を参考にしてみてください。

[参考] □ EBOOT.PBPに画像等を埋め込む「PBPBrew」
例えばこのような感じにもできます。


② 0.txt ・・・ ONSのスクリプトファイルです。

スクリプトと言われてピンと来ない方は実際にテキストを開いてみればわかるかと思いますが、ここでこのBGMを鳴らす、この画像を表示させる、文章を表示するなどの命令が書かれています。ゲームの台本のようなものだと考えても良いかもしれませんね。

大抵の場合、テキストは「nscript.dat」というNScripter独自の形式に暗号化されていますので、「Yet Another nsdec」等の復号化ツールを使用します。復号化したテキスト(result.txt等)を「0.txt」とリネームしてONSに読み込ませます。

PSP用に画像等のファイルを変換する過程で.bmp⇒.jpgや.wav⇒.oggのように拡張子を変換を行った場合は、それに伴って0.txtの書き換えも必要になってきます。書き換えを行う理由については、例えば「TEST.bmp」を表示する命令がテキストにあったとします。PSP用に画像を変換してBMP画像を全てJPGにしたとすると、当然「TEST.bmp」という画像も「TEST.jpg」に変換されています。ですがそのままのテキストでは「TEST.bmp」を読み込もうとするため、命令にある画像が無いと判断してエラーを出します。それを回避するために命令自体を書き換える必要があるのです。


③ arc.nsa ・・・ 画像や音楽などのファイルがこれです。

「arc.nsa」というのもNScripter独自のアーカイブ形式で、なにもアーカイブ化せずとも起動は可能ですが、大量のファイルを転送させるのは非常に時間がかかるため可能ならアーカイブ化させたほうがすっきりします。特に市販ゲーム等で音声データを含めると万単位のファイルになることもあります。メモステへの転送だけで数時間かかるなんて事態にもなりかねないため、可能な範囲でarc.nsa形式にまとめた方がよいかと思います。

※ただし、ONSの性質上ファイルの読み込みはarc.nsaからより、そのまま圧縮しない状態からの方がPSPへの負担が少なくなるそうです。もしPSPで起動した時にやたらと強制終了するといった症状になった際、SEやBGMなど割と頻回に読み込まれるサイズの大きいファイルらをarc.nsaの外に出すという手法をとることもあります。


④ default.ttf ・・・ 文章の表示はこのフォントデータから読み込みます。

基本的にはWindows用のTrueTypeFont(.ttf)を使います。MSゴシックなど標準的なものを使っても良いですし、Web上で公開されている日本語対応のフリーフォントを使い作品に合ったフォントで雰囲気を出すなんてこともできますね。

[個人的におススメなフリーフォント]
あずきフォント
オリジナルフォント みかちゃん

[注意] ~非常に多いミスについて~
default.ttfについてファイル名が正しくないため起動できないというミスが多いようです。通常Windowsでは.mp3、.avi、.ttfなどの登録されている拡張子を表示しないように設定されています。拡張子を表示していない状態でファイル名のみ「default.ttf」と書き換えると、「default.ttf(.ttf)」となってしまい、ONSはdefault.ttfが見つからないと判断して「can't open font file: default.ttf 」のようなエラーを出しゲームを起動させることができません。 ※()内は非表示部分


拡張子の表示設定は[コントロールパネル]>[フォルダオプション]の表示タブから
設定できるので、一度確認をしてみてください。

拡張子の表示設定を確認をしてみてください。

[補足]
拡張子が良く分からないという方は「default」とだけリネームすればとりあえず起動できるかと思いますが、拡張子は基本的な知識ですので勉強しておいてください。


⑤ ons.ini ・・・ ONSの動作設定をすることができます。

主な設定箇所は以下のとおりですね。
(1) RESOLUTION=320 ⇒ 画像の縮小サイズに応じて360、640等に書き換えます。ここのサイズ設定と実際の画像サイズが一致していない場合、画像に線が入ったりして正常に表示されなくなります。
こんな感じに線が入ってしまいます。

(2) SCREENSIZE=ORIGINAL ⇒ フルサイズにしたい場合は「FULL」と書き換えます。ただし、横に引き伸ばした感じに潰れてしまいますので好みにもよるかと思います。

(3) CPUCLOCK=222 ⇒ PSPのCPUクロックは最大CPU333MHzですので、333と最大クロックで設定するとゲーム中での読み込み等がスムーズになります。しかしバッテリー消費やPSPへの負荷も増えますのでその点を注意してください。


○ その他のファイル

[> save1.dat、gloval.sav、envdata ・・・ ゲームのセーブデータです。
[> stderr.txt、strout.txt ・・・ エラーログが記録されます。
強制終了してしまう場合などはまずこのテキストにログが残ってないか確認してみることを奨めます。


【第三章】 PSPでの操作方法

 
詳しくはすとーむ氏のサイトやONSのReadmeを読んでください。
Readme等の取説には必ず目を通す癖をつけた方が後々のためになるかと思います。

[ボタン割り当て] (Readmeより抜粋)
○:RETURN
×:SPACE
□:CTRL (Skip)
△:ESC (Menu etc...)
L:O (1Page on/off)
R:S (Skip on/off)
START :A (Automode on/off)
SELECT: 0 (Change Speed 2->3->1->2...)


【第Ⅳ章】 「ONScripter for Win」について

 
華麗にスルーされることが多いように感じるこのツールですが、これはPC上でPSPに近い環境設定でONSを走らせることができるツールです。つまりはPSP用に変換したゲームがちきんと動作するかPC上でテストすることができる代物ですね。
PC上でPSPに近い環境設定でONSを走らせることができます。

基本的にこのツールで正常動作しない(遊べない)場合はPSPでも動作しないはずです。裏返せばPSPで上手く起動できない場合はこのツール上で正常動作するよう目指せば良いということになりますね。
とりあえず正常動作するよう目指せば大丈夫なはずです

※SDL.dllが見つからない等のエラーが出る場合はすとーむ氏のサイトのこのページを参考にしてみてください。[URL] ttp://www.geocities.jp/stm_torm/ons/win.html



【第五章】 PCゲーム変換についての概略

とりあえず以下の手法で変換できると思います。

(1) arc.nsaから画像等のデータを吸い出す。
⇒「C&D Tools Win GUI」や「Susie for Win32+Susieプラグイン axnsa.spi」等を使用。
(2) 画像はPSP用にJPEG形式で縮小リサイズ。(320×240、360×272サイズ等)
⇒「多画像拡縮」等の画像一括変換ツールを使用。
(3) SE、BGMはOGG形式にエンコード。
⇒「foobar2000」等のOGGエンコードが可能なツールを使用。
(4) 画像・SE等を再アーカイブ化。
⇒ NScripter本体に付属されているアーカイブ化ツールを使用。
(5) nscript.datから0.txtを生成。必要に応じてスクリプトを書き換え。
⇒「Yet Another nsdec」等の復号化ツールを使用。
(6) default.ttfを用意。
(7) ons.iniの書き換え。
(8) ONscripter for Winで動作テスト。PSPで起動させてみる。


基本的にはNScripterで作成されているゲームならPSP用に変換して起動させることは可能かと思います。もちろん全てとは限りませんし、原作どおりに再現できるとは限りません。あくまで「PSP用に劣化させて起動できないことはない」というレベルですので、動かない・動作が変だ等の問題が発生した場合は素直に割り切ってもらうくらいの心構えが最低限必要です。

[補足]
ゲームによっては専用のコンバータを使ってONSで動作するように変換するものもあります。以下のサイト様等を参考にされるかと良いかと思います。

[個人的おススメなPCゲーム変換を解説されているサイト様]
PSP-君でもできること
おこのみ!R-18
$$な趣味生活



【第六章】 変換したものがPSPで動作しない場合

良くある質問やトラブル等について記述していきます。

[> これは○○のPSPで動きますか?
PSPにおける自作アプリ起動は旧型純正FW1.00/1.50またはCFWが導入されたもの(新型/旧型)というのが前提になっています。この条件を満たしているのでしたらバージョンは問いません。

[> 「ファイルが破損しています」とでます。
公式FWで起動させていませんか?PSPにおける自作アプリの起動はCFWを導入したPSPか、公式FW1.00/1.50のPSPでのみ可能です。

[> 「起動に失敗しました」とでます。
このエラーの場合は必要なファイルがないことが大半です。特に「default.ttf(.ttf)」のようにリネームをしてしまっていませんか?ファイル名を確認してみてください。また、旧型PSPでGAMEフォルダを1.50カーネル設定にしている場合はEBOOT.PBPを1.50用に分割してください。

[> 真っ暗になってXMBに戻ってしまう。
ONSのフォルダが全角(日本語)になっていませんか?CFWのバージョンによってはフォルダ名が半角英数でないと自作アプリを起動できなくなっています。

[> ○○のツールの使い方が分からない。
ご自分で検索してください。記事で紹介しているものが使いにくいようでしたら他のツールを試してみてはどうでしょうか。

[> 音楽が流れない。
ツールによってはエンコード過程で「A6.wav ⇒ 01 A6.ogg」のように元のファイル名と異なる名前で出力されるものもあります。その場合元の名前に戻してください。

[> ○○で必ず強制終了する。△△の表示がおかしい。
どこかで変換をミスしている可能性があるため、面倒とは思いますが一から再変換してみるのが早いと思います。

[> 画面が小さい。フル画面はどうやるの? 線が入ってしまう。
画像のサイズとons.iniの設定に問題がありそうです。この記事の第二章⑤を参照してみてください。

[> ONScripter for Winが起動しない、SDL.dllが無いとエラーが出る。
この記事の第Ⅳ章を見てください。

[> C&D Tools Win GUIが起動できない。
VisualBasic6のランタイムがインストールされていないのかもしれません。最新版をインストールして再度試してみてください。
ttp://www.vector.co.jp/vpack/filearea/win/util/runtime/index.html

[> XMBでの表示を変えたい。
「PBPBrew」というツールを使ってEBOOT.PBPにアイコンや背景を埋め込んで表示させることができます。こちらを参考にしてください。

[> 変換済みの○○をください! この画像が欲しいんですが。
申し訳ありませんがお断りしております。

アクセス解析

【コメント】 ※スパム対策のため「http」をNG設定してあります。

まとめお疲れ様です

お疲れ様です。
あとiniの設定の説明とかあるといいかもですね^^
FONTMEMORYなんて初めて見た時よくわからなかったです。ていうかあれをonにしている人はいるのだろうか・・・。少なくともPSP1000では使えないと思うのですが。

ついで
PSPでmjpegを動かすことができるようになったようです。
容量は取られるけどスムーズに動きます^^
すとーむさんのところでバッチが置いてありましたが1passみたいです・・・。
どうせやるならやっぱり音を別passで変換したいですね~。
バッチ弄って3passにしたら動かなくなりました・・・・なんでだろ~。

そもそもADPCMに3passとかあったっけ?

>> むげん #WGv/JGO2 様
情報提供ありがとうございます。
モーションJPEGが再生可能になったことで、スクリプト書き換えによるJPGE連番表示の
なんちゃってムービーよりも簡単になりそうですね。
機会を見つけて試してみたいと思います。

ご指摘いただいたons.iniのことですが、この記事は暫定版な状態ですので暇を見つけてちびちび加筆していきたいと思っています。

>>HTRさん
はいさ~^^
お仕事忙しい中返信どもです。

>>とむさん
おや(^^;なにやら誤解が・・・。
え~、私が意図していたのはビデオ2pass+オーディオ1pass=3passという図式でした。PCM系の形式でもできなくはないかもですが(知識不足orz)3passにする意味はないでしょうね。
こだわるのならオーディオは2passのがいいらしいですけど、以前バックをJMとかいうのにしてMP4でやってみたのですが私的には全然変わりませんでした(^^;

なるほどです。
でもSMJPEGのムービーファイルは単にJPEG画像を固めただけなので、パスはないと思います。
なので質を良くしたいのであれば、動画を画像化する時の質設定の部分ですかね。

>>とむさん
MediaCoderでは一応pass指定できますよ^^
バッチでは未だにエラー吐きますがorz
表示通りならMCではまず最初のパスでロウデータ取ってから次のパスで処理を行っているようです(ソース見てないから実際は解りません・・・)。そんで最後にオーディオ変換して出来上がりっす(>_<)
MCはフリーのビデオ変換ツールとしては最高だと思います^^

pspでは再生できませんでした・・・(;o;)
多分ストリーム結合時になんかあったのかもです。あるいはffmpegでは無理なのかも・・・。普通にバッチから変換したほうが無難です。

起動できません;;
自分なりにサイトの通りやりコメントを見てもできませんでした。
起動すると真っ暗になった後XMBに戻されます。
使ってるのはpsp1000のcfe5.50gen-bです。
arcファイルを作る時arc.ns2になるのですがそれが原因なのでしょうか?
OSNwinで起動しようとすると「プロシージャ エントリ ポイント SDL_strlcpyがダイナミックリンクライブラリSDL.dllから見つかりませんでした。」と表示されます。

↑書く場所間違えました。
すいません。

始めまして、夕餡と申します。
「ONScripter for PSP」の参考書(暫定版)を見せていただき質問があるのですが、
【第三章】 PSPでの操作方法の部分で


詳しくはすとーむ氏のサイトやONSのReadmeを読んでください。
Readme等の取説には必ず目を通す癖をつけた方が後々のためになるかと思います。

[ボタン割り当て] (Readmeより抜粋)
○:RETURN
×:SPACE
□:CTRL (Skip)
△:ESC (Menu etc...)
L:O (1Page on/off)
R:S (Skip on/off)
START :A (Automode on/off)
SELECT: 0 (Change Speed 2->3->1->2...)

という部分があるのですが、もう少し詳しく知りたかったので、すとーむ氏のサイトやONSのReadmeを探したりしました。
しかし、上記のような内容の書かれた部分が見つからないのです。
(zip内のREADME_PSP.txtなども参考に探してみたのですが見つかりません)
どこに上記の内容が書かれていたのか教えていただけないでしょうか。

ちなみになぜそのようなことを知りたいのかというと、自分でPSPで動く述べるゲームを作ってみようかと思ったのですが、□ボタンを押してもスキップが出来ない(既読、未読ともに)といったような現象が起きているためにbtnwaitボタンを押したときの帰り値など詳しいことが知りたかったのです。
どうかよろしくお願いします。

>> 夕餡 #2Z5jlXfU 様
ONSのv20080121までのREADME_PSP.txtには上記のボタン割り当てが記載されていましたが、以降のバージョンのReadmeからは削除されているみたいですね。
削除されているのはこの部分だけですので、そのReadmeを探すよりNScripterでのゲーム作成を解説されているサイト様を参考にするのが良いかと思います。

ありがとうございます。
分かりました探してみます。
ただ自分の知っているところでは主にNScripterでのゲーム作成サイトは多くあるのですがONScripterでのゲーム作成のマニュアルといったようなサイトはあるのでしょうか?
そして上に書かれているボタン割り当ての部分で対応するボタンを押しても、()内の動作が起こらないのは何かスクリプト内に書かないと()内の内容は動作しないのでしょうか?

ちょっと質問をば
ここのPSPで月姫を起動させるを参考に、別のゲームを変換したのですが、
OSNwin上ではきちんと動作するのですが、手持ちのPSP-3000だと
左上の方に180×131程度の実際サイズの半分の大きさにしか映らないのです。
ons.iniのRESOLUTIONは360でこの様になり、640にするとさらに同じものが下に現れ、
SCREENSIZEがNORMALだと上の通り、FULLだと加えて黒い線が、
ORIGINALだと起動せずXMBに戻る有様

これはPSP-3000だからなのでしょうか・・・?
ONScripter for PSPまたはONScripterにwikiがないのでこちらで質問させていただきました

>> スバル #- 様
PSP3000でHENを使っているからというわけではないと思います。
どのゲームを変換したのかは分かりませんが、縮小した画像サイズとRESOLUTIONの設定値をもう一度確認してみるのが良いかと思います。

月姫を参考にしたというのでしたらひょっとして320×240でリサイズしていませんか? その場合はRESOLUTION=320と設定してあげるべきです。

月姫を変換したんですがSEがながれません
C&D Tools Win GUIをつかいました
C&D Tools Win GUIではSEを摘出することができないのですか?

>> SE #- 様
月姫はsar圧縮なのでnsa形式を前提としたC&D Tools Win GUIではあまり適さないと思います。
面倒かと思いますが、susieを使ったほうが個人的には安定しているように思いますね。
SE(wave形式)の抽出も確認済みです。

迅速な対応ありがとうございます
Susieプラグイン axnsa.spiの配信は終了してしまったのでしょうか?
リンク先に飛んでもサイトがありません

PSP-3000型じゃできないのですか?

>> SE #- 様
NScripter Archive Susie32 Plug-inの製作者様のサイトがインフォシークのiswebライトサービス提供終了に伴って無くなってしまったようですね。
なので"Google先生らと格闘して何とかして手に入れる"か某中華製のツールを使うという方法のどちらかになるかと思います。

>> popo #- 様
PSP-3000ならHENかHBLを導入すれば動作可能になります。

できないのかな

ROMの無いゲーム、例えばしまいまとかは、PSPに入れることはできないんでしょうか?

>> W #- 様
確認しましたがそのタイトルのゲームはNScripterで作成されたものではないようです。
この解説はNScripterで作成されたゲームをPSP用に変換するというものです。

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://takotako24.blog95.fc2.com/tb.php/84-5427fe43

 | HOME | 

プロフィール

HTR


アクセスカウンター


HIT

東方Project オススメ記事


PSP向け東方壁紙特集
PSP向け東方壁紙特集

とりあえず東方ノーコンクリアを目指す集い
とりあえず東方ノーコンクリアを目指す集い

PSP関係 オススメ記事


PSPでうみねこのなく頃に散を起動させる
PSPでうみねこのなく頃に散を起動させる

PSPでうみねこのなく頃にを起動させる
PSPでうみねこのなく頃にを起動させる

PSPでひぐらしのなく頃にを起動させる
PSPでひぐらしのなく頃にを起動させる

PSPで月姫を起動させる(不完全版)
PSPで月姫を起動させる(不完全版)

「ONScripter for PSP」の参考書(暫定版)
「ONScripter for PSP」の参考書(暫定版)

PSPでテトリス風味のゲームを動かす
PSPでテトリス風味のゲームを動かす

主な記事

最近の記事

最近のコメント



上海アリス幻樂団
東方Wiki

当ブログのバナーです。よろしければお使い下さい。

気が向いたらこっそり押してみてください
 
    リンクやトラバ等はご自由にどうぞ。


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。