【ノベじゃむ甲子園】超簡単、コーディング一切無し! ノベルゲームをサクッと作ってみよう《Unity+宴編》

  • 9
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

※2016年3月26日、27日に開催される「ノベじゃむ甲子園 2016 春」用の公開資料になります。

ノベじゃむ甲子園に参加する高校生の皆さま、初めまして。
参加しない方、そもそも参加資格のない(私も含めた)大きいお友達の皆さまも初めまして。
ソーシャルゲームでUI画面を作成している荻野と申します。

今回、技術支援という形で、微力ながら皆様のノベルゲーム作成の簡単なお手伝いが出来ればと思います。


さて、早速ですが質問があります。

ノベじゃむ甲子園で初めてノベルゲームを作成する人、居ますか?

ノベルゲームの作り方がわかんないよー
そもそもチームにプログラマーが居ないからゲーム作れないよー

というチームがあるかもしれません。

そんなお悩みを持つ皆さま。朗報です。
凝った作りにしなければ、プログラム一切不要でノベルゲームは超簡単に作れます!

極論を言えば、
「声優のみ」
「イラストレーターのみ」
「シナリオライターのみ」
「サウンドクリエイターのみ」
のチームでも、素材さえ揃えばノベルゲームは作れます。

今回はUnity+宴で、サクッと簡単なノベルゲームを作ってみましょう!

※サンプルはMacで作成していますが、Windowsでもほぼ同様の手順になります。

前提条件

ノベルゲーム作成に必要な素材が全て完成済み、もしくはフリーサイトで素材を入手済みであること。

ノベルゲーム作成に必要な素材は

・シナリオ(必須)
・背景画像
・イベント画像
・キャラクター立ち絵
・BGM、SE
・ボイスデータ

です。


今回作成したサンプルは、シナリオを青空文庫から夢野久作 懐中時計、画像、ボイス、BGMは全てユニティちゃん公式サイトから配布されているダウンロードデータを使用しています。

サンプルプロジェクトはGitHubにアップしています。

※宴のエンジンコードは、規約によりアップロードできないため削除しています。

そのため、サンプルプロジェクトの起動には宴のインポートが必須になるので注意してください。

下準備

Unityと宴、Microsoft OfficeをPCにインストールする必要があります。
Microsoft Officeがない場合、ここから購入できます。

※Microsoft Officeのインストール手順は省略します。

Unityインストール

1.Unity公式サイトに接続後、「Unityを入手」、もしくは画像にある「Unity5を入手」をクリック

スクリーンショット 2016-03-14 0.44.13.png


2.「無料ダウンロード」をクリック

スクリーンショット 2016-03-14 0.44.31.png


3.「インストーラーをダウンロード」をクリックして、Unityのインストーラーをダウンロード

スクリーンショット 2016-03-14 0.44.43.png


4.インストーラーをクリックして起動

スクリーンショット 2016-03-14 1.12.06.png

※Macの場合は、dmgファイルクリック後、UnityDownloadAssistant.appをクリックしてください。


5.Windowsは「Next」、Macは「Continue」をクリック

・Windows
SS.png

・Mac
スクリーンショット 2016-03-14 1.12.20.png

※以下、「次へ進む」はWindowsでは「Nextボタンを押す」、Macでは「Continueボタンを押す」に置き換えてください。


6.同意事項が表示されるので、次へ進む

スクリーンショット 2016-03-14 1.12.30.png

※Windowsはチェックボックスにチェックを入れてください
※Macではログインユーザーのパスワード入力が表示されます


7.ダウンロードするコンポーネントを選択して、次へ進む

ノベじゃむ甲子園ではWindowsかMac上で動くアプリを提出する必要があるので、Windows Build SupportMac Build Supportの二つがチェックされていることを確認してから、次へ進んでください。

スクリーンショット 2016-03-14 1.13.02.png

スクリーンショット 2016-03-14 1.13.13.png


8.インストールする場所を指定後、次へ進む

スクリーンショット 2016-03-14 1.13.29.png


9.インストール開始

インストール終了までお待ちください。


