「電波とどいた?」
2009/05版 その2

2009/05/15 (金)

続 Squirrel on Flash Player (Squirrel, Flash, Alchemy)

_ 気がむいたのでー。 Squirrel on FlashPlaye 改訂版

  • Flashのクラスを squirrel のクラスとして登録可能に。継承もOK
  • 別 swf ファイルからクラスを読み込むクラスローダ機構を追加
  • Flashからの関数呼び返し機構の簡素化(内部で弱参照処理してます)

そんなわけでおもいきり仕様かえちゃってますがー。 init.nut前のと比較すると どうかわったのかよくわかると思います。クラス万歳。 squirrel 的にもすっきり組めるようになったし、外部からの機能拡張性も 確保したので一応完成かな。あと足すなら、アーカイブ処理と ローカルストレージへのキャッシュ支援とかは組み込みで持っておくと ゲーム用途で使いたい向きには便利かなといったところ。

あと Alchemy のメモ。

  • ActionScript はインラインアセンブリの形でそのまま C++ のソース中に記述できる
  • XML型は扱えない。ActionScript 側でラッパーが必要。
  • C++のメンバ関数ポインタは誤動作する

ActionScript で書いたコードとリンクする方法があっさりわかって しまったので、C側でかくと無駄でややこしくなるようなものは さっくり ActionScript 側で書いてしまいました。XMLとの インターフェースが C側だと全くさわれないので、これができなければ、 リフレクション系は手も足もでないところでした。

メンバ関数ポインタの問題は悩ませてくれました。バグです。 このため C++ とのバインドをテンプレートで処理できません。 まあ、とりあえず必要な接続は 20足らずだったので、 全て手動で書きおこしましたが、このバグが直らないと、 大規模ライブラリとの接続は大変だと思います。

例によって squirrel あわせで zlib ライセンスなのでご活用はご自由に。 squirrel 部分もちまちま拡張されてて、オブジェクト破棄時に デストラクタを呼ばせることができるようになってたりします。 弱参照とうまく組み合わせて使うと便利でしょう。 ActionScript はこのあたりの融通きかないみたいですな(苦笑)

ドキュメントとコメントとか全部英語にして公式とかに 投げるかなぁとか思わないでもないけどめどいので放置。



2009/05/19 (火)

体験版チェック (えろげ)

_ 他に更新ネタはないのかと小一時間(ry

_ 姉ったい注意報!?(ナタデココ)体験版。システムは NeXAS。

_ ステルラエクエス コーデックス(C:Drive)体験版。システムは椎名里緒。 ワイドモニタ非対応。キャラアクションちょっとだけあり。表情窓は画面外キャラ用

_ 素直クール(裸足仕様助)体験版。システムは RealLive。 manifestが(略)。コンフィグ画面なし(組み込み右クリックメニューのみ) RealLive もけっこうブランドで作り込みの差あるよねー^^;

_ 姫様はプリンセス(LoverSoul)体験版。システムは吉里吉里で最低限のシステム。

_ 装甲悪鬼村正(Nitro+)体験版。独自システム。ワイド作品で当然ワイドモニタも対応。 インターフェースが全部縦書きでわかりづらい。 フルスクリーン切り替えがなぜかゲーム中のメニューからしかできない。 メッセージ窓は縦書きで基本中央表示。エモーションつき表情窓あり。 立ち絵はポーズのほうは基本固定で表情窓のほうでいろいろ変わるタイプ。 戦闘用の立ち絵はいろいろ差し替えあり、というか専用素材だらけ。がつがつ動かしてます。 立ち絵切り替えが一瞬。

_ 77 〜And, two stars meet again〜 (Whirlpool)体験版。 システムは YU-RIS の最新版。「エンジン設定」がついてて、 描画方式や頂点処理を選択できるようになってます。 コンフィグ未実装なので機能面はもろもろ不明。 とりあえずワイドモニタは非対応。あと立ち絵切り替えが一瞬。

_ Alter Ego(KISS)体験版。 独自システム。ワイドモニタ非対応。スペック要求高っ。 基礎システムとして Irrlicht を使ってます。えろげでは初? 要求スペックを満たしてない環境(ノートPCでオンボード)でも とりあえずうごきますがスキップするとかなりもっさりです。 要求スペックを満たした環境ならさくさく。 環境にかかわらず起動時はかなり長時間待たされることからして、 おそらく主要な画像データを全部最初にテクスチャとして 読み込んでると思われます。要求スペックの重要点はVRAMで、 足りてない環境だと、おそらく描画のたびにメインメモリからの 大量転送が発生してるのでしょう。

起動時にアンチエイリアス指定とフルスクリーン指定を聞いてくるのは Irrlicht の初期化インターフェースにあわせたのだと思われますが もうすこしどうにかならんかったものかと。関連して起動中にフルスクリーン 切り替えできません。それから、データのロード処理中にアプリケーションの レスポンスが無くなります。明らかに Irrlicht がシングルスレッドモデルなための 現象で、これは、別スレッドで子窓を作って now loading 表示用の専用処理を 書けば回避できるんですがそういう処理は無し。

_ くるくるくーる(axis)体験版。 システムは吉里吉里で、UI構造からしてKAGEXベース。 立ち絵たくさん出るのはいいんだけど、ポーズが1種しかないと寂しいかも。

_ 鬼うた(130cm)体験版。 システムは RealLive。だからこの仕様でインストーラで Program Files 以下にフォルダつくるのやめれー。 業界3作目のHD(1280×720)作品です。 画面広い+ポーズ複数/前後とりまぜはやっぱり映えますねー。 メッセージ窓に表情窓あり。内容は立ち絵と同期。 主人公表情あり。キャラアクションもちょっとだけあり。 動作はかなり快適な印象。もっさりだった SINからシステムが進化したのか、 あるいはレイヤの使い方がうまいのか。これなら Key 新作もだいじょぶかも。 しかーし、各種モニタ用のズーム系処理は、機能はばっちりそろってるにも かかわらず、GDIでのズームなためジャギるからさっぱり嬉しくない件。 DirectX 対応はしないのかなぁ。あと、フルスクリーン選択したときしか 調整ダイアログがあがってこないのは不親切。これは SiN では なんかボタンあったような気が……。

_ ふと思い立って見に行ったら、 ゲームソフトのワイド対応・デュアルディスプレイ対応比較 が大更新されてる件。わーい○◎◎になったよ。 ちょっと補足。マルチモニタ環境ではデフォルトでは解像度変更は 封印かかってます。これは「ヘルプ/環境依存の不具合回避」で 「複数モニタ全画面」の指定を変更することで挙動がかわります。 吉里吉里の仕様上、解像度変更を伴うフルスクリーン処理は プライマリモニタでしか行えないためこの指定が存在します。




メールはこちらへ...[わたなべごう (go @(at) denpa .(dot) org)]

この日記は、GNSを使用して作成されています。