つくば文庫 > ソフトウェア工房 > The "Peko" project

# The "Peko" project

## Project Menu

- "Peko" project
  - Welcome!
  - News
  - プロジェクト状態
  - ライセンス
- Documentation
  - PVNS イントロダクション
  - QuickStart ガイド
  - PSML-Scene ショートリファレンス
  - PVNS カスタマイズガイド
- Download
  - PVNS releases
- Get Involved
  - プロジェクト概要
  - 協力者募集
  - Mailing Lists
  - CVS Repository
  - Bug Tracking System

## "Peko" Visual Novel System：Introduction

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

### Table of Contents

### 1. PVNS とは？

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

#### 1.1 PVNSの特徴

ゲームプラットフォームとしての PVNS は以下の特徴を持っています。

マルチプラットフォーム
  PVNSでは Java2 Platform Standard Edition(J2SE) と XML を基盤技術として採用しているので、Java2 Runtime Environment 1.4 以上が動作する様々なプラットフォーム上で、PVNS 用のゲームの開発、および、開発したゲームの実行を行うことが出来ます。
国際化対応
  PVNS は国際化に対応しており、様々な言語環境でゲームの開発・実行を行うことができます。＊一部制限有り
オープンソース
  PVNS は BSD ベースのライセンスを採用したオープンソースソフトウェアです。開発したゲームに組み込む形で再配布したり、オリジナルの機能拡張を施した PVNS のバージョンを作って配布したりなど、PVNS の使用・再配布・改変は、ライセンスの範囲内で無償かつ自由に行うことが出来ます。

#### 1.2 PVNSとノベルゲーム 〜 PVNSの基本概念

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

一般的なビジュアルノベルゲームは次のような特徴を備えているでしょう。

1. 背景画像が表示され、
2. 背景の手前に、登場人物の立ち絵が描画され、
3. さらにその手前に、(比較的大きめな)テキスト表示領域を備えている。

図で表せば、こんな感じです。

//TODO: 図はまだ準備中です！

図1.1：ビジュアルノベルゲームの構成

このような特徴を持つビジュアルノベルゲームに対し、PVNS ではそれを無声式の「人形劇」としてとらえています。

背景画像などシーンの情景を描き出す部分が「ステージ」、登場人物の立ち絵が「人形」、そしてテキスト表示領域が「(台詞やナレーションを表示する)字幕スクリーン」という具合です。プレイヤーは「観客」、ゲーム開発者は「劇作家」です。そして PVNS は、人形劇を上演する「劇場」であり、劇作家が用意したシナリオを元に劇を演じる「操者」の役割を担います

この文書をはじめ、PVNS に関する様々な文書では、PVNS の機能や仕掛けを「人形劇」のメタファで表現します。

#### 1.3 PVNSが提供する機能

PVNS に大きく分けて、2 つの側面があります。

一つは人形劇を上演する「劇場」としての側面。もう一つは、劇作家の作成したシナリオに従って劇を演じる「操者」としての側面です。

「劇場」としての PVNS には、更に 2 つの側面があります。一つは人形劇を上演するための「舞台装置」としての側面。もう一つは、観客に人形劇を見てもらうための「観劇サービス提供者」としての側面です。

これら 3 つの側面のうち、「舞台装置」および「操者」としての側面は、劇作家 (ゲーム開発者) に対して意味を持ちます。すなわち、「舞台装置」としての PVNS が「人形劇」としてのゲームのモデルを定義し、「操者」としての PVNS がモデルに対する振る舞いを定義するものになります。これらは、劇作家が人形劇を作成する際、実際にどのような表現ができるのかを定義するものになります。

一方、「観劇サービス提供者」としての側面は、観客 (プレイヤー) に対して意味を持ちます。セーブやロードなど、劇を観る (= プレイする) 上でどのようなサポートを得られるのか、それを決めるのが、PVNS が提供する「観劇サービス提供者」としての機能になります。

##### 1.3.1 舞台装置として提供するもの

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

- 舞台 (ステージ)
  - 人形が演技するスペース
  - 背景表示スクリーン
  - スライド表示スクリーン
  - BGM・SE 再生装置