10.インストール終了後、Unityを起動するとユーザーアカウント入力画面が表示されるので、入力してSign inをクリック

スクリーンショット 2016-03-14 1.36.24.png

ユーザーアカウントを作成していない場合、create oneをクリックすると登録サイトが表示されるので、必要情報を入力してユーザーアカウントを作成してください。

スクリーンショット 2016-03-14 1.42.05.png

※ユーザーアカウント作成方法は省略します。

宴インストール

宴はマッドネスラボが開発したUnity用ADV作成ツールです。
Unity専用のアセットのため、Unityがインストールされていることが必須になります。


1.Unityを起動

1-1.プロジェクト作成済みの場合、プロジェクト名をクリック

スクリーンショット 2016-03-14 1.47.57.png

1-2.新規の場合、左上のNewをクリックして、プロジェクト作成

スクリーンショット 2016-03-14 1.48.09.png

ProjectNameにプロジェクト名を入力後、Create projectをクリックしてください。


2.プロジェクト起動後、配布された宴のUnityPackageファイルをダブルクリック

※ノベじゃむ未参加の高校生、大きいお友達の皆さまはアセットストアから買いましょう
スクリーンショット 2016-03-14 2.02.22.png

70ドルで買えます。
個人的に宴の機能を考えると、70ドルは非常に安いです。


3.Import Unity Packageが表示されるので、Importをクリック

スクリーンショット 2016-03-14 2.11.03.png


4.ProjectタブにUtageフォルダがあればインストール終了

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-12 17.57.18.png

ツールバーにTools、その中にUtageがあれば正常にインストールされています。

以上で下準備は完了です。

サクッとゲーム作成

サクッとゲームを作成しましょう。
今回作成したサンプルは選択肢が一切無い、超単純なノベルゲームです。

※同人版の「ひぐらしのなく頃に」「うみねこのなく頃に」とほぼ同様のシステム

宴でノベルゲームを作る場合、基本的に以下の手順になります。

・Utageからプロジェクト作成
・画像、音素材をプロジェクト内部のフォルダに格納
・Utageで自動作成されたエクセルに画像素材、音素材、シナリオを記述

順を追って説明します。

Utageからプロジェクト作成

1.Tools→Utage→NewProjectをクリック

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-12 17.57.18.png

2.NewProjectタブに必要情報を入力し、Createボタンをクリック

スクリーンショット 2016-03-16 1.17.52.png

スクリーンショット 2016-03-16 1.17.42.png

Input New Project Name

新規に作成するADVのプロジェクト名(シーン名)です。
サンプルでは「UtageSample」と入力しています。

GameScreenSize

Widthは横幅、Heightは縦幅です。
サンプルは1280×720で作成しています。

※画面サイズは変更出来ないので、間違えないようにしてください。

3.Input New Project Nameで入力した名前のフォルダがProjectタブに生成される

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-12 17.58.24.png

この時点でテンプレートのシナリオを確認することができます。

画像、音素材をプロジェクト内部のフォルダに格納

UtageSampleフォルダ内にResourcesフォルダがあるので開きます。

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-12 17.58.52.png

Resources→UtageSampleにSound、Textureフォルダがあるので、それぞれのフォルダに素材を格納します。

Soundフォルダ

Soundの名前の通り、音素材を格納します。
Soundフォルダには以下のフォルダが格納されています。

・Ambience(環境音)
・BGM(背景として流れる音楽)
・SE(効果音)
・Voice(ボイス)

サンプルではボイスとBGMを使用するため、以下のように素材を格納しています。
宴で使用できる拡張子は、wav、mp3、oggです。

BGMフォルダ

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-12 17.59.16.png

Voiceフォルダ

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-12 17.59.26.png

Textureフォルダ

Textureフォルダには画像素材を格納します。
Textureフォルダには以下のフォルダが格納されています。

・BG(背景画像)
・Character(立ち絵)
・Event(イベント背景画像)
・Sprite(スプライト画像)
・Thumbnail(サムネイル画像)

サンプルでは背景画像、イベント背景画像、立ち絵を使用するため、以下のように素材を格納しています。

