The "Peko" Project


PVNS イントロダクション

この文書では,"Peko" Visual Novel System の概要について説明します。PVNS の基本概念や用語については,この文書を参考にしてください。

PVNS とは?

"Peko" Visual Novel System (以下,PVNS) は,Leaf[External Link] の「痕」や Key[External Link] の「Kanon」などのような,所謂「ビジュアルノベル」タイプのゲームを開発・実行するためのシステムです。

PVNSの特徴

ビジュアルノベルゲーム実行環境としての PVNS は以下の特徴を持っています。

マルチプラットフォーム
PVNSでは Java2 Platform Standard Edition(J2SE) と XML を基盤技術として採用しているので,Java2 Runtime Environment 1.4 以上が動作する様々なプラットフォーム上で,PVNS 用のゲームの開発,および,開発したゲームの実行を行うことが出来ます。
マルチメディアサポート
PVNS ではゲームの素材として様々なタイプの画像データや音声データを扱うことが出来ます。
  • 画像データ:GIF(*.gif), JPG(*.jpg), PNG(*.png)
  • 音声データ:Windows WAV(*.wav), Sun AU(*.au), Apple AIFF(*.aiff), MP3(*.mp3)
バンドルフォントのサポート
ゲームパッケージに TrueType フォントをバンドルすることで,プレイヤーの環境に予めインストールされていない独自のフォントを使って,ゲームを作ることが出来ます。
専用ツール不要
PVNS 用のゲームデータは,全て一般に普及したファイルフォーマットに基づいています。作成するデータの種類に応じて,ゲーム開発者が使い慣れたツールを使用して開発することが出来ます。
国際化対応
PVNS は国際化に対応しており,様々な言語環境向けにゲームの開発・実行を行うことができます。*一部制限有り
オープンソース
PVNS は BSD ライセンスに基づいて配布されるオープンソースソフトウェアです。開発したゲームに組み込む形で再配布したり,オリジナルの機能拡張を施した PVNS のバージョンを作って配布したりなど,PVNS の使用・再配布・改変は,ライセンスの範囲内で無償かつ自由に行うことが出来ます。

PVNS とビジュアルノベルゲーム

ビジュアルノベルゲームは,「ノベル」という名前が表すとおり,文章をプレイヤーに読ませることで,ゲームが持つストーリーを表現するタイプのゲームです。と同時に,「ビジュアル」を冠するように,文章だけではなく「視覚的なもの (= 絵)」でシーンの状況を表現することを特徴とするゲームでもあります。

一般的に,ビジュアルノベルゲームは次のような要素から成り立っています。

  • ウィンドウ
  • 背景
  • 登場人物(の立ち絵)
  • テキスト表示領域
  • (台詞などの)テキスト

introduction-vn-illust.png [46.5kb]

ビジュアルノベルゲームの構成 (画面)

さらに,目には見えませんが BGM や SE などもあります。

これらの要素を動かし,ゲームとしてストーリーをプレイヤーに読み解かせて行くというのが,ビジュアルノベルゲームの形式と言えるでしょう。

PVNS では,これらの要素を「無声式の人形劇」に当て嵌めて捉えています。

例えば,ウィンドウが「ステージ」,登場人物が「人形」,テキスト表示領域が「字幕スクリーン」といった具合です。そして,それらの動きや台詞などを記述した「シナリオ」に基づいて PVNS が「人形劇」を「上演」し,それを「鑑賞する」という行為が即ち「ビジュアルノベルゲームをプレイする」ということになる訳です。

この文書をはじめ,PVNS に関する様々な文書において,PVNS の機能や仕掛けを「人形劇」のメタファで表現することがあります。

PVNS ゲームデータ

前述の通り,PVNS ではビジュアルノベルゲームを「人形劇」として捉えています。

PVNS 用のゲームデータも,人形劇の要素を元にした構成になっています。

シナリオ

ゲームデータの中心となるのは「シナリオ」です。

シナリオは通常,複数のシーンから構成されます。シーンとシーンの間の遷移は,プレイヤーの選択などを元に分岐することもあります。一般に,一つのシナリオはシーンをノードとするグラフ構造として表されます。

