公立はこだて未来大学 2017 年度 システム情報科学実習
グループ報告書
Future University Hakodate 2017 System Information Science PracticeGroup Report
プロジェクト名
インタラクティブ・ストーリーテリング

Project Name
Interactive Storytelling

グループ名
物語分析チーム
物語生成チーム
映像作成チームGroup Name
Story analysis Team
Story generated TeamVideo production Team

プロジェクト番号/Project No.
6

プロジェクトリーダ/Project Leader
1015059 玉置秀樹 Hideki Tamaki

グループリーダ/Group Leader
1015124 豊澤修平 Shuhei Toyosawa
1015088 石田晃大 Kodai Ishita
1015096 工藤はるか Haruka Kudo

グループメンバ/Group Member
1015124 豊澤修平 Shuhei Toyosawa
1015042 平田郁織 Iori Hirata
1015113 菊地亮太 Ryota Kikuchi
1015138 川瀬稜人 Ryoto Kawase
1015227 工藤健太郎 Kentaro Kudo
1015236 久野露羽 Tsuyuha Hisano
1015088 石田晃大 Kodai Ishita
1015187 佐藤好高 Yoshitaka Sato1015194 根本裕基 Yuki Nemoto
1015213 原科充快 Mitsuyoshi Harashina
1015262 櫻井健太郎 Kentaro Sakurai
1015096 工藤はるか Haruka Kudo
1015059 玉置秀樹 Hideki Tamaki
1015183 栗原将風 Masakaze Kurihara
1015200 遠藤史央里 Shiori Endo

指導教員
角薫 村井源 松原仁 椿本弥生

Kaoru Sumi

AdvisorHajime Murai Hitoshi Matsubara
提出日2018 年 1 月 19 日
Date of Submission
Jan. 19, 2018

Mio Tsubakimoto

概要
本プロジェクトの目的は, インタラクティブストーリーテリングシステムを開発し評価することである. インタラクティブ・ストーリーテリングシステムとは, 登場人物がいて, ノンリニアであり（ストーリーラインの順番が決まっていない）, インタラクティブであり様々な出力形式があるものとされている. そのために, 既存の物語を分析したデータや常識知識により, 自動生成されたチ
ャートを出力する. そしてその生成されたプロットに対して映像やアニメーションを付与したコン
テンツを出力するシステムの開発をおこなった. プロジェクトメンバーは, 物語分析・物語生成・映像制作の 3 つのチームに分かれて作業を分担し, チームとしての目的は, 3 つのチームが協力してインタラクティブストーリーテリングシステムの開発することである.
キーワード

インタラクティブ・ストーリーテリング, 物語分析, 自動生成, アニメーション（※文責：玉置秀基）

Abstract
The purpose of this project is to develop an interactive storytelling system. This system automaticallygenerates a story using common sense knowledge based on the analysis of existing stories. For that purpose,
we output data analyzing the existing stories and charts automatically generated by common sense knowledge,
and develop contents with animations. The project members are divided into three teams: Story Analysis, Story
Generation, and Animation Creation to share the work, and finally complete the system.
KeywordInteractive_storytelling, Story analysis, Automatically generated, Animation（※文責：玉置秀基）

目次
第1章

はじめに

1. 1

背景

1. 2

目的

1. 3

課題

第2章

プロジェクト学習の概要

2. 1

問題の設定

2. 2

課題の設定

2. 3

到達目標

2. 4

課題の割りふり

第3章
3. 1

2. 4. 1

物語分析チーム

2. 4. 2

物語生成チーム

2. 4. 3

映像作成チーム

物語分析チーム
活動内容
3. 1. 1

3. 1. 2

3. 2

3. 3

第4章

中間発表までの活動
3. 1. 1. 1

分析作品の検討

3. 1. 1. 2

KJ 法を用いた分析

3. 1. 1. 3

動作頻度のリスト

3. 1. 1. 4

物語分析

3. 1. 1. 5

典型的シナリオパターンの分析

3. 1. 1. 6

トリックデータベース

最終発表までの活動
3. 1. 2. 1

典型的シナリオパターンの分析

3. 1. 2. 2

トリックデータベース

3. 1. 2. 3

セリフデータ

データの仕様3. 2．1

中間発表までのデータの仕様

3. 2．2

最終発表までのデータの仕様
3. 2. 2. 1

全体的なデータの仕様

3. 2. 2. 2

典型的シナリオパターンのデータの仕様

3. 2. 2. 3

トリックデータベースのデータの仕様

3. 2. 2. 4

セリフデータの仕様

評価

物語生成チーム

4. 1

全体の方針

4. 2

データフォーマット
4. 2．1

中間発表までの仕様

4. 2．2

中間発表後の仕様

4. 2．3

ID と各データベースについて

4. 3

生成アルゴリズム
4. 3．1

前期での活動について
4. 3. 1. 1

目的

4. 3. 1. 2

開発環境

4. 3. 1. 3

処理手順

4. 3. 1. 4
4. 3．2

データの入力について

4. 3. 1. 3. 2

データの出力について発生した課題後期での活動について
4. 3. 2. 1

課題の設定

4. 3. 2. 2

処理手順

4. 3. 2. 3
4. 4

4. 3. 1. 3. 1

4. 3. 2. 2. 1

データの入力について

4. 3. 2. 2. 2

データの出力について

結果

表現アルゴリズム
4. 4. 1

目的

4. 4. 2

開発環境

4. 4. 3

Python によるチャート生成

4. 4. 4

チャート解析
4. 4. 4. 1

中間報告までのチャート書式

4. 4. 4. 2 最終的なチャート書式
4. 4. 5 アニメーション演出
4. 4. 6 演出動作仕様
4. 4. 7 今後の課題
4. 5

全体の方針
4. 5. 1

ダウンロード4. 5. 1. 1

4. 5. 2

キャラクター仮モデルの作成
4. 5. 2. 1

4. 6

4. 7

4. 8

第5章

アセットストア
Makehuman

引用モーション
4. 6. 1

Mixamo4. 6. 2

モーションのまとめ

動作名とモーションの対応
4. 7. 1

動作名にモーションを与えるために

4. 7. 2

動作名を変更する流れ

4. 7. 3

反省と今後の展望

モーションとモデルの動作チェック
4. 8. 1

始めに

4. 8. 2

原因の特定と対処

4. 8. 3

反省と今後の展望

映像制作チーム

5. 1

基本仕様

5. 2

最終発表までの活動
5. 2. 1

Unity の学習

5. 2. 2

5. 2. 1. 1

Unity とは

5. 2. 1. 2

Unity の理由

5. 2. 1. 3

学習方法

5. 2. 1. 4

問題点

モデリング
5. 2. 2. 1モデリングとは

5. 2. 2. 2

なぜモデリングするのか

5. 2. 2. 3モデリングの種類

5. 2. 2. 4

5. 2. 2. 3. 1

ポリゴンモデリング

5. 2. 2. 3. 2

曲面モデリング

5. 2. 2. 3. 3

スカルプトモデリング

キャラクターについて
5. 2. 2. 4. 1

ガリ子

5. 2. 2. 4. 2

ウム太

5. 2. 2. 4. 3

りょう太

5. 2. 2. 4. 4

リュウ子

5. 2. 2. 4. 5

ガム子

5. 2. 2. 4. 6

おっさん

5. 2. 2. 4. 7

キアナ

5. 2. 2. 4. 8

ガリ子カラーチェンジ版

5. 2. 2. 4. 9

ダークウム太5. 2. 2. 4. 10

タロウ

5. 2. 2. 5

小道具

5. 2. 2. 6モデリングソフト

5. 2. 2. 7

5. 2. 2. 8

5. 2. 2. 9

5. 2. 2. 6. 1

Blender

5. 2. 2. 6. 2

3dsMaxモデルの形式
5. 2. 2. 7. 1

fbx ファイル

5. 2. 2. 7. 2

pmd ファイル

5. 2. 2. 7. 3

pmx ファイル

モデリングの手順
5. 2. 2. 8. 1

素体の準備

5. 2. 2. 8. 2

キャラクター画像の準備

5. 2. 2. 8. 3

キャラクターの作成

5. 2. 2. 8. 4

ボーン設定

5. 2. 2. 8. 5

動作テスト&デバッグ

結果

5. 2. 2. 10 評価・考察
5. 2. 2. 11 今後の展望
5. 2. 3

モーション制作
5. 2. 3. 1

目的

5. 2. 3. 2

3D モーションとは

5. 2. 3. 3

モーション制作

5. 2. 3. 4

MMD

5. 2. 3. 5

制作方法

5. 2. 4

第6章
6. 1

モーションの種類

5. 2. 3. 7

問題点

5. 2. 3. 8

結果と考察

5. 2. 3. 9

今後の展望メッセージウィンドウ
5. 2. 4. 1

メッセージウィンドウとは

5. 3. 4. 2

コンセプト

調査・評価
アカデミーキャンプ
6. 1. 1

参加目的

6. 1. 2

システムプレイワーク

6. 1. 3

6. 1. 4

6. 2

5. 2. 3. 6

6. 1. 2. 1

目的・準備

6. 1. 2. 2

方法

6. 1. 2. 3

結果

6. 1. 2. 4考察

ストーリー作成ワーク
6. 1. 3. 1

目的・準備

6. 1. 3. 2

方法

6. 1. 3. 3

結果

6. 1. 3. 4

考察

キャラクター作成ワーク
6. 1. 4. 1

目的・準備

6. 1. 4. 2

方法

6. 1. 4. 3

結果

6. 1. 4. 4

考察

赤川小学校
6. 2. 1交流会
6. 2. 1. 1

目的

6. 2. 1. 2

概要

6. 2. 1. 3

6. 2. 1. 4
6. 2. 26. 2. 1. 2. 1

アイスブレイク

6. 2. 1. 2. 2

函館グループワーク

6. 2. 1. 2. 3ストーリー作成ワーク

6. 2. 1. 2. 4

アンケート・まとめ

結果
6. 2. 1. 3. 1

ストーリー作成ワークの結果

6. 2. 1. 3. 2

アンケートの結果

考察

赤川小学校授業
6. 2. 2．1

目的

6. 2. 2．2

概要
6. 2. 2. 2. 1

キャラクター作成ワーク

6. 2. 2. 2. 2システムの評価

6. 2. 2．3

アンケート結果

6. 2. 2．4

考察

第7章

中間発表

7. 1

発表準備

7. 2

アンケート

7. 3

結果

7. 4

評価・考察

第8章

成果発表

8. 1

発表準備

8. 2

アンケート

8. 3

結果

8. 4

評価・考察

第9章

まとめ

9. 1

プロジェクトの成果

9. 2

プロジェクトにおける各人の役割

9. 3

今後の展望
9. 3. 1

全体の展望

9. 3．2

分析班の今後の展望

9. 3．3

生成班の今後の展望

9. 3．4

映像班の今後の展望

Interactive Storytelling

第 1 章 はじめに
1. 1 背景
近年, 人工知能分野における目標の 1 つとして物語を自動生成する試みに大きな関心が寄せられている.
物語は主に言語を用いて表現するものや画像や映像を用いて表現するもの, 音を用いて表現するものなど,
様々な種類があり, その代表的な例を挙げると小説, 漫画,音楽があげられる. しかし, これまで研究されている物語自動生成システムの中ですべての要素を用いて人工知能で物語を自動生成した例は今のところ存在しておらず, 物語の様々な要素の中から抽出し, どこまでを自動化できるかの研究が個別に勧められている段階である. 本プロジェクトは言語と映像を用いた矛盾のない物語を自動生成するシステムの開発を目指している.

（※文責：佐藤好高）

1. 2 目的
誰でも簡単に物語を自動生成し, それにアニメーションを付与することのできるシステムを開発する.

（※文責：佐藤好高）

1. 3 課題
目的を達成するための具体策は以下の通りである.

・分析する物語のジャンルの決定・物語に必要な要素や典型パターンを KJ 法によってデータ化
・分析データから各動作の頻度をリスト化
・分析データに基づいた矛盾のない物語を自動生成するプログラムの作成
・自動生成されたテキストに対応する 3D アニメーションの作成・使用する物語のデータ化・使用する物語に必要な部屋モデル, 人物モデル, オブジェクトの作成・使用する物語に対応するアニメーションの作成
・アニメーション付与のプログラムの作成
・矛盾のない物語を文字, 映像を用いた自動生成プログラムの作成
1
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
本プロジェクトでは, 使用する物語のジャンルの決定, KJ 法による物語のデータ化, 物語の動作頻度のリスト化, 物語自動生成プログラムの作成, 使用する物語の作成およびデータベース入力, 物語に使用する
3D アニメーションおよび 3D の人物モデル, 部屋モデル, オブジェクトの作成, 物語にアニメーションを付与するプログラム, 矛盾のない物語を作成するプログラムの作成を課題とした. なお, これらを評価するにあたり, 作成したプログラムを体験してもらい, アンケートをとった上でそのアンケートの結果から分析した.

（※文責：佐藤好高）

2
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

第 2 章 プロジェクト学習の概要
2. 1 問題の設定
文章を書くという行動は現代人にとって一生を通し, 日常生活で日々行う行為である. しかし, 文章を書く
ようにインタラクティブな物語を作成することは難しい. 物語を作る上で必須になる要素には, 人物作成, 人
物の心情の変化, 状況の変化など様々なものが含まれる. このような要素を含んだ物語を, 書いたことのない人がいきなり書けるかと問われるとほとんどの場合不可能だろう. さらに, 物語を書くことができたとしても,その物語にインタラクティブ性をつけることはさらに一段階難しいものである. 物語を作る要素を組み込み,
且つその物語を人に面白いと思わせられなければインタラクティブな物語とは定義できないと考える. よって,物語を作ることの難易度が一層高まっている. そのため, 物語を作ってみたいと思う人でも, なかなか物語を作ることに手が出せずにいるという問題が生じてしまう.

（※文責：川瀬稜人）

2. 2 課題の設定
第 2. 1 項で挙げた問題を解決・支援するために, 本プロジェクトはコンピュータによるインタラクティブな物
語自動生成システムを開発する. これまで, 物語分析やインタラクティブ・ストーリーテリングの研究が別々に行われてきた. しかし, 物語分析や常識知識の大規模なデータを用いて, 物語生成やアニメーション表示を行うインタラクティブ・ストーリーテリングの研究はあまりない. そのため, 今後, 物語分析や常識知識のデー
タを大規模にしていくことで新規性のある研究ができると考えたからである. 物語自動生成システムを開発する上での前提条件として, 本プロジェクトではミステリを扱う. ミステリを選んだ理由として, 謎解きは典型的な物語のパターンの 1 つでデータが豊富であり, 多くの物語で謎解き物語の要素を含んでいる. また, これまでに科学的な分析の対象としてあまり扱われてきていないためである. このインタラクティブストーリーテリング
システム開発の流れとしては, 既存の物語を分析し, KJ 法などを用い, 物語の構造とデータをまとめる. その分析データと常識知識などから Python を用い, 自動生成されたチャートを Unity に出力し, チャートに映像やアニメーションなど 3ds Max や Blender を用い作成した 3D モデル, MMD を用い作成したモーションを付
与しコンテンツを Unity に出力するものである.
（※文責：川瀬稜人）

3
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

2. 3 到達目標
11 月に行われる赤川小学校のワークショップまでにインタラクティブストーリーテリングシステムの完成版を作成し, 物語への興味関心を深めることが目標である. インタラクティブストーリーテリングシステムによって,自動生成された物語が面白いかどうかのアンケートに回答してもらい, その結果を分析する. インタラクティ
ブストーリーテリングシステムの完成版とは, 分析データに基づいて, 矛盾のない面白い物語をプログラムによって自動生成できるものを指す. そして, 誰もが簡単に物語を創るための手助けになるものを目標とする.

（※文責：川瀬稜人）

2. 4 課題の割りふり
2. 4. 1 物語分析チーム
物語分析チームでは小説, 漫画を分析し, システムが物語を生成・映像化するために必要なデータのピ
ックアップを行った. それらを行う際に, 分析対象からどのような情報のデータを得るのかを検討する必要があった. また, メンバー6 人でそれぞれ分析を行うため, データ化する際の表記や, どのようなフォーマットで記述するのかといった統一を図る必要があった. 以上の問題点が挙げられたため, まず必要なデータを検討するために KJ 法という分析法を使用し, ミステリ・推理の物語の構造とデータの分析を行った. そして, それらをもとに物語分析チームのメンバー内でミステリ・推理の物語に対する共通知識を構築した. それらを参考にして分析対象のデータをできるだけ抽象的な記号に変換し, 物語生成チームと話し合いをし, 決定した
フォーマットにし整形した. このように指定された形式で分析したデータをまとめていった結果, 物語にはある程度固定化された物語の進行があることが分かった. これを典型的シナリオパターンとして分析を行った. そして, 全種類のトリックを固定化した構造では生成することが困難であるため, トリックの種類ごとに典型的シ
ナリオパターンを分析し, 生成する物語の大枠を作成した. 更に, 生成できる物語に多様性を持たせるためにトリックの内容ごとに抽出を行った. 以上の得られたデータを 2 つのチームと共有した. また, 他の 2 つのチームからの要望や仕様の変更によって分析データのフォーマットは随時変更を行った.

（※文責：豊澤修平）

2. 4. 2 物語生成チーム
物語生成チームでは, 分析データをもとに物語を自動生成すること, またそれをもとに映像作成チームが制作した 3D モデルなどを割り振ることを課題としている. 物語を自動生成するにあたり, 物語の大枠となる
典型的パターンの入れ替え可能な部分に, 物語分析チームが抽出したトリックを組み込むことで物語の流れとなるチャートを生成した. また, アニメーションの生成ではチャートに書いてあるオブジェクト名や動作を読み込むことでアニメーションを生成した.
（※文責：石田晃大）
4Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

2. 4. 3 映像作成チーム
映像作成チームは, 自動生成された物語にアニメーションを付与することを課題としている. アニメーショ
ン制作にあたり, 3D モデルや 3D モーションの制作を行った. 3D モーションは物語分析チームから得られた分析データを元にしている.

（※文責：工藤はるか）

5
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

第 3 章 物語分析チーム
3. 1 活動内容
3. 1. 1 中間発表までの活動
3. 1. 1. 1 分析作品の検討開発したシステムから物語を生成するにあたって, 物語分析や常識知識のデータを構築する必要がある.
本項では, 分析データの収集に取り組むまでに行った各作業について記述する.
まず物語分析チームでは, 物語生成に必要な要素の整理と, 分析対象から抽出すべき情報の検討を行った. 物語世界では, 現実世界を舞台とするか, SF やファンタジー作品のような空想世界を題材とするかによって, 起きうる現象や物理法則をそれぞれに適合するように定義する必要がある. その上, 場面や背景からもそれぞれの状況下で起きうる, または起きえない現象が発生する. こうした様々な条件下に限定される現
象は, システムによってランダムに生成した際に物語の矛盾を招きかねないことから, 物語世界の常識知識を統一したデータとして構築する必要がある. ここで, 物語分析チームでは, 現実世界が舞台である作品を分析対象として扱うことを決定した. これは, 空想世界が舞台である作品を題材とした場合に, より多くの現象について綿密に常識知識の統一を行う必要があることや, 生成されたテキストに付与するアニメーションにおいて, 物理法則の観点などの非現実的な要素が現実世界における要素に対してより複雑な動きをするた
めに, 作成の難易度が上がる恐れがあると判断したからであり, こうした不安定な項目をできるだけ排除する必要があると考えるからである.
次に, 物語は開始から終了まで何らかの連続関係を持つ必要があることを確認した. これは, 物語中に全く無関係の言動が含まれると読者は理解することができないからである. さらに, 物語は起承転結というよ
うに場面ごとに冒頭部分, 展開部分, 転化部分, 結果部分に分けられる. この典型的な物語の流れを判断しやすい行為として, 謎解きを挙げた. つまり, 物語の時間順において, 事件や事象の発生, 探偵による捜査や警察による事情聴取といった情報の提示, 推理や新情報による結果への誘導, そして事件の解決のよ
うな結末やオチとして各場面を判断することができる. こうした謎解きの明確な物語の展開は, 多くの物語に含まれる行為である. また, 物語中の謎解きという行為が, 扱う作品数が多いため豊富なデータを確保する上で有利であるという点や, これまでに科学的な分析の行われてきていないジャンルであるという点も挙げられる. 今回は分析する物語のジャンルを統一することで, システムが生成する物語を矛盾のない大まかな枠組みとして定めることができると考えた. これらの理由により, 謎解きを主題とするミステリを分析対象のジャンルとして扱うことを決定した.
一方で, 一般的に物語は時間順に起こった事象を並べるだけでは完成したよい作品になりうるとは言えない. 例えば, 謎解きの物語作品において, 時間順では冒頭で発生する事件や事象について詳細を語らず,
結末やオチの場面で回想などの挿入によって明かされる場合が存在する. こうした物語として時間順を入れ6Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
替えることは, 読者が想像した結末を迎え達成感を得たり, 予想外のオチによって驚きを得たりするなどの効果をもたらす.
続いて, 登場する人物について, 世界設定との間に矛盾を起こさないこと, そしてキャラクターそれぞれには役割が付随していることが重要である. この役割から分析を行うことで, 各キャラクターの特徴や方向性を検討できると考えられる. このとき, 役割は一般的な肩書きにこだわらず, 作品としての着地点と照らし合わせる必要がある. 例えば, 肩書きとしての探偵が事件の真相に至ることができず, 肩書きとしての助手が結末に導く場合がある. こうした場面では, データとして作成する際に, 肩書きとしての探偵をミスリーダー, 肩書きとしての助手を探偵と呼称する. このように他作品から抽出したデータと統合した際に, 同じ肩書きを持つ登場人物同士で役割が異なることや, 異なる肩書きにも関わらず同様の行動をしてしまうことを防ぐため,
データ内で用いる役割の名称をあらかじめ考慮する必要がある.
このように, 物語分析チームでは, ミステリ作品を分析対象ジャンルとして定めた. また, 分析を行うにあたり, 作成するデータでは常識知識の統一を行うこと, 各場面の定義とその連続関係について設定を行うこと,キャラクターを役割として記号化することを確認した. さらに, それぞれの設定についても, 広く一般的に利用できる情報や, 限定的な場面や背景でのみ利用できる情報があるということを確認した.
これを受けて, 具体的な物語作品を列挙し, 分析対象とするべき作品の選定を行った. この時挙げられた作品名の一例について, 図 3. 1. 1. 1 として提示する. これらから分析対象作品を選定するにあたり, 分析されたデータが質の高いものとなるようにいくつかの基準を設けた. 1 つ目は, 1 つの作品で多くの話数が発表されていることである. この基準は, 作品が長く続いている理由として多くの読者に一定以上の評価を受けている, すなわち質の高い作品群であると言えることから設けることにした. また, 同じ作者の同じジャンルの作品群の分析は, 典型的なパターンを抽出するために有効であると考えられるからである. 2 つ目は,分析をするにあたり映像の描写が容易であることである. これは, システムが映像作品を生成するにあたり,
物語中の各場面で焦点が当てられる対象を明確にするためである. 3 つ目は, 少年向け作品であることである. これは, 到達目標として挙げている小学生のシステムの利用を想定したものである. 児童でも読むことができる作品から分析データを抽出することで, 利用者にとっても読むことに苦労しない作品をつくることができると考え, それにより実際に利用した感想などを収集した際にふさわしい結果が得られると考えられるからである.
これらの分析作品を選出するための基準から, 物語分析チームでは『名探偵コナン』を分析することにした. 『名探偵コナン』は, 青山剛昌原作の推理漫画である. 謎の組織によって幼児化させられた高校生探偵・工藤新一が江戸川コナンと名乗り, 組織の行方を追いながら数々の事件を解決していく. 『週刊少年サンデー』にて 1994 年 5 号より『名探偵コナン』の連載が開始され, 現在も連載が続く作品である. 2014 年 6号で連載 20 周年を迎え, 2017 年 37-38 合併号で 1000 話となり, 『週刊少年サンデー』歴代史上最長の連載期間となっている. また, 総発行部数も 2 億部を超えていることも含め, 分析する対象作品としてふさわしいと考えた. ここで, 『名探偵コナン』作中では一部現実世界では未だ実現しえない発明品や道具を用いて物語を展開させる場面が存在する. これらは事件そのもののトリックには影響しないことや, 先に述べたように他作品との整合や実際にシステムとして生成する際の問題点を踏まえ, 今回の分析では無視して進めることにした.
7
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 3. 1. 1. 1. 検討された作品一覧（※文責：工藤健太郎）

3. 1. 1. 2 KJ 法を用いた分析

小説や漫画を分析し, データをただ集めるだけではデータに多くのノイズが入ってしまう. また, 今回は分析チーム 6 名各自で分析を行いデータに直す必要があったためそれによってもデータに表記ゆれや作品を分析する際の注目点といったものに差異が生じてしまう問題点が挙げられた. そこで諸問題に対して KJ 法という分析法を使用することによって解決を試みた.
KJ 法とはデータを内容の近いデータごとにグルーピングし, それに対して名前を付けて分析しまとめる方法である. 次の表 3. 1. 1. 2. 1 は KJ 法によって求めたデータを電子データ化したものである. 一番上が各データをグルーピングした際に付けた名前, その下には具体的なデータが並んでいる.
今回分析チームでは KJ 法を用いてミステリの小説や漫画について 6 人で 2 回分析を行った. 1 回目ではミステリの物語にについて各々が思いついた内容を好きなだけ列挙し付箋一枚一枚に書き込んだ. その際にできた付箋をデータとして模造紙に貼るという方法で一時的にまとめた. 次にある程度データが集まったら,チームメンバーで話し合いや同じ作品を輪読するなどし, それらを近いデータにグルーピングした. 最終的にそれぞれのグルーピングしたデータ群に当てはまる具体的な名前をつけてまとめた. 1 回目ではデータの内容の多くが名詞的, 静的なデータが集まった. 具体的には, ナイフや包丁といった凶器の種類, 血痕や足跡といった証拠となる物品や対象, ダイイングメッセージや暗号といったトリックが挙げられた. しかし, 物
語ではそれらの静的なデータだけではなく, 登場人物が行った行動などの動的なデータから, 状況や背景といった物語を構成するデータも存在する. 例えば, 刺すや殴るといった殺害方法, 金銭のもつれや妬み
8Group Report of 2017 SISP
Group Number 6

Interactive Storytellingや嫉みといった犯行の理由や背景などが挙げられた. 従って, 2 回目では先ほど述べた内容について焦点を絞って再度 KJ 法を行った. このときのデータの集め方は上記と同様の方法で行った. だだし, この後に集めたデータをただグルーピングするだけではなく, 模造紙の場所によってデータの属性や物語の時間の流れを考慮してまとめた. 模造紙全体の上下で物語の時系列とし, 模造紙左右を左側から探偵, 犯人, 被害やその他の登場人物に注目して上下左右でデータを並べえた. 一番上では登場人物の背景や, 犯行を起こした理由といった物語の設定に当たるものが挙げられた その下には, 物語での犯行を行われた行動や犯行の内容, 更にその下に探偵に依頼をする, 探偵が犯罪に出くわすといったものになっていた. 次に探偵
では捜索, 犯人またはその他では探偵の妨害工作, 警察での捜査といったのもが挙げられた. 下部になってくると, 物語の流れがある程度決まってきており探偵ではトリックに気づき推理を行う. 犯人は焦るや逃げる,
人質を取る. その他ではかばう, 逮捕するといった内容が挙げられた.
結果として, 模造紙の上部に当たる登場人物の背景や犯行までの過程といったものは多くの推理, ミステ
リ作品において多様な種類があるため, 一様にまとまりきらないということが分かった. また, 作品によってはトリックや話の流れとして時系列が他の話の構成と異なるところがあるなど時系列においても同様に単純に上下の時系列ですべての作品をひとまとめにできないことが分かった. これらの種類が単純なトリックの変更だ
けでなくミステリ, 推理物語の多様性につながると考えられる.
従ってこれらの KJ 法によって得られた分析データを参考にして, 物語分析チームのメンバー内でミステリの物語に対する共通知識の構築を行った.
表 3. 1. 1. 2. 1. KJ 法の電子データ
痕跡

解決の糸口

トリック

跡

一つだけ他と違う

足跡

遺書

斧で一撃で首を落とす

指紋

文字変換

結露

過去の共通点

指紋採取

水

同じクラス

電活

水圧

ダイイングメッセージ 隠し OO

すでに死んでいるのをばれないように焼く

返り血

正体不明の物音 暗号

レシート

ゴミ箱

ローソクを使用した時限装置

故意の痕跡

五感

電話は一台ではない（※文責：豊澤修平）

9
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
3. 1. 1. 3 動作頻度のリスト

