THE PSP攻略+α ~SONYへの挑戦状~

PSP関連ブログ?いいえ、ただのゆとりブログです

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

Luaに対応したONSをPSPで使ってみる 

当初は荒らしがやってきて荒れるかと思ってたが、特に荒れることもなく沈静化したようで。
相当なチキンなのか、それともIPで自演がばれるのを恐れたのか。
少しでも何か書いたら過剰に反応して面白いから困る。


というわけで気分転換に、最近開発(新エンジンへの移行?)が盛んなNスクの非公式互換エンジンであるONSが、Luaスクリプトに対応したので一足先にコンパイルしてPSPで動かしてみるテスト。
動作確認済みなのは Linux + Lua5.1 だけだそうで、そもそもコンパイルできるかすらわからない。
まずはソースを落としてみてみる。
LUAHandlerというソースが増えていて、こいつがLuaを制御してるようだ。
Luaスクリプトの解釈には、別途Luaのライブラリを用意するっぽい。
よく考えたらマルチプラットフォームで動くようにSDL使ってるんだから、各環境用のLuaを用意するのはあたり前だ罠。
PSP向けライブラリ集にLua5.1が含まれていたので、luaとlualibをリンクさせれば良いっぽい。
PSPで動かすのに最低限必要な改変と、色深度を32bitに変更して、コンパイルしてみる。

Error, could not fixup imports, stubs out of order.
Ensure the SDK libraries are linked in last to correct this error
問題なくビルドできたと思ったら、最後の最後になんかエラーが出たぞ^^;
SDKのライブラリを最後にリンクしろって言ってるらしいが、Luaのライブラリを追加しただけで特に弄ってないんだが…
ググっても理由がわからんし、もちろん解決方法も分からない。
C++言語で発生するっぽい?
リンクの順番を色々変えてみたりして、ビルドが通ったと思ったらPSPで起動時にエラーが出る。
もうわけわかんね…

数時間後…

きた!朝がきた!これで勝つる!
眠くて死に掛けてたときにようやくビルド成功…
Luaによる非同期アニメーションがPSPで実用レベルなのかを試してみたかったので、Nスクに付いてる「サンプル2-1 画面を跳ね回る四角」を実行してみる。
おお、PSPでもちゃんと動いた。
他のスクリプトも試してみたかったが、まだ対応していない命令が多いので、サンプルを改変して立ち絵ぐらいの大きさの画像に差し替えてみる。(他のサンプルに付いてるsp.jpgを使用)
さすがに大きい絵だと処理落ちが目立つな…
文字の表示速度も遅くなってます。レスポンスは大丈夫か?
標準では画面全体をマスクするようなメッセージウィンドウなので、右クリック(△)で表示を消してやると若干処理速度が速くなる。
背景を表示したり、BGMを再生したりすると、大分フレームレートが落ちそう。
常時アニメーションしたりするとなると、プレイに支障が出るかもしれない。
常に背景を動かしたり、動くアイコンを表示するなら333MHz必須になるのかなぁ…
まあ、PSPでも問題なく動くみたいなので、他の機能の実装に期待。
Nスクの標準命令でも実装してないのが割とあったと思うけど、Luaのは全部実装するのかな…
OGG辺りが壊滅的な予感!

この後、爆睡して寝坊したのは言うまでも無い。

とりあえず試してみたい人用にバイナリをおいておきますね。
 
[ 2009/07/04 07:00 ] 日記的なもの | TB(0) | CM(9)
No.745
PSPでLuaによる非同期アニメーションの実装の
コンパイル、お疲れ様です。
アニメーションの実装で、より再現度が
上がる事に期待です。応用すれば、何か
ミニゲーム的なものも実装できそう?
[ 2009/07/04(土) 09:25 ] [ 編集 ]
No.746
早速 お邪魔しています

最新版ONSのビルドお疲れ様です
それにしてもLuaの非同期について
ものすごく興味あります

PSPでためして問題なければ
ついにPSPで非同期命令が(嬉しい)

画面を揺らしながらスプライトを動かすとか
dwave命令と同期しながら口パクとか
テキストを出しながら視覚エフェクトを行うとか
そんなのが出来れば夢が広がります

早速試してみますwww
あっ!!
でもスクリプトがイミフです
勉強してから試させて頂きますね

う~~~ん 激しく期待です
[ 2009/07/04(土) 18:38 ] [ 編集 ]
No.747
早速使用してみました

いい感じに動きますね
自分の方も確認したのはse.jpgで
やはり処理落ちはするもののいい感じです
スプライトループと違いテキストが出ても
一瞬止まる事がありません

あとはこれを導入する場合のデバックですね
楽しみです。

暁の某シーンもコレで実装できますね。
msp.dllがいらなくなりました

[ 2009/07/04(土) 19:04 ] [ 編集 ]
No.748
>>NGSWさん
前のNスクで出来なかったようなことが出来る新機能的なものは特に無いので、前に実装できなかったようなものは今回も難しいと思います。
非同期アニメーションによる演出強化やLuaを使用して詳細なシステムカスタマイズが出来るようにするのがメインだと思います。
従来でも無理をすれば実装できたようなものなら、スクリプトが簡潔になるかと思います。