シーンは,ストーリーの中のある場面についての全ての情報を記述したものです。各種素材を動かしたり,テキストを表示したり,選択肢を表示したりといった「アクション」の他,舞台装置の動作の設定,次ぎにどのシーンに進むかといった情報全てが PSML-Scene マークアップ言語を使用して記述されます。

素材

PVNS における「素材」とは,シナリオによって舞台装置と共に動かされる様々な大道具・小道具を指します。具体的に,以下の種類の素材があります。

人形
ストーリーの登場人物としてステージの上に登場する人形。人形は,様々な表情を描いた立ち絵画像の集まりとして作成される。一つの表情が一つの画像ファイルで表される。PVNS では,サポートする画像形式として,GIF, PNG, JPG の各フォーマットを使用することが出来る。
背景
ストーリー中のあるシーンを視覚的に演出するためのステージ背景画像。背景画像は,そのまま画像ファイルとして作成される。PVNS では,サポートする画像形式として,GIF, PNG, JPG の各フォーマットを使用することが出来る。
スライド
ステージの全面を覆い隠すスクリーン上に投影されるスライド。スライドを表示中はステージの上の人形・背景は見えなくなる。スライドは,一枚のスライドが一つの画像ファイルとして作成される。PVNS では,サポートする画像形式として,GIF, PNG, JPG の各フォーマットを使用することが出来る。
BGM
ストーリー中のあるシーンを聴覚的に演出するための BGM。PVNS では,サポートするデータ形式として,WAV, AU, AIFF, MP3 の各フォーマットを使用することが出来る。
SE
ストーリー中のあるシーン・イベントを聴覚的に演出するための効果音(Sound Effect)。PVNS では,サポートするデータ形式として,WAV, AU, AIFF, MP3 の各フォーマットを使用することが出来る。

PVNSが提供する機能

PVNS には大きく分けて,二つの側面があります。

一つは,ゲーム開発者に対する「ゲームを実行する装置」としての側面。もう一つは,プレイヤーに対する「ゲームを遊ぶための装置」としての側面です。

「ゲームを実行する装置」としての機能

「ゲームを実行する装置」としての PVNS はゲーム開発者に対し,ビジュアルノベルゲームを実現するために必要な様々な機能を提供します。即ち,ステージや字幕スクリーンなどの舞台装置や,ゲーム開発者が作成したシナリオに従って,背景や人形などの素材を動かし,台詞やナレーションなどを表示していくゲーム実行エンジンなどです。

舞台装置としての機能

PVNS が提供する舞台装置は以下の通りです。

  • 舞台
    • 背景スクリーン
    • ステージ
    • スライド表示スクリーン
    • 字幕スクリーン
  • その他
    • 画面エフェクト機能
    • BGM・SE 再生装置

introduction-stage-illust.png [36.5kb]

舞台の構造 (イメージ)

舞台装置の中心となる物は,人形を動かすための舞台です。この舞台は可変式で,ゲームごとに自由に大きさを設定することが出来ます。

舞台には,人形を動かすためのステージを中心として,いくつかの舞台装置が付属しています。

背景表示スクリーンは,観客側から見て舞台の奥側に備え付けられたスクリーンで,現在上演中のシーンの情景を表す背景色や背景画像を表示することが出来ます。

ステージは,登場人物を表す人形が配置されるスペースです。ステージの上では人形を前後左右に動かすことが出来ます。当然,より前 (= 観客側) の人形の方が後ろにある人形より手前に表示されます。

スライド表示スクリーンは,背景表示スクリーンとは逆,観客側から見て,舞台の手前側に備え付けられたスクリーンです。スライドは,シーンの情景描写を,背景+人形ではなく,一枚の画像 (= スライド) で表現したい場合に使用します。スライド表示スクリーンは通常,見えないように外されています。スライド表示スクリーンを使用している間は,舞台の上の背景や人形は観客からは見えなくなります。

字幕スクリーンは,ステージと観客 (= プレイヤー) との間にある,透明あるいは半透明のスクリーンです。登場人物の台詞やナレーションが,観客に見やすいよう大きなフォントで表示されます。

舞台以外の装置としては,画面エフェクト機能と BGM・SE 再生装置があります。

画面エフェクト機能は,背景や人形・スライドなどを動かした場合など,舞台の表示を切り替える際に,何らかのエフェクトをかける機能です。現在,「ぱたぱた」「モーフィング」「エフェクトなし」の 3 種類のエフェクトが用意されています。