動作頻度のリストとは, 物語分析の際にキャラクターが行った動作を記述し, その動作の頻度を数えたリストである. また, その動作が何に対して行われているか具体的な場所や相手も記述したものである. 具体的な例として, 表 3. 1. 1. 3 で頻度が一番高い｢聞く｣に注目してみた. これは, 今まで分析してきた物語の中でこの動作が 47 回登場しているということを示していた. 具体例の項目では, ｢刑事が人に｣など具体的に｢聞く｣という動作がどのようなものにより発生したかを記述していた. ただし, ｢刑事が人に｣を対象とする｢聞く｣という動作が 47 回登場しているということではない. ｢聞く｣という動作をするうえで対象とされているものを列挙していくのが, この具体例の項目である. 表 3. 1. 1. 3 を見てみると, 頻度の上位には｢聞く｣, ｢答える｣, ｢頼む｣, ｢説明する｣, ｢推理する｣などの動作があった. 体を動かす動作というより, 話す動作が多かった. これはミステリという物語の特徴が出ていると考えられる. ミステリという物語が基本, 話すことを中心に構成されていることが分かった. 体を動かす動作で上位に来ているのが, ｢見つける｣という動作である. これもミステリ特有で, 殺人事件で遺体を発見することや, 事件のヒントとなる物, 証拠品など見つけることにより, 推理が進み, 先程の話す動作に繋がり, 物語が構成されているのではないかと予想できる.
このリストを作成する目的は主に 2 つである. 1 つ目は, 物語生成チームに渡すデータとして必要だからである. 頻度に応じて, 常識知識の推移確率を決めるための題材になる. 2 つ目は, 映像生成チームが作るモーションの優先度を決めるためである. 頻度が高い動作を優先的に, 映像生成チームがモーションを作成
する. ただ, 今の表 3. 1. 1. 3 では動作の種類, 動作の頻度, 具体例という 3 つの項目で分けられているが,具体的な動作をモーションで作る際, 具体例が多すぎるうえに, 動作としては抽象的である. よって, 今後
は動作頻出度を数えるだけでなく, モーションを作りやすいようにするために, より具体的な動作と場所を記述していくことにする. 例として, 机を探すといっても, 探す場所が複数ある. そのような場合, ｢机+探す+下｣や｢机+探す+上｣とし, ｢対象物+動作の種類+具体的な場所｣というように記述する.
表 3. 1. 1. 3. 動作頻度リスト（※文責：川瀬稜人）
10
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
3. 1. 1. 4 物語分析

はじめに, 物語全体の流れを掴み, また第 3. 1. 1. 3 項で述べた動作頻出度を求めるために, 物語 1 つ
丸々の事象をすべての登場人物のすべての動きに着目して時系列順に書き出した. フォーマットは「誰が：どこで：何を：動作対象に：何をしたのか」に定めた. 例えば, 「依頼人が探偵事務所で探偵に事件の概要について話した」場合は「依頼人：探偵事務所：事件の概要：探偵：話す」と記述する. 行動や目線の動きはまた, 最初の内は必要な要素の判別がつかないため, なるべく細かく記述するように決め, 「事件の概要について聞いた探偵が驚いた」場合は, 「探偵：探偵事務所：事件の概要：依頼人：聞く」「探偵：探偵事務所：事件の概要：依頼人：驚く」と, 2 つに分けて記述する. 分析中に登場した「何をしたのか」をすべて動作頻出度のリストに追加した.
ミステリ作品に着手する前に練習として, 星新一の短編集を用いて分析練習を行った. 星新一の短編集を練習作品に選んだ理由としては, 星新一は 1000 編以上のショートショートを書いた作家として著名であり,また短い作品中に意外性を導入する物語展開の技巧は高い評価を受けてきた[1]からである. 例えば, 佐藤ら[2]の研究では物語パターンの抽出や, プロット分類の分析対象になっており, 星新一の短編集の分析を行うことにより, 物語全体の流れを掴む方法を検討することができるのではないかと考えた. 検討方法としては, 短編集の中から 1 人ずつ異なる 1 作品分析し, 分析結果と原作を比較しながら物語分析チーム全員で不足している点, 不要だったと感じる点について話し合い,最終的に必要な要素を判別する材料とした.
以下は, 星新一の短編「夜の侵入者」を分析した結果の一部である.
Scene1
Place：玄関ドア付近
Agent：メーキャップ(女), 脱走犯(男)
男：女：依頼：ドア開ける/開始/不安
女：立ち上がる：チャイム/開始/不安
男：女：質問：中の人/成功/不安
女：男：肯定：外の人/成功/不安
女：開ける：ドア/成功/不安
男：入る：家/成功/不安
女：男：聞く：男/成功/驚き
男：女：命令：女/成功/焦り
女：男：従う：男/成功/不安
女：男：聞く：男/成功/不安
男：女：確認：女/開始/不安
女：男：肯定：男/成功/不安
男：女：依頼：女/開始/焦り
女：男：追い返す：男/失敗/苦笑い
女：男：閉める：ドア/失敗/不安
男：女：止める：ドア/成功/焦り
11Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
男：女：語る：女/成功/焦り
女：男：問い：男/成功/不安
男：女：脅迫：女/開始/焦り
女：男：お願い：男/開始/不安
女：男：言いくるめる：男/成功/不安
男：女：反論：女/成功/不安
女：男：質問：男/成功/不安
男：女：脅迫：女/成功/焦り
女：男：従う：男/開始/不安
Scene2
Place：部屋の中Agent：メーキャップ, 脱走犯
男：女：決意表明：女/成功/不安
女：男：確認：男/成功/不安
男：女：語る：女/成功/普通
女：男：お願い：男/成功/普通
女：男：保険：男/成功/普通
男：女：命令：女/成功/普通
女：男：提案：男/失敗/不安
男：女：否定：女/成功/焦り
女：男：提案：男/失敗/笑み
男：女：否定：女/成功/焦り
女：男：提案：男/成功/普通
男：女：肯定：女/成功/普通
女：男：お願い：男/成功/普通
男：女：命令：女/成功/不安
女：男：冗談; 男/成功/普通星新一の短編集では, フォーマットを「誰が：動作対象に：何をしたのか：何を/結果/表情」に定め, 場面転
換や, 時間経過をきっかけにシーンごとに区切って分析を行った. 検討の結果, 物語全体の流れを掴むために有用である情報は「主人公の行動」と「物語が展開するきっかけになった行動」ではないかと判断し ,「誰が：動作対象：何をしたのか：何を/結果/表情」の形からフォーマットを「誰が：どこで：何を：動作対象に：何をしたのか」を変更した.
ミステリ作品の分析は星新一の短編集の分析から得た「主人公の行動」と「物語が展開するきっかけになった行動」が物語全体の流れを掴むために有用であるという結果を念頭に置きつつ, 星新一作品とミステリ作品では物語のジャンルが異なることを考慮してひとまず, すべての登場人物のすべての行動に着目して12Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
時系列順に書き出し, 再び分析結果と原作を比較しながら物語分析チーム全員で不足している点,不要だったと感じる点について話し合い, 必要な要素の検討を行った. 結果, すべての登場人物のすべての行動に着目するのではなく, 物語の結末から逆算し, 「探偵の行動」, 「探偵が事件解決のための証拠を得た行動」, また, その前後に着目した記述が物語生成に必要なデータであるのではないかと結論付けた. また,インタラクティブ・ストーリーテリングシステムの最終目標である物語の映像化にはそれらに加えて「登場人物の感情の動き」に関する記述が必要な要素であることがわかった.
以上のことから, 以降はすべての事象ではなく, 「探偵の行動」, 「探偵が事件解決のための証拠を得た行動」の前後, また「登場人物の感情の動き」に関するデータをより詳細に分析することに方針を決定した.

（※文責：平田郁織）

3. 1. 1. 5 典型的シナリオパターンの分析

KJ 法を用いた分析, 動作頻出度の抽出, 物語分析を行う中で, 物語にはある程度決まったシナリオの流れ, 必ず現れる台詞などがあることが明らかとなった. それらを分析することにより, インタラクティブストーリー
テリングシステムが生成する物語の大まかな枠組みを作成することができる. 同時に, その大まかな枠組みを物語として矛盾のないものに定めることができると考えた. 典型的シナリオパターンの分析では, 分析対象であるミステリ作品の中で, 事件解決のために探偵が解くべき最大の謎が似通っている複数の物語からそれ
ぞれの流れを分析し, 平均化を行った.
まず, 第 3. 1. 1. 4 項の物語分析から得られた結果を参照し, 物語中に使用されたトリック別に分類した.
このことにより, ミステリ作品においてどのトリックが頻出であるかを調べ, 典型的シナリオパターンを作成する
トリックの優先度を求めた. 結果, 物語中に使用された頻度の高かったものから順に密室トリック, 変装トリッ
ク, 偽装トリックの順に典型的シナリオパターンを作成することが決定した. 次に, 密室トリックの作品を再度見直し, 大体のシナリオの流れを物語分析チーム全員で相談しながら書きだした. このとき, これまでの分
析とは違い, 事象の発生とその前後の登場人物の言動に着目した. このことにより, 登場人物のどのような行動, 台詞が読者に明示されることをきっかけに物語が展開するのかを調べた. 結果, 密室トリック, 変装ト
リック, 偽装トリックいずれにおいても, 遺体発見, 捜査, 推理, 解決の流れは変わらない. しかし, それぞれのトリックにより遺体発見, 捜査が発生するきっかけが異なることがわかった.
そこで, まずは密室トリックの典型的シナリオパターンを遺体発見, 捜査の各パートに順に着目して分析を行った.
密室トリックでは遺体発見前に必ず, 登場人物が被害者と連絡が取れず, 被害者がいると思われる部屋を訪れるシーンが読者に明示される. そして, 呼びかけに応答しない被害者に, 登場人物が扉や窓を壊す,
もしくはマスターキーなどを持ってきて鍵を開けて室内に侵入するまでが遺体発見までの典型的パターンである. そうして密室を壊すことによって物語が展開し, 登場人物は遺体を発見する. 遺体発見後, 探偵は即座に室内への侵入経路がすべて閉ざされていることを確認し, 「被害者と連絡が取れない」「扉や窓を壊す」「マスターキーを持ってくる」といった要素を受けて, 「この事件は密室殺人事件だ」と判断し事件の捜査を始
13Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
める. 捜査パートでは, 図 3. 1. 1. 5 のように殺害された場所, 殺害方法, 脱出方法, 犯人の順で捜査が行われる. 探偵は被害者が死亡したのは密室の中であるのか, 外であるのかを捜査する.

図 3. 1. 1. 5. 密室トリックにおける捜査パートの典型的シナリオパターン
その判断によって密室を作り出した方法を探す, 本当の死亡場所を探す, といった形で捜査の方針を立てるが, 発見物の違いで方針が 180 度変更され, 振り出しに戻るパターンが少なくなかった.
変装トリックの典型的シナリオパターンは, 密室トリックとは異なり典型的シナリオパターンが複数存在する
ために作成が難航した. 一言に変装トリックと言っても,犯人が変装しているパターン,被害者が変装している
パターン,また第三者が変装しているパターンがあり,誰が変装しているかによって典型的シナリオパターンが大きく異なるからである. その中でも比較的登場頻度が高かった犯人が変装しているパターンの遺体発見パートのみ典型的シナリオパターンの作成が完了している. 犯人が変装している場合, 事件発生前に犯人が変装する対象が実際に物語中に現れる, または絵画や写真, 逸話を用いてその存在を読者に明示し, 読者に変装する対象の知識をあらかじめ与えられる. そして, 遺体発見の前後に登場人物の前に変装後の姿で登場し, 「誰が○○に変装してこの事件を起こしたのか」と読者に考えさせる.
密室トリック, 変装トリックのどちらも推理, 解決パートの典型的シナリオパターンは同じであった. 推理パートでは, 探偵が容疑者と警察を集め, 犯人が行った時系列順に推理を話す. 探偵の推理に容疑者と警察が反論をし, 探偵が発見した証拠品を提示する流れが複数回挿入される. 解決パートでは, 犯人が犯行を認め, なぜ犯行に至ったのかを告白し, 警察が犯人を逮捕することにより収束する.
このように作成した典型的シナリオパターンを用いて, 大まかな物語の枠組みを作成した.

（※文責：平田郁織）

14Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
3. 1. 1. 6 トリックデータベース

第 3. 1. 1. 5 項で作成した典型的シナリオパターンによって物語の大枠を定めることができた. しかしながら, 密室トリックの捜査パートの分析で述べた通り, 捜査パートの展開は探偵が発見するトリックを解くためのヒントによって大幅に異なる. そのため, システムが矛盾のない物語を作成するためには, 捜査パートの中の要素, つまり発見するヒントによってどのようなトリックを解くことができるのか, といった具体的なデータが必要であると考えた. よって, 本項では典型的シナリオパターンに挿入する, 探偵が各トリックを解決するために捜査パートにおいて, どのような証拠や痕跡をどこで, どの順に見つけたのかを分析した. トリックデータベースの作成について述べる.
トリックデータベースの作成において, 物語生成チームと相談してフォーマットを「探偵が：（探偵の）場所
で：発見物を：（発見物の）場所で：どのように発見したか」という形に定めた. 例えば, 図

3. 1. 1. 6.の捜査パートで「探偵が血の付いた包丁が床に落ちているのを発見した」場合, 「探偵：殺害現場：包丁：床：発見」
といった形に記述する. また, 探偵が他者との会話の中で証拠や痕跡を得たときは「どのように発見したか」の欄に「会話（※1）」と記述し, 注釈で会話内容をそのまま書き出すように定めた. これらを使用されたトリックの種類ごとにまとめてデータベースの作成を行った.
図 3. 1. 1. 6. 典型的シナリオパターンの 4 コマ漫画

以下は実際に作成した密室トリックのトリックデータベースである.

探偵：現場：部屋の鍵：床のノートの下：見つける
探偵：現場：電話：床：発見
探偵：現場：受話器：電話：発見
探偵：現場：殺人：事件：断定（※1）

15Group Report of 2017 SISP
Group Number 6

Interactive Storytelling※1
探偵「この電話床に落ちてるでしょ？」助手「それならきっと電話台が本棚と一緒に倒れたからじゃ…」
探偵「だったらなんで受話器が外れていないんだ？これは誰かが作為的に部屋を散らかした跡だ」

探偵：現場：留守番電話：電話：聞く
探偵：現場：ヒント：助手：会話（※2）
助手：現場：チェスの駒：床：拾う
探偵：現場：チェスの駒：助手：受け取る※2
助手「この事件はもうチェックメイトよ」

この事件は 1 つしか存在しない部屋の鍵が床に散乱したノートの下から見つかったことにより密室を作為的に作り出すことは不可能であり, 被害者が本棚の上のものを取る際に下敷きになってしまった事故であると思われた. しかし, 本棚と一緒に倒れた電話の受話器が外れていないことから事故ではなく殺害であると断定. その電話に大量の留守番電話が入っており, またチェスの駒を助手から受け取ったことにより, 探偵
は密室の作成方法についてひらめいた. 留守番電話のカセットテープの中身を適当な長さまで外に出し,カセットを電話にセットする. はみ出したテープをまっすぐ伸ばしながらドアの外に出て, 部屋のカギについているリングにテープを通す. 鍵をドアの音に残したまま余ったテープを持ってドアと留守番電話の直線上に,高さの同じチェスのポーンの駒 3 つを三角形に上下逆さに置き, 余ったテープの先端を電話に 1 番近い駒に載せ, ノートを駒の上に乗せる. 電話をかけると留守番電話が作動し, テープが巻き取られ, 駒にぶつかって駒がバランスを崩し, 鍵はノートの下に落ちる. 留守番電話を作動させ続けると, テープは巻き取られ,密室が完成するということに気づき, 殺人事件を推理した.
この場合, 密室を作り出すためには「カセットテープ式の留守番電話」と「チェスの駒」が現場にある必要がある. このようにトリックによって「現場にあるべきもの」が決まっており, それらを前提条件として箇条書きにした状態で物語生成チームにテキストデータで渡した.

（※文責：平田郁織）

3. 1. 2 最終発表までの活動
3. 1. 1 項では, 中間発表までに行った活動の内容について記述した. 本項では, それを受けてどのような問題が提起され, 最終発表までにどのような活動を行ったか記述する.
1 つ目の課題として, 分析対象作品を増やすことを挙げた. 物語分析チームでは, 作者や作品ごとによって, 抽出される典型的な物語の流れや登場人物の目標や考え方が異なることを確認した. この結果, 複数
16Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
作品を分析しデータ化することで生成される物語がより多様になると考えた. 中間発表までの活動では『名探偵コナン』について分析を行っていたが, 物語内の時間の連続関係や世界設定への矛盾を起こさない範囲内でなるべく多くの作品を分析する必要があると考えた. そこで新たに『Q. E. D. 証明終了』を分析対象
作品に加え, 活動を行うことにした. 『Q. E. D. 証明終了』は加藤元浩による日本の少年漫画作品であり,『月刊少年マガジン+』に連載されていた推理漫画である. 高校生で探偵役の天才少年・燈馬想と, その助手の役回りである彼の同級生の水原可奈が様々な事件や問題を解決していく作品である. 2014 年 2 月 20
日発売号をもって『月刊少年マガジン+』が休刊したことに伴い, 49・50 巻は単行本完全描き下ろしでの発表となった. 2015 年 4 月 20 日に創刊される雑誌『少年マガジン R』にて, 新シリーズ『Q. E. D. iff ―証明終了―』として連載が開始し, 現在も連載されていることから, 分析対象作品に加えることにした.
続いて, 動作頻出のリストの改良を行うことを挙げた. 3. 1. 1. 3 項で列挙したように, 具体例が多すぎることと, 動作が抽象的であるという指摘を受けた. また今回のシステムを作成する上で, 常識知識の推移確率に利用するのは難しいと判断し, 動作頻出のリストを映像生成チームのモーション作成のための優先度づけのための利用に限定することとした. この結果, 例えば「考える」という動作を「首をかしげる」というように, 具体的で変化の分かりやすい動きの名称への変更を行った. また同じ動作で言い換えられる行動については一つに纏めるなどの修正を行って, 映像生成チームにこのリストを渡した.
次に, 典型的シナリオパターンとトリックデータベースの不足が問題として提起された. 典型的シナリオパ
ターンについて, これまでに分析を行った密室のトリックを用いたパターンのほかに, 犯人が変装した場合のシナリオパターンを製作することにした. また, それぞれのトリックを用いたシナリオパターンでも, 捜査を行う
手順や, 行動の仕方も異なることがわかった. これらの特徴をパターンとして取り入れることで, パターン数の増加, すなわち生成される物語数の増加を見込むことができる. また, トリックデータベースについても, 3. 1.
1. 6 項で述べた手法を用いてデータ化を行っていく. ここで, 新たにセリフデータを追加することを決定した.
動作頻出のリストを作成したことで, 物語の重要な役割のなかに各登場人物の発言があることを発見した.
つまり, 物語の多様性を生む重要な要素としてセリフがあることがわかる. こうした経緯から, セリフデータの追加を行うことにし, これについて 3. 1. 2. 3 項にて後述する.
さらに, 物語生成チームからの依頼を受けて, 各種のデータに統一された基準を持つ ID の割り当てと, 1
つの Excel ファイルとして分析データをまとめる作業を追加することにした. 4. 2 項にて後述する物語としての生成を行う際に, これまでに作成した各種のデータを複雑に行き来する必要がある. これを解消するための提案として統一化された ID を振る形式を採用した. また同様に, 各種データの縫い合わせの簡略化のために 1 つの Excel ファイルへの統一を行うことを決定した.
（※文責：工藤健太郎）

3. 1. 2. 1 典型的シナリオパターンの分析

典型的シナリオパターンのフォーマットとデータの内容は 10 月に入ってから変更を行った. その理由としては第 6. 1. 1. 3 項のアカデミーキャンプでのアンケート結果への対応が必要と判断されたことと, 第 6. 2 項
17Group Report of 2017 SISP
Group Number 6

Interactive Storytellingの赤川小学校での授業に合わせる必要があったことの 2 つが挙げられる. アカデミーキャンプでストーリー作
成ワークを行った結果第 6. 1. 1. 3 より「現実」の依頼達成では「成功」, 「現実」の推理では「シュール」が多く選ばれる傾向が分かった. また, 赤川小学校では第 6. 1. 2 項と同様の内容を行うことになっていたため, 内容が授業にふさわしいものでなければならないといことが挙げられた. 従って上記の理由より, 典型的シナリ
オパターンの話の内容を殺人が含まれたものから, 殺人なしのハッピーエンド, シュールエンドの 2 つに変更を行った. また, 2 つ目ではセリフの属性データについても同様に「男性」と「おかま」の 2 種類でデータをまとめることになった. また, 生成する物語に選択肢をつけることなったため, 一部の場面において 2 つの状況を考えたパターンを追記した.
10 月以降の典型的シナリオパターンでは第 3. 1. 1. 5 項の内容を踏襲してデータの作成を行ったため, まず内容を書き換えるところから始めた. 内容については赤川小学校での発表のため殺人などの倫理的に問題がある内容が含まれない話でなければならなかった. また, 「成功」と「シュール」の 2 つの内容であること考慮しなければならなかった. 以上の制約の下で以前のデータを第 3. 2. 2. 2. 1 項にあるようなフォーマット
で書き換えた. ただしこの段階ではまだ ID をつけていなかった. 次に, セリフ属性の変更を行うために完成させたデータの「-r 役割」が探偵であるものを抜き出し, その中のセリフを時系列順に別のテキストファイルにまとめた.
以下がそのまとめたデータの一例である.

*1:男性:ただ事じゃないな、行こう！
*1:おかま:ただ事じゃないなさそうね、行くわよ！
*2:男性:どうかしたんですか?
*2:おかま:どうかしたの？
*3:男性:早く鍵を！
*3:おかま:早く鍵を持ってきなさい！
*4:男性:脈がある。よかった、無事だ*4:おかま:脈があるわ！良かった～*5:男性:大丈夫。私は探偵です。何があったのですか？
*5:おかま:大丈夫。私は探偵よ。何があったの？
*6:男性:全員、誰も何も触れないでください!<助手 A>、警察を呼ぶんだ*6:おかま:みんな、誰も何も触れちゃダメよ!<助手 A>、警察を呼びなさい*7:男性:一体誰が……？
*7:おかま:一体誰なの……？
*8:男性:ああ、事件だ*8:おかま:ええ、事件ね*9:男性:ええ…そして、盗難が起こってしまったというわけです…
*9:おかま:ええ…そして、盗難が起こってしまったというわけよ…
*10:男性:いいえ。全く見当もつきません…
18
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling*10:おかま:いいえ。全く見当もつかないわ…
*11:男性:いいや、まだそうは決まっていないさ…。まだこれからさ*11:おかま:いいえ、まだそうは決まってないわよ…。まだこれからさね*12:男性:皆さん、私はこの事件全て解き明かしました*12:おかま:皆、私、この事件全て解き明かしたわ*13:男性:ええ、今から順を追って説明しましょう…
*13:男性:ええ、今から順に説明するわね…
*14 男性:犯人はあなたです。<犯人 A>さん
*14:男性:犯人はあなたよ。<犯人 A>さん
*15:男性:大丈夫です。あなたはまだやり直せます*15:男性:大丈夫。あなたはまだやりなおせるわよ
このようにしてデータを作成した典型的シナリオパターンのファイルごとに集め, そのファイルごとに探偵のセリフの属性を「男性」と「おかま」で対応するようにセリフを追記した. しかしこれではファイルの数が倍になり,バグの原因や修正を行う際の仕事量の増加やバージョン管理といったことが困難になってしまうといった問題点があった. また, セリフの内容が時系列順に固定されてしまうため, 複数のファイルから物語を自動生成する際に同じ時系列の箇所において違った話し方やセリフの変更をするのが難しいということが明らかになった. そのため, 典型的シナリオパターンとセリフ属性データの 2 つを再度同じファイルにまとめ, 一つのデータとしてまとめられるようにした. そして, それらに対して第 3. 2. 2. 2. 1 項に則りデータに ID を付加し全てのデータを一括で管理できるように変更を行った.
しかしここで, 典型的シナリオパターンに対してトリックデータベースを入れる際を考慮した ID の割り当てになっていないということ, インタラクティブ性を出すための選択肢を作るという 2 つの問題が生じた. この問題を解決するためにトリックデータベースを入れる箇所を固定し, その入れた ID の後の ID を 10 進め, トリッ
クデータベースの終わりを分かりやすくし典型的シナリオパターンの ID と混同しないように再度修正を行った.
更に時系列の ID 番号を 0 から 099 までが分岐が起きる前までの固定のシナリオとし, 分岐をさせるために100 から 199 までが扉を開ける, 200 から 299 までが扉を破壊で固定化した分岐にした. そして 300 以降が分岐後の固定のシナリオという ID の割り当てに変更を行った. 以上の修正を行い, そのまとめた結果を
Excel ファイルにまとめた.
（※ 文責：豊澤修平）

3. 1. 2. 2 トリックデータベース

3. 1. 2. 1 項で述べられた典型シナリオパターンと同様に 10 月からトリックデータの変更を行った. その理
由としては, 10 月に訪問した赤川小学校でのシステムの発表の際, 殺人が起きるトリック内容は避けなければならなかったためである。また, データは登場人物の探偵の行動に対して焦点を当てているため, それ以19Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
外の登場人物の行動と事件捜査部分が希薄でありこれでは推理物語として情報が不十分であることの 2 つが挙げられたためである. 変更されたテキストファイル形式のトリックデータにおいては, 捜査場面における探偵の現場検証の際に現場で発見した犯行の痕跡と犯人を特定するためのヒント, そして推理場面における犯行とトリック内容についての解説と犯人の正体について名指しし, 犯行の証拠を提示する場面までを記述した.
新たなデータは, 冒頭部, 発生部, 捜査部, 解決部の 4 つから構成される. 冒頭部は事件発生前における探偵たちの日常的な会話劇であり, 事件解決のための伏線等が含まれた場面である. この場面を典型的
シナリオパターンに取り入れることで, 物語プロットの分量も増やすことが出来ると考えられたため含むこととした. 追加を決定したのは, Excel にデータをまとめる段階である. まとめてデータの整理を行っていたところ,
典型的シナリオパターンに冒頭にあたる場面がないパターンデータがあったため, トリックデータベースに入れることでそのトリックを扱う事件ごとに違った物語を増やすことが出来ると判断できたため追加した.
発生部には, 事件発生前後に発見された痕跡について発見した際の説明と分析といった流れが含まれている. そして次の捜査部には探偵または刑事が事件に関わった容疑者たちに対して情報のやり取りを行う
事情聴取が対応している. 解決部は推理後における犯人からの犯行を行った動機を告白する場面である.
事情聴取では探偵または警察が事件発生から事件後までどこにいたのか等の行動について聴取することで,事件発生までの登場人物の紹介と犯人特定のためのヒントとなる場面と事件発生後に犯行現場となった部
屋の探索を行うことにより, 事件を起こした犯人の残した痕跡等を確認することで犯行現場以外の場所を探索し, 犯行状況を明確に分析できるきっかけが与えられる場面である. これらをトリックごとに書くことで, 典型的シナリオパターンに入れる際に, 異なるデータ内の場面が入り物語の分量も増やすことが出来る. 以上から, 10 月以降のトリックデータベースを 3. 1. 1. 6 項で述べられた内容を踏襲しつつ, 上記の変更した構成を基に,トリックデータの書き直しを行った. 最終的には, 密室によるトリックデータは２本, 変装によるトリック
データは１本を書きだした.
典型的シナリオパターンは事件発見における直前から開始されるため, その冒頭に当たる場所に挿入するため, トリックデータに事件発見前の前日談にあたる冒頭部を作成した. それは物語が開始されたときに探偵と助手などの登場人物が事件発生直前の場面に関わっていることや, 日常的な会話を冒頭部に入れることで, 似た形のトリックがあったとしてもその違いで物語のプロットパターン数を増やすことが出来るためである. 作品のトリックデータを分析する際, トリック内容や犯人の犯行過程などの推理物語の基本にあたる場
面の前に, そのトリックを解くためのきっかけを見つけるにあたり, 事件開始前に被害者や容疑者に当たる登場人物の動機に関連するやり取りの会話を書き連ね, テキストファイルにまとめた.
また, 探偵の属性, すなわち登場人物の性別ごとに話す台詞を幾つか設定した台詞属性データを別ファ
イルにて保存した. 具体的には典型的シナリオパターンと同様に, 探偵を対象に男性による台詞とおかまによる台詞の二種類に分けて作成した. その際, トリックデータベースとは別のテキストファイルで 2 種類の台詞を入力し保存した. 下記に実例を示す.
*1:男性:大丈夫です. あの後気絶してしまいましたが, 問題ありません*1:おかま:大丈夫よ. あの後気絶しちゃったけど, 問題はないわ*2:男性:んん?そう言えばあの時なんだか怪しい人を私見ましたよ20
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling*2:おかま:あらら?そう言えばあの時なんだか怪しい人を私見たわね
このような形式で台詞データをテキストファイルに記載した. このデータに関しても上記の 3. 1. 2. 1 項で挙げられた問題点と同様の懸念があるため, トリックデータベースも同様に台詞データと合わせて, Excel ファイ
ルとしてデータ化を行った.
以上の過程を経て, 修正したトリックデータを Excel ファイルとして完成させた.
（※ 文責：菊地亮太）

3. 1. 2. 3 セリフデータ