>>fuさん
Nスクがどこまで機能を実装するのか期待してますが、ONSに取り込まれるかどうかわかりませんからねぇ…
商業ゲームで使われた機能は対応するみたいですが。
吉里吉里2みたいにDLLに依存するエンジンになったら対応が厳しいだろうなぁ…
[ 2009/07/05(日) 13:59 ] [ 編集 ]
No.846
七次元さん

お久しぶりでございます。^^

七次元さんがビルドしたlua対応ONSなのですが
PSPにて動作を試してみた所、
360×270から更に収縮しているみたいです。
自分も確認したのですが、確かに縮小されていましたorz
一度、確認の方よろしくお願いします。


それと出来ればでいいのですがlua対応ONSに
下記の設定を付加させていただけないでしょうか?

・oni.ini設定
・ogg ストリーミング(再生の速さは目に鱗でございます^^)
・bitjpg(ものすごく役に立ちます。)

上記の3つを付加させていただけるとものすごく
うれしいです。
何卒、検討をよろしくお願いします
[ 2009/08/28(金) 08:26 ] [ 編集 ]
No.847
どうもお久しぶりです。
少しずつ時間が出来てるけど、他サイトの巡回してない間に溜まった未読記事の量があばばばば
という感じでまだ巡回してなくてどんどん溜まっていくという悪循環の七次元です。

>360×270から更に収縮しているみたいです。
nsaに固めてない画像を読み込んでませんか?
自分も昔にバグかと思い、すとーむさんに対応してもらったことがあるのですが、どうやらONSではアーカイブされてない画像が縮小されるのが仕様なようです。
今回はテスト版なため、そのままコンパイルしてるのでPSP向けに最適化されてません。

>それと出来ればでいいのですがlua対応ONSに
>下記の設定を付加させていただけないでしょうか?
こちらも、テスト版という理由のために対応は見送ってます。
Luaの実装のために中身を色々変えて試行錯誤してるらしく安定していませんし、Luaの命令自体もまだ全部実装してないので、安定版としてリリースされたものを改造しようかと思ってます。
まずはすとーむさんがLua対応のONSをビルドして配布してから、ということになりそうです。
更新の度にソースを書き直すという非効率なやり方しか知らないので、そこそこ面倒だったりします^^;

私が改変した物は非公式中の非公式なので、あまり当てにはできないです。
何度か公開してるものの、未だに公開して良いものか迷いがありますし。
PSP向け新型エンジン待ちでONS移植も全然やってませんしね…
[ 2009/08/28(金) 09:50 ] [ 編集 ]
No.851
七次元さん

色々とお忙しいご様子・・・orz
それなのに色々と注文をつけてしまい
申し訳ありません。
luaの魅力にとりつかれたようです。
その所為で七次元さんにご迷惑を・・・
すいませんorz


それと画像なのですがアーカイブに関係なく
収縮しているみたいです。
驚いたのは元の画像をに45%で
縮小したサイズで表示するようです

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
この式の読み方は下記です
(使用画像サイズ)=(PSPで表示されるサイズ)
::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

800×600を使用すると

800×600=360×270になります


360×270を使用すると

360×270=162×121になります

原因が不明ですorz
[ 2009/08/29(土) 07:57 ] [ 編集 ]
No.856
Oh...
もっと根本的なことを忘れてました…
PDA用、PSP用やiPod用など、小型端末のバイナリでは元のアーカイブをそのまま突っ込んでも動くように、縮小される仕組みになってます。
その処理を無効化するには、起動時に「--disable-rescale」オプションをつける必要があります。
PSPでも、オプションをつけて起動することは出来ますが、XMBから起動する際は指定ができないので、本家PSP用のバイナリでは、縮小処理がまるごとコメントアウトされてます。
昔はアーカイブのみ縮小しない設定だったので勘違いしてました。すみません。
PSPでONSの存在を知った私のような人は本家の動作を知らないことが多いですからね…
[ 2009/08/30(日) 17:18 ] [ 編集 ]
No.859
あ~~なるほどそのような事があったのですね
教えて頂てありがとうございます。
以前、そのようなオプションをどこかで見たような
気がしていたのですが、なるほどそのような意味が!!

うむむ、とりあえずこのまま使用してみますね。


[ 2009/08/31(月) 06:00 ] [ 編集 ]
コメントの投稿













管理者にだけ表示を許可する
プロフィール

七次元

Author:七次元
永遠の18才
夢を追い求める学生
プログラミング初心者(笑)
愛用言語はHSP(スイーツ)
プログラマーを目指すものの「C言語?読むだけ^^」「C++?知らんがな。クラスって何?おいしいの?」
というゆとりっぷり。
Delphi入れたりVC++2008入れたり迷走中。
夢はコミケで何かやりたい。一般参加すらしたこと無いけど。
PSP-1000(CFW)持ち。PSP-4000マダー?
よく難波周辺のゲーセンに出没するらしい。
STGも格げーも初心者。
ろ、ロリコンちゃうわ!!!

連絡先:homepage_touroku[a]yahoo.co.jp
(メールはほとんど確認してません。掲示板に書き込むのが確実です)

関連リンク
そふとうぇあこうかいじょ
公開したファイルが置いてあります。

掲示板
連絡やら雑談やら適当にどうぞ。
カウンター



現在の閲覧者数:
ブロとも申請フォーム


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