PVNS 1.0 では、Java 向け実装として、機能追加や拡張を容易に行えるゲーム実行環境の基盤を構築することを目的とする。パフォーマンスを損なわない範囲において、可能な限りモジュール化し、イベント駆動型のアーキテクチャを採用する。
実装する拡張機能として、以下のものを実現する。
- カスタム XML Processing instructions
- XML processing instructions を使用して、シーン中の任意の位置に、任意の処理を埋め込むことが出来る機能を実装する。
- ユーザアクションに対するフッキング
- ユーザのアクション (クリックや選択肢の選択など) に対して任意の処理を差し込むことが出来る機能を実装する。
- シーン処理に対するフッキング
- シーン処理 (PSML-Scene 要素の処理、シーンの遷移など) に対して任意の処理を差し込むことが出来る機能を実装する。
拡張機能により差し込みが可能な処理は、Java のクラスとして記述される。
一方で、既存機能の拡張は、PVNS 1.0 では積極的には行わない。ただし、要望のある機能については、状況に応じて対応する。
PVNS 1.0 は 100% "Pure" Java プログラムとして開発を行い、依存するサードパーティ製のライブラリ以外の部分で直接環境依存のコードは記述しない。PVNS 1.0 は J2SE Platform API 1.4 により記述/コンパイルされ、Java2 Runtime Environment 1.4 上で実行される。
また、PVNS 1.0 は国際化に対応する。全ての GUI コンポーネントに表示される、全ての文字列は、外部リソースとしてプログラムソースコードの外に出される。デフォルトのリソースとして日本語リソースが提供される。
ただし、BIDI のサポートは行わない。テキストおよびコンポーネントは全て左から右方向の並びとする。
PVNS 1.0 では表3.1に示すプラットフォーム、および、表3.2 に示す言語環境を「動作検証環境」とし、動作検証およびテストを行う。
表3.1および表3.2に記載されていない J2SE 1.4 環境での動作は "Peko" project としては保証せず、ユーザからの動作報告があった環境を「動作報告済み環境」として公開する。
*リリースの予定 (milestone) を記述します。
- 9月上旬
- 外部仕様 fix
- 10月末 〜 11月初旬
- first beta release
- 12月中旬
- release
PVNS 0.5 との互換性について、以下の通りとする。
- ゲームパッケージ構成(PVNS ゲームの論理的なディレクトリ構成)
-
PVNS 0.5 の上位互換であることを保証する。ただし、ディレクトリ構成の指定方法に関する互換性については、リソースの仕様に従うものとする。
- ゲームデータ
-
PVNS 0.5 の上位互換であることを保証する。
- シーンデータ (PSML 1.0 Scene 改訂版 DTD)
- 画像データ(GIF,JPEG,PNG)
- 音声データ(WAV,AU,AIFF,MP3)
- その他(フォント)
ただし、シーンデータについて、PVNS 0.5.4 以前の PSML 1.0 Scene DTD を参照しているデータはサポート対象外とする。
- リソース
-
リソースについては、可能な限り PVNS 0.5 を踏襲するが、基本的には互換性について保証しない。ただし、移行マニュアルやツールを用意するなど、移行のための何らかのサポートを行うこととする。
- 動作環境
-
動作環境については、対応する Java2 Runtime Environment に依存するため、基本的に互換性について保証しない。