データを蓄積していく中で, 登場人物のセリフもデータとして集めることが提案された. なぜなら, 典型的シナリオパターンとトリックデータベースだけでは自然な物語にはならなかったためである. 主に事件発生前の登場人物の何気ない会話やその後起こる事件の伏線, 事件解決後の後日談などをセリフデータとして収集することにした. セリフデータは後述する赤川小学校での発表時のシステムにも組み込まれる予定であったが, 抜き出すのはセリフだけであったので収集対象の話に暴力的, 反社会的な内容が含まれていても問題はないと判断した. 下にセリフデータの実例を示す. これは Q. E. D. 16 巻「死者の涙」から制作した.
*1:容疑者 A:ご相談したいことが……. あなたは東京で警察官をしていますよね？
*2:警察 A:ええ, まぁ……
*3:容疑者 A:この手紙を見て下さい。私宛に送られたものです*4:警察 A:差出人は……
*5:容疑者 A:この地元で中学, 高校と友人だった女性です*6:警察 A:中を見ても?
*7:容疑者 A:どうぞ
このようなセリフデータを話ごとにファイルを分け作成し, それぞれの探偵のセリフを「男性」, それに手を加えたものを「おかま」に対応するようにした.

（※ 文責：久野露羽）

3. 2 データの仕様
3. 2. 1 中間発表までのデータの仕様
小説, 漫画を読み, 物語の時間順に沿った物語の構造, 動作頻度, 物語の典型的なパターンのデータ,
トリックデータベースを作成した.

21
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
最初にミステリの物語の規則性を発見するため, 3. 1. 1. 4 項で説明した物語分析のデータを作成した. データを 5 つの要素（役割：場所：物品：対象：動作）で作成したのは, アニメーションを動作させるために必要な情報であったからである. この要素を物語中から抽出することでどの人物が, どこで, 何を所持(利用)し,動作対象に対して, どう動作したかということを Unity に設定することができる. そして, この 5 つの要素を物語の始まりと終わりまでの流れに沿って, 上から順に 1 行ごとにテキストファイルに書き出した. またテキストフ
ァイル形式でまとめたのは, 互換性が高く幅広い環境でテータを利用できるため物語生成チームが使用するプログラミング言語の Python と C#間のデータのやり取りすることができるためである.
次に「動作」の頻度をまとめるため, 3. 1. 1. 3 項で述べた動作頻度のリストを作成した. ただ, 物語の流れに沿って「動作」の抽出を行うと要素が頻度に関係なく不揃になるため Excel 形式でまとめた. また Excel でまとめてたのは「動作」や「動作」の頻度でソートをかけるなど, 後にデータを分析しやすいようにするためである. 加えて, Excel では行列のマスで縦横に並ぶ要素を確認しやすく, データのフォーマットが変わった際にもすぐに行や列を追加してすることが可能なためである.
リスト作成後, 「対象」要素に具体的な場所指定をする形式に仕様が変わった.
Python で物語生成を行う際, 物語の流れが矛盾しないようにするために物語典型パターンを第 3. 1. 1. 5
項で説明した形式で作成した. これまでに分析したデータを印刷し, 物語で使われたトリックを種類ごとに分類した. その後, 分類した中で多く使われていたトリックをピックアップし, そのトリックを使用した物語がどのような順序で展開が進むかをホワイトボードに書き出すことで平均化を行った. その平均化したデータを 3. 1.
1. 4 項と同様の手法でテキスト形式にまとめた.
最後に, システムが生成する物語に多様性を持たせるため, トリックデータベースを第 3. 1. 1. 6 項で説明した形式で作成した. まず初めに物語典型パターンの種類に合ったトリックの物語を探し出す. そして, その物語における探偵役に注目し探偵役がトリックに気づく要因となった場面を, 5 つの要素(探偵：場所：発見
物：発見物を発見した場所：どのように)で一行ごとに書き出しテキストファイルに書き出した. 5 つの要素を使用したのは, 探偵がトリックを解決するためには, 探偵がどこにおり, そこで何に着目して, どんな手がかりに気づいたのかをデータベースにするためである. そのテキストデータを, Python を使用してデータベースにまとめた.

（※文責：菊地亮太）

22
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

3. 2. 2 最終発表までのデータの仕様
3. 2. 2. 1 全体的なデータの仕様
ミステリ作品を分析していくうえで, 典型的な物語に, トリックの部分を書き換えれば, 新たな物語を生成できるのではないかという考えがあり, 今回のデータを作成した. 扱うトリックの種類としては,密室を扱った事件と, 変装を扱った事件の二つを扱った. ミステリ作品には, 様々なトリック要素が不断に用いられているが, それらを全て扱うと複雑になり, データ作成などに支障が出ると判断し,

上記の二つの密室, 変装を軸に作成することにした. その中で, これら二つだけを典型的な物語として, 扱ってもインタラクティブさに欠け,
尚且つ面白さも欠けていた. また, 小学生に見せる際に,殺人などの暴力的なものを見せるのはよくないので避けてほしいという小学校側の要求により, 殺人などの暴力的な行為を行わないミステリにする必要があった. そこで, 物語の結末のパターンとして, シュールな物語と, ハッピーな物語を採用した. そして, 探偵の属性を変えることができるようにした. 用いた属性は, 本来の性別である男と,おかまを採用した. このよ
うに物語のパターンをシュールとハッピーにしたことや, 探偵の属性を変更できるようにした主な理由は, バラ
エティを増やし, 面白さを増すためである.
これらの物語を生成するために以下のようなデータの仕様を作成した.

ID-r 役割-s セリフ-a 動作-p 場所-t 物品-d 対象
ID は, 物 語のデータごとに分 け, データそれぞれを管 理するために用いられた . 具 体 的 な ID は,123456789 のような 9 桁の数字になっている. 例にある 9 桁の数字の最初の 1 桁目は, どのデータを扱うか表している. 1 であれば, 典型的なシナリオパターン, 2 であれば, トリックデータベース, 3 ならセリフデータを表した. 例で 23 となっているの 2 桁の次の数字では, どのファイルに属しているかを表した. 4 桁目の数字では, そのデータがどこのシーンをあるかを表した. 1 であれば冒頭シーン, 2 であれば発見シーン, 3 であれば捜査部のシーン, 4 なら解決部のシーン, 5 なら後日談のシーンとした. 5 桁目から 7 桁目の 3 桁の数字の場
所は, そのデータの時系列を表した. この時系列を表す表記の仕方には, 典型的シナリオパターン, トリック
データベース, セリフデータによって異なった. 典型的シナリオパターンでは, 物語中に分岐が存在した. それらを表すために, 分岐前は 000 から始まり 099 までが基本的な流れ, 分岐の部分では 100 から 199 まで
が分岐パターン 1, 200 から 299 が分岐パターン 2 というように表した. 分岐が終わった後のデータ表記は
300 から分岐前と同じように表記した. トリックデータベースでは, 0 から順に時系列を記述していった. セリフ
データでは, 0 から順に時系列を表記していった. この時系列の表記は, シーン内で表記していくものであり,シーンが変われば 000 または 0 から順に表記した. 8 桁目の数字の場所は, どの属性に属しているかを表記
した. 0 であれば, 助手や容疑者などの探偵以外の役割を持ったキャラクターに付与された. 1 であれば, 探偵が男性であること, 2 であれば, 探偵がおかまであることを表した. 最後の 9 桁目の数字の場所は, そのデータが回想かどうかを表した. 1 なら現在の話であり, 2 であれば, 回想の話にした. 以上のような 9 桁の数字
によって ID を構成した. 続いて, ID に続くデータの仕様を決定した.
ID に続くデータの記述には, -のあとに指定のアルファベットを付け, 空白を開けずに, そのアルファベットが意味することを記載した. まず, ID の次に記述する事柄として, -r 役割がある. これは, そのデータは誰に23Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
よって行われているものか示すものである. 誰といっても, 名前である固有名詞を指しているのではなく, 探偵や助手などの役割を持つ人を記述した. 仕様の関係上, -r 役割に記述する人物は一人とした. また, 探偵が二人いた場合や, 容疑者が複数いた場合も考えられた. そのため, 役割のあとにアルファベットを付け,
順序付けを行った. 例として, 探偵 A, 探偵 B, 容疑者 A, 容疑者 B, 容疑者 C, 犯人 A といった形に記述した. 犯人 A という記述でもあるように, もしその役割が一人だった場合でも, アルファベット順で最初に来る A をつけた. -r 探偵の次に来るのは, -s セリフである. -s セリフは, 役割を持つ人物が放ったセリフを記述した. 他に, 人物が放ったセリフ以外にも役割がある. 典型的シナリオパターンからトリックデータベースに映る仕様がある. この時, どの部分に移るか分かるように「@事情聴取」のように記載した. 次に来るのは-a 動
作である. これは, 役割を持つ人物がどのような行動をとっているか示したものである. 物語の中には多種多様な動作が存在した. それらを記述し, すべてにモーションを付けるのは大変困難なものである. そのため動作の表記をある程度まとめ, 近いものに記述し直した. 3. 1. 1. 3 でもあるように, 前期には動作頻出度リストを作成した. そのリストも, 出てくる動作すべてをリストに記述していたため, この物語を構成するうえで, この動作は欠かせないというものをピックアップし, 動作頻出度リストをまとめた. そのまとめた動作頻出度を元に, モーションの作成を依頼した. 今回のインタラクティブストーリーテリングシステムで扱うこととした動作は次のものである. 話す, 歩く, 走る, 入る, 出る, 運ぶ, 座る, 座っている, 怒る, 驚く, 近寄る, 指示する,
見る, 見渡す, 見上げる, 起き上がる, 推理する, 呼ぶ, 扉を開ける, 鍵開け閉め, 携帯を取り出す, 話す,
取る, 倒れている人に触れる, しゃがむ, 叩く, 取り出す, 扉が開かない, 飲む, 寝る, 拾う, 体当たり, かか
えあげる. これらの動作の中に含まれていない場合は, より近いものを欄に記述することにした. 例として,指をさす, 指さし, 見つける, 宣言するなどは指示するに該当した. また, このインタラクティブストーリーテリ
ングシステムには-s セリフか-a 動作のどちらかが記述されていなければならない仕様とした. 続いて来るデー
タは-p 場所である. そのデータがどの場所で行われているか示したものである. この-p 場所は, 前のデータ
から場所が変わったときにのみ記述した. 続いてのデータは-t 物品である. これは動作などをする際に, 用いるのに必要なものを記述した. 続いてのデータは-d 対象である. これは役割の人物がどこを向いているかを示すためのものである. ただし, -d 対象は実際のオブジェクトの方向を指すため, 部屋のオブジェクトと人物以外の表記をしないこととした. また, データを収集する際, そのデータがなかった場合記述しないこととした. 例として, -d 全員や-d ポケットなどは記述しないようにした. 以上のような仕様を元に記述していったデータを以下に示す. ただ, エクセル形式の表にまとめても, ID の部分が特に見にくいため, 文章として示した.
また, すべて記述すると膨大な量になるため, 特殊な箇所のみ抜粋し記述している.

24
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
典型的物語パターン
1011 311-r 探偵 A-a 見る-d 犯人 A(変装)1011 1001-r 犯人 A-s はい. 私はこの部屋の者で, 電話で家族が助けを呼ぶ声が聞こえて……-a
話す-d 探偵 A
1011 1111-r 探偵 A-s 早く鍵を！-a 指示する-d 被害者 A
1011 1121-r 探偵 A-s 早く鍵を渡しなさい！-a 指示する-d 被害者 A
101210001-r 犯人 A-s は, はい！-a 取り出す-t 鍵
101210101-r 犯人 A-a 鍵開け閉め-t 鍵-d 扉
101220001-r 犯人 A-s しかし, 鍵は今手元には…
101220111-r 探偵 A-s どいてください！ドアを壊します！-a 指示する-d 被害者 A
101220121-r 探偵 A-s もういい, どきなさい！ドアを壊すわ！-a 指示する-d 被害者 A
101220211-r 探偵 A-a 体当たり-d 扉
101230011-r 探偵 A-a 見渡す-p 現場
101231311-r 探偵 A-s ああ, 事件だ-a 指示する-d 助手 A
101231321-r 探偵 A-s ええ. 事件よ-a 指示する-d 助手 A
1013 011-r 探偵 A-a 見る
1013 111-r 探偵 A-a 見渡す-p 外1013 211-r 探偵 A-a 見渡す-p 外1013 301-r 助手 A-s 何も出ませんね…. 外部犯の仕業でしょうか？-a 話す
1013 411-r 探偵 A-s いいや, まだそうは決まっていないさ-a 話す
1013 421-r 探偵 A-s いいえ. まだそうは決まっていないわ-a 話す
1013 501-r 刑事 A-s@事情聴取-p 現場-d 被害者 A
1014 411-r 探偵 A-s@事件概要-a 話す
1014 421-r 探偵 A-s@事件概要-a 話す
1014 511-r 探偵 A-s@犯行過程-a 話す
1014 521-r 探偵 A-s@犯行過程-a 話す
1014 611-r 探偵 A-s@トリック(変装)-a 話す
1014 621-r 探偵 A-s@トリック(変装)-a 話す
1014 701-r 犯人 A-s そ, そんな……. すべてうまくいってたはずなのに！くそうっ！-s しゃがむ
1014 1001-r 犯人 A-s@自供1014 1111-r 探偵 A-s(こうして犯人は自供し, 事件は解決された……. )-a 話す
1014 1121-r 探偵 A-s(こうして犯人は自供し, 事件は解決された……. )-a 話す
1014 1211-r 探偵 A-s 後日談-a 話す
1014 1221-r 探偵 A-s 後日談-a 話す
1021 011-r 探偵 A-s 冒頭部
1021 021-r 探偵 A-s 冒頭部
25
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
1021 111-r 探偵 A-a 歩く-p 廊下
1021 201-r 助手 A-a 歩く1021 311-r 探偵 A-a 見る-d 犯人 A(変装)1021 411-r 探偵 A-s!
トリックデータベース
2033 001-r 刑事 A"-s さて, ではあなたは…？"-a 話す-p 現場
2033 101-r 容疑者 A-s 私はニシノ ソノです. 隣に住んでいます……-a 話す
2033 201-r 刑事 A-s へえ. それはそれは……-a 話す
2033 301-r 容疑者 A"-s ち, 違います！私は強盗なんてしていませんから！"-a 話す
2033 401-r 刑事 A-s 分かりました……ではあなたは？-a 話す
2033 1401-r 犯人 A-s 私はキリシマ ショウゴです. この家の住人です. -a 話す
2033 1501-r 刑事 A-s 盗まれたモノとは?-a 話す
2033 1601-r 犯人 A-s はい. 我が家で一番大切な指輪です. それが盗まれてしまいました…. -a 話
す2033 2811-r 探偵 A-s ん, 何だこのにおい?化粧品?-a 話す
2033 2821-r 探偵 A-s ん, 何このにおい?化粧品かしら?-a 話す
2033 2901-r 助手 A-s え, ええ!?ち, ちがいますよ!-a 驚く
2033 3011-r 探偵 A-s 何かにおうな, あの人からか……?ん？これはどこかで…-a 見る-d 犯人 A
2033 3021-r 探偵 A-s 何かにおうわ, あの人からかしら……?ん？これ, どこかで…-a 見る-d 犯人 A
2033 3101-r 刑事 A-s ツネモリ アカネさん, 顔になんかついてますよ?-a 話す
2033 3201-r 助手 A-s えっあー, 何だこれ……-a 驚く
2033 3311-r 探偵 A-s―――!-a 話す
2033 3321-r 探偵 A-s―――!-a 話す
2034 011-r 探偵 A-s 今回の事件は, 被害者が眠っている間に自宅に強盗が入り込み,指輪を盗んだというもの. しかし, 真相は異なる. -a 話す
2034 021-r 探偵 A-s 今回の事件では, 被害者の眠っている間に自宅に入り込み,指輪を盗んだ.
でも, 真相は異なるわ. -a 話す
2034 1011-r 探偵 A-s 犯人は, 変装していたんですよ. 女性の恰好をしてね. -a 話す
2034 1021-r 探偵 A-s 犯人は, 変装していたんですわ. 女性の恰好をしてね. -a 話す
2034 1111-r 探偵 A-s それに顔に文字を書いたのも, 写真を撮ったことも, 強盗の仕業に見せかけるための嘘でしょうね. -a 話す
2034 1121-r 探偵 A-s それに顔に文字を書いたのも,写真を撮ったことも, 強盗の仕業に見せかけるための嘘でしょうねェ. -a 話す
2034 2111-r 探偵 A-s そして文字は, ハンコみたいに写したんですよ. そうしたのは, 犯行中に不測の事態が起こった場合でも短時間で済ませられるから. -a 話す
26
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling2034 2121-r 探偵 A-s そして文字は, ハンコみたいに写したのよ. そうすれば, 犯行中に何か起こっても短時間で済ませられるから. -a 話す
2034 2201-r 犯人 A-s え？-a 話す
2034 2311-r 探偵 A-s 犯人は, クリアファイルと水性ペンと油性ペンを使ったのです. まず,表に油性
ペンで文字を書き, 次にファイルを裏にして, 水性ペンで字をなぞる. そして, 水性ペンで書いた面のファイルを被害者の顔に張り付けた. それで文字が映すことが出来る. -a 話す
2034 2321-r 探偵 A-s 犯人は, クリアファイルと水性ペンと油性ペンを使ったのよ. まず, 表に油性ペンで文字を書き, 次にファイルを裏にして, 水性ペンで字をなぞる. そのあと, 水性ペンで書いた面のファイルを被害者の顔に張り付けたんだわ. それで文字が映すことが出来るもの. -a 話す
2034 4301-r 犯人 A-s……お金が必要だったんです. 私の趣味にはどうしても. だったら私たちが大切にしていた指輪を売ればいいと思いました. -a 話す-d 探偵 A
2034 4401-r 犯人 A-s 妻には反対されました. それも当然のこと. それでも諦めきれなかった私は強盗の仕業に見せればお金を手にすることが出来る. そう思いました. -a 話す-d 探偵 A
2034 4501-r 犯人 A-s 上手くやり過ごしたかったんですが, うまくいきませんでした…どうしてもメイ タ
ンテイさんの目をごまかすことが出来なかった……-a 話す-d 探偵 A
セリフデータ3011 001-r 助手 A-s だいぶ荒れてきたね-a 話す-p 部屋 B
3011 101-r 探偵 A-s 日が悪かったな～台風が接近してるなんて-a 話す
3011 201-r 助手 A-s しっかしメイ タンテイ, よくこんな面倒なこと引き受けたね-a 話す-d 探偵 A
3014 2301-r 犯人 A-s クッ……クク……そうか！ そこが抜けてたな！！-a 話す-d 探偵 A
3014 2411-r 探偵 A-s……以上,証明終了です-a 話す
3014 2501-r 刑事 A-s そらっ. きりきり歩かんかい!!-a 話す（※ 文責：川瀬稜人）

3. 2. 2. 2 典型的シナリオパターンのデータの仕様
まず初めにデータに変換するトリックの種類を選択した. 今回は密室と変装が分析対象の漫画から多くのデータを集められたため, これらを典型的シナリオパターンとして選択した. 次にそのトリックの大まかな話の平均化を行った. この際に各トリックの種類でできるだけ多くの必要な要素のピックアップを行った. 例えば
密室では必ずトリックが行われた部屋が存在し, 変装では変装したという事実が物語の登場人物に提示され,共通しているところとしては探偵が推理をして犯人を見つけ出すなどが挙げられた. 平均化を行うとトリックの種類ごとにある一定の固定化された流れがあることが分かったが, 固定化されない構造も存在する. 第 3. 2.
2. 1 項の ID 振り分けにおけるシーン 1 番の冒頭部は物語によって大きく異なるため平均化を行うことができなかった. 従って典型的シナリオパターンではシーン 2 番の発見部から 4 番の解決部までを平均化を行っ
27Group Report of 2017 SISP
Group Number 6

Interactive Storytellingた. 上記の方法で分析が行われたデータを今度は第 3. 2. 2. 1 項に則りシステムが扱うことができるデータフォーマットに変更を行い Excel ファイルにまとめた. Excel にまとめる際には ID を付与しまとめるが, このときトリックデータベースとセリフデータを挿入する箇所をあらかじめ用意しておいた. その箇所の「-s セリフ」には挿入するデータの名前を書き, その次の ID 番号を 10 進めて再度記述を行った. また, シーン 2 番の発見部においては物語の分岐を行った. そのため, シーン 2 番の時系列番号は 000 から 099 までが分岐の前の固定化された流れ, 100 から 199 までが分岐 1, 200 から 299 が分岐 2, 300 以降が分岐後の固定化された流れとして ID 付けを行った また, 「-r 役割」が探偵においては属性の変換を行えるようにするため, 対応する「-s セリフ」のデータを属性分用意しておいた. これらの完成したデータをトリックデータベースとセリフデータ
ベースの整合性が取れる組み合わせになるように ID の対応表の作成を行った.
（※文責：豊澤修平）

3. 2. 2. 3 トリックデータベースのデータの仕様
3. 1. 1. 6 項で述べられた前期でのトリックデータベースから後期に入り, データ形式が変更された. それまでのトリックデータベースは役割:場所:物品:対象:動作の５つのデータ要素で表し, 捜査場面での展開は探偵が発見するトリックを解くためのヒントによって大幅に異なるデータとして作成されていた. そのため, システ
ムが矛盾のない物語を作成するためには, 捜査パートの中の要素, つまり発見するヒントによってどのようなトリックを解くことができるのか, といった具体的なデータが必要であると考えられた. よって, 本項で取り上げるトリックデータベースは典型的シナリオパターンに挿入する, 探偵が各トリックを解決するために捜査パート
において, どのような証拠や痕跡をどこで,どの順に見つけたのかを分析することを目標に作成された. しかし, 後期に入りデータの書式とトリックデータベースの記述すべき内容が変更された. また, 上記の典型的シナリオパターンと同様に台詞属性も追加された. トリックデータベースで記述した探偵の動作データに台詞を含んでいた場合, 物語開始前には, 探偵の台詞を選択肢によって決定した属性として進行される必要がある. その際に書かれる形は, *番号:性別:台詞の３つの要素のデータ形式で記述した. 番号は,探偵が話す台詞となったとき, 男性かおかまのどちらかが事前に選択された性別ごとに話すことになる. これは探偵の属性, すなわち登場人物の性別ごとに話す台詞を幾つか設定された台詞属性データを別ファイルにて保存することで実現した. 典型的シナリオパターンと同様に, 探偵を対象に男性による台詞とおかまによる台詞の 2
種類に分けて作成した. その際, トリックデータベースとは別のテキストファイルにて 2 種類の台詞を入力し保存した.
これらのデータは Excel にて, 典型的シナリオパターンとは別ファイルとして扱った. トリックデータベース
では, ID 番号のファイル番号は 2 で設定された. 時系列を上記の 3. 2. 2. 2 項の典型的シナリオパターンと同様に, ID 番号を 0～999 までを基本として, 場面ごとに時系列をクリアしながら, Excel ファイルに書き出し
た. トリックデータベースの事情聴取などの場面における ID 番号は典型的シナリオパターンで対応されている ID 番号と合わせなければならない. そのため, 操作部における事情聴取の場面, 解決部における推理による場面には, ID 番号での時系列を 10 あけて, 記述した. トリックデータベースからデータを抽出する際に,28Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
典型的シナリオパターンの対応表に載った ID を振っていないと抜き出せないため, 典型的シナリオパター
ンと合わせて ID の割り振りを行った. それぞれから抜き出された ID 番号を Excel の別のシートに対応表としてまとめた. また, 探偵の選択された性別として話される台詞の属性データのテキストファイルを, トリックデータベースで指定された書かれた探偵が話す場面において, 同時系列で探偵の男性とオカマの台詞の 2
種類に分けて対応表を作成した.

（※文責：菊地亮太）

3. 2. 2. 4 セリフデータの仕様収集するのはその名の通りセリフが主であった. セリフデータは全て ID が 3 から始まるものである. 小説よりもセリフが多い漫画作品からセリフを抜き出していった. まずは各話ごとにセリフを書き出し, 徐々に時系列などを典型的シナリオパターンやトリックデータベースのデータとすり合わせながら ID を完全なものにしていった. データはセリフが主のため, ほとんどの動作は-a 話すとなった. -a 話すの他は-a 驚く, -a しゃがむなどであった. しゃがむは, うなだれる動作の代用としてしゃがむモーションを利用することからこの記述となった.

（※文責：久野露羽）

3. 3 評価
物語生成・映像作成チームへ渡すデータのフォーマットを見直し, 形式変更に強い Excel での管理に変更した. 制作したデータは最終的に統合し対応表なども制作した. トリックの種類は, 今年度は密室と変装の 2 種類に限った. データ化は継続していたが, 未だ十分な量は確保できていないため, 来年も各データを収集する必要がある. そのために今後も分析を継続し, データを増やしていくことが課題である. また, 各
データを対応させる作業時にデータ同士がうまくつながらないことがあり, 各データの収集・作成時にはなるべく汎用的なデータにすることが重要であることを学んだ.
（※文責：久野露羽）

29
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

第 4 章 物語生成チーム
4. 1 全体の方針
物語分析チームが分析したデータに基づき, 矛盾がないようにプログラムによって物語を自動生成することを目標としている. そのためにプログラムで正しい展開を生成できるのか, 場面に合ったアニメーションを生成できるのかを検証している.
中間発表の段階では, 物語分析チームからもらった典型的パターンから Python を使ってチャートを生成
し, チャートから簡潔な文章とアニメーションを作成して Unity で出力させた.
その後, 数回の校外ワークでの評価などをもとに改良した. 最終的に文章やアニメーションのレパートリーが増え, 選択肢やカメラ操作など, プレイヤーが物語に関与するシステムが実装されている.

（※文責：根本裕基）

4. 2 データフォーマット
プログラムの一連の流れとして, Python で物語の生成をし, Unity でアニメーションの生成を行う.

4. 2. 1 中間発表までの仕様
中間発表までのデータの仕様は以下の通りである.
動作のフォーマットは役割：場所：物品：向き：動作 としている.
それぞれの項目について詳しく述べると・役割は登場人物の役割のことで, 推理物語では「探偵」「助手」「容疑者」「犯人」が主に挙げられる.
・場所はその動作が起こっている空間を示しており, アニメーションの際の外観に関わってくる.
・物品は物語の進行に関わる「物」を示している.
・向きは「役割」が動作を行う向きを指す. 向きが指す方向へ「動作」が行われる.
・動作は「役割」が行う動きであり, 人が主語になっているため, 動作が示す述語は人が主体のものとしている.
このようにして物語の「誰が, どこで, 何を, どこに, どうした. 」という流れをデータとしている.
チャートには人物の動作だけで起こるのではなく, 人物のセリフも含んでいる. その際のフォーマットは｛役
割：「字幕」｝としている.
この字幕の部分が「役割」のセリフとなる.
30Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
中間発表までの仕様は以上の通りであった.

（※文責：原科充快）

4. 2. 2 中間発表後の仕様
夏のアカデミーキャンプや赤川小学校のワークショップでのシステムの作成において, 映像の表現における問題点や各々の時点での使用者のフィードバックにより, 必要な要素が増えたため, データの仕様は各段階で変更が起こった. 各段階でデータフォーマットの変更を行ったが, 最終的なデータの仕様を以下に述べていく.
まず, 物語中における現在の状態は「-r 役割」「-a 動作」「-s セリフ」「-p 場所」「-t 物品」「-d 対象」の要素から成り立つ. 中間発表の時点と比べると要素の中にセリフが追加された. また, データの形式は csv ファイルに変更された. それぞれの項目について中間発表から変更が起こったことについて主に述べると・役割は動作の主体となる人物である. この人物から動作やセリフが行われる. また, この人物を中心にカメラアングルが変更することができ, 周りの様子を確認することができる. 役割となっているのは「探偵」「助手」「容疑者」「犯人」「刑事」「被害者」であるが, それぞれの役割が複数人存在することを考慮してすべての役
割に「探偵 A」のように「役割」の部分は役割＋アルファベット（降順）で構成されている. また, 変装トリックにのみ, 「犯人 A（変装）」が現れる. セリフがある場合にはどの人物が話しているか分かるように, セリフの左上の部分に役割の名前が表示される.
・動作は「役割」が行うアニメーションである.アニメーションはあらかじめ決まったアニメーションが用意されており, 指定されたアニメーションを行う. そのアニメーションの量の増大を防ぐため, あらかじめデータの方で同じような動作をするアニメーションの統一を行った. また, 「聞く」「聞こえる」などのアニメーションは主体の動作ではないものを変更したり, 位置調整が難しい「走る」「歩く」などの動作の調整を行った.
・セリフは映像上に下部のスペースにそのまま表示される. だが，典型的パターンの部分で＠から始まるものは他のデータベースへの移行であり，セリフとしては表示されない. 文字の表示は読み込まれた行のすべての文字がまとめて表示される.(一文字ずつの表示はされない.)・場所は物語が起こっている空間であり，場所が変更した場合のみ呼び出す.場所が変更された場合のみ呼び出すので，記入がない場合は前の場所を引き継ぐ.今回使用した部屋オブジェクトは現場, 廊下, 部屋
A, 部屋 B, 部屋 C, 部屋 D, 部屋 E, 外の 8 種類の部屋オブジェクトを作成して使用した. 部屋が 5 種類あるのは, トリックにより部屋にある窓の数が違ったり, 必要とされるオブジェクトがそれぞれ違うからである.
・物品はアニメーションに加えて必要な道具を表示する際に必要となる. 道具がなければ成り立たない映像表現がいくつかあり, それを実装するための要素である.
・対象は「役割」が向く方向であり，人物モデルはその方向を向いて, 何らかのアニメーションを行う.対象となるものは実際に存在するオブジェクトなので，部屋にあるオブジェクトもしくは, 存在する「役割」の人物をとらなければならない. 対象に何もとらなければ, 人物オブジェクトの向きは継続していたが, 最終的な仕様では部屋の中心を向くように変更を行った.
31
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
役割と登場人物の名前についてだが, 役割の部分についてはすべて「探偵 A」「犯人 A」などの役割名で記したが, 登場人物には固有の名前が必要であった. そうしなければ, 犯人 A という人物は犯人であるとすぐに分かってしまう. なのでセリフの部分では, 役割名であったものをそれぞれの決められた名前に置き換えた.

