🎼

【Unity】ScenarioFlowによるシナリオ実装#1-1(ライブラリ紹介)

2023/04/08に公開3

はじめに

初めまして.伊都アキラです.
これが初めての記事投稿になります.

私はこれまで,UnityとC#を使ったゲーム開発に取り組んできました.
Zennへの記事投稿を始めた理由は,私が開発したUnity向けライブラリであるScenarioFlowの紹介と解説(つまり宣伝)がしたいからです.

このライブラリを使ってどのようなことができるのかというと,一言で説明すればシナリオの実装です.ノベルゲームを簡単に作れるようになるとすればわかりやすいでしょうか.

ただ,ノベルゲームやアドベンチャーゲームの開発専用というわけでは全くありません.キャラクター同士の会話シーンなど,ストーリー進行があるゲームであれば,幅広く利用することができます.

さて,このScenarioFlowは,私がゲーム開発において効率的なシナリオ実装の方法を追い求め,2年ほどの時間をかけて改善を重ね,開発したオープンソースのライブラリです.シナリオ実装を効率化するためのアイデアをつぎ込み,開発初期のものと比べ,格段に使いやすくなったと自負しています.そこで,他のUnityユーザにも共有したい,フィードバックを受けてさらなる改善を図っていきたいと考え,このような記事を書くことにしました.

これから,自身のゲームに面白いストーリーを埋め込みたいと考えているすべてのUnityユーザにとって価値のある記事を書いていきたいと考えています.励みになりますので,気軽にコメント等よろしくお願いします.

解説の流れ

前述の通り,この記事,これからの記事の目的はScenarioFlowの宣伝を行うことです.Unityユーザがより楽にシナリオ実装を行えるようになれば嬉しいと考えています.

そこで,まずはScenarioFlowについての解説を行います.このライブラリの使い方はもちろん,開発の経緯,思想などについても触れます.

次に,実際にどのようにして開発を行っていくかというところで,サンプルゲーム,おとぎ話のアリス(下記にリンクあり)を題材に,どのように機能を実装していくかを解説していきたいと考えています.

対象読者像

ScenarioFlowはシナリオ実装を簡単に行えるように手助けをするライブラリですが,UnityやC#プログラミングに対する基礎知識は必須です.これから記事を書いていくにあたって,必要に応じてコードについての詳しい解説は行いますが,シナリオ実装の本質とはかけ離れてしまうため,すべての手順を細かく説明することはしません.
そこで,そのような知識的に求められるハードルを含め,私が想定している読者像を以下のように記しておきます.

  • Unityで開発しているゲームに物語を実装したい
  • ある程度のUnity及びC#の知識がある(interfaceの扱い方が分かることが望ましい)
  • UniTaskを使える(重要)
  • 面白いゲームは良質なストーリーがあってこそだと思っている(最重要)

ただし,全くの初心者でもなければ大丈夫だと思います.非同期処理はすべてUniTaskで実装するのでその知識は必要ですが,細かい仕様を理解している必要はありません(使えればOK).

また,よく分からない箇所があれば,気軽にコメントをください.

URL

ScenarioFlowと,そのサンプルゲームへのリンクです.
WebGL版とStandalone版の違いは,ゲームのセーブデータが保存されるかどうかです.
WebGL版は一度落とすとセーブデータが消失します.また,WebGL版は初めての起動の場合,ロードに少し時間がかかるかもしれません.

おわりに

この記事では,Unity向けシナリオ実装ライブラリ,ScenarioFlowの紹介をしました.
これからは,ScenarioFlowの使い方と,それを使って実際にシナリオを実装する方法を解説する記事を投稿していきたいと考えています.

一度サンプルゲームを遊んでいただき,ScenarioFlowに興味を持っていただければ嬉しいです.
最後までお読みいただきありがとうございました.

Discussion

ユウトユウト

連絡先等を見つけることができなかったため、コメントにて失礼します。
私神戸電子専門学校のITスペシャリスト学科に所属している山﨑由翔と申します。
この度、伊都アキラ様が紹介されているScenarioFlowを使用しノベルゲームを制作したいと考え連絡いたしました。
記事の中で紹介されているソースコード(GameManager.cs等)を使用し開発をしたいと考えているのですが使用許可をいただくことは可能でしょうか?
学内での製作発表に使うので外部に公開や販売を行うことはございません。
お手数をおかけしますが、ご返事いただければ幸いです。

伊都アキラ伊都アキラ

ご連絡、ありがとうございます。伊都アキラです。
ScenarioFlowを利用したいとのことで、大変嬉しく思います。

記事の中のソースコードについては、ご自由にお使いください。
制作発表、頑張ってくださいね:)

ユウトユウト

ご返事ありがとうございます。
良い作品が作れるようにがんばります。