- 字幕スクリーン
- インタラクション装置 (プレイヤーへの選択肢提示)

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

舞台には、人形を動かすためのスペースの他にも、いくつかの舞台装置が付属しています。

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

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

BGM・SE 再生装置は、ラジカセのように音楽をならす機能を提供する装置です。BGM 再生用と SE 再生用の 2 系統があります。

舞台の構造を 図1.2 に示します。

//TODO: 図はまだ準備中です！

図1.2：舞台の構造

舞台以外の舞台装置としては、字幕スクリーンとインタラクション装置があります。

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

インタラクション装置は、これは実際の人形劇には存在しない、架空の装置です。何をする装置かというと、ずばり選択肢を表示し、観客に選択させる装置です。劇作家は、観客に対し選択肢を提示し、その選択の結果によって劇の進行を変更させる、といったようなことを実現できます。

##### 1.3.2 操者として提供する機能

PVNS は操者として以下の機能を提供します。

- シナリオ運用
  - 字幕スクリーンへの台詞・ナレーション・文章の表示
  - 人形の舞台への登場・移動・退場
  - 背景の変更
  - スライドの表示・切り替え・格納
  - BGM・SE の再生・停止
  - 選択肢の表示
- フラグ機能
  - フラグ制御
  - プレイヤーの選択・フラグ状態によるシナリオの分岐

シナリオ運用、と呼んでいる機能群は、舞台装置や人形に対してその動作を指示するもの、即ち、劇作家がシナリオに記述できる指示内容を定義する物です。逆を言えば、シナリオ運用の各機能を呼び出すための記述を時系列に沿って記述したものがシナリオと言うことが出来ます。

フラグ機能は、物語の流れを動的に変えるための機能です。PVNS は、観客がインタラクション装置を通して選択した選択肢の内容や、どのシーンを通ったか、等を「フラグをたてる」ことにより記憶しています。

フラグ制御は、PVNS が記憶しているフラグを「たてる」または「おろす」操作です。

劇作家は、フラグの状態にあわせたシーン遷移の設定、即ち、「このフラグ状態ではこのシーンに、それ以外ではこっちのシーンに」といったような、動的な遷移先シーンの変更を記述することが出来ます。

##### 1.3.3 観劇サービス提供者として提供する機能

「観劇サービス提供者」として、PVNS が観客に対して提供する機能は以下の通りです。

- セーブ・ロード
- 過去に閲覧した文章の表示
- 早送り
- 自動送り
- 画面エフェクト ON/OFF
- サウンド ON/OFF

//TODO: 説明はまだ準備中です！

### 2. ゲーム開発者がやらなきゃいけないこと

#### 2.1 ゲーム開発者の役割

PVNS は、人形劇を上演するための場および様々な設備を提供します。ゲーム開発者が用意しなければならないものは、それ以外のあらゆる人形劇の要素です。シナリオを考え、劇に登場する人形を作成し、背景などの大道具、BGM や SE などの小道具を用意する必要があります。

ゲーム開発者が用意する必要がある劇要素は次の通りです。

シナリオ

  人形劇の進行を記述した「台本」。シナリオは複数のシーンから構成され、個々のシーンは PSML-Scene マークアップ言語により記述された XML ファイル (PSML-Scene ファイル) として作成される。

  各 PSML-Scene ファイルには、シナリオ運用の各機能の呼び出しやフラグの設定などが、時系列に沿って記述された「本文」と、各シーン毎の舞台装置に対する設定変更や、(フラグ状態に基づく) シーンの遷移設定が記述された「ヘッダ情報」から構成される。

人形

  ストーリーの登場人物としてステージの上に登場する人形。人形は、様々な表情を描いた立ち絵画像の集まりとして作成される。一つの表情が一つの画像ファイルで表される。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 の各フォーマットを使用することが出来る。

#### 2.2 ゲーム開発の流れ

1. 計画をたてる
2. プロット作成
3. シーンの流れを組み立てる
4. 実装
   1. シーンの実装
   2. 人形・背景等の作成
   3. テスト
5. パッケージング
6. 配布

//TODO: 説明はまだ準備中です！