（※文責：原科充快）

4. 2. 3 ID と各データベースについて
次に物語の分岐における ID とそれぞれのデータベースについて以下に述べる.
多種多様な物語を生成するため，3 つのデータベースから話の流れに合う矛盾が起こらないように組み合わせることで実現をする.そのためにデータベースのそれぞれの行に ID を割り振って整理をした.

使用した

3 つのデータベースについて簡単に述べる.
典型的パターンは話の流れをつくるものである. 大まかに密室のパターンと変装のパターン 2 種類に分けられる. また, このデータベースにより, トリックの結末が決まる. 用意された結末は, 物語が上手く解決して終わるハッピーエンド, おかしな感じで物語の幕が閉じるシュールエンドの 2 種類である. 当初は物語が悪い方向で終わるバットエンドも想定されていたが, 各地点のアンケートやアカデミーキャンプやワークショップを経て, バットエンドは好まれないことがわかったので無くなった.
トリックデータベースは推理物語には必要となってくるトリックの部分を司るものであり，変装の典型的パターンには変装のトリックが，密室の典型的パターンには密室のトリックが合うようになっている. 典型的パター
ンとトリックデータベースのチャートを行き来して物語を作る.
台詞データは推理とは関係のない台詞のデータであり，このデータによっていろいろな物語への生成の幅を広げている. データとしては雑談であるが, 登場人物の性格をここで示したり, なぜここに登場人物が存在するのかのいきさつを示したりできるので, 無駄なデータではない.

これらのデータを ID で振り分けることでデータベース間を移動しながら様々な物語を生成することができる. ID の仕様は赤川小学校後にその反省を受けて追加され, 最終的な仕様となった. その ID について以下に詳しく説明する.
ID は 9 桁の数字からなっており，6 つの項目で構成されている. 桁数の高いほうから説明する.
9 桁目はどのデータベースを使うのかを示す. 最終的な仕様では, 1 が典型的パターン, 2 がトリックデータ
ベース, 3 が台詞データとなっている.
7,8 桁目はどのファイルに対応しているかを示す. ファイルというのは物語におけるパターンの多様化のために作られたものであり, 典型的パターンには変装 4 種類と密室 4 種類の計 8 種類, トリックデータベース
は変装 1 種類, 密室 2 種類, 台詞データは 4 種類のファイルを使用した. データの数が増えることを考慮して, 2 桁分用意した.

32
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
6 桁目はシーンを示す. シーンは物語における段階を示すものである. 今回の推理物語では 4 つのシーンに分け, 冒頭部, 発見部, 捜査部, 解決部を時系列順に矛盾のないように並べる. 典型的パターンとトリックデータベースはそれぞれのファイルごとに 4 つのシーンがあるが, 台詞データに関しては冒頭部と解決部の後（後日談）の 2 種類のデータがある.
5, 4, 3 桁目は時系列を表す. 時系列はそれぞれのシーンの最初から 0（000）から始まり, 冒頭部, 事情聴取, 事件概要, 犯行内容, トリック内容, 自供内容についての項目をシーンからさらに細分化する. 基本的には 0 から 1 ずつ進んでいくが, 分岐が入る場合は 5 桁目を増やし, 分岐 1 は 100 から, 分岐 2 は 200 から進めて, 分岐後の ID は 300 から進めていく. また, トリックデータベースでは上に示した冒頭部, 事情聴取といった大きなシーンが変わったとき, 数字を 10 ほど飛ばすことで, どのようなシーンか見やすいように工夫をした.
2 桁目は「役割」の人物の属性を表す．ただし，属性は探偵にしか適応していないので，探偵以外の人物の場合は，0 であり，属性が男性の場合は１，おかまの場合は 2 である．なお，男性とおかまの違いはセリフ部分のみである.
1 桁目は回想である. 回想の場合のみ 2 であり, それ以外の場合は 1 である. 回想が始まると, 画面が薄暗くなり, 現在起こっていることではなく, 時系列が前の人物の行動を示すことができる.
上に述べた通り，この ID を用いることで，物語をそれぞれのシーンごとに整理することで，時系列にあった物語への様々な分岐が可能になり，多種多様な物語を生成することができる．

このデータベースを Python で読み取り，物語をチャートとして生成する．そして，このチャートを Unity に受け渡し, アニメーションの生成を行っている.

（※文責：原科充快）

4. 3 生成アルゴリズム
4. 3. 1 前期での活動について
4. 3. 1. 1 目的
生成アルゴリズムでは, 物語分析チームが分析したデータを用いてミステリー物の物語の文章や流れをコンピュータが自動的に生成させることを目的としている.

（※文責：石田晃大）

33
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
4. 3. 1. 2 開発環境
言語についての処理をすることになるため, 開発言語には自然言語処理に関したライブラリが多く存在す
る Python が選ばれた. また, 物語の典型的パターンやトリックなどをまとめるためにデータベースを利用した.
データベースではなく csv ファイルを利用する案も挙げられたが, Python を通しチャートとして出力するとき「r」「-s」などとした部分が数式として利用されるという問題が出たため利用されることはなかった.
（※文責：石田晃大）

4. 3. 1. 3 処理手順
課題としてはまず, 話の流れが正しいものになるかということが挙げられる. コンピュータは文章の意味を理解しているわけではないため, 起承転結の起にあたる部分を結に持ってくる可能性があるためである. またこの問題点から, 話の展開で前後の文章と関係のない内容の文章を生成する可能性も挙げられる.
この問題を解決するためにまず, 物語分析チームが抽出したいくつかの典型的な物語パターンの中から
1 つ読み込んでいる. これによって, 起承転結といった物語の流れを崩さないようにしている. これにより, 前
述した問題が発生しないようになっている.
次に, 生成する物語のパターンを増やすための仕組みについて説明する. これは, 典型的パターンの中にあるトリックの部分を入れ替えることで行っている. トリックは物語の重要な部分ではあるが, 物語全体の流れを変えるものではないため入れ替え可能となっている. 入れ替えする部分はトリックのデータベースから読み込むことになっている. トリックは乱数を使って選んでいるが, 物語の流れに合わないトリックが選ばれることもある. そのため, 典型的パターンとトリックデータベースとの対応表を使うことで解決した.
具体的に説明するとまず, 図 4. 3. 1. 4. 1 左のような典型的パターンが選ばれたとする. この物語の流れでは使われたトリックによって, どういった捜査をするか変わるため, 捜査部分が入れ替え可能となっている.
そのため図 4. 3. 1. 4. 1 中央にある対応表を参照し, 捜査部分と合う内容になっているトリックを探す. そうす
るとトリック 1 が対応していることがわかるため, トリック 1 を抽出した. こうして呼び出した典型的パターンとトリックを組み合わせることで物語の流れとなるチャートを作成した.
また, 物語の内容以外にも物語に登場する机などのオブジェクトの初期位置を書いたファイルも生成する.
これは, チャートを生成するにあたり机などのオブジェクト名が現れたときに, そのオブジェクト名と対応する
データを, オブジェクトについてまとめたデータベースから抽出し, テキストファイルにまとめた.

（※文責：石田晃大）

4. 3. 1. 3. 1 データの入力について
物語分析チームが分析した典型的パターンなどをデータベースに入力するためのプログラムを作った.動
作としては, テキストファイルにコロン区切りで書き出した典型的パターンなどを読み取り, 区切った位置でど34Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
ういった種類のデータであるのかを判別するという方法である. 1 番先頭にあるデータならば役割, 2 番目にあるデータならば場所といった形で振り分けた. また, データを入力する際はそのデータが時系列何番目であるか, どの典型的パターンであるかといった情報を記入した.
実際の処理の手順としては, まず時系列の何番目から始まるかを入力し物語分析チームが用意した典型
的パターンなどのテキストファイルを変数に読み込ませ, ループを使い 1 行ずつ処理するようにした. 次に,読み込んだ行をどの要素のデータであるかを判別するために, コロン区切りで分け配列に格納した. このとき, 配列の何番目に格納されたかによって, 何の意味を持ったデータであるかを判別した. 最後に判別したデータをデータベースに 1 行ずつ格納した. またこの時, ループごとに時系列の番号を増やしていくことで出力時に各行が何番目に出力されるかを明示した.

（※文責：石田晃大）

4. 3. 1. 3. 2 データの出力について
データベースに入力したデータをチャートとして出力するプログラムを作成した. 動作としては, データベースに入力した時系列を検索して順番に出力していた. また, 典型的パターン中にある入れ替え可能な部
分は「@捜査部」「@推理部」などとして表し, それを読み取ったらトリックデータベース中の対応するものと入れ替えるようにしていた.
実際の処理としてはまず, どの典型的パターンを使うのかを乱数を使い決定する. この時, その典型的パターンの時系列がいくつあるのかを SQL のカウント文を使い調べた.
次に典型的パターンの要素を抽出する. 時系列でデータベースを検索し, 見つけたデータをコロン区切りにしてテキストファイルに出力する. この時, 「役割」などの要素がデータベースに入力されていない場合があるが, その時は空文字を入れて出力する. また, この処理を行っているとき「@捜査部」など頭文字に「@」が付いている要素が出てくる場合がある. この時は, この「@」以降に書かれている内容と合致する部分をトリ
ックデータベース中から検索し同様の処理を行う. これらの処理は典型的パターンの時系列の部分が終わるまでループされる.

（※文責：石田晃大）

4. 3. 1. 4 発生した課題
結果として, 物語の流れが書かれているチャートを生成することには成功した. しかし, まだ典型的パター
ンの一部を入れ替えているだけに過ぎない. また他の問題として, ユーザーが物語に係わるインタラクティブ性を持っていないことが挙げられる. そのため今後の課題として, 自動生成する部分を細かくすることや, ユーザーが生成に関わることができるインタラクティブ性を持たせることが挙げられる.

35
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
また, 作成したプログラム自体も入力時に, 本来書くべき要素と違う内容の要素を書くようなミスが起こりやすいようなものになってしまった. さらに, 1 つの要素に対し多くの役割を持つようにもなっている. そのため,今後の課題として要素の入力ミスをなくすことや, 要素そのものを増やし役割を分散させることが挙げられる.

図 4.3.1.4.1. アルゴリズムの具体例（※文責：石田晃大）

4. 3. 2 後期の活動について
4. 3. 2. 1 課題の設定
中間発表およびアカデミーキャンプでのことを踏まえて, 生成するときの要素としてキャラクターの口調を設定することが挙げられた. 加えて, 赤川小学校のワークショップのアンケートから, 選択肢を増やすことにした. また, 前期の反省点を踏まえ, データの形式が変わったことで入力の部分を変更すること, チャートとして出力したときの形式を変更することが挙げられる.

（※文責：石田晃大）

4. 3. 2. 2 処理手順
4. 3. 2. 2. 1 データの入力について
物語分析チームが分析した典型的パターンなどをデータベースに入力するためのプログラムを作った. 今までのプログラムでは, それがどういった意味を持つデータであるかを, データ中にあるコロンで区切り, どの位置から読み込んだかで判別していた. また, セリフの部分においてもデータの役割を入力する部分に書くという形式になっていた. この形式ではデータの入力位置を間違えるなどの, データの入力ミスが起こりやす
くなるという問題が発生した.
そこで後期からは 4. 2 にあるようにデータの形式を変更することになった. プログラムの方では, Python を使い処理を行った. まず, 物語分析チームが用意したデータを変数に読み込ませる. このデータは csv ファ
イルを使っているため, コンマ区切りになっている. また, その変数はループを使い 1 行ずつ処理するように
36
Group Report of 2017 SISP
Group Number 6

Interactive Storytellingした. 次に, 読み込んだ行をどの要素のデータであるかを判別するために, コンマ区切りで分け配列に格納した. このとき, データ中の「-r」「-s」などの頭文字を使い, 何の意味を持ったデータであるかを判別した. 最後に判別したデータを種類ごとに並べデータベースに 1 行ずつ格納した. 頭文字で判別するためデータの順番が入れ替わる, 使わない要素がある場合でも問題なくデータベースに格納できるようになる. 処理を図にすると図 4. 3. 2. 2. 1. 1 のようになり, 実際にデータが格納されると図 4. 3. 2. 2. 1. 2 のような形になる.
また, 対応表の入力についてはコンマでデータを挿入する部分の典型的パターンの ID と, それに対応する部分のトリックデータベースおよびセリフデータの ID をデータベースに格納した.

図 4. 3. 2. 2. 1. 1. 処理の流れ

37Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 4. 3. 2. 2. 1. 2. 格納されたデータ（※文責：石田晃大）

4. 3. 2. 2. 2 データの出力について
データベースに入力したデータをチャートとして出力する. 今までのプログラムでは, データの時系列で順番を検索していた. また, トリックデータベースなどのデータを引用するときは役割の部分に「@捜査部」「@推理部」などとすることで入れ替える部分を表していた. このプログラムでは, 役割の部分に多くの意味を持たせてしまうため, データ形式の変更とともにプログラム自体も大きく変更することになった.
このプログラムでは ID を用いてデータを検索するようにした. この ID は 4. 2 に書いている通りの意味を持っている.
プログラム上ではまず, キャラクターの口調を表す 2 桁目の部分を設定している. これは 4. 4 で記述する
Unity のプログラム上で口調を選択したときに出力される「setting.txt」というファイルを読み込むことで設定される. また, どのデータを使うかを表す部分は最初に典型的パターンを読み込むために「1」と設定している.
次に, どの典型的パターンを読み込むかを選択する. この際は, 1 からある数字までの中から乱数を使いデータを選択している. このある数字とは, SQL のカウント文を使いデータベースに入力されている典型的パターンが何種類あるかを数えることで決定している.
このように ID を決定することで典型的パターンのデータベース上のデータを検索する. この時, データがあった場合となかった場合で別々の処理に分かれる. まず, データがあった場合は, さらにその ID を使い対応表を検索する. この時にデータが見つかった場合は, トリックデータベース等別のデータベースに対応す
38Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
る要素があることを表す. そのため, 対応する部分が終わるまでトリックデータベースから要素を抜き出す. また, 対応表から見つからない場合はそのまま典型的パターンから抜き出すデータということを表すため, デー
タを書きだし時系列を 1 つ進める. この時に書き出される内容としては次の例のような形になる.
(例) -r 探偵 A, -s 早く鍵を!, -a 指示する, -d 被害者 A
次に, 典型的パターンのデータベースから検索したデータが見つからない場合は, 分岐がある可能性がある. そのため, 分岐があることを表す ID を検索する. この時, 分岐があった場合はデータ形式に従い分岐を表すチャートを書きだす. 例としては以下のようになる.
(例) <分岐 1:分岐 2><分岐 1>
この中にある, 「」分岐 1」「分岐 2」と書かれている部分は選択肢が表示された時の内容になっている. この内容を書き出した後, 時系列を「分岐 1」を示す部分まで進め, 元の処理に戻る.
また, 「分岐 2」のところまで進んだ場合は例のところにある<分岐 1:分岐 2>の行がなくなり, <分岐 1>の行の内容が<分岐 2>となって書き出される. 「分岐 2」の内容がすべて書き出された次の行には, 分岐が終了したことを表すために</>という記号を書き出して元の処理に戻る.
この処理を繰り返すとデータがいずれ見つからなくなる. その時には, ID を初期の状態に戻し, シーンを表す ID を 1 つ進め前述した処理をまた始める. これを「解決部」のシーンが終わるまで繰り返すことでチャートは生成される.
また, チャートの「-p」部分の内容が変わったとき, Unity 上でモデルを再配置する関係で, チャートで「-p」部分が変わったときに次に「-p」部分が変わるまでに使うモデルの一覧を書き出す必要が出てくる. そのため,書き出したチャートを再編集するようにプログラムした.
プログラムの処理の流れとしては, 生成したチャートを「-p」が変わる部分まで読み込む. その間に, チャートに出てきた「-r」部分の内容を配列に追加していく. そうして「-p」部分が終わるまでに追加された内容をテキストファイルに書き出す. この時に書きだされる例として次のようなものが挙げられる.
(例) 部屋 B:助手 A, 探偵 A, 犯人 A
これに加えて読み込んだチャートの内容を書き出すことで, どのモデルを使うかを記したチャートを出力することができる.

（※文責：石田晃大）

39
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
4. 3. 2. 3 結果
結果として, ある程度の変化のある物語のチャートを生成することができた. また, 「役割」などのチャートの要素を追加しやすいようにできた. しかし, 現在の状態ではインタラクティブ性がほとんどない. 理由は,一度チャートを生成した後は, ストーリーが終了するまでは内容を変更できない点にある. そのため今後は選択肢を選んだらそれを基準に追加でチャートを生成する, といったような形で, チャートを動的に生成できるようにしていく必要がある.

（※文責：石田晃大）