BGM・SE 再生装置は,ラジカセのように音楽をならす機能を提供する装置です。BGM 再生用と SE 再生用の 2 系統があり,それぞれ独立に制御されます。それぞれの再生装置ごとに,同時に複数の音楽を再生出来ます。

ゲーム実行エンジンとしての機能

ゲーム実行エンジンとして以下の機能を提供します。

  • シーンアクション実行機能
    • 字幕スクリーンへの台詞・ナレーション・文章の表示
    • 人形のステージへの登場・移動・退場
    • 背景の変更
    • スライドの表示・切り替え・格納
    • BGM の再生・停止
    • SE の再生・停止
    • 選択肢の表示
    • フラグ操作
  • フロー制御機能
    • フラグ機能
    • フラグ状態によるシーン遷移制御
    • フラグ状態によるシーンアクションの実行制御

シーンアクションとは,シナリオに記述される,舞台装置や人形などの素材に対する動作を指示するものです。ゲーム実行エンジンとしての PVNS は,シナリオを解析し,シナリオに記述された順番でシーンアクションを実行し,ゲームの「上演」を行います。

フロー制御機能は,シーンアクションの実行制御やシーン遷移の制御など,ストーリーの流れを制御する機能です。

フラグ機能は,フロー制御の中心となる機能です。PVNS は,プレイヤーが選択した選択肢の内容や,どのシーンを通ったか等の情報を「フラグをたてる」ことにより記憶します。フラグは名前で識別され,複数のフラグを設定が可能です。

ゲーム開発者は,フラグの状態を判定し,その結果に応じてシーンの遷移を制御したり,シーンアクション毎に実行するかどうかの制御を行ったりなどの処理を実現することが出来ます。

「ゲームを遊ぶための装置」としての機能

「ゲームを遊ぶための装置」としての PVNS はプレイヤーに対し,ビジュアルノベルゲームを遊ぶために必要な様々な機能を提供します。

PVNS が提供する機能は以下の通りです。

  • キーボードおよびマウスによる基本操作
  • セッションのセーブ・ロード
  • プレイ補助
    • 過去に閲覧した文章の表示
    • 早送り
    • 自動送り
  • エフェクト制御
    • 画面エフェクト ON/OFF
    • サウンド ON/OFF

基本操作

PVNS ゲームの基本操作はキーボードおよびマウスを使って行います。

操作キーボードマウス
進行[ENTER]左クリック
選択肢の選択[↑][↓] で選択,[ENTER] で決定選択肢の上にカーソルを移動,左クリックで決定
字幕スクリーンのON/OFF[SPACE](なし)

また,ゲームの終了やセッションのセーブ・ロード等,その他の機能の呼び出しには,メニューバーから必要な項目を選択して行うようになっています。

詳しくは「PVNS 操作ガイド」*現在準備中です! を参照してください。

セーブ・ロード

PVNS では,スタートから現時点までのシーンの履歴やフラグ状態,現在プレイ中のシーンの状態などを,セッションという形で管理しています。

プレイヤーは任意のタイミングでセッションを保存し,また,任意のタイミングで現在のセッションを破棄し,過去に保存したセッションを復元することが出来ます。

プレイ補助

PVNS は,プレイヤーがゲームをプレイするのを補助するためのいくつかの機能を提供します。

現在提供されている機能は以下の通りです。

過去に閲覧した文章の表示
過去に閲覧した文章を振り返って表示する機能です。過去 10 画面分のテキストを閲覧することが出来ます。
早送り
シーンの現在の位置から,次に選択肢が表示される位置まで早送りする機能です。選択肢が表示されるまでの間,プレイヤーの操作を待たずにどんどん先に進みます。早送りを途中で中断することも出来ます。
自動送り
プレイヤーがキーボードまたはマウスで進行を指示しなくても,自動で進行させる機能です。選択肢以外,プレイヤーは特に操作しなくてもプレイを進行させることが出来ます。

エフェクト制御

エフェクト制御は,画面エフェクト機能および BGM・SE 再生機能の ON/OFF を制御する機能です。画面エフェクト,BGM・SE それぞれ独立に ON/OFF を制御出来ます。

設定内容は,ゲームを終了した場合でも保存されます。