BGフォルダ

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-13 23.50.46.png

Characterフォルダ

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-13 23.50.57.png

Eventフォルダ

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-13 23.51.07.png

Utageで自動作成されたエクセルに画像素材、音素材、シナリオを記述

画像、音、シナリオをゲーム内に表示するため、エクセルを編集します。
エクセルの編集手順は以下の通りです。

・Characterシート
・Textuerシート
・Soundシート
・Layerシート
・Startシート

順に説明します。

エクセルを起動

Projectタブ、UtageSampleフォルダにUtageSample.xlsがあるのでクリックして開きます。

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.05.02.png

Characterシート

ゲーム内で使用する立ち絵を記述します。

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.06.27.png

背景画像、イベント背景画像はTextuerシートに記述します。
間違えないようにしてください。

各項目の意味は以下の通りです。(公式サイトから転用)

項目名 内容 空欄の扱い
CharacterName 宴が管理するキャラクター名 空欄の場合、直前のキャラ名と同じ。一番上は必ず入力すること。
NameText 実際に表示するキャラクター名。CharacterNameは、「Player」や「主人公」のような開発コード的なものを使い、NameTextで実際に表示するキャラクター名を一括管理することを想定している。<param=player_name>のようにテキストタグも使用できるので、「ゲーム中に主人公の名前を入力させる」という使い方も可能。 空欄の場合、直前のNameTextと同じ。全て空欄のキャラは、CharacterNameがそのまま実際に表示される名前になる
Pattern 表示やポーズなどの表情パターン名。各キャラクターごとに、一番上に記述してあるパターンがデフォルトの表示パターンになる。 複数パターンを持たせる場合は、入力必須。1キャラクターがひとつの表示パターンしかもたない場合は、空欄でも可。
Pivot 画像の中心位置の設定(中心位置)
詳細
空欄の場合、未記入の場合Center(x=0.5f y=0.5fと同値)になる
Scale 表示倍率。xとyで違う倍率にしたい場合は、「x=1.5 y=0.5」のように記述する。 空欄の場合、1
Conditonal 表示条件。同名キャラ・同名パターンでも、性別の違いや服装などを変更するために表示を変えたい場合に使用する。Paramシートで設定した変数を使って、表示条件式を設定する。 空欄の場合、ほかの表示条件がどれも満たされてない場合表示される。
FileName 使用するファイルのパスCharacterフォルダ以下の相対パス。拡張子を省略すると、自動的にpngファイルを読み込む 入力必須
FileType ファイルタイプの指定。2D以外の表示をしたい場合に使う。基本機能では「2D」「3D」のみサポート。3DはUnityのプレハブであれば表示可能なので自由に活用してください。
参考 3D表示
Live2Dなど別途拡張機能を作った場合には独自に設定する。
参考 宴でLive2Dを使ってみる
空欄の場合、2D

FileNameは相対パスなので、Resources\UtageSample\Texture\Characterに画像を入れている場合は、「Hello_Unity-Chan.png」のように画像名を記述すればOKです。
CharacterNameが立ち絵表示に必要な指定文字です。日本語でOKです。

Textuerシート

ゲーム内に使用する背景画像、イベント背景画像を記述します。
背景画像は立ち絵が表示できる、イベント背景画像は立ち絵が表示できない違いがあるので指定を間違えないように注意が必要です。

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.06.40.png

立ち絵はCharacterシートに記述します。
間違えないようにしてください。

各項目の意味は以下の通りです。(公式サイトから転用)