4. 4 表現アルゴリズム
4. 4. 1 目的
本研究の目的は, 人が物語を作る際に参考するための物語自動生成プログラムを作成することである. しかし文章のみで内容が理解できるような高度な文章の生成は難しく, 先行研究でも完全に生成できた例は少ない. そこで自動生成したストーリーにアニメーションを付与し, 文章に対応したアニメーションを再生することによる文章を補完し, また映像や音声などの情報を付与することで物語を多角的に見られるようにすることを狙った. Python で出力されたチャートをアニメーションとして表現するために, チャートの内容を解析し,その結果に応じた処理を行う.
(※文責：櫻井健太郎）

4. 4. 2 開発環境
開発には 3D を利用した作業に適していること，また先行研究でも使用されていたことから，Unity を選択した．Unity とはゲームエンジンの一つであり, 特に 3D システムの開発において高い性能を持つ. バージョンは開発開始時のバージョンであった 5.6.0 とし, 無料で利用できる Personal バージョンを用いた. 開発言
語は Unity で一般に使用される C#を使用した．最終的なシステムとしての動作はすべて Unity から行われる．
(※文責：櫻井健太郎）

4. 4. 3 Python によるチャート生成
文章に応じたアニメーションを割り当てるためには文章からどのようなアニメーションを行えばよいのかを解析する必要があるが，解析システムを開発するのは技術力の面で現実的ではなかった．よって文章からアニメーションを生成するのではなく，まず 4.2 項に示されたチャートを生成し，それを元に文章とアニメーションを
40
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
生成することにした. またインタラクティブ要素として，主人公の属性を変更することを可能にした．チャート出力までの手順として, まず Unity プログラムを起動し，ユーザに物語の主人公をどのような性格・属性にする
かの選択肢を提示する．その結果を Python プログラムに与えるとその属性を主人公としたチャートがテキストファイルとして出力される．図 4.4.3 にシステムの全体の流れを示す. チャートの生成はすべて Python 側で行われ, Unity はチャートに従ってアニメーションやテキストを更新するのみである.

図 4.4.3. システム全体の流れ(※文責：櫻井健太郎）

4. 4. 4 チャート解析
4. 4. 4. 1 中間報告時点のチャート書式
初めに Unity 上で主人公の属性選択を行う. ユーザの入力を受け次第, Unity 内からコマンドプロンプトを通して Python を実行し, 選ばれた属性を与える. Python は 4.3 項で説明した 2 つの設定ファイル（チャート，
オブジェクト設定）を生成する．次に Unity 上で, 生成されたチャートを読み込み, 1 行ずつ解析を行う. チャートには機能別の書式が存在するため， チャートの内容に応じた処理を行う. チャートの分類別処理を以下に示す.
アニメーション部には人物 : 場所 : 向き : 対象 :動作の 5 つの要素が含まれる.
人物：アニメーションするオブジェクト名
場所：人物が存在するシーン名
向き：人物が向くべきオブジェクト名
41
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
人物が向くべき角度を図 4.4.4.1 によって求める. 人物の位置を(xi, yi), オブジェクトの位置を(xj, yj)とする.

図 4. 4. 4. 1. 角度を求める式
対象：動作によって影響のあるオブジェクト名(例) 探偵:部屋:机:机:押すなどとした場合, この動作を行った後, 机の位置が移動する.
動作：人物に適用されるアニメーションファイル名
セリフは{セリフ内容}として表される．
{探偵「こんにちは」}::::としたなら，｛ ｝内の文章がセリフとして表示される．
(※文責：櫻井健太郎）

4. 4. 4. 2 最終的なチャート書式
中間発表後, 既存のチャートでは書式的な問題があるとして, 大幅なチャート書式の変更を行った. 主な理由として，セリフとアニメーションを同時に行うことができず非常に不自然であったこと, また要素がないにも関わらず, 常に要素ぶんだけコロンで区切らねばならず拡張性に欠けたことなどが挙げられた. その結果,
上記のアニメーション部,セリフ部を廃止し, 最終的なチャート書式は表 4. 4. 4. 2. 1 のようになった.

表 4. 4. 4. 2. 1. 記号とその説明動作
記号

説明

動作

-r

アニメーションを行うモデル

アニメーションをするモデルを決定する-a

実行させるアニメーション

実行するアニメーションを決定する-p

舞台の変更先指定

舞台を変更する-t

アニメーションに使う道具

モデルに指定された道具を持たせる-dモデルが向く対象モデルの向きを指定された方向へ変える

-s

セリフ

テキストボックスにセリフを表示する

42
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
変更前のチャートとの主な相違点として，これらの要素は順不同であり，その要素が読み込まれた時対応した動作をおこなう．図 4. 4. 4. 2. 1 に実際の実行画面を示す. 図 4. 4. 4. 2. 1 のチャート構文は-r 探偵 A，-s ただごとじゃないな,行こう！，-d 助手 Aのようになる. -s の要素はセリフ用テキストボックス内に表示され, -r の要素は左上の名前用テキストボックスに表示されている. ただしチャートには役割名が書かれているが, この役割名は Unity 上であらかじめ入力された名前に書き換えられる. このようにアニメーションに必要な要素を分割することで, セリフとアニメーションを同時に表現することができた.

図 4. 4. 4. 2. 1. 実際の実行画面要素のもつ意味として, 各要素がそのまま各動作に必要なデータをそのまま指定している. 例として 3D モ
デルの要素が「-r 探偵 A」であれば, 3D モデルの名前を「探偵 A」とし, 要素名で取得できるようになっている. 表 4. 4. 4. 2. 2 にデータの一例を示す.
表 4. 4. 4. 2. 2. 各要素のデータ例
要素例

ファイル形式-r3D モデル名

探偵 A，助手 A，犯人 A.fbx-a アニメーション名

歩く，話す.vmd, .fbx

43
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling-p 場所名現場，廊下，外.prefab-t 道具名鍵，お茶.fbx(ファイル内に組み込み)-d3D モデルが向くオブジェクト名

探偵 A，棚-s セリフ

こんにちは，犯人はあなただ

Unity はファイルを指定ディレクトリ以下に配置することでシステムへ取り込むことができる. ただし映像班に作成を依頼したアニメーションは vmd ファイル形式である. Unity は vmd ファイルをスクリプトで取り込むことができないため, アニメーションのみ Unity システム内にあらかじめ取り込み, アニメーション名を指定のものに変更しておく必要がある. 図 4. 4. 4. 2. 2. にチャートから実際にデータを取得する流れを示す.

図 4. 4. 4. 2. 2. データ取得の流れ(※文責：櫻井健太郎）

4. 4. 5 アニメーション演出
まず登場するキャラクターをセットする. チャートは-p 要素の次の行で必ず, 以下のように記述する.
-p 場所 A:役割 A，役割 B
このようにして，その場面で登場する役割を指定している. これはチャートがアニメーション, セリフのみを記述したものであることが原因で, 何も行動しないただそこにいるだけの役割は記述することができなかったた
め, このような措置をとっている. また登場人物を減らすことはできないため, 物語に矛盾が生じる場合もある.
次に位置について, 以前は 3D モデルの位置を決定する際，対象を常に他の 3D モデルを基準としていたが, 基準とした 3D モデルが移動した場合, 次第に 3D モデル同士の位置が移動していき最終的に場所
オブジェクトの外に移動してしまうという問題点があった. そのため, 3D モデルの位置は原点を中心として図4.2 のように円状に等間隔に配置することにした. また, 対話する 3D モデル同士の間に他の 3D モデルが44
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
割り込むことがなくなったため, 3D モデルが何に対してアニメーションを行っているのかが分かりやすくなった. 3D モデルの配置の一例を図 4.4.5 に示す. 3D モデルが円状に等間隔で並んでいるのを確認することが出来る. なお, これは分かりやすい様に Unity 上で確認したものであり, 実際のシステム画面とは異なる.

図 4. 4. 5. 3D モデル配置例
場所変更についての演出であるが, キャラクターが部屋から出ることを示すためにはドアを開けなければならない. しかし, ドアを開けるためにはドアをアニメーションさせなければならず, 例外的な処理となってしまう. 特に本研究のような想定されるデータが多岐にわたる場合, 例外を際限なく増やしていくことはシステム上好ましくない. そこで場所を変更するタイミングで画面を暗転させることにした. 暗転させることでドアのア
ニメーションやカメラ位置などの調整をすることなく場所を移動したことを示すことができる. その他動作においても, このような細かい動作を省略し, ユーザの想像力に任せるような演出を用いた. また, この暗転は同じ場面に遷移することもでき, 特に刑事が遅れて登場するシーンのような登場人物の追加の際に用いた.
Unity ではカメラオブジェクトを用いてオブジェクトを画面に表示するが, 本プロジェクトでは物語の自動生成を行うため, 人物の配置が一定ではない. そのため, 人物がカメラの死角へ動いて行ってしまう, またカメラが壁に埋まってしまうなどの問題が発生した. そこでカメラをユーザが操作できるようにし, 自由な視点から物語を見ることができるようにした.
(※文責：櫻井健太郎）

45
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

4. 4. 6 動作仕様
システムを行う上でユーザが行うことのできる操作を表 4. 4. 6 に示す.
表 4. 4. 6. 操作一覧
操作

システム動作左クリック

話を進める（次行のチャートを読みこむ）

右クリック+マウス操作

カメラを回転選択肢を左クリック

分岐選択

Escape キー

最初の行に戻すシステムとして可能な操作を解説する. システムの画面遷移とトリガを図 4. 4. 6. 1 に示す. ユーザは左クリックで次の行を読み込み物語を進めていくことができる. システムはクリックでのみ次の行に進み, ユーザは入力がない間はカメラやリセットの操作を自由に行うことができる. カメラは現在何らかの動作を行っている
3D モデルの周りを回転するように動かすことができる. 最初の属性選択, またチャート中の分岐ではそれを示すボタンが表示されるので, ユーザはいずれかの選択肢を左クリックすることで決定することができる. ただし場所を移動する際の暗転や分岐中に選択肢以外をクリックして場面を進めることはできない. 図 4. 4. 6.
2 の例であれば上部の”男性”をクリックしたなら探偵の口調が男性に, 下部の”おかま”をクリックしたならおかま口調になる. 物語中で分岐を検出したなら, 分岐を決定するための選択肢が表示される. 表 4. 4. 6. 3に分岐を検出した際の画面例を示す. また物語が終了したときには, それを示す画像が表示される. 物語
終了時に示される画像を図 4. 4. 6. 4 に示す.

46
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 4. 4. 6. 1. システム画面遷移図

図 4. 4. 6. 2. 属性選択分岐例

47
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 4. 4. 6. 3. 分岐表示例

図 4. 4. 6. 4. 物語終了時画面
ここで図 4. 4. 6. 6, 図 4. 4. 6. 7, 図 4. 4. 6. 8, 図 4. 4. 6. 9 に実際の動作例を示す.

48
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 4. 4. 6. 6. 事件現場へ移動する際の実行画面例

図 4. 4. 6. 7. 被害者発見時の実行画面例

49
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 4. 4. 6. 8. 推理開始時の実行画面例

図 4. 4. 6. 9. 推理展開時の実行画面例(※文責：櫻井健太郎）

50
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

4. 4. 7 今後の課題
主な問題として, 移動を伴ったアニメーションや, オブジェクトを参照した時の位置のずれなどシステムの不安定性が目立った. 中でも 3D モデルの最適な位置はアニメーションや対象とするオブジェクトによって変化するため, 状況に合わせて最適な距離を求められる仕組みを考案する必要がある. 単にアニメーションと最適距離の対応表を作ればよいが, さらにデータが増えることになり, 加えて手入力である必要があるため,コストが高い. よって, 前述のように正確な表現でなくとも, 多少の誤差を許すのであれば汎用的な位置決
定アルゴリズムを考えたほうが良いと思われる. 次にチャート書式とシステム側のデータ受け渡しの問題がある. 登場人物の追加, 削除や登場人物のデフォルトの位置など機能を追加するにつれて必要な情報が増えてくるが, 簡単にデータを増やすことが難しく, Python のプログラムを変更することが多々あった. 現在チャートや他情報においてもテキストファイルでやり取りしているため, 情報を増やそうとすると書式そのものを変更するか出力ファイルを増やさなければならない. チャート書式をより拡張性のあるものにするように改善していかなければ, 非常に修正コストが高いという問題がある. また前項でカメラの問題を解決したと述べたが, た
だ単に回転するだけであると壁やほかの 3D モデルにめり込んでしまう問題事態は残っているため, レイキャ
ストなどを用いて衝突判定などの情報からカメラの位置を調整する必要がある. さらにカメラを含めた演出全
体の調整もしなければいけない. 当初の予定ではアニメーションを再生するだけであったが, それが簡単ではないと分かった今, どのように表現すれば視聴者により分かりやすく伝えることができるかといった研究, 考察をしていくべきである.
まとめると, 多様なチャートに対し, どのように一般化して対応するかが求められた. 生成されるチャートは多種多様であり, データが増えるにつれてさらに複雑なものになる. システムを発展させる際には, 様々なチ
ャートに対応できるような汎用性のある仕組みを考える必要がある.
(※文責：櫻井健太郎）

4. 5 引用モデル
映像作成チームのモデルが完成するまでの間に代わりに登場させるキャラクターと舞台のモデルを用意した. モデルはダウンロードしたものと自分で作成したものがある. この時, 映像作成チームが Blender を使用
してモデルを作成していたので, 互換性があるツールを選んだ.

（※文責：根本裕基）

51
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

4. 5. 1 ダウンロード
モデルのダウンロードは以下のサイトから行った.

（※文責：根本裕基）

4. 5. 1. 1 アセットストア
アセットストアとは, Unity で使用できる 3D モデルや画像などを購入できるショップである. 多くが有料コン
テンツとなっているが, 無料でダウンロードできるものもある. 主に舞台に設置する家具などのモデルをダウンロードした.
また, 担当の教員に出資していただき有料のモデルをいくつか購入した. ボーンなどの仕様が他で用意したモデルと異なり, 互換性がなかったために未使用となってしまったが, 何かに使えるかもしれないので引継ぎ資料として残すこととする.

（※文責：根本裕基）

4. 5. 2 キャラクター仮モデルの作成
キャラクターのモデル作成には Makehuman というツールを使用した.
（※文責：根本裕基）

4. 5. 2. 1 Makehuman
Makehuman とは, オープンソースの人体モデリングソフトである. 年齢や性別, 身長などのパラメータを振ることで簡易的に 3D の人体モデルを作成することができる. また, 肌の色や髪, 衣服などの外観的要素も同じようにパラメータで変えることができるので, 個性的なモデルの作成も容易である.
Makehuman は元々映像班がモデル作成に使用している Blender 用のスクリプトとして制作されていたために, Blender との相性がとても良い. そのため, 最終的に使用する Blender 製のモデルに対応したモーションを用意すればその流用で Makehuman のモデルを動かすことができる.

52
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 4. 5. 2. 1. 1. Makehuman でのモデル作成の様子（※文責：根本裕基）

4. 6 引用モーション
モーションはフリーのアニメーションサイトからダウンロードしたものと, 映像班が製作したものを用いた. 映
像班に負担をかけないように基本的にはダウンロードサイトのモーションを使用したが, 見つからなかったモーションは映像班に依頼という形をとった. 主に依頼をしたのは, 使用が限定された一般的でないモーショ
ン（（ドアを）叩く, 鍵開け閉め等）である. ここでは, ダウンロードに用いたサイトとアニメーションのまとめ方について述べる.

（※文責：原科充快）

4. 6. 1 Mixamo
Mixamo では 3D キャラクターやアニメーションがダウンロードできるフリーサイトである. サイトにログインし,ダウンロードすることで多くのアニメーションを利用することができる. 形式は fbx であり, Unity への導入もしやすい. 使用したアニメーションはこのサイトのものが多くを占めている.

（※文責：原科充快）

4. 6. 2 モーションのまとめ
すべてのあらゆる物語に使うモーションの数を数えると, 日常動作だけでとてつもない量のデータの数となってしまう. また, 言葉の表現によるちょっとした違いで, モーションの量も増えてしまう. そこで, チャートデ
53
Group Report of 2017 SISP
Group Number 6

Interactive Storytellingータにあるモーションをまとめ, それぞれの動作がどのようなものか, ある程度統一し必要モーション数の削減ができないかを考え, モーションの整理をした. 最終的に使用したモーションとどのような統一を行ったのかを次の表 4. 6. 2. 1 に示す.
表 4. 6. 2. 1. 最終的に使用したモーションと統一したモーション
モーション名統一したモーション

話す

説明する，話し合う

歩く入る, 出る

運ぶものをもって出る

怒る
驚く

気づく

近寄る

近づく

指示する

指を指す，指さし，見つける，宣言する

見る

確認する，かしげる

見渡す
起き上がる
推理する

悩む

呼ぶ
鍵開け閉め
携帯を取り出す，話す
倒れている人に触れる
しゃがむ

うなだれる

叩く
取り出す
扉が開かない54
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
飲む
寝る
体当たり
かかえあげる

Unity の Animator 内には他の動作もあるが, 使用していないアニメーションもあったので, 実際に使ったアニメーションを抜粋した. この全 23 種でアニメーションの構築を行った. とはいえたった 23 種類ですべての動作を示しているわけではなく, 主にセリフの部分で表現の難しいアニメーションをある程度補っている.

各アニメーションの補足「歩く」「近寄る」のアニメーションは同じものであるが, 話の流れでの動作として, 別々に分けたほうがよいと判断したため, 2 つに分けた. 例を挙げると, 対象が扉であるとき, 扉に近寄ると扉に歩くでは若干表現が異なる. また, 人物が対象であるときに人物に歩くと近寄るでも表現が若干変わる. 統一も考えたが, 話の流れからチャートを分かりやすくするために 2 つに分けた.
なお, 「運ぶ」「取り出す」「飲む」「かかえあげる」のモーションはチャートの-t 物品に物のオブジェクトがある
前提のモーションであり, 物を扱うモーションである. モーション名に固有の物品が含まれている「携帯を取り出す, 話す」については物品の項目に「携帯」をとる.
また, 「扉が開かない」「叩く」「鍵開け閉め」は対象が「扉」のみとなるオブジェクト「扉」専用のモーションである．
「体当たり」のアニメーションについては「歩く」「左を向く」「体当たり」の 3 種類を組み合わせて実際に対象に助走をつけて体当たりするようなアニメーションを作成した.

使用を取りやめたアニメーションについて「走る」
最終仕様の前までは使用していたが, 最終仕様では人物は部屋オブジェクトの中心を向くため, 人物モ
デル位置が大きく変更される「走る」のアニメーションは使用を取りやめた. 「走る」の動作を補うため, 場面転換を利用し, 人物が急いで場所を移動したように見せた.
「扉を開ける」使うことが検討されていたが, 扉に動くアニメーションが無いので, 「扉を開ける」といった動作が成立しなくなってしまった. よって, 使用は取りやめになった. これも「走る」同様に場面転換を利用し, 部屋に入る前に暗転をすることで扉を開けて部屋に入る表現とした.

今回使用したアニメーションは人物の動作のみであり, 人物以外のオブジェクトは動作が行われない. 他のオブジェクトも扉が開くモーションや窓が動くモーションが用意できると表現の幅が広がったり, アニメーシ
55
Group Report of 2017 SISP
Group Number 6

Interactive Storytellingョンとしての見栄えがさらに良くなっただろう. また, 人物と他のオブジェクトの動作の同期が出来ればよりよいアニメーション作品となるといえる.

（※文責：原科充快）

4.7 動作名とモーションの対応
4.7.1 動作名にモーションを与えるためにモデルに動作を与える際, どのような動作をさせるか動作名を使って命令する必要がある. しかし, 命令するときに, 動作名が同じもので違う動きをするものや, どのような動きをすればいいのかがわからない動作
名があったりすると求めているものと違う動きをする可能性が出てくる. その可能性をできるだけ小さくするために使用する物語のチャートや動作頻出リストから今回使用する動作とその動作の対象となるオブジェクト,
その動作に使用するオブジェクトを抜き出し, どのような動作をする必要があるのかを確認し, それに対応した動作名に修正した上でモーションを対応させる必要がある.

（※文責：佐藤好高）

4.7.2 動作名を変更する流れ
物語分析チームがまとめたものの内, 使用する物語のチャートと動作頻出リストから今回必要となる動作
名と対象となるオブジェクト, 動作に使用するオブジェクトをそれぞれ抽出し, まとめた. その際, チャートや
動作頻出リストの中だけではどのような動作をしてほしいのかがわからないものや, 同じ動作名で動きが異なるものや対象によって動作が変わるものがあったため, 物語分析チームでそのチャートを作成した人に物語の風景や話の流れを確認しながら動作名の変更及びモデルがどのように動けばいいかの確認を行った. 以
下のものは動作を抽出した際に動作名を変更する前と後である.

(変更前)
歩く
見る
驚く
話す
叩く
近寄る
指示する
取り出す
56
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
開ける
閉める
見渡す
いじる
考える
推理する

(変更後)
歩く
見る
驚く
話す
(扉を)叩く
近寄る
指示する
取り出す
鍵を開ける
鍵を閉める
扉を開ける
見渡す
携帯を取り出す、話す(ものを)つまみ上げる
考える
推理する

上の結果を見ると「開ける」 や「話す」 といった対象を必要とするものや使用するオブジェクトによって動作が変わるモーションの多くが動作名のみだと, どのような動きをさせるのかがわかりにくいと判断し, 動作名
を対象と動作を組み合わせたものに変更された. また, 「いじる」 といったどのような動きをすればいいかわ
からないものがあったため, その物語の展開を確認し, つまみ上げるような動作であることが分かったため,
動作名を「(ものを)つまみ上げる」 に変更した. これによって同じ動作名やどのような動作をするのかがわからない動作名の数が減り, 具体的な動作名が増えた. その結果, 物語の中で話に沿っていない動きが減り,かつ物語の中で使用する動作のバリエーションが増えたため, 物語の展開の幅が広がったと思われる.
その後それぞれにあった動作を一通り確認し, 4. 6. 1 のサイトから必要となりうるモーションをひと通りダウン
ロードし, そのサイトにないものは映像作成チームにそのモーションを作成してもらった. その後, すべてのモーションを今回使用するモデルを使って動かした. そしてそのモデルが何をしているかが一番わかりやす

57
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
いと思われるものや余計な動作が入っていないものを複数人で確認し, その中から使うものと使わないもので取捨選択してそれぞれの動作名にモーションを割り振った. その結果が 4. 6. 2 の表となっている.
（※文責：佐藤好高）

4.7.3 反省と今後の展望
今回の反省として物語分析チームがまとめた動作頻出リストのうち, 動作名の確認をしたものはほんの一部であり, ほとんど手を付けていない. その理由として動作頻出度の中に動作名が同じで動きが違うものや対象となるオブジェクトが異なるもの,使用するオブジェクトが異なるものが複数存在し, その中で使用する動作の優先順位がわからなかったため,動作名に対する動作の種類が少ないもののみ対応した. また, どのような動作をすればいいのかがわからないものも複数存在した. それら一つ一つを物語分析チームの人に物語の風景と話の流れとともに確認するのは時間がかかると判断したため, 今回使用する動作のみ使用することとなった. しかし,動作頻出リストのすべての動作にモーションを対応させることによって物語の話の展開の幅がより広がった可能性があったため, この作業を早めに取り掛かる必要があったと思われる.
また, 4. 6. 1 でダウンロードしたモーションは別のモデルをメインに作成したモーションであるものがほとんどであるため, 動きが小さかったり, 大きかったりしてわかりにくいものもあった. そのため複数のモーションを一
つ一つ確認し, より見やすく,理解してもらいやすいものを選択する必要があった. しかし, 「歩く」といった移動するモーションに限ってそれぞれ距離が定まっておらず, 対応することが困難であった. そのため, 過剰に移動してしまい, 壁を突き抜けるといった不具合が発生することがあった. これらのことが起きないようにするために, 単純な動作でも細かく選別できるように区別する必要(今回で言うと「歩く」という動作名を「長く歩く」, 「歩く」, 「短く歩く」といった 3 段階くらいに変更する等)があったと思われる.
また「驚く」や「笑う」といった動作名に対して, 動作とモデルの表情を用いて表現しようとしたが, モデルの表情を動かすといった段階に到達していないため, 今回は動作と表情を使用したモーションの使用を見送ることになった.
また, モデルに動作をさせるときにオブジェクトを利用するものがあった. しかし, 人物モデルはそれに対応した動作をするが, オブジェクトはモーションと連動して動くことができなかった. そのため最終発表ではオブジェクトを利用することができなかった.
以上のことから今後は早めに動作頻出リストをチェックし, その中で動作名が曖昧なものをよりわかりやす
く,細かいものに変更し, その動作名のデータとそれに対応したモーションを割り振ること, 動きだけでなくモデルの表情を用いたモーションの実装, モーションとオブジェクトを連動させることを目標としている.

（※文責：佐藤好高）

58
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

4. 8 モーションとモデルの動作チェック
4. 8. 1 始めに
中間発表までの作品は登場人物が主人公を除いてすべて見た目がほぼ同じものであり, 誰がどの人物であったかがわかりにくいという事態が発生した. そのため複数の人物モデルを使用することによって人物の特定が容易になると判断し, 映像作成チームに複数の人物モデルを作成してもらい, それを使用することにした. しかし, 作成してもらったモデルを動かしてみたところ, 複数の不具合が見つかった. その原因を探る
ため, 作成したモデルに様々な動きをさせ, どこにどのような不具合があるのかを探った.

（※文責：佐藤好高）

4. 8. 2 原因の特定と対処
不具合を探すにあたり, 最初に中間発表に使用した不具合のないモデルと今回作成してもらったモデル
を Unity を用いて横に並べて簡単な動作を同時に行った. その際に二つのモデルを比較して不具合と思われる部分を映像作成チームの人と確認した. その結果以下の不具合があることが分かった.

・身体のパーツが最初の位置に固定される.
・一部のパーツが透明になる.
・パーツ同士がつながっていない.
・動作に入った瞬間に手が変な形になる.

上記の内, 上の 3 つは不具合の原因がすぐにわかり, 映像開発チームの人にすぐに直してもらうことができたが, 最後の不具合の原因の特定が困難であったため, 考えられる原因を挙げてもらった上ですべて確認を行った. その際に, Unity の不具合の可能性が挙げられたため, 複数の PC で確認を行った. また, 確認に使用したモーションに問題がある可能性も挙げられたため, 中間発表に使用したモデルが正常に動作することを確認した上で, 動きの激しいものや単純なもの, 動作の長いものなど, 多種多様な動作をさせた.
それらを繰り返していくうちに, どこに不具合があるのかが少しずつ浮き彫りになり, 最終的にその不具合を特定し修正することができた. その結果最終発表では不具合のないオリジナルのモデルを使って臨むことができた.

（※文責：佐藤好高）

4. 8. 3 反省と今後の展望
今回, 映像作成チームと連携して作成した人物モデルの不具合の特定と修正をした. その結果, 不具合のないモデルで最終発表に臨むことができた. その際, 中間発表のアンケートでは物語の主人公以外の特定が難しいと答えている人が大半であったが, 最終発表ではほとんどの人が見分けることができたと答えて59
Group Report of 2017 SISP
Group Number 6

Interactive Storytellingいる. また, モデルの動作に対して違和感を感じている様子は見受けられず, 最後まで問題なく動作した.
しかし, 不具合を特定するにあたり, 予想以上に時間がかかりすぎたため, 映像作成チームのモデル作成に影響が少なからず出てしまったと考えられる.
今後同じような不具合の対処で躓くことがないようにするためにも, 発生した不具合の原因やその修正方
法を逐一データにまとめていくことによって同じ不具合が起きてしまった時の対応時間が多少は短縮ができると考えている.

（※文責：佐藤好高）

60
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

第 5 章 映像作成チーム
5. 1 基本仕様
分析チームと物語生成チームが作ったテキストに合わせた動きやモーションをつくることを目的としたチームである. 動きやモーションの形式は生成チームが作っているシステムに合わせた物で作る. 中間発表後からは, 3D モデルと 3D モデルのモーションを作ることがメインとなった.
（※文責：玉置秀基）

5. 2 最終発表までの活動
まずはモデリングやモーションを作る前に, 何を使えばテキストと映像をつけて表示することが出来るのかを考えた. その結果, Unity を使えば, 分析チームと生成チームが出力したチャートと, テキストにあった映像
をつけて表示できることが先輩の研究と過去のプロジェクト学習の内容からわかった.
次に, Unity 上で動作することがわかったため, Unity を学習する人は, Unity とはどのようなものなのか,
Unity 上でモデルを動かすのにはどの形式のデータがいいのか, Unity ではどのようにアニメーションが動くのかを確認した.
モデリングをする人は 3ds Max, Blender という２つのソフトウェアを使い, 映像チームでオリジナルのキャラ
クターの作成をした.
モーション制作をする人は MikuMikuDance(MMD)を用いてシステムの形式にあったモーション制作をした. ここまでが中間発表までの活動である.
中間発表後からは 3D モデルと 3D モデルのモーションを作ることがメインとなった. 映像チームは 4 人で活動していたが, プロジェクトリーダーが赤川小学校で行う授業の内容決めや, パワーポイント作成で忙しくなったため, 映像チームで活動できるのが 3 人となった. 2 人は 3D モデルをメインで作り, 1 人は分析チームと生成チームから必要とされた 3D モーションと他の 2 人と同じように, 3D モデルを作った.
（※文責：玉置秀基）

61
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

5. 2. 1 Unity の学習
5. 2. 1. 1 Unity とはUnity とは, 統合開発環境を内蔵し, 複数のプラットホームに対応するゲームエンジンである. 本プロジェ
クトではゲームではなく, 映像とテキストを画面に出力するために使用する.

（※文責：玉置秀基）

5. 2. 1. 2 Unity の理由
生成チームが Unity をつかってテキストの出力とモーションの制御を行うため, 映像チームでは作ったモーションの動作や, 背景の形を Unity で確認しないと, モーションや背景が使用できない可能性があり, 映像チームのほうで確認するためである.

（※文責：玉置秀基）

5. 2. 1. 3 学習方法
Unity を初めて触る人はまず, オブジェクトを作ることから始め, Unity に慣れることからはじめた. Unity の教科書にしたがって実際にゲームをつくった. 教科書で Unity にある程度慣れてからは, 既存のモデルを読み込んだり, MMD の動作を Unity 上で動くかどうかを確認した. 確認は既存のモデルを Unity で読み込み,配布されている動きのファイルをあててモデルを動かし確認した.

（※文責：玉置秀基）

5. 2. 1. 4 問題点
Unity で扱うファイル形式とモーションの制御分かり, 生成チームの方でテンプレートができて規定るため,
映像チームでの確認の必要性が薄れてきている.

（※文責：玉置秀基）

62
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

5. 2. 2 モデリング
5. 2. 2. 1 モデリングとはモデリングとは, コンピューターグラフィックスの三次元画像で物体の形状を決定することである. 美術用語としても用いられることもある. 彫刻におけるモデリングは, 塑像の肉付けをすることを表す. また絵画においては, 明暗や色彩を活用し, 画面に 3 次元的な立体感を演出することを表す.
（※文責：栗原将風）

5. 2. 2. 2 なぜモデリングするのか自動生成された物語にアニメーションを付加するにあたり, 可視化されたオブジェクトが必要となる. 一点
のみではなく様々な視点から見られるものがよいと考えた. そこで, より臨場感を出すために, オブジェクトには 3D モデルを使用することを決定した. 3D モデルを作成するための開発環境として, 3dsMax と Blender という二つのソフトを試験的に使用した. 進捗や操作性を考慮した結果, 最終的に Blender を採用した(後述).
モデリングの対象は, 小道具やオリジナルのキャラクターである.

（※文責：栗原将風）

5. 2. 2. 3 モデリングの種類
3D モデルの表現方法は多くの種類がある. それぞれ, 得意な分野が異なるため, 用途に分けて使い分
けられている. 今回モデリングをするにあたり, 候補に挙がっていたものを 3 つ紹介する.
（※文責：栗原将風）

5. 2. 2. 3. 1 ポリゴンモデリング
ポリゴンモデリングとは, 3D モデルをポリゴンの集合体として表現する方法である. Blender で使用したものはこれである. ポリゴンの流れや構成を考えながら作成する必要があるが, ポリゴンの数を増やすことにより,滑らかな物体も表現することができる. 最も基本的な表現方法である. 今回はこの方法が採用された.

（※文責：栗原将風）

63
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 2. 3. 2 曲面モデリング
曲面モデリングとは, スプライン曲線などの数学的に示される線によって物体を表現する方法である. メリットとしては, ポリゴンモデルに比べて情報量を抑えることができることや, 数値で形状を調節できるので, 工業デザインなどの精密性が要求される場面では非常に有利である. その反面, 曲線のみで複雑な形状を作成することが困難なため, 人物などの有機的な物体には不向きである. 今回作成するモデルは有機的な物が多いため, 候補には挙がったものの, 使用しなかった.

（※文責：栗原将風）

5. 2. 2. 3. 3 スカルプトモデリング
スカルプトモデリングとは, 彫刻を掘ったり, 粘土をこねるようにモデルを作成する方法である. 3dsMax ではこれを使用した. 直観的な操作を得意としている. 自由度が高く, より複雑な形状を作ることも可能である.
しかし, 実際に触ってみたところ, この方法を用いる場合にはペンタブレットが必須になるため, 最終的なモデリングには使用しなかった.

（※文責：栗原将風）

5. 2. 2. 4 キャラクターについて
我々映像作成チームは, モデリングをすることを目標の 1 つとした. そのため, オリジナルのモデルを作成する必要があった. 万人に受け入れられるように, キャラクターは 3 等身に設定している. また, 今回モデリン
グ経験者がいなかったため, モデリングの基礎を学びながらの作成であったことより, 比較的作りやすい 3 等
身キャラクターを採用した, というのも理由の一つである. 素体の作成には, 3D モデリングの手順が記載されているサイト [3]を利用させていただいた.

（※文責：栗原将風）

5. 2. 2. 4. 1 ガリ子
現実にいそうな普通の女の子を表現するために作られたキャラクターである. 現実的であることに重点を置いたので, 髪の色は平凡なものにし, 服装もシンプルにまとめた. 最初にデザインされた女性キャラクター
である. イメージカラーは青. これは, 窒化ガリウムを用いている青色ダイオードをイメージしているためである. 完成したモデルを図 5. 2. 2. 4. 1. 1 に示す.

64
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 5. 2. 2. 4. 1. 1. 完成したガリ子の 3D モデル（※文責：栗原将風）

5. 2. 2. 4. 2 ウム太
ウム太は最初にデザインされた男性キャラクターである. ガリ子とは違い,金属としてのガリウム自体をモチーフとしているため, 髪は金属をイメージした銀色をしており, 少し刺々しくなっている. 完成したモデルを図
5. 2. 2. 4. 2. 1 に示す.

図 5. 2. 2. 4. 2. 1. 完成したウム太の 3D モデル（※文責：栗原将風）

65
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 2. 4. 3 りょう太
もとは, アカデミーキャンプのワークショップ時にワーク内で使用したカードに描いたキャラクターであった.
ワーク終了時のアンケートで好評であったため, 3D モデルとして登場させるに至った. 完成したモデルを図
5. 2. 2. 4. 3. 1 に示す.

図 5. 2. 2. 4. 3. 1. 完成したりょう太の 3D モデル（※文責：栗原将風）

5. 2. 2. 4. 4 リュウ子
リュウ子は, 現実にいそうな女の子をイメージして作られたキャラクターの 2 号である. 髪型に特徴を持たせることによって, 見分けを容易にすることを図っている. 袖部分がほかのモデルと大きく異なる. その形状ゆえに腕の挙動がおかしくなるバグが発生したが, 腕と接合することによって解消した. 完成したモデルを図
5. 2. 2. 4. 4. 1 に示す.

図 5. 2. 2. 4. 4. 1. 完成したリュウ子の 3D モデル（※文責：栗原将風）

66
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

5. 2. 2. 4. 5 ガム子
ガム子は, ガリ子リュウ子と同様に現実的な女の子をイメージして作成されたキャラクターである. ガム子は,ガリ子やリュウ子よりも年上の設定がある. スカートや長い髪などの体に接触していない部分が比較的少ないため, 最もスムーズに動作した. 完成したモデルを図 5. 2. 2. 4. 5. 1 に示す.

図 5. 2. 2. 4. 5. 1. 完成したガム子の 3D モデル（※文責：栗原将風）

5. 2. 2. 4. 6 おっさん
おっさんは, 年配男性のキャラクターとして作られた 3D モデルである. 完成したモデルを図 5. 2. 2. 4. 6.
1 に示す.

図 5. 2. 2. 4. 6. 1. 完成したおっさんの 3D モデル（※文責：栗原将風）
67
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 2. 4. 7 キアナ
キアナは少女のキャラクターとして作られた 3D モデルである. キャラクターにバリエーションを持たせるために, 金髪のキャラクターを採用した. キャラクターとしてのキアナにはキャラクター使用に関するガイドライン[5]を設けているのでそちらも併せて確認いただきたい. 完成したモデルを図 5. 2. 2. 4. 7. 1 に示す.

図 5. 2. 2. 4. 7. 1. 完成したキアナの 3D モデル（※文責：栗原将風）

5. 2. 2. 4. 8 ガリ子カラーチェンジ版
システムの仕様変更にともない, 人物モデルの必要数が 7 体から 9 体に変更になった. その時点で新たにモデルを作り始めるのは, 時間的制約から厳しいと判断した為, すでに完成している人物モデルの色のみを変更して別キャラクターとして扱うことにした. ガリ子カラーチェンジ版は, この試みによって作成されたモデルである. 完成したモデルを図 5. 2. 2. 4. 8. 1 に示す.

図 5. 2. 2. 4. 8. 1. 完成したガリ子カラーチェンジ版の 3D モデル（※文責：栗原将風）
68
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 2. 4. 9 ダークウム太ガリ子カラーチェンジ版と同じく, システムの仕様変更に伴い作成された 3D モデルである. ウム太のラ
イバルをイメージして色が変更されている. 完成したモデルを図 5. 2. 2. 4. 9. 1 に示す.

図 5. 2. 2. 4. 9. 1. 完成したダークウム太の 3D モデル（※文責：栗原将風）

5. 2. 2. 4. 10 タロウ
システムの仕様変更に伴って必要人物モデル数が追加された際, 完成済みキャラクターのマイナーチェンジ版を作成する裏側で作成していた 3D モデルである. システムに搭載されることはなかったが, 今後プロ
ジェクトで人物モデルの追加が必要になった際使用できるよう, 3D モデルのデータは残しておいた. 完成したもの画像を図 5. 2. 2. 4. 10. 1 に示す.

図 5. 2. 2. 4. 9. 1. 完成したタロウの 3D モデル（※文責：栗原将風）

69
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 2. 5 小道具
我々は小道具の 3D モデルの制作も行った. 必要な小道具は極力フリーのものを使用することにし, フリーで配布されていないもののみを作成した. 作成した小道具を以下に示す.

くさやは変装トリックに使用する. 完成したものの画像を図 5. 2. 2. 5. 1 として以下に示す.

図 5. 2. 2. 5. 1. 完成したくさやのモデル
はにわは密室トリックに使用する. 完成したものの画像を図 5. 2. 2. 5. 2 として以下に示す.

図 5. 2. 2. 5. 2. 完成したはにわのモデル
ちくわは密室トリックに使用する. 完成したものの画像を図 5. 2. 2. 5. 3. 1 として以下に示す.

70
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 5. 2. 2. 5. 3. 完成したちくわのモデル（※文責：栗原将風）

5. 2. 2. 6 モデリングソフト
モデルの作成にあたり, プロジェクト開始から数か月は 2 つのモデリングソフトを同時並行で使用した. メン
バー内に 3D モデリング経験者が居なかったため, 3ds Max と Blender それぞれで担当者を決め, 試験的にソフトに触る機会を設けた. 進捗状況などを考慮し, 最終的に使用を継続したのは Blender のみである.
（※文責：栗原将風）

5. 2. 2. 6. 1 Blender
Blender は, Blender. org によって公開されているオープンソースの 3D モデリングツールである. フリーではあるが多彩な機能を備えている. 今回我々が行うモデリング作業には十分であると判断したため, 候補として挙がった. 3dsMax と同時並行で作業をしたが, 操作性などの都合上, 途中からこちらに統一した. 二つのソフトで同時並行的に作業をした理由は, 操作性や作業効率などを調べるためであった. また, 万が一片方のソフトで出力されるフォーマットを MMD で使用できるフォーマットに変換できなかったことを考慮し, リス
クを軽減することも狙いであった.

（※文責：栗原将風）

71
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 2. 6. 2 3ds Max
3ds Max を用いてモデリングを行う上で, 操作方法を知る必要があった. 3ds Max について書かれた本 [5]を読み, 基本操作を学んだ. また, 人物モデルを作成する方法を学ぶために, キャラクター作成の手順を動画としてまとめたコラム [7] を参考にしながらモデリング作業を行った. 中間発表の段階では, 顔, 首, 胴, 脚の 4 部分の土台を完成させた. しかし, その後メンバー間で話し合った結果, Blender での制作のほうが効率的であると判断し, 3dsMax での制作は打ち切りすべてのモデリング作業を Blender へと移行した.
（※文責：遠藤史央里）

5. 2. 2. 7 モデルの形式
3D モデルデータは, 用途により異なるファイル形式を用いる必要がある. 今回は fbx, pmx, pmd の 3 種類の形式を使用した.

（※文責：栗原将風）

5. 2. 2. 7. 1 fbx ファイル
fbx ファイルは, Kaydara によって開発されたファイル形式である. 2006 年より Autodesk が所有している.
fbx 形式のファイルは, Unity 上に直接インポートできる.
（※文責：栗原将風）

5. 2. 2. 7. 2 pmd ファイル
pmd ファイルは, MMD で使用できるファイル形式である. pmx が開発される以前に MMD で使用されていた形式であり, pmx とは若干構造が異なる.
（※文責：栗原将風）

5. 2. 2. 7. 3 pmx ファイル
pmx ファイルは, 現在 MMD で使われている主流のファイル形式である. pmd ファイルの拡張版となっており, 機能が拡張される代わりに, 要求するマシンのスペックも上昇している.

（※文責：栗原将風）
72
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 2. 8 モデリングの手順
モデルの作成には, いくつかの手順がある. Blender で作成するものとして, それらを大まかに説明する.
（※文責：栗原将風）

5. 2. 2. 8. 1 素体の準備
人物のモデルを作成する際には, 最初に素体を作成しておくとよい. 極端な体格差がない限り, 使いまわ
すことができるためである. 今回, 素体の作成に当たって, かんたん Blender 講座 [3]というサイトを参考にさせていただいた. 素体の作成には, 素体の完成イメージとなる画像を用意することを推奨する. また, 3D のモデルを作成するため, 素体の画像は, 正面から見た図と横から見た図を用意することが好ましい. このサイト
では, Project-6B 氏の作成した「ねんどろいど風二頭身キャラクター二面図(三面図)」 [4] というフリー画像を使用している. 作成に当たり, 好ましいと判断したためお借りした. お借りした画像は図 5. 2. 2. 8. 1. 1 に示されるものである.

図 5. 2. 2. 8. 1. 1. ねんどろいど風二頭身キャラクター二面図(三面図)素体の作成についての大まかな手順を示す. 細部に関してはまず最初に, 下絵を背景に設定する. 素体の下絵に沿ってポリゴンを張っていくことにより, 簡単に素体を作成することができる. 設定できた状態を図 5.
2. 2. 8. 1. 2 に示す.

73
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 5. 2. 2. 8. 1. 2. 画像を張り終わったもの
画面を二分割し, 前と右の視点から編集をする. 設定したものを図 5. 2. 2. 8. 1. 3 に示す.

図 5. 2. 2. 8. 1. 3. 画面分割したもの
この設定した画像に沿ってポリゴンを張っていく. できたものを図 5. 2. 2. 8. 1. 4 に示す.

74
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 5. 2. 2. 8. 1. 4. ポリゴンを張り終えたもの
モーションとの都合上少し等身を変えている. 以上で素体は完成である.

（※文責：栗原将風）

5. 2. 2. 8. 2 キャラクター画像の準備
素体をキャラクターにしていく. 正確に作成するために, まずはキャラクターの画像を用意する. 素体の時と同じように, 二面図（または三面図）を用意するとよい. 作成した画像を図 5. 2. 2. 8. 2. 1 に示す.

図 5. 2. 2. 8. 2. 1. ガム子の二面図

75Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
素体を作成した際と同じように, キャラクターの下絵を背景に設定する. 設定した画面のスクリーンショットを図 5. 2. 2. 8. 2. 2 に示す.

図 5. 2. 2. 8. 2. 2. 画像を設定した後の Blender の画面（※文責：栗原将風）

5. 2. 2. 8. 3 キャラクターの作成
キャラクターの下絵を参考にしながらポリゴンを張っていく. 張ったものを図 5. 2. 2. 8. 3. 1 に示す.

図 5. 2. 2. 8. 3. 1. ポリゴンを張った時点のガム子のモデル
キャラクターの形が完成したら, 色を付けていく. 色の付け方には, マテリアルの色を直接モデルの色として表現する方法と, マテリアルにテクスチャを張り付けて表現する方法がある. ガム子はマテリアルの色のみ
76
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
で色を付けている. マテリアルはポリゴンの面単位で設定できる. 色付けのされたものを図 5. 2. 2. 8. 3. 2 に示す.

図 5. 2. 2. 8. 3. 2. 色を付けたガム子（※文責：栗原将風）

5. 2. 2. 8. 4 ボーン設定
モデルに動きを付けるには, ボーンを設定する必要がある. ボーンを動かすことでモデルの対応した箇所を変形させることが出来る. 今回は 1 から作るのではなく, プログラミング生放送のキャラクター, 暮井慧(プロ生ちゃん)[8]のボーンを移植した. ボーンを設定したものを図 5. 2. 2. 8. 3. 3 に示す.

図 5. 2. 2. 8. 3. 3. ボーンを設定したガム子
これでモデルにモーションを適用できるようになる.
（※文責：栗原将風）
77
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 2. 8. 5 動作テスト＆デバッグ
ボーンを設定した後, 実際に Unity にインポートして動かし, モデルのバグを確認した. 手にバグを発見したが, 長らく解決方法が不明であった. Unity で手の設定を変更した結果, 正常な形に修正された. 発生したバグを図 5. 2. 2. 8. 5. 1 に示す.

図 5. 2. 2. 8. 5. 1. 手に発生したバグ（※文責：栗原将風）

5. 2. 2. 9 結果完成した 3D モデルは, 人物モデル数が 10 体と, 小道具のモデルが 3 つとなった. 人物モデルは, 男性が 5 体と女性が 5 体となっている. いずれも表情を変更できる機能は搭載していない.
（※文責：栗原将風）

5. 2. 2. 10 評価・考察
アカデミーキャンプ時のアンケートにて, キャラクターの見分けがつかないという意見が上がっていた. 当時
システムに使用していた人物モデルはフリーのものを使用しており, 一人を除いて似通ったスーツ姿の男性であり, 見た目に特徴がないために判別することが困難であった. そこで我々は, 簡単に判別できるキャラク
ターを作ることを目標としてキャラクター制作にとりかかった. 11 月に行われた赤川小学校での授業では, フ
リーではあるが服装の異なるキャラクターを使用した. その結果, 半数上の児童がキャラクターを全員判別することができた. これを参考にし, 服装や髪形に特徴を持たせたキャラクターを制作し, 無事完成した.
メンバー内全員が 3D モデリングは初であったため, 手探り状態での開始となった. 使用するソフトも, 何を採用すれば作業効率が良いのか, まったく分からない状態だった. 技術を習得する時間と, 使用するソフト
78
Group Report of 2017 SISP
Group Number 6

Interactive Storytellingを試験的に動かす期間をとる必要があったため, 実質作業らしい作業にとりかかったのは 9 月からであった.
結果的に目標数以上の 3D モデルを作成することに成功した為, 技術習得に多くの時間を割いたことは間違いではなかった. だが, 最適解ではなかった. 完成した人物モデルはいずれも表情を変更できる機能がついていない. プロジェクト前半に設けた, モデリングソフトを試験的に動かす期間が長すぎたことが原因であると考えられる.

（※文責：栗原将風）

5. 2. 2. 11 今後の展望
今回の活動では, 人物モデルに表情を与えることができなかった. 今後, 3D モデル作成の活動としては,
人物モデルに表情を付けることを第一の目標とする.

（※文責：栗原将風）

5. 2. 3 モーション制作
5. 2. 3. 1 目的
本プロジェクトは自動生成された物語にインタラクティブ性を持たせることを目的としている. その表現方法のひとつとして, 3D アニメーションを用いている. ユーザーが設定した人物像, 物語の方向性と同期して 3D
アニメーションを付与することで, より物語にインタラクティブ性や面白さ, 創造性を高めることが理想である.
そのために必要な 3D モーションを制作する.
(※文責：工藤はるか)

5. 2. 3. 2 3D モーションとは
まず, モーションとは, 元々「動作」や「運動」を意味する英語である. IT 用語では映像処理や 3DCG における動作処理としての「動き」の意味で用いられる. 現実の人物や物体の「動き」をデジタル的に記録する技
術として, モーションキャプチャがある. 記録された情報は, 映画などのコンピュータアニメーション及びゲー
ムなどにおけるキャラクターの人間らしい動きの再現等に利用されている. キャプチャ技術には, 光学式, 機械式, ビデオ式などがあり, 我々はその中でビデオ式に似た技術を利用している. ビデオ式はビデオカメラで撮影された映像を解析し, 3D モーションファイルとして取り込む技術である. 我々はその解析を手動で行っている.
(※文責：工藤はるか)
79Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 3. 3 モーション制作
我々のプロジェクトにおいて, アニメーションは 3D モデルが動くことが必須である. しかし, Unity ではアニ
メーションを制作できても, 3D モデルのモーションを制作することはできない. そこで, 我々は 3D モーションを制作することができるツール, MikuMikuDance(以降 MMD と称する)を用いて制作を行った. 3D モーションを制作することができるツールとして, Maya や POSER, MotionBuilder 等様々なツールが存在する. 我々の先行プロジェクトである「ゲーム・デ・エデュケーション」では Blender で 3D モーションを制作していた. 我々は 3D モーションの制作は初めてであった. これらは操作を覚えることが難しいため, 初心者が操作を覚える
ためには時間を要する. そのため, フリーソフトで初心者でも使いやすいツールであり, 3D モーション制作のみに特化している MMD を用いることにした.
(※文責：工藤はるか)

5. 2. 3. 4 MMD
MMD とは, 樋口優が制作した, プリセットされたキャラクターの 3D モデルを操作しコンピュータアニメーシ
ョンを作成する 3DCG ソフトウェアである. フリーウェアであり, また扱いが容易であるため, 3DCG に不慣れな初心者でもすぐにアニメーションを作成することが出来る. MMD の登場はその扱いの容易さから初心者が3D アニメーションに挑む際のハードルを大きく下げたとも言われる.
(※文責：工藤はるか)

5. 2. 3. 5 制作方法
3D モデルのモーションは, 物語分析チームから得られた分析データにおいて, よく使用される動作と対象,位置を元に制作を行った. 例えば, 「探す」「机」「下」という動作, 対象, 位置の組み合わせならば, 図 5. 2.
3. 5. 1 のように机の下を探す動作の制作を行う. 位置が「上」になると図 5. 2. 3. 5. 2 のような動作になる. 制
作にあたり, 実際の動きを動画で撮影し, それを図 5. 2. 3. 5. 3 のようにトレースしている. 使用しているモデ
ルは, プログラミング生放送のキャラクター, 暮井慧(プロ生ちゃん)[8]である.

図 5. 3. 2. 5. 1. 机の下を探す動作
80
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 5. 3. 2. 5. 2. 机の上を探す動作

図 5. 3. 2. 5. 3. 撮影した映像をトレースした 3D モーション
3D モデルのモーションには, 表情や感情表現も含まれる. 感情表現は, 細かな動作により変わってくる.
表情だけでなく, 動きを加えることでより感情表現の幅を広げている. 例えば, 驚く表現であれば表情は目を見開き, 動きは後ずさりするような表現方法や, ただ表情だけを変化させ, あまり動揺を表に出さない表現もある. このように, 表情と動作を組み合わせることで, 表現の幅を広げている.
(※文責：工藤はるか)

81Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 3. 6 モーションの種類
我々が制作したモーションは合計で 16 種類である. システムに導入しているモーションの数はそれ以上であるが, 動作が既に存在している場合, 我々は制作せずに既存の物を使用している. ここでは, 我々が制作したモーションについて説明し, 具体的な図を以下に示す.
1 つ目はうなずくモーションである. 話を聞いているということが分かるようにするため制作した. 既存でうな
ずくモーションはあったが, 首を小さく振るだけで動きがはっきりせず, 分かりづらいという問題があった. それを解決するために, 図 5. 2. 3. 6. 1 のように腕の動作を加え, さらに首の動きも大げさにすることでよりうな
ずいていることが分かりやすいように制作した.

図 5. 3. 2. 6. 1 うなずくモーション
2 つ目はオカマが人を呼び止めるモーションである. 初めに,オカマらしい動作とは何かという点が難しかった. そのため, 漫画などでよく使われるオカマを参考に図 5. 2. 3. 6. 2 のようなモーションを制作した.

図 5. 3. 3. 6. 2 オカマが人を呼び止めるモーション

82
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
3 つ目は物を抱え上げるモーションである. これは物を運ぶときに地面に置いてある物を持ち上げる動作である. 物を持って運ぶ動作は既にあったが, 物を持ち上げるまでの動作がなかったため, 制作した.

図 5. 3. 2. 6. 3 物を抱え上げるモーション
4 つ目はしゃがむモーションである. しゃがむ動作は下の物をとるなどの動作に使うため制作した.

図 5. 3. 2. 6. 4 しゃがむモーション
5 つ目は物をつまみあげるモーションである. これは, 例えば机の上にある小さい物などをつまんで持ち上げるときに使う動作である.

図 5. 3. 3. 6. 5 つまみあげるモーション
83
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
6 つ目はドアを開けるモーションである. よく使われる動作だが, 既存のモーションはなかったため, 我々が制作した.

図 5. 3. 2. 6. 6 ドアを開けるモーション
7 つ目はドアを閉めるモーションである. これもよく使われる動作だが, 開ける時と同じく既存のモーションはなかったため, 我々が制作した.

図 5. 3. 3. 6. 7 ドアを閉めるモーション
8 つ目は開かないドアを開けようとするモーションである. これはミステリーで密室事件が起きた場合によく使われる動作である.

図 5. 3. 2. 6. 8 開かないドアを開けようとするモーション

84
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
9 つ目はポケットから物を取り出すモーションである. 鍵は携帯電話など身に着けている小物を取り出すシーンがあるため,制作した.

図 5. 3. 2. 6. 9 ポケットから物を取り出すモーション
10 個目は驚くモーションである. ミステリーでは必須の動作である. 体の動きだけでなく, 表情も入れることでより驚いている動作をリアルに表現している.

図 5. 3. 2. 6. 10 驚くモーション
11 個目は拾うモーションである. これは机などの上に置いてある物を拾う動作である. 制作する時は机の上から本を手に取るイメージで制作した.

85Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 5. 3. 2. 6. 11 拾うモーション
12 個目は下を探すモーションである. これは, 例えば机の下など物の下を探す時に使う動作である. 制
作時は机の下を探すイメージで制作した.

図 5. 3. 3. 6. 12 下を探すモーション
13 個目は倒れている人に触れるモーションである. 殺人や殺人未遂などのミステリーでは必須な動作である.

図 5. 3. 3. 6. 13 倒れている人に触れるモーション
86
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

14 個目はドアを叩くモーションである. これはミステリーで密室事件が起きた場合によく使われる動作である. 例えば中で人が閉じ込められていて, 中の人の安全を外から来た人が確かめる際, 外から来た人がする動作である.

図 5. 3. 2. 6. 14 ドアを叩くモーション
15 個目は 1 つ目の話すモーションである. 1 対 1 で実際に話してもらい,それを動画に撮ってトレースしている. その 1 人目の動作である.

図 5. 3. 2. 6. 15 話す 1 のモーション
16 個目はもう 1 つの話すモーションである. 15 個目のモーションと対になっているが, 実際のシステムでは対ではなく個別で使用することもできる.

87
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 5. 3. 2. 6. 16 話す 2 のモーション（※文責：工藤はるか）
5. 2. 3. 7 問題点
人間の動きは数で測れるほどのものではない. 人や性格によって動きが異なってくるため, そのような差別化を図ろうとすると, 3D モーションの量が膨大になってしまう. また, 実際の動きをトレースしているとはいえ,まだ 3D アニメーションらしい違和感をユーザーに与えてしまっている. このような問題点に関して, まず我々の技術力を向上させる必要がある. 3D モーションの量に関しては, 物語に必要な分だけの差別化された 3D
モーションを制作し, システムに負荷がかからないよう, あまり膨大な量にならないように工夫をしていこうと考えている. しかし, 少なすぎると物語の視覚的な面での面白さが減ってしまうため, どのように 3D モーションを制作していくかをよく考えなければならない. そのような点も, 工夫をしていこうと考えている.
(※文責：工藤はるか)

5. 2. 3. 8 結果と考察
インタラクティブ・ストーリーテリングシステムは, ユーザーが設定した人物像, 物語の方向性と同期して 3D
アニメーションを付与することで, より物語にインタラクティブ性や面白さ, 創造性を高めることを理想のひと
つとしている. 我々は, そのために必要な 3D モーションを制作した. 制作したモーションは合計で 16 種類である. また, 中間発表以降我々が制作していないフリーの既存モーションもシステムに導入している. 中間
発表のアンケートでは, 自由記述の欄にモデルの動きが不自然と指摘を受けることが多かった. しかし, 最終発表ではモデルの動きに関する指摘がなかった. よって, システムを使う上で支障なく動いているということが分かった. このことから, 中間発表より既存のプロが作ったモーションを取り入れたことや, 我々のモーシ
ョン制作技術が上がったことから, 中間発表時と比べてモーションが改善されたと考えられる.

（※文責：工藤はるか）

88
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
5. 2. 3. 9 今後の展望
現在制作した 3D モーションは最低限のものしかなく, バリエーションが豊富とは言えない. また, まだ動きがぎこちなく見える可能性がある. 今後も 3D モーション制作に力を尽くし, 物語の表現の幅が広がるように,
また, それに伴ってさらに 3D モーション制作の技術の向上をしていこうと考えている.
(※文責：工藤はるか)

5. 2. 4 メッセージウィンドウ
5. 2. 4. 1 メッセージウィンドウとはメッセージウィンドウとは, キャラクターのセリフや名前が表示される場所のことである. システムの見栄えの点で重要なため, 我々がオリジナルの物を制作した. 使用したツールは CLIP STUDIO PAINT というイラス
トソフトである.

（※文責：工藤はるか）

5. 2. 4. 2 コンセプト
我々のメッセージウィンドウのコンセプトは豪華な見栄えするものである. ただシンプルなウィンドウではなく,見た目が華やかになるように制作した. また, 今回は主にミステリーを取り扱ったため, 明るい色ではなく, 黒を中心に使って暗めな雰囲気になるよう制作した.

図 5. 3. 3. 2. 1 制作したメッセージウィンドウ（※文責：工藤はるか）

89
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

第 6 章 調査・評価
6. 1 アカデミーキャンプ
アカデミーキャンプは, 2017 年 8 月 23 日に神奈川県にある慶應義塾大学湘南藤沢キャンパスで開催された. 本プロジェクトも日程の一部に参加しワークショップを行った. ワークショップでは, システムプレイワー
ク, ストーリー作成ワーク, キャラクター作成ワークという計 3 つのワークを参加者 24 人に対して行った. 24 人
は小学生・中学生・高校生（小学 3 年～高校 3 年）の男女であった. 各ワークは, 参加者を 4 つのグループに分けて実施した.

（※文責：遠藤史央里）

6. 1. 1 参加目的
アカデミーキャンプへの参加目的は, 開発したシステムの評価や一定の対象に好まれる物語の調査である. 11 月には赤川小学校においても授業として評価実験を行うため, ここでの対象は小中学生とした.
（※文責：遠藤史央里）

6. 1. 2 システムプレイワーク
6. 1. 2. 1 目的・準備
本プロジェクトで開発しているシステムを対象である参加者に触れてもらい, 評価してもらうことを目的とした. システムは, 中間発表の時点において未完成であり操作できるものではなかったため, 参加者が操作しても問題のないものへと早急に仕上げる必要があった. 完成させたシステムは PC8 台に導入し, 電源を入れた際すぐに起動できるよう事前に設定しておいた.

（※文責：遠藤史央里）

6. 1. 2. 2 方法
システムに触れてもらうワークを行った. 各グループに PC を 2 台ずつ計 8 台配布し, 事前に導入したシス
テムを指示に従って動かしたり変更したりしてもらった. 指示の内容は, テキストファイルの記述内容を書き換えることでカメラの視点変更, キャラクターのセリフ変更をするもの (図 6. 1) である. システムが未完成で90Group Report of 2017 SISP
Group Number 6

Interactive Storytellingあり, この段階ではユーザとシステムのインタラクティブ性が存在しなかったことがこれらの指示を行った理由である. また, システムに触れた後アンケートに答えてもらった. アンケートの質問内容は以下の通りである.
Q1. システムを使うのは楽しかったですか？（5 段階評価）-

とても楽しかった

-

楽しかった

-

普通

-

つまらなかった-

とてもつまらなかったQ2-1. とても楽しかった、楽しかったのどちらかに◯をした人はどういうところが楽しかったですか？
Q2-2. つまらなかった、とてもつまらなかったのどちらかに◯をした人はどういうところがつまらなかったですか？
Q3. システムにあったら面白いと思うことを自由に書いてください

図 6. 1. システムプレイワークでの指示（※文責：遠藤史央里）

6. 1. 2. 3 結果
まず, ワーク中の参加者の様子からは, 楽しそうな雰囲気が見受けられた. 図 6. 2 はその様子である.

91
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 6. 2. システムプレイワーク中の様子
また, アンケートの質問内容と回答は以下に示す.
Q1. システムを使うのは楽しかったですか？
表 6. 1. キャラクター作成ワークにおけるアンケート Q1 への回答結果
回答

人数（人）

とても楽しかった

10

楽しかった

11

普通

2

つまらなかった0

とてもつまらなかった

0

無回答

1

Q2-1. とても楽しかった、楽しかったのどちらかに◯をした人はどういうところが楽しかったですか？（一部抜粋）·

自分で変えることができるところ·

自分で物語を作れたから·ゲームみたいなところが楽しかった。推理などの本も好きなので楽しかった。

·

犯人探しをするところ、犯人を見つけた後のセリフ。

Q2-2. つまらなかった、とてもつまらなかったのどちらかに◯をした人はどういうところがつまらなかったですか？
-

該当者なし

Q3. システムにあったら面白いと思うことを自由に書いてください（一部抜粋）
92Group Report of 2017 SISP
Group Number 6

Interactive Storytelling·

キャラを写真から作れるシステム·

助手以外もちゃんとしていること·

システムの中の人を動かす·

見た目をもっとわかりやすくしてほしい·

話をしている人それぞれ音声をいれる·

自動再生があったら面白いと思いました·

txt ファイルではなく、もっとわかりやすいメニューがあったらよい（※文責：遠藤史央里）

6. 1. 2. 4 考察導入したシステムは, 本アカデミーキャンプに間に合うよう一時的に完成させたものであり,不十分な点が多々存在していた. そのため, 参加者が退屈しないような工夫としてカメラの視点変更やキャラクターのセリ
フ変更などの指示を出すことにした. 結果として, アンケートで楽しかったか否かを問うたところ, 約 8 割の参加者が（とても）楽しかったと答えた. どんなところが面白かったか, またシステムにあると面白いことを質問し回答を見ると, 参加者は自分で変更ができるということに楽しさを見出すということが分かった. 回答の割合
を図 6. 3 に示す.

図 6. 3. キャラクター作成ワークにおけるアンケート Q1 への回答結果の円グラフ
しかしこの操作はその場限りのものであり, 実際のシステムでユーザが行うべきものではなかったため, アンケートの内容を参考とし, よりインタラクティブ性のある操作を実装する必要があると考えられた. （これ以降のシステム内容については, 第 4 章 物語生成チームを参照.）（※文責：遠藤史央里）

93Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

6. 1. 3 ストーリー作成ワーク
6. 1. 3. 1 目的・準備
物語の世界観の違いやキャラクターが自分と似ているか否かにより, 好まれる結末は異なるか調べることを目的とした. ワークには, イラストの描かれたストーリーカード (図 6. 4)を用いた. カード 5 枚を 1 セットとし,内容の異なるものを 4 種類用意した. 5 枚のカードのうち, 2 枚は文章を添えストーリーの冒頭とその後の展開を示すカードとした. 残り 3 枚にはそれぞれ A, B, C という文字を入れ, 結末を示す結末カードとした. 結末
カードについては, 成功する結末（ハッピーエンド）, 失敗する結末（バッドエンド）, 変わった結末（シュールエンド）の 3 種類を用意した. また用意された 4 種類は, ストーリーの世界観が違う 2 種類とパターンが違う 2
種類の掛け合わせであり, グループによって使用するストーリーを異なるものにした. 掛け合わせについては,
以下に示すとおりである.
·

現実世界×依頼達成·

現実世界×謎解き·

ファンタジー世界×依頼達成·

ファンタジー世界×謎解き

図 6. 4. ストーリーカード
94
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

物語の結末でどんなものが好きかと問われた時, 多くの場合はハッピーエンドかバッドエンドの二つから選択されるだろう. 例えば, 恋愛モノの物語であった場合, 主人公とその想い人が結ばれて結婚する幸せな結末（ハッピーエンド）, 結ばれても死別してしまう悲しい結末（バッドエンド）などである. しかし, 物語の結末はその二つだけに分けられるものではなく, どちらにも属さないような変わった結末も考えられる. 結末カードを成功する結末（ハッピーエンド）, 失敗する結末（バッドエンド）, 変わった結末（シュールエンド）の 3 種類用
意したのは以上の理由からである.
また, 選ばれる結末は物語の世界観の違いによって変わる可能性が考えられる. 今回用意した世界観は現実世界とファンタジー世界である. これら 2 つの世界に決めた理由は, 読み手にとって身近で理解しやす
いのが現実世界, 現実では起こり得ないようなことも簡単に起こせるのがファンタジー世界であり, 比較した時に差が出やすいと考えたからである.
パターンについて, 依頼達成と謎解きの 2 種類を用意したのは, ハッピーエンドとバッドエンドのように良い終わり方や悪い終わり方を表すのに一番わかりやすいのが, 問題が提起されそれを解決するまたは解決できないといった依頼達成や謎解きの物語であると考えたのが理由である.

（※文責：遠藤史央里）

6. 1. 3. 2 方法
参加者は 4 グループに分かれているため, 2 グループに A セットの 2 ストーリー,もう 2 グループに B セットの 2 ストーリーを振り分けた. A セット, B セットについては以下の通りである.
·

A セット: 現実世界×依頼達成, ファンタジー世界×謎解き·

B セット: 現実世界×謎解き, ファンタジー世界×依頼達成

参加者には, ストーリーの流れとイラストから結末を想像し 3 つのカードから選んでもらった. ワークシート
への記入やグループ交流などを行った後, アンケートを実施した. アンケートの質問内容は以下の通りである.
Q1. 物語を読むのは好きですか？（4 段階評価）
-

とても好き

-

好き

-

ややきらい

-

きらい

Q2. 物語を作るのは面白かったですか？（4 段階評価）-

とても面白かった

-

面白かった

-

あまり面白くなかった95

Group Report of 2017 SISP
Group Number 6

Interactive Storytelling-

面白くなかった

Q3. お話 1, お話 2 ではどちらが好きですか？（選択式）
-

お話 1

-

お話 2

-

両方好き

-

どちらも好きじゃないQ4. お話 1 の主人公は自分に似ていると思いますか？（選択式）-

とても似ている

-

似ている

-

あまり似ていない-

似ていない

Q5. お話 2 の主人公は自分に似ていると思いますか？（選択式）-

とても似ている

-

似ている

-

あまり似ていない-

似ていない

ここでのお話 1, 2 は, A セットではそれぞれ現実世界×依頼達成, ファンタジー世界×謎解きであり, B セッ
トではそれぞれファンタジー世界×依頼達成, 現実世界×謎解きである.

（※文責：遠藤史央里）

6. 1. 3. 3 結果
4 つのストーリーそれぞれについて, 現実世界×依頼達成のストーリーについて, 回答が一番多かったのは A（ハッピーエンド）であった. 次に, 現実世界×謎解きのストーリーについて, 回答が一番多かったのは C（シュールエンド）であった. また, ファンタジー世界×依頼達成のストーリーについて, 回答が一番多かったのは C（シュールエンド）であった. そして, ファンタジー世界×謎解きのストーリーについて, 回答が一番多かったのは B（バッドエンド）であった.
2 セットを比較した結果も示す. A セットでは, 「現実世界」と「ファンタジー世界」の違いにより選ばれる結末は異なった. B セットでは, 過半数が同じ結末を選んだ.
表 6. 2. 異なる世界観のストーリーで選ばれた結末の人数（人）
同じ結末

異なる結末

A セット

3

9

B セット

7

5

※ここでの同じ結末は, 現実世界のストーリーで結末 A,
96
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
ファンタジー世界のストーリーでも結末 A を選ぶような場合
また, A セットについて,「謎解き」では A（ハッピーエンド）が多く, 「依頼達成」では B（バッドエンド）が多く選ばれた. B セットについては, 「謎解き」と「依頼達成」でともに C（シュールエンド）が多く選ばれた.
表 6. 3. それぞれの結末カードと選択した人数（人）
依頼達成
A

B

謎解き
C

A

B

C

A セット

5

3

4

2

7

3

B セット

3

3

6

1

3

8

アンケートの質問内容と回答は以下に示す.
Q1. 物語を読むのは好きですか？（選択式）
表 6. 4. ストーリー作成ワークにおけるアンケート Q1 への回答結果
回答

人数（人）

とても好き

8

好き

13

ややきらい

2

きらい

1

Q2. 物語を作るのは面白かったですか？（4 段階評価）
表 6. 5. ストーリー作成ワークにおけるアンケート Q2 への回答結果
回答

人数（人）

とても面白かった

13

面白かった

10

あまり面白くなかった1

面白くなかった0

Q3-A. お話 1, お話 2 ではどちらが好きですか？（選択式）
表 6. 6. ストーリー作成ワークにおけるアンケート Q3 への A セットの回答結果
回答

人数（人）

お話 1

2

お話 2

5

両方好き

5

どちらも好きじゃない097Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
Q3-B. お話 1, お話 2 ではどちらが好きですか？（選択式）
表 6. 7. ストーリー作成ワークにおけるアンケート Q3 への B セットの回答結果
回答

人数（人）

お話 1

1

お話 2

6

両方好き

5

どちらも好きじゃない0

Q4-A. お話 1 の主人公は自分に似ていると思いますか？（選択式）
表 6. 8. ストーリー作成ワークにおけるアンケート Q4 への A セットの回答結果
回答

人数（人）

とても似ている

1

似ている

4

あまり似ていない

3

似ていない

4

Q4-B. お話 1 の主人公は自分に似ていると思いますか？（選択式）
表 6. 9. ストーリー作成ワークにおけるアンケート Q4 への B セットの回答結果
回答

人数（人）

とても似ている

0

似ている

3

あまり似ていない

6

似ていない

2

Q5-A. お話 2 の主人公は自分に似ていると思いますか？（選択式）
表 6. 10. ストーリー作成ワークにおけるアンケート Q5 への A セットの回答結果
回答

人数（人）

とても似ている

1

似ている

1

あまり似ていない

4

似ていない

6

98
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
Q5-B. お話 2 の主人公は自分に似ていると思いますか？（選択式）
表 6.11. ストーリー作成ワークにおけるアンケート Q5 への B セットの回答結果
回答

人数（人）

とても似ている

0

似ている

3

あまり似ていない

3

似ていない

5

また, ワーク中の様子を図 6. 5 に示す.

図 6. 5. ストーリー作成ワーク中の様子（※文責：遠藤史央里）
6. 1. 3. 4 考察
ワークシートへの記入内容やアンケートの回答結果から分かったことを記述する.
まず, 世界観やパターンを比較して分かったことを示す. 「現実世界」のストーリー2 つを比較すると, どち
らも B（バッドエンド）以外が多く選ばれた. 自分たちとより身近である「現実世界」の設定においては悪い結果は選ばれにくく, 成功する結末を望みやすいのだと考えられる. 「ファンタジー世界」のストーリー2 つを比較すると, A（ハッピーエンド）以外が多く選ばれた. 「現実世界」の場合とは反対に自分とはあまり身近でなく自分の身に起こる可能性が低いことから, 現実では起こり得ない悪い結末や面白い結末を期待する傾向にあるのだと思われる. 「依頼達成」のストーリー2 つを比較すると, B(バッドエンド)以外が多く選ばれた. 「現99Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
実世界」や「ファンタジー世界」という観点を除いても, 「依頼達成」では失敗する結末はあまり好まれないのだと考えられる. 「謎解き」のストーリー2 つを比較すると, A（ハッピーエンド）以外が多く選ばれた. 「ファンタジー世界」において B（バッドエンド）が選ばれたのは先に述べた通りであるが, 「現実世界」において A(ハッピーエンド)が選ばれたのは, ただ単に想定しやすい方法で謎が解けるよりもなにかはっとさせられるような面
白い発見を求めるのだと考えられる.
また, 参加者は小学生から高校生までいるため, 年齢によって差が出る可能性を考慮し小学生と中高生に分けて結果を比較した. グラフにして比べてみると, 小学生は比較的 C（シュールエンド）が目立つのに対し（図 6.6）中高生は A（ハッピーエンド）が目立って見える. （図 6. 7） 配布したワークシートには, 選んだ結末を記入する欄に加え, それがどのような結末だと思って選んだのか, なぜその結末を選んだのか記述する
欄を設けていた. C（シュールエンド）を選んだ小学生の回答はユニークなものが多く, また選択理由を見ると「面白そうだから」「A と B は普通すぎる」といった意見が見られた. 中高生の回答は回答どうし似ているものが多く, またこちら側で想定していたようなものであった. 小学生は普通とは違う一風変わった面白いものを好み, 中高生は, 普通はこうなるだろうといった一般的なものを選ぶ傾向にあると考えられる.

図 6. 6. 小学生の選んだ結末

100
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 6. 7. 中高生の選んだ結末
ここまではストーリーに関してであったが, ストーリー作成ワークそのものに関しても述べる. アンケートでは,物語を読むことが好きか否かという問いに対し,約 8 割の参加者が好きだと答えていた. （図 6. 8） 一方で,このワークが面白かったか否かを問うたところ, あまり面白くなかったと答えたのは参加者 1 人だけであり, 参
加者の 9 割が面白かったと答えた. （図 6. 9） また, あまり面白くなかったと答えた参加者は, 物語を読むのが好きか否かという問にきらいと答えていた参加者と同一人物であった. この結果を見ると, ストーリー作
成ワーク自体は良いものとなったと考えられる. 今後なにかワークを行うのであれば, 物語を読むのが好きでない人でも楽しくできるような案を考える必要がありそうだ.

図 6. 8. ストーリー作成ワークにおけるアンケート Q1 への回答結果の円グラフ
101
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 6. 9. ストーリー作成ワークにおけるアンケート Q2 への回答結果の円グラフ（※文責：遠藤史央里）

6. 1. 4 キャラクター作成ワーク
6. 1. 4. 1 目的・準備対象である参加者がどのようなキャラクターを好むのかを調査し, システムにおける人物の特徴設定や人物モデリングの参考とすることを目的とした.

（※文責：遠藤史央里）

6. 1. 4. 2 方法
参加者がキャラクターを作成するにあたり, 一から考え出すのは困難であるだろうという推測から, ワークにはワークシートを用意した. キャラクターに必要な要素として, 名前・性別・年齢・性格・外見・行動・好き嫌い・その他 の記入欄を設けた. 性格は選択式, その他は自由記述欄とした. また, ワークシートへの記入
やグループ交流などを行った後アンケートに答えてもらった. アンケートの質問内容は以下の通りである.
Q1. キャラクターを作るのは楽しかったですか？（5 段階評価）-

とても楽しかった

-

楽しかった
102

Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
-

普通

-

つまらなかった-

とてもつまらなかったQ2. どうしてそう思いましたか？
Q3. 作成したキャラクターはなぜその設定にしましたか？
Q4. 作成したキャラクターはあなたに似ていますか？
Q5 .似ていると答えた人はどういうところが似ていますか？
Q6. どのようなキャラクターが好きですか？
（※文責：遠藤史央里）

6. 1. 4. 3 結果
キャラクター作成シートに参加者が記入した内容を 3 つの観点から示す. まず一つ目に, 性別について,キャラクターの性別を設定するにあたり参加者自身の性別と同性にする人が過半数存在した. 内訳は, 表
6. 12 に示す.
表 6. 12. 参加者が選んだキャラクターの性別
選んだ性別

人数（人）

（参加者と）同性

17（参加者と）異性2

どちらでもない

3

無回答

2

二つ目に, 年齢について, 自分と同じ年齢にした人は 1 人のみであり, 多くの参加者が自分とは離れた
年齢設定をしていた. 内訳は, 表 6. 13 に示す.
表 6. 13. 参加者が設定したキャラクターと参加者自身との年齢差
年齢差

人数（人）

10 歳以上125 歳以上 10 未満

2

1 歳以上 5 歳未満

5

0歳

1

無回答

4

※被験者には学年のみを聞いたため, 満年齢との差を出している.
最後に, 性別と年齢以外の項目に関してだが, 参加者それぞれが様々な設定を作り込んでおり, 一貫して見られるようなものはなかった. ただ, キャラクターがそもそも人間であるか否かの点で見ると, 圧倒的に後103
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling者のほうが多かった.
アンケートの質問内容と回答については, 以下に示す.
Q1. キャラクターを作るのは楽しかったですか？
表 6. 14. キャラクター作成ワークにおけるアンケート Q1 への回答結果
回答

人数（人）

とても楽しかった

11

楽しかった

7

普通

4

つまらなかった0

とてもつまらなかった

0

無回答

2

Q2. どうしてそう思いましたか？（一部抜粋）·「とても楽しかった」を選んだ人の回答-

自分好みのキャラクターが作れたから-顔とかみんなで話し合ってやったことがとても楽しかった-

キャラクターを自分で作るのは難しかったけれど、工夫して細かい設定も作れたから。

·

·

-

僕の発想は∞だから。

-

物語なども考えながら作ったから。

「楽しかった」を選んだ人の回答-

キャラクター作りをやるのはあまりないから、いい体験になった-

キャラの想像が広がるから-

いろんな設定を考えられるから-楽しかったけれど、絵が少しめんどくさかった。すみません。

-

性格を自分で選んだりして、自分だけのキャラクターを作れたから。

「普通」を選んだ人の回答-

その他を書くのが少し大変でした-

難しくてなかなかかけなかった

Q3. 作成したキャラクターはなぜその設定にしましたか？（一部抜粋）·

さっき、オタク集会の話があったから。

·

おもしろいキャラをつくりたかった·

昨日食べたから·スマホが好きだからスマホをもとにした·優しい人が良かったから
104Group Report of 2017 SISP
Group Number 6

Interactive Storytelling·

近くにゴミ箱があった·

友達にとても似ていて、とてもあこがれたから。

·

自分の夢をイメージして作ったからQ4. 作成したキャラクターはあなたに似ていますか？
表 6. 15. キャラクター作成ワークにおけるアンケート Q4 への回答結果
回答

人数（人）

似ている

3

少し似ている

1

似ていない

19

無回答

1

Q5 .似ていると答えた人はどういうところが似ていますか？
·

ゲーム好きなところ·

ものづくりが好きなこと、考え·

絵を描くことが好きなこと·

明るいところと性別あと好き嫌い

Q6. どのようなキャラクターが好きですか？（一部抜粋）·

ゆるキャラなど·

ロリ（年下）が好きや！！

·特にありません·（具体的なアニメやマンガのキャラクター 多数）

また, ワーク中の様子を図 6. 10 に示す.

図 6. 10. キャラクター作成ワーク中の様子

105Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
6. 1. 4. 4 考察
キャラクター作成ワークは, ストーリー作成ワークとは異なり一から自分の想像でキャラクターを作成することを要した. ワーク中の参加者を見ると, 想像を膨らませて形にするのが得意な子がいれば不得意な子もおり, 考えるための材料は用意されているもののなかなか書き出せない様子が少々伺えた. 不得意そうな子の作成を手助けするためのアプローチが他に必要な可能性を感じた.
また, ワークシートへの記入内容やアンケートの回答結果からは, 大きく二つのことが分かった. 一つ目は,キャラクター作成においての性別の選択は, 自分の好みというよりも作りやすさ・考えやすさが重視されるということである. 二つ目は, 作り手の主観として自分とは似ていないキャラクターを考える傾向にあるということである. “システムにおける人物の特徴設定や人物モデリングの参考にする” という目的は果たすことができたが, キャラクターを作成してもらうこの形式のワークでは “対象である参加者がどのようなキャラクターを好むのか” を調査するという当初の目的は必ずしも果たされているとはいえないだろう. 今後, その目的を果たす必要があるのであれば, 手段を変える必要があると考える.

（※文責：遠藤史央里）

6. 2 赤川小学校
赤川小学校の 6 年生 20 名にシステムの評価をしていただいた. 評価していただくだけでなく, 物語に関するワークや函館の良さを探すワークなどを行った. 物語に関するワークではキャラクターの特徴や, 人が良いと思う物語の終わりを調査した. 調査する前に未来大学で交流会を行い, 赤川小学校の 6 年生との距離を縮め, システムの評価をするときに円滑に進められるようにした. 交流会から 2 週間後赤川小学校に行きシステムの評価をしていただいた. 赤川小学校の先生方と生徒は,道徳の授業としてこの時間を過ごしているため, 赤川小学校が考える大学生と交流する目的からそれないように, 赤川小学校とメールのやり取りをし,授業内容を決めた.

（※文責：玉置秀基）

6. 2. 1 交流会
10 月 25 日に赤川小学校の 6 年生 19 人と教員を未来大に招き, 485 教室にて交流会と称して特別授業を行った.

（※文責：根本裕基）

106Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
6. 2. 1. 1 目的
11 月に赤川小学校を訪問するにあたって, あらかじめ親睦を深め, 当日のワークを円滑に行えるようにすることを目的として今回の交流会を行った.
（※文責：根本裕基）

6. 2. 1. 2 概要
当日は以下の流れで授業を進行した.
（※文責：根本裕基）

6. 2. 1. 2. 1 アイスブレイク
初めに,お互いに自己紹介するとともに, 小学生には将来の夢を,大学生には小学生のときにどのような夢を持っていたのかを話してもらった. これはお互いに話しやすい雰囲気を作り, その後のワークを円滑に進めることを目的としている.

（※文責：根本裕基）

6. 2. 1. 2. 2 函館グループワーク
小学生 4～5 人のグループにプロジェクトメンバーが 2 人ほど混ざり, 函館の良さについて話しあい, 最後に各グループでまとめた意見を発表した. 函館出身の小学生と他県出身の大学生が入り混じって話し合うことで, お互いに気づかない函館の良いところを見つけることが目的である.
図 6.2.1.2.1 にワーク中の様子を示す.
（※文責：根本裕基）

6. 2. 1. 2. 3 ストーリー作成ワーク
8 月のアカデミーキャンプで行った, 2 枚のストーリーカードを読んでその後の展開を選択するワークを今回も行った. 作成してもらう物語はアカデミーキャンプで行った際と同じで, 以下の組み合わせである.

·

A セット: 現実世界×依頼達成, ファンタジー世界×謎解き·

B セット: 現実世界×謎解き, ファンタジー世界×依頼達成

どのような物語が好まれるのかを調査すると同時に, 物語の作成を体験してもらうワークである. 図 6. 2. 1.
2. 1,図 6. 2. 1. 2. 2 にワーク中の様子を示す.
107
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

図 6. 2. 1. 2. 1. ワークの様子 1

図 6. 2. 1. 2. 2. ワークの様子 2（※文責：根本裕基）

6. 2. 1. 2. 4 アンケート・まとめ
最後にワークシートに記載されているアンケートに回答してもらい, 11 月に行われた赤川小学校でのワークについて簡単な説明をして当日の特別授業は終了した.
アンケートの質問内容は, アカデミーキャンプで実施したアンケートと全く同じ内容なのでここでは割愛する.
なお, 未回答者が一人いる質問がいくつか見られた.

（※文責：根本裕基）

6. 2. 1. 3 結果
ストーリー作成ワークとアンケートの回答結果は次のようになった.

（※文責：根本裕基）

6. 2. 1. 3. 1 ストーリー作成ワークの結果
A セット,B セットともに大半が異なる結末を選択した.
表 6. 2. 1. 3. 1. 1. 異なる世界観のストーリーで選ばれた結末の人数（人）
同じ結末

異なる結末

A セット

1

9

B セット

3

6

※ここでの同じ結末は, 現実世界のストーリーで結末 A,
108
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
ファンタジー世界のストーリーでも結末 A を選ぶような場合
A セットについて, 「謎解き」では A（ハッピーエンド）が多く, 「依頼達成」では B（バッドエンド）が多く選ばれた. B セットについては, 「謎解き」と「依頼達成」でともに C（シュールエンド）が多く選ばれた.
表 6. 2. 1. 3. 1. 2. それぞれの結末カードと選択した人数（人）
謎解き

依頼達成

A

B

C

A

B

C

A セット

2

5

3

4

3

3

B セット

1

3

5

1

7

1

6. 2. 1. 3. 2 アンケートの結果
Q1. 物語を読むのは好きですか？（4 段階評価）
表 6. 2. 1. 3. 2. 1. ストーリー作成ワークにおけるアンケート Q1 への回答結果
回答

人数（人）

とても好き

9

好き

8

ややきらい

2

きらい

0

Q2. 物語を作るのは面白かったですか？（4 段階評価）
表 6. 2. 1. 3. 2. 2. ストーリー作成ワークにおけるアンケート Q2 への回答結果
回答

人数（人）

とても面白かった

14

面白かった

5

あまり面白くなかった0

面白くなかった0

Q3-A. お話 1, お話 2 ではどちらが好きですか？（選択式）
表 6. 2. 1. 3. 2. 3. ストーリー作成ワークにおけるアンケート Q3 への A セットの回答結果
回答

人数（人）

お話 1

0

お話 2

5

両方好き

5

どちらも好きじゃない

0109
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
Q3-B. お話 1, お話 2 ではどちらが好きですか？（選択式）
表 6. 2. 1. 3. 2. 4. ストーリー作成ワークにおけるアンケート Q3 への B セットの回答結果
回答

人数（人）

お話 1

0

お話 2

3

両方好き

6

どちらも好きじゃない0

Q4-A. お話 1 の主人公は自分に似ていると思いますか？（選択式）
表 6. 2. 1. 3. 2. 5. ストーリー作成ワークにおけるアンケート Q4 への A セットの回答結果
回答

人数（人）

とても似ている

1

似ている

2

あまり似ていない

3

似ていない

4

Q4-B. お話 1 の主人公は自分に似ていると思いますか？（選択式）※回答者 8 人
表 6. 2. 1. 3. 2. 6. ストーリー作成ワークにおけるアンケート Q4 への B セットの回答結果
回答

人数（人）

とても似ている

1

似ている

1

あまり似ていない

3

似ていない

3

Q5-A. お話 2 の主人公は自分に似ていると思いますか？（選択式）
表 6. 2. 1. 3. 2. 7. ストーリー作成ワークにおけるアンケート Q5 への A セットの回答結果
回答

人数（人）

とても似ている

3

似ている

1

あまり似ていない

3

似ていない

3

110
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
Q5-B. お話 2 の主人公は自分に似ていると思いますか？（選択式）※回答者 8 人
表 6. 2. 1. 3. 2. 8. ストーリー作成ワークにおけるアンケート Q5 への B セットの回答結果
回答

人数（人）

とても似ている

2

似ている

1

あまり似ていない

2

似ていない

3

（※文責：根本裕基）

6. 2. 1. 4 考察
以上のワークシートへの記入内容やアンケートの回答結果から, 用意した 4 つのストーリーそれぞれについて分かったことを述べる.
まず, 現実世界×依頼達成のストーリーについて, さほど差は見られなかったが, A（ハッピーエンド）が一番多かった. 次に, 現実世界×謎解きのストーリーについて, C（シュールエンド）の回答が半数を占めた. また, ファンタジー世界×依頼達成のストーリーについて, ほとんどの回答者が B（バッドエンド）を選んだ. そして, ファンタジー世界×謎解きのストーリーについて, 回答が一番多かったのは B（バッドエンド）であった.
「現実世界」のストーリー2 つを比較すると, A(ハッピーエンド)を選んだ人が「依頼達成」のストーリーでは多かったのに対し, 「謎解き」のストーリーではほとんどいなかった. 同じ「現実世界」でも「依頼達成」はありふれたシチュエーションなのに対し, 「謎解き」はあまり聞かないシチュエーションだったので, 自分の身近に起こる可能性が高い「依頼達成」で A(ハッピーエンド)が多く選ばれたと考えられる. 「ファンタジー世界」のス
トーリー2 つを比較すると, 両方とも B(バッドエンド)が多く選ばれた. 身近に起こる可能性がまず無いため,容易に悪い結末を選べるのだと考えられる. 「依頼達成」のストーリー2 つを比較すると, 身近に起こる可能性が高い「現実世界」では A(ハッピーエンド)が, 身近には起こりえない「ファンタジー世界」では B(バッドエンド)が多く選ばれている. 「謎解き」のストーリー2 つを比較すると, ともに B(バッドエンド)が多く選ばれている. 以上から, 自分が遭遇する可能性のあるシチュエーションではより良い結末が選ばれやすいのに対し,遭遇しえないようなシチュエーションでは悪い結末や面白い結末が選ばれやすいと考えられる.

（※文責：根本裕基）

111
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

6. 2. 2 赤川小学校授業
6. 2. 2. 1 目的アカデミーキャンプで出ていた問題点を改善したインタラクティブ・ストーリーテリングシステムを評価してもらうことを目的とした. アカデミーキャンプの時にしたキャラクター作成を赤川小学校の 6 年生を対象に実施
し, 人うけのよいキャラクターを調査した.

（※文責：玉置秀基）

6. 2. 2. 2 概要
赤川小学校の 6 年生は授業として 2 限分の時間と休憩時間を割いていただいているため授業は約 100分であった. 授業の前半 40 分はキャラクター作成ワークをした. 赤川小学校に開発したインタラクティブ・ス
トーリーテリングシステムを入れたノートパソコンを 8 台持っていき, システムを 30 分使っていただいた. また,
メールでのやりとりのなかで, 赤川小学校側の要望として大学について少し説明をし, 生徒に大学への興味を持ってほしいというものがあったため, 小学生に大学に興味を持ってもらえるように, 未来大学ではどういうことをどのようにしているのかをわかりやすいように少し説明した.

（※文責：玉置秀基）

6. 2. 2. 2. 1 キャラクター作成ワーク
アカデミーキャンプと同じように,参加者がどのようなキャラクターを好むのかを調査し, システムにおける人物の特徴設定や, モデリングの参考とすることを目的とした. 作成したキャラクターが気に入った生徒の中にはキャラクター作成シートを自分で持って帰りたい人もいたため, 再びこのワークをする機会があれば, 作成
シートを持って帰りたい人がいたときのために, 写真をとり, データを残せるようにするといいだろう.

（※文責：玉置秀基）

6. 2. 2. 2. 2 システムの評価システムの評価をする前に本プロジェクトの説明とインタラクティブ・ストーリーテリングシステムの操作説明
を 3 分ほどした. この時にシステムを 30 分使ってもらうことも説明した. システムを入れたノートパソコンを 2, 3
人に 1 台使っていただき, システムを操作していただいた. システムはアカデミーキャンプの時に出た問題点を改善したものを使用した. 変更点としては, 登場人物のモデルを特徴のある体格や髪型のモデルにした.
システムの最初にメニューをつけることにより, 物語のテキストの変更を簡単にした. カメラワークをマウスで自112Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
由に動かせるようにし, 注目したい登場人物に近づけたり, 角度を変え, 物語を好きな角度から見ることが出来るようにした.

（※文責：玉置秀基）

6. 2. 2. 3 アンケート結果
システムを使うのが楽しかったと答えた人が 13 名, 楽しかったと答えた人が 5 名, 普通と答えた人が 2 名であった(図 6. 2. 2. 3. 1). 赤川小学校時で初めて導入されたカメラワークについては, とても楽しかったと答えた人が 12 名, 楽しかったと答えた人が 7 名, 普通と答えた人が 1 名であった. 登場人物を見分けられた人は全 5 キャラ中 5 キャラが 10 名, 4 キャラが 5 名, 3 キャラが 1 名, 2 キャラが 2 名, 1 キャラが 2 名であった.
どのように見分けたかについては, 探偵は, 服, 見た目, おねぇ, 帽子, 髪がない, 事件を解決していたという点があげられた. 助手は男, おどおど, 話し方, 髪をわけてた, 口が開いていたという点があげられていた.
犯人は白い T シャツ, 背の高さ, いかつい体, 筋肉があげられた. 刑事は刑事の服装, 話し方があげられた. 被害者は髪が長い, 女, 白い T シャツという点があげられていた.

図 6. 2. 2. 3. 1 システムは楽しかったかどうか
システムの有用性を本と比べた. 比べる内容は, 面白さ, 楽しさ, わかりやすさ, 再読性, カスタマイズ性の5 つである. 結果は 1～5 で（1 は本, 5 はシステム）で回答していただき以下のようになった.
面白さ: 合計 74.5 平均 3.725
楽しさ: 合計 75.4 平均 3.77
わかりやすさ: 合計 66.3 平均 3.315
再読性（また見たいか）: 合計 67.6 平均 3.38
カスタマイズ性: 合計 77.2 平均 3.86
自由記述の欄では動きがわかりやすい, カメラの向きを変えるのが楽しいという良い点と, 終わりをはっきりとしてほしい, 選択肢が欲しいなどの指摘もあった.
（※文責：玉置秀基）
113
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
6. 2. 2．4 考察
赤川小学校でするシステムの評価が, 最終発表までにできる外部の評価であるため, この赤川小学校授業のあとからは, 自分たちでシステムの評価をしていかないといけない. また, この赤川小学校の授業では,システムを触ってもらう時間が 30 分であったため, システムを１人あたりに, 長く触ってもらうことができなかった. しかし, システムについてはアカデミーキャンプの時と同じように結果から楽しかったと言ってくれる人が多かった. アカデミーキャンプの時に出た問題である, 登場人物が見分けづらいことについては, アンケート
結果から登場人物を見分けやすいキャラクターにしたのは成功だったと考えられる. 今回追加された機能である, カメラワークを自由に変更できるところが好評だったため, 最終発表でもこの機能を使うことを決めた.
物語が終わったかどうかが分かりづらいということについては, 図 6. 2. 2. 4. 1 が最後の画面だが, まだ物語が続きそうにとれるため終わったかどうかが分かりづらかったと考えられる.終わったかどうかわかるために, エンディングであったり, 終わりとわかる画面を出力するようにするべきだった. またこの図(図 6. 2. 2. 4. 1）の役
割のところが英語になっているのも小学生を混乱させた理由だと考えられる. 自由記述に書かれていたことは, 最終発表に向けてシステムの開発をするのに参考にした.

図 6. 2. 2. 4. 1 システムの終わりの画面（※文責：玉置秀基）

114
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

第 7 章 中間発表
7. 1 発表準備
中間発表にあたり, ポスター1 枚, スライド 30 ページ, 1 分 20 秒の SAMPLE 動画を作成した.
（※文責：栗原将風）

7. 2 アンケート
中間発表で評価者 52 名（公立はこだて未来大学の学生, 教員）が記入した 2 枚のアンケートをもとに集計した. アンケート回答から抽出し, エクセル形式でまとめた表を作成した. 1 枚目は発表に関する評価で, 2
枚目は物語自動生成システムに関する評価で作成した.
最初に 1 枚目の発表評価は, 1 項目は点数形式, 2 項目はコメント形式は 2 項目になっていた. まず 0 から 10 までの 10 段階に分けられた全体の発表に関する評価点数, 発表を聴きプロジェクトの内容について疑問に思った点, 発表者のとった姿勢・態度・対応について等のコメントの構成であった.
次に 2 枚目のシステム評価は, 回答は 3 項目のコメント形式であった. システムで面白いと思う要素, 好き
な作品（小説・映画・漫画など）, システムに取り入れたら面白い要素の 3 つの項目に分かれていた.
集計した結果, 今後制作する上でシステムの問題点, 改善点について明確となり, 今後の学外発表で参考になるデータを多く収集することができた. また SAMPLE 映像を付与して発表した結果, 制作する物語自動生成システムの完成版のイメージを評価者へ伝えることができた.

（※文責：栗原将風）

7. 3 結果
1 枚目の発表技術面の評価点数は平均で算出した結果, 7.4 という評価点数を得た. また発表に関する
良い点と改善点のコメントも得ることができた. それらを集計した結果を以下の表 7. 3. 1 で示した. コメントか
ら技術面の良い点と改善点が抽出した. それらからプレゼンの評価とスライド・ポスターに関する評価, チー
ムに関する評価の 3 つの評価項目が挙がった.

115
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
表 7. 3. 1. 発表技術の良い点の回答集計表
技術面
良い点

改善点
スライド・ポスタ

プレゼンの評価

スライド・ポスタ
チームの評価プレゼンの評価

ーの評価
前を見ていて発チームの評価ーの評価

わかりやすかっ チャートの説明わ

モーションの動きがぎこちない声が聞こえづらい 文字が小さい

表していた

た

かりやすい

（映像）

聴衆を意識して説明順序が良聴き手を見て話し 情報量が多す

話す内容がまとまっていない

いた

かった

た方がいい

（生成）

差し棒

シンプル

ぎ

スケジュールの説

典型パターンとストーリ―の面
配色

明欲しい

説明が理解しや白さの異なる（分析）イメージ図が欲
動画

早口

すい

しい

聴き易い

最終目標の説明

映像の説明見や

お客の置いてけぼ

すいり

質問の対応がいジェスチャーほしいい

言葉遣いの良さ

緊張しない様に

アイコン

もう少し詳しく

ゆっくり動かす目線の向き

1 枚目の発表内容面の評価点数は平均で算出した結果, 6.8 という評価点数が得られた. 集計した結果を以下の表 7. 3. 2 で示した. コメントから良い点と改善点を抽出した. それらから, 発表の内容に関する評
価, スライド・ポスターの評価, チームに関する評価の 3 つの項目が挙がった.
表 7. 3. 2. 発表内容の回答集計表
発表の内
容

116
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
良い点

改善点
スライド・

内容の評

チーム

価

の評価

ポスターの 内容のチーム

ポスター・スライド評価

物語パター 連携が内容の分 典型的なパターン以外

データベースの フローチャート生成

かりやすさ の物語の生成

蓄積量

部分の説明

課題の今

何を自動生

ほん曲線を使って成？

滑らかにンのデータ 取れて
化

読みにくい

いた

小学生の
楽しめるコ

交流会について分かりにくい後の展開
ンテンツ

アニメーショ

メンバーがどう
目標の明

ン付与面白

ミステリ以外の案

考えて動いてい瞭さ

トリックの図が似
Python である理由ていてよくわから

説明

い

たのか

なかった

全体の進捗具
どこがインタラクティブ？

データ収集方法
合何故矛盾のない物語を

常識知識の説

話しの整合性・その作る？

明

評価どうするの？

ユーザーにとって, ミス

ミステリよりファン

３D モデルはシステ
ムに反映していな
テリを選んだ明確な理由 タジック
い？

目標の優先順位

具体的な進捗

完成図があいまい
情報量が多い余白をつけては？

117
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

自動生成じゃなくてデー
ターベースから作ってるだけでは？

2 枚目のシステム評価の面白いと思えた要素を集計した結果を以下の表 7. 3. 3 で示した. 抽出したコメン
トは物語の種類（ジャンル）, 物語の展開・要素, 個人（ユーザ）の感想, 物語へ感じた感想の 5 つの項目が挙げられた.
表 7. 3. 3. システムの面白いと思う要素の回答集計表
システムの面白いと思う
要素
種類（ジャンル）

展開（物語）

要素

個人の

物語の

ラブコメディー

予期せぬ展開トリック

自分の頭で考えられる

架空の世界に引き込むこと自分で作ったとおりに動か 実世界では体験できない事を体験
ミステリー

どんでん返しミステリー せる

できる

キャラクタ
起承転結

ー

ワクワクする

お約束的

伏線

作者の頭の世界を共有.
想像を膨らませることが出

見事な伏線

心情

来る

意外性

感動

ドキドキ感

展開が変わる共感

主人公の変化比喩

生死の関わり

言葉遊び

まとまった終わり方

戦略的

複雑じゃないインパクト

プロット（構造）のね
じれ

ヒント

118
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
起承転結の転の部
分

2 枚目の評価者が挙げた好きな作品を集計した結果, 以下の表 7. 3. 4,

7. 3. 5 で示した. 抽出した項

目は, 小説, 漫画, 映画, ゲームの 4 つであった. また, ジャンルを抽出すると, 小説ではミステリー, ファン
タジー, SF, 数学, 純文学の 4 種類, 漫画は青春, ミステリーの 2 種類, 映画はミステリー, サスペンスホラ
ー, 青春, アクション, ヒューマン, SF, アニメーションの 5 種類, ゲームは, サスペンスホラー, 潜入アクショ
ン, SF(RPG)の 3 種類が挙げられた.
表 7. 3. 4. 評価者が挙げる好きな作品表（1）
好きな作品
小説
ファンタジー

ミステリー

この世界がゲームだと俺だけが知っている

ポアロシリーズ

恋愛

数学

SF

純文学

ノルウェイの

数学ガー

図書館戦

海辺のカフ

森

ル

争

カ

作者

重松清

シャーロックホーム
英雄の書

ズ

図書館戦争

１９８４

西尾維新
宮部みゆ

六花の勇者

六花の勇者

き

オーデュボンの祈転生したらスライムだった件り

不思議の国のアリス

古典部シリーズ

海辺のカフカ十角館の殺人ドグラマグラ戯言シリーズ
1Q84

119Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
表 7. 3. 5. 評価者が挙げる好きな作品表（2）
漫画

映画
サスペンスホラ

ミステリー

青春

ミステリー

アクショ

ー

青春

ン

ロッキ デッドプ
コナン

バクマン.

Trick

インセプション

SAW シリーズ ーール

アニメーショ
SF

ン

ヒューマン

スターウォ
ーズ

ショーシャンク
ジブリの空にハンニバルシリ

天空の城ラ

ーズ

ピュタ

恋愛

ヱヴァンゲリ
ゲーム

ヲン

サスペンス

潜入アクションホラー

ゲーム,

SF（RPG）

アサシンクリーフェイトエクストラ

殺戮の天使 ドタイタニックCCC

最後にシステムに取り入れることで面白く思う要素について集計した結果, 以下の表 7. 3. 6 になった. 物
語のジャンル, 物語のストーリー展開, 物語における要素, 個人（ユーザ）の要望, 物語の内容, システムの機能に関するコメントに分けられた.
表 7. 3. 6. システムに取り入れたら面白いと思う要素の回答集計表

システムに取り入れたら面白いと思う要素は何ですか？
種類（ジャンル）の評価

展開（物語） 要素の
の評価

評価

物語の
個人の要望

内容

システムの機能面白さ

音声

ユーザ（小学生と中学
他のジャンル

意外性

トリック生）の使いやすさ

斜め上の発
想物語の ヒト以外のモー
選択肢 感情の揺さぶり

綺麗な終わ
り

変化

ション
好きと思わせる

会話

キャラクターに自己投影

ヴィジュアル

120
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
感動

背景の変更

ヒント

自動トリック生成

時間の
流れ
モブキ
ャラ

（※文責：菊地亮太）

7. 4 評価・考察
表 7. 3. 1 より発表技術面のプレゼンの評価コメントより, 発表者の声が聞こえやすかった, 説明が分かりやすかったという良い点が挙がっていた. これより発表者が視線を向けて話していたことと, 差し棒を使用した発表方法で現在どの部分を説明していたことを評価者へ示すことができたためであると考えられる. しかし声が聞こえにくかったと改善すべき点も挙げられていた. 恐らく, 発表者がスライドを使った説明を行う際に顔と目線をスライドへ向けたまま説明していたためなのが原因だと考えられる. 以上の事から,次回の発表では目線の向きと身体の向きは評価者方向へ向けることを今後の改善すべき目標として定めた.
次にスライドとポスターの評価コメントでは, 書かれた文字と図面が見やすかったと良い点が挙げられていた. スライドでは箇条書き説明文と図が簡易であったことから評価者に対して内容が伝えられたためだと考えられた. しかし,文字と図が見づらいという改善すべき点が挙げられていた. ポスターでは内容説明文の情報量が多かったことと, それに連なり文字のサイズが小さくなってしまったためだと考えられた. またスライドでは説明に沿ったスライドの切り替えが早かったため, 評価者はそれに見づらく感じてしまったためだと考えられる. 以上のことから, ポスターの説明文は簡易的に書くべきであること, スライドで口頭での説明の速度を落とし, スライドの入れ替えもそれに合わせていくことが改善目標と判断した.
各作業チームに関するコメントでは, 上記と同じ表からスライドのチャート図を使った説明が分かりやすいという評価コメントがあった. しかし, 各チームに関する説明の改善点のコメントが 3 つあった. 1 つ目の映像作成チームの発表で使用した SAMPLE 映像について, 完成版イメージとして作った映像は評価者に対して納得のいく映像ではなかったためである. 2 つ目の物語生成チームの説明内容がまとまっていなかったことについては, 発表者のスライドで書かれた説明と口頭での説明が整合できていなかったからであるためと, 3 つ目の物語分析チームについては, 物語典型パターンに関する詳しい口頭説明か,スライドまたはポスターの説明の記述が足りなかったからだと考察する.
次に表 7. 3. 2 より発表内容面の「内容」に関するコメントでは, 物語のパターンのデータ化, 小学生でも楽しめる内容であるなど評価コメントが挙げられていた. しかし, 改善点に関するコメントでは, 物語生成システ
ムを作る際の目標と, 作業の進捗情報, 目標に対する評価者の疑問などが挙げられていた. これより考えら
121
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
れたのは, インタラクティブが主であるシステムの制作が間に合わなかったため, 評価者に説明が伝われなかったからだと考える. 物語自動生成システムの核はインタラクティブな物語生成であるため, 次回の発表までに間に合わせることを目標とする.
上記と同様の表より, 「スライド・ポスター」に関するコメントでは, 内容が分かりやすい評価コメントがあった.
反面に分かりにくいという改善コメントも記入されていた. コメントから推考すると, 説明に使用したスライド・ポ
スターの説明図が難解であったか, 評価者が知りたかった目的や目標などの事柄が明瞭に説明されていなかったからだと考えられた.
上記と同様の表より, 「各作業チーム」に関するコメントについて, 連携が取れていると評価したコメントから, 作業内容についての疑問等のコメントが多く挙げられていた. 恐らく, 各チームで行われている作業内
容とその役割についての説明の声が評価者へ届いていなかったことから内容が伝わっていなかったか, 評
価者からの質問を受けた際に, 発表者の返答が不十分であったからだと考えられた.
表 7. 3. 3 のシステム評価の「システムで面白いと思う要素」に関するコメントと表 7. 3. 6 の「システムに取り入れたら面白いと思う要素」に関するコメントより, 要素と展開以外に個人の要望と物語の内容に関するコメントが挙げられていた. 前者のコメントでは物語が自動生成される際に, 評価者が先の展開を想像出来ないシステムの意外性への期待感を持ったためであると考えられた. また, 後者のコメントで,物語の世界へ入り込めることを望んでいるコメントが挙げられていたのは, 想像した物語の展開やキャラクターの行動や台詞によって発生する感動要素を生成した使用者だけではなく, それ以外の人にも共感できるような要素を評価者は求めているため,今後,使用者を物語へ引き込める機能を追加するべきだと改善すべき目標として定められた.
表 7. 3. 4 と表 7. 3. 5 より「評価者が好きな作品」では, 小説の項目が多く, ジャンルはミステリー系が多かった. 恐らく発表でミステリーを使用した事について詳細に説明したことより, 評価者はミステリー系の作品を優先的に記入したからではないかと考えられた.

（※文責：菊地亮太）

122
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

第 8 章 成果発表
8. 1 発表準備
中間発表と同様に, スライド, ポスター, SAMPLE 動画を用いて発表する形式とした. 成果発表では 23 枚のスライドと 2 分の SAMPLE 動画を用いて全体の概要を説明することとし, 4 枚のポスターで各チームの成果の詳細についてセッションを行う形式をとった.

（※文責：工藤健太郎）

8. 2 アンケート
成果発表では中間発表と同様に聴取者に対しアンケートの回答を依頼した. 2 枚のアンケートについて,
公立はこだて未来大学の学生と教員の評価者 36 名に記入してもらい, その結果を集計した. アンケート回答から抽出し, エクセル形式でまとめた表を作成した. 1 枚目は発表に関する評価で, 2 枚目は物語自動生
成システムに関する評価で作成した.
1 枚目の発表評価は, 発表技術と発表内容についてであった. それぞれについて 0 から 10 までの 10 段
階で点数をつけてもらった. 次にプロジェクトの内容について疑問に思った点, 発表者のとった姿勢・態度・対応について等のコメントを書いてもらう構成であった.
次に 2 枚目のシステム評価では, 3 項目の回答に対してコメントを記入してもらった. システムで面白いと思う要素, 好きな作品（小説・映画・漫画など）, システムに取り入れたら面白い要素の 3 つの項目に分かれていた. 中間発表と同様の形式をとることで, その際の発表やシステムに対する比較ができるようにした.

（※文責：工藤健太郎）

8. 3 結果
評価シートの発表技術の平均が 7.47 点, 発表内容の平均が 7.78 であった. 2 枚目のアンケートでは, 物語を作ってみたい人が 23 名, 作ってみたくない人が 13 名であった. また, 物語を作るときにこのシステムを使いたいと答えた人が 20 名, 使わないという人が 14 名であった. システムに取り入れたら面白いと思う要素
では, ゲーム性を入れて分岐を増やすや, BGM をつけたり, 視覚的に楽しめる要素がほしいという指摘があった.

（※文責：玉置秀基）
123
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

8. 4 評価・考察
評価シートの発表内容についてコメントの中には, 問題点を出してから改善方法を見せていたのがよかったというコメントがあったが最初に最新バージョンを見せたほうがよかったという指摘があった. これは, 最初に最新バージョンを見ないとシステムの説明をされてもどんなシステムなのかがイメージしづらいからだと考えられる. また, 中間発表を聞いていた人は, プロジェクトの概要を知っているため, 成果発表の前半の説明がいらないと感じ, 各チームやシステムの説明をもっとしてほしいと感じる人がいるようだった. 集計した結果
から, 今後制作する上でシステムの問題点, 改善点について明確となり, 今後の学外発表で参考になるデータを多く収集することができた. また, SAMPLE 映像を付与して発表した結果, 制作する物語自動生成シ
ステムの完成版のイメージを評価者へ伝えることができた. しかし, 映像でシステムの紹介をした結果, 一部の発表を見に来てくださった人は, システムのどこがインタラクティブなのか, ユーザーはどのような操作をどのような感じで体験できるのかというのがわかりづらかった. システムはその場で使うことができたが,大勢の中で使ってみたい人を指名し, その場で使ってもらうのは難しく, 発表でシステムの実演をしっかりとできれば,見ている人にもシステムがどのようなものなのか, 何がインタラクティブなのかがわかりやすかったと考えられる.
システムに取り入れたら面白いと思われる機能については, 分岐の追加はユーザーの選択肢が増えて良いものと考えられるため今後の活動で追加できればよい. BGM の追加については, 効果音の追加は赤川小学校時のバージョンでは悲鳴が出るようにしていたが, あまり効果がなかったため成果発表ではなくしたのだが,ゲーム性があがるという意味では BGM があったほうがよいのかもしれない.
（※文責：玉置秀基）

124
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

第 9 章 まとめ
9. 1 プロジェクトの成果
現代人は日々少なからず文章を書く. しかし, 物語を書き上げるというはなかなかに困難であり, 手が出せないという人は多い. この問題を解決するために, 本プロジェクトではコンピュータによるインタラクティブな物語自動生成システムの開発を試みた. 分析する対象は, 多くの物語に含まれる謎解きを多分に含み, また典型的な物語のパターン故にデータが豊富なミステリー作品に絞った. 今年度はその中でも小説や漫画
媒体のものを分析してきた. 小説や漫画媒体を選択した理由はそれぞれ, 小説は分析の過程で文章化する際のコストが小さいためであり, 漫画は各シーンにイラストがあるため映像化の際参考になるからである. また,本プロジェクトで作成するシステムの利用者は小中学生を想定しているため, 暴力的な表現や反社会的な要素を含まない物語を作成する必要があった. これまでにプロジェクトメンバー15 名を 3 つのチームに分け, 実在作品の分析・データ化を担当する物語分析チーム, 物語自動生成プログラムの作成を主に担う物
語生成チーム, 生成された物語に基づいたアニメーションを作成する映像作成チームとした. 現在, 物語の生成に必要なデータをある程度データベース化出来ており, そのデータをもとに Python を用いて物語を生成することが可能となっている. また映像面では 7 体の人物モデルが完成し, メンバー制作のモーションを用い, 自動生成された物語を Unity 内においてアニメーションで表現できるようになった. 中間発表では発表技術・発表内容ともにおおむね高い評価であった. 評価者からのコメントには発表者やプレゼンテーショ
ンを褒めるものや期待の声があった反面, 改善すべき点の指摘やプロジェクトの指針自体への厳しい意見も見られた. 最終発表でも, 発表技術・発表内容ともに良い評価であった. 中間発表を見た評価者からは各チームやシステムのより詳しい説明を望む意見もあった. また, システムへは物語の分岐点の増加, BGM や
視覚的に楽しめるようその追加を望む指摘があった. それから, システムを発表時間内に使ってもらうことは難しく, しかしながら体験談してもらわなければどこがインタラクティブであるかを評価者は理解しにくいという問題点の他様々な問題点・改善点が明らかになった.

（※文責：久野露羽）

9. 2 プロジェクトにおける各人の役割
本プロジェクトのシステムは, 物語分析チーム, 物語生成チーム, 映像作成チームの 3 つのチームに分かれ開発していた. 6 人が所属する物語分析チームは, 物語を分析し, データ化して生成チームに渡すことが役割であった. まず, KJ 法を用いミステリーの構造とデータを分析した. そしてその分析結果をもとにチーム
メンバー内のミステリーの物語に対する共通知識を構築した. この共通知識を基準とし小説や漫画といった125Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
実際の作品の分析を行い, その結果を元に動作の頻出度の算出やトリックを行うための常識知識を構築と,各典型的パターンにはまるトリックのデータベース化を行った. 後期では度重なる仕様変更に対応しつつセ
リフデータを追加で収集し, より自然で面白い物語を生成できるようにデータを整えていった. 5 人が所属する物語生成チームは分析データに基づき矛盾のない物語を自動生成するプログラムの作成が役割であった.
これを成すために, 物語分析チームが分析した結果に基づき, 矛盾がないようにプログラムによって物語を自動生成することを目標とし, プログラムで正しい展開の物語を生成できるか・場面に合ったアニメーションを生成できるかを検証する. 分析チームの作成した典型的シナリオパターンとトリックデータベース, セリフデー
タの 3 つから Python を用いてチャートを生成し, それをもとに物語とアニメーションを作成して Unity で出力した. 後期ではインタラクティブなシステムとなるよう, 冒頭に探偵の性格を選ぶことができる選択肢や SE を実装した. 4 人が所属する映像作成チームは, 自動生成された物語に対応する 3D アニメーションの作成が役割であった. そのために生成チームの出力する物語の映像化に使用するキャラクター（モデル）や, そのキャラクターにとらせる行動（モーション）, 物語のシーンで必要となるオブジェクトの作成・蓄積を担っていた.
現在までに Blender や Unity などの仕様や使用法を理解し, 自動生成された物語のシーンに合う適切なモーションと 7 体のモデルを制作した. モデル 7 体はみな映像作成チームオリジナルキャラクターであり, これは既存作品のキャラクターをプロジェクトで用いることや個人的にモデルを制作している方のモデルを拝借する際に様々な問題が発生する可能性があり, それを回避するためであった.

（※文責：久野露羽）

9. 3 今後の展望
9. 3. 1 全体の展望
本プロジェクトの目的は「誰でも簡単に物語を自動生成し, それにアニメーションを付与することのできるシ
ステムを開発すること」であった. 今年度の活動により, この目的はある程度達成されたが, クオリティはまだまだ上げていけると考える. 今後はアンケートから得られたユーザーの要望を取り入れ, 各班が各々の作業を継続し, またその質を上げることでよりユーザーの満足度の高いインタラクティブな物語自動生成システム
へと昇華させていくことが課題だと考える.
（※文責：久野露羽）

9. 3. 2 分析班の今後の展望
分析班の今後の展望としては, 前期にも記述した通り, データ数を増やすことが第一だと考えた. 現段階
で, 典型的物語パターンが密室パターン 4 種類, 変装パターン 4 種類, それぞれに探偵の男性・おかま属性の 2 種類, 合計 16 種類があった. トリックデータベースでは, 密室パターンが 2 種類, 変装パターンが 1
種類で計 3 種類のデータがあった. セリフデータでは, 4 プロットがあった. 現在のシステムでは理論的に126Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
16(典型的物語パターン)×3(トリックデータベース) = 48 通りの物語生成が可能であった. しかし, 密室典型
パターンに変装トリックデータベースは, 物語上で合わないため, 24 通りができた. だが, セリフデータのセリ
フを入れ替え可能なパターンが 4 プロット存在するため, 96 通りができた. つまり, 典型的物語パターンやトリックデータベースのデータ数を多くすることにより, 極端に言えば, 無限大の物語生成が可能になると考えた.
典型的物語パターンでは, 密室パターンや, 変装パターン以外にも別のトリック要素を含んだ典型的物語パ
ターンを増やすことができるだろう. トリックデータベースでは, 密室パターンのトリックを増やすこともよし, 変
装パターンのトリックを増やすこともよし, 新たに増やした典型的物語パターンのトリックを増やすなどで増やすことができるだろう. セリフデータは, 分析するデータが多くなればなるほどデータ量は増え, パターンとしてさらに多くなるであろう. 以上より, データ数を増やすことが今後の課題である.
(※文責: 川瀬稜人)

9. 3. 3 生成班の今後の展望
生成班は今回のプロジェクトで物語生成における一つのシステムを完成させた. 男性とおかま, 鍵を持っている, 持っていないでの選択肢の発生, そこから条件に合うような物語の自動生成によってインタラクティ
ブなシステムを形成した. また, その物語をオリジナルモデルを用いて動作やセリフにより映像化することに成功した. 生成班には, 物語を自動に生成することと物語を映像化することの 2 つの柱があり, その 2 つの統合により, 物語を自動生成し, 映像化するシステムが完成した. だが, この生成システムの課題はいくつか残されている. 1 つは BGM である. アニメーション作品であれば, 必ずそれぞれの場面で, 場面に適したBGM が流れてくるが, 今回のシステムでは, 導入ができなかった. それぞれのシーンやキャラクターの心情によって BGM を用いることで, 場面ごとの雰囲気を盛り上げることが出来たのではないか. 2 つ目は分岐の数の問題である. 属性変更の分岐は, 男性とおかましかなく, バリエーションに欠けている. 当初の案では,男性とおかまの他に, 女性, DQN, ルー大柴, 関西弁といった案があったが, チャートやモデルの関係で 2種類しか導入ができなかった. また, 物語中の分岐の数でも, 扉を開ける, 壊すだけの分岐だけでは, 物足
りなさがある. さらに多種多様な物語を作るのであれば, この分岐の数とそれに応じたデータの数が必要であった. その他の問題点もあるが, 最も大事なところは自動生成の部分だろう. 今回のシステムでは, 決まったパターンの中から１つランダムに抽出して物語をつくっているに過ぎない. もちろんランダムでも自動に生成しているのだが, このシステムでは, 制作側も決まったデータを抽出しているだけなので, 物語の展開を先読みできてしまう. そうではなく, 各地点でランダムや決まった知識に従い千変万化するシステムもを構築できれば, 先読みのできない話の流れが作れるのではないか.
物語にはいろいろなジャンルが存在する. 今回のプロジェクトでは推理物語を用いた. 推理物語の場合
は, 事件発生, 捜査, 解決という大まかな流れのもとに物語は進んでいった. 特に推理物語というジャンル
では時系列の整合が非常に重要となってくる. また, 登場人物も探偵, 犯人, 助手, 容疑者, 被害者, 刑事と決められていた. 決められた人物の中でどう物語を進めていけばよいか, どのように分岐が出来, それをどのように表現するのか. 推理を暴くという単純であるが, 難しい構造である. 推理物語の中で肝になって127Group Report of 2017 SISP
Group Number 6

Interactive Storytelling
くるのはやはり, トリックの部分だろう. トリックがいかに面白いか, 使用者, 読者をいかに納得させる, 感心させるかで物語の面白さは変わってくるだろう. 制作者はそのトリックをどのように隠し, どのように見せるかを工夫しなければならない. そこがうまくなければ良い推理物語とはいえない. どのジャンルにもそのような肝の部分が存在するだろう．そこへの分岐や表現をはっきりとさせることで, 人の興味を引く物語ができるといえる.
これらの反省を生かしていけば, よりよいシステムとなっていくのではないか.

（※文責：原科充快）

9. 3. 4 映像班の今後の展望
我々映像作成チームは, 分析チームと物語生成チームが作ったテキストに合わせて視覚的に表現することを目的として活動してきた. 今年度の活動によって, 必要最低限の映像システムを制作することができた.
今後は映像のクオリティを向上すること, また映像による表現の幅を広げることを課題とする. 課題達成のため, 我々は 3D モデルとモーションの 2 面からアプローチしていくこととする. 3D モデル面では, まず第一に細かいバグの修正が必要であると考える. 現在, 一部 3D モデルの袖などが不自然な挙動を示す現象が発生している. 致命的なバグではなかったため, 今回の活動では完全な修正はされなかった. このバグの修正によりクオリティの向上が見込める. 第二に, 3D モデルに表情を変化させる機能（表情モーフ）の実装が望ましいと考える. 現時点で完成している 3D モデルには, 表情モーフが搭載されていない. 3D モデルが常に無表情では, キャラクターの感情が伝わりにくい. 逆に考えると, 表情モーフを搭載することさえできれば, 表
現の幅を大幅に広げることができるはずである. 第三に, 新 3D モデルの追加を考えたい. 現段階では最低限＋1 の 3D モデルしかない. また, その最低限の数の内, 2 体は色を変更しただけのマイナーチェンジキャ
ラに頼っている. 3D モデルを追加し, キャラクターにバリエーションを持たせることにより, 表現の幅の拡大が期待できる. 以上より, 3D モデル面からは, 細かいバグの修正, 表情モーフの実装, 新 3D モデルの追加の3 つを目標とし, それらを軸に活動していくものとする. モーション面では, 3D モーションのバリエーションを増やすことが今後の課題である. 今回制作された 3D モーションは最低限のもののみであり, 現状バリエーションが豊富とは言えない. 3D モーションの数が増えることは, 表現できる”動き”が増えることである. つまりは,表現の幅を広げることができるはずである. 以上より, 3D モーション面からは, 3D モーションの数を増やすことを課題とし, これを中心に活動していくものとする. よって, 我々は 3D モデルと 3D モーションを中心に今後も活動していこうと考えている.

（※文責：工藤はるか）

128
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

参考文献[1] 最相葉月. 星新一一〇〇一話をつくった人. 新潮社，2007.
[2] 佐藤知恵, 村井源, 徃住彰文. "星新一ショートショート文学の物語パターン抽出", 情報知識学会誌,
Vol.20, No.2, pp.123-128, 2010.
[3] Kensuke Hayashi (2015) かんたん Blender 講座 http://krlab.info.kochitech.ac.jp/kurihara/lecture/cg/BlenderWeb_Hayashi/html/index.html (2017/06/23 アクセス)[4] Project-6B 「ねんどろいど風二頭身キャラクター二面図(三面図)」 Blender・六角大王 Super による
3DCG 制作（使い方や作品紹介）Project-6B（6B 計画）
http://6b.u5ch.com/others/downloads/index.html (2017/6/23 アクセス)[5] 2017 ”「キアナ」キャラクター使用に関するガイドライン.txt” フォルダ Qna_beta03 内[6] 奥村優子, 石田龍樹 (2016) 世界一わかりやすい 3ds Max 操作と 3DCG 制作の教科書. 技術評論社
[7] 赤崎弘幸 (2016) CharacterArpeggio～3ds Max 2017 キャラクター作成術～.
http://area.autodesk.jp/column/tutorial/character_arpeggio/ (2017/07/18 アクセス)[8] プログラミング生放送(2016) 暮井 慧（プロ生ちゃん） MMD/Unity/FBX 公式データ
http://3d.nicovideo.jp/works/td8608（※文責：玉置秀樹）

129
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling付録
1. 課題解決のための技術（新規習得）
PythonPython とは, コードがシンプルで扱いやすく設計されている汎用のプログラミング言語である. 他の言語と比べ, プログラムが読みやすく, 少ないコード行数で書くことができる. Python には, データベース接続など
プログラマがすぐ扱えるようなライブラリや統合環境があらかじめ含まれている.

Unity
Unity とは, IDE を内蔵し, 様々なプラットフォームに対応しているゲームエンジンである. Unity では, モバ
イルゲーム, ブラウザゲームなど 3D ゲーム開発, 2D ゲーム開発が可能である. 扱える言語として, JavaScript,
C#, Boo があり, 自分にあった言語を選ぶことができる. また, 専門知識がなくても, 物理エンジンをすぐに導入することができ, 初心者でも容易にゲーム開発を行える.

3ds Max
3ds Max とは, 3DCG 作成用の統合型ハイエンドソフトウェアである. ポリゴン及びコンピュータグラフィック
スで一般的に用いられる NURBS モデリング機能のほか, 3D アニメーション, レンダリングの作成が可能である. 高品質かつ多機能であるため有償であるが, 学生は 3 年間無償で使用することができる.

Blender
Blender とは, オープンソースの CG ソフトウェアの一つである. レンダリングのほか, アニメーション, コンポ
ジット機能を備えている. 元は商用ソフトであったこともあり, 無料でありながらも, 他の有償 3D ソフトにも引けを取らない性能を持っている.

MikuMkuDance
MikuMikuDance とは, 樋口優が制作した, プリセットされたキャラクターの 3D モデルを操作しコンピュー
タアニメーションを作成する 3DCG ソフトウェアである. フリーウェアであり, また扱いが容易であるため, 3DCGに不慣れな初心者でもすぐにアニメーションを作成することが出来る. アニメーション作成に特化したソフトであるため, モデルデータの作成や改造の際は外部ツールを必要とする.

（※文責：玉置秀樹）

130
Group Report of 2017 SISP
Group Number 6

Interactive Storytelling

2. 課題解決のための技術（講義）KJ 法
KJ 法とは, ブレインストーミングなどにより, 得られた発想を整理し, 問題解決に結び付けていくための方法である. 意見やアイデアをカード化し, カード化した内容が近いもの同士でグルーピングし, それに対して名前をつける. その後グループ間の因果連関を矢印などで表しまとめる.

（※文責：玉置秀樹）

131
Group Report of 2017 SISP
Group Number 6