項目名 内容 空欄の扱い
Label テクスチャラベル 入力必須
Type テクスチャのタイプ。用途に合わせて以下のいずれかを記入する
Bg:背景用テクスチャ
Event:イベントCG用テクスチャ
Sprite:スプライト用テクスチャ
入力必須
Pivot 画像の中心位置の設定(中心位置)
詳細
空欄の場合、未記入の場合Center(x=0.5f y=0.5fと同値)になる
Scale 表示倍率。xとyで違う倍率にしたい場合は、「x=1.5 y=0.5」のように記述する。 空欄の場合、1
Conditonal 表示条件。同名キャラ・同名パターンでも、性別の違いや服装などを変更するために表示を変えたい場合に使用する。Paramシートで設定した変数を使って、表示条件式を設定する。 空欄の場合、ほかの表示条件がどれも満たされてない場合表示される。
FileName 使用するファイルのパス。種類によってBg、Sprite、Eventフォルダ以下の相対パスを記述。対応拡張子は、bmp、jpg、png。背景など、アルファチャンネルを使わない素材であれば、jpgファイル推奨。メモリ消費が3/4になる。拡張子を省略すると、Bg,Eventはjpgファイルを、Spriteはpngファイルを自動的に読み込む 入力必須
FileType ファイルタイプの指定。2D以外の表示をしたい場合に使う。基本機能では「2D」「3D」のみサポート。3DはUnityのプレハブであれば表示可能なので自由に活用してください。
参考 3D表示
Live2Dなど別途拡張機能を作った場合には独自に設定する。
参考 宴でLive2Dを使ってみる
空欄の場合、2D
Thumbnail Eventタイプのみに有効。ギャラリーモードのCG回想で表示するサムネイルファイルのパス。Thumnail以下からの相対パスを記述。ここが同じ名前のものは、CG回想で同じグループになる。 未記入の場合、CG回想として登録されない
CgCategolly Eventタイプのみに有効。CG回想の際のカテゴリ名。キャラクターごとにCG回想をグループ化したい場合に使用する。 未入力の場合は、カテゴリ区別をしなくなる

FileNameは相対パスです。

背景画像はResources\UtageSample\Texture\BGに画像を入れている場合「unitychan_tile3.png」のように画像名を記述すればOKです。

イベント背景画像はResources\UtageSample\Texture\Eventに画像を入れている場合、「Event01.png」のように画像名を記述すればOKです。

Labelが画像表示に必要な指定文字です。日本語でOKです。

Soundシート

ゲーム内に使用するボイスを除いた音素材を記述します。
サンプルではBGMのみ使用するため、BGM素材を以下の通り記述します。

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.06.51.png

ボイスはStartシートに記載します。
Soundシートに記述は不要です。

各項目の意味は以下の通りです。(公式サイトから転用)

項目名 内容 空欄の扱い
Label サウンドラベル 入力必須
Title サウンドルームで表示する曲名 空欄の場合、サウンドルームに表示されない
Type サウンドのタイプ。用途に合わせて以下のいずれかを記入する
Se:SE
Bgm:BGM
Ambience:環境音
空欄の場合、サウンドルームに表示されない
FileName 使用するファイルのパス。種類によってSe、Bgm、Ambienceフォルダ以下の相対パスを記述。対応拡張子は、wav、mp3、ogg。未入力の場合wavを読み込む。 入力必須
Streaming ダウンロードする場合のみ有効。ストリーミング再生をするかどうか。BGMなどの容量の大きいファイルはtrueとして、ストリーミング再生を推奨 空欄の場合、false

FileNameは相対パスです。

BGMはResources\UtageSample\Sound\BGMに音楽ファイルを入れている場合「Unite In The Sky(short).mp3」のように音楽ファイル名を記述すればOKです。

Layerシート

立ち絵(Character)、背景(Bg)、スプライト(Sprite)の表示位置を指定します。

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.07.05.png

サンプルでは立ち絵の表示位置が左、真ん中、右の3パターンあるので
Xの値をそれぞれ変更しています。

各項目の意味は以下の通りです。(公式サイトから転用)

項目名 内容 空欄の扱い
LayerName レイヤー名 入力必須
Type レイヤーのタイプ。用途によって以下のいずれかを記入する
Bg:背景表示
Sprite:スプライト表示
Character:キャラクター
入力必須
X レイヤーの中心座標X 空欄の場合、0
Y レイヤーの中心座標Y 空欄の場合、0
Order 描画順。0~1000で記入すること 入力必須

Character、Texture、Sound、Layerシートの設定が完了したので、それぞれの設定内容を元にノベルゲームを作成します。

Startシート(コマンド)

最後にコマンドであるStartシートにシナリオ、画像表示指定、サウンド再生指定を記載します。

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.07.23.png

コマンドは量がありすぎて全て書ききれないため、詳しくは公式のコマンドリファレンスを参照してください。

ここではキャラクター表示に限定して、項目を簡潔に説明します。
各項目の意味は以下の通りです。(公式サイトから転用)

項目名 内容 空欄の扱い
Commnad  空欄必須
Arg1 キャラの名前
Characteシートに登録してある名前であれば、その立ち絵を表示する。
登録がなければ、そのままメッセージウィンドウの名前欄に表示をする
string 入力必須
Arg2 表示パターン。詳細は下記「表情などの表示パターンの変更」参照 string デフォルトパターンまたは変化なし
Arg3 レイヤー名。詳細は下記「複数キャラの表示」参照 string デフォルトレイヤーまたは変化なし
Arg4 X座標。詳細は下記「表示位置の設定」参照 float 0または変化なし
Arg5 Y座標。詳細は下記「表示位置の設定」参照 float 0または変化なし
Arg6 フェード秒数 float 0.2(秒)
Text 表示するテキスト string 下記「Textを省いた場合」参照
PageCtrl ページコントロール詳細:テキスト表示 enum 空欄の場合、通常通り1ページ=1テキストとなる。
Voice ボイスファイル名 string 空欄の場合、ボイス再生なし
VoiceVersion ダウンロードする場合のみ有効。ボイスファイルのバージョン。素材のアップデートをかける場合、番号を大きくしていく。 int 空欄の場合、0

Textは1ページに表示するシナリオを指定します。
改行を入れても改ページにはならないため、注意してください。

Arg1はキャラクターの名前が表示されます。
Arg1の値がCharacterシートに記載されている場合、立ち絵画像が自動的に表示されます。

Voiceは相対パスです。
Resources\UtageSample\Sound\Voiceに音楽ファイルを入れている場合「uni1480.wav」のように音楽ファイル名を記述すればOKです。

デバッグ

一通りコマンドの指定が終了したら、エクセルを保存して中央上にある再生ボタンをクリックすると作成したゲームをプレイすることができます。

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.08.12.png

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.08.56.png

シナリオを最後まで再生出来たら、コマンドシートに不具合はありません。

最後にシナリオに誤字脱字、画像素材の表示位置、BGMの再生漏れ等をチェックし、問題がなければノベルゲーム完成です!

一切プログラミング言語に触れずに超単純なノベルゲームが作成できました!

ビルド方法

最後にプロジェクトをビルドし、実行ファイルを作成すればゲームの完成です。

1.File→Build Settingsを選択

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.09.17.png

2.PC,Mac &Linux StandaloneにUnityのマークが表示されていることを確認

繧ケ繧ッ繝ェ繝シ繝ウ繧キ繝ァ繝・ヨ 2016-03-14 0.09.37.png

もし、PC,Mac &Linux Standalone以外にUnityのマークが表示されている場合、PC,Mac &Linux Standaloneをクリックし、Switch Platformをクリックしてください。

3.Buildをクリック

Build時に出力した実行ファイルを保存するフォルダを指定します。
TargetPlatformはWindowsかMacのどちらかを指定してください。

最後に実行ファイルをクリックし、最後までゲームをプレイできれば無事完成です。
お疲れさまでした。

選択肢があるノベルゲームを作りたい場合

選択肢を表示、フラグを使用する等、少し凝った作りにしたい場合は公式のチュートリアルを参照してください。

チュートリアルを一通りこなせれば、だれでもノベルゲームを作ることができます。

まとめ

宴はノベルゲームの作成難易度と時間を大幅に下げる、素晴らしいアセットです。
宴を利用すれば約15時間という短い開発時間でも、立派なノベルゲームを作ることが可能です。

Unity+宴をフル活用し、素晴らしいノベルゲームを作成しましょう!

……TYRANO BUILDER編へ続く

© Unity Technologies Japan/UCL