IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NHN PlayArt株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-12-17
(45)【発行日】2024-12-25
(54)【発明の名称】ゲームプログラム及びゲームサーバ
(51)【国際特許分類】
   A63F 13/53 20140101AFI20241218BHJP
   A63F 13/35 20140101ALI20241218BHJP
   A63F 13/47 20140101ALI20241218BHJP
   A63F 13/67 20140101ALI20241218BHJP
   A63F 13/69 20140101ALI20241218BHJP
【FI】
A63F13/53
A63F13/35
A63F13/47
A63F13/67
A63F13/69
【請求項の数】 9
(21)【出願番号】P 2024152081
(22)【出願日】2024-09-04
【審査請求日】2024-09-04
【早期審査対象出願】
(73)【特許権者】
【識別番号】516164173
【氏名又は名称】NHN PlayArt株式会社
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】内海 朱織
【審査官】西村 民男
(56)【参考文献】
【文献】特許第7441365(JP,B1)
【文献】特開2023-102860(JP,A)
【文献】特開2023-12413(JP,A)
【文献】特開2021-40830(JP,A)
【文献】米国特許第11960983(US,B1)
【文献】AIと一緒にカードゲーム!『ゼノンザード』って何?[CEDEC AWARDS 2023優秀賞受賞],[online],2023年07月30日,インターネット URL https://note.com/mdr_vert/n/n68ef85b0fb06,[2024年10月02日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00-13/98
G06F 18/00-18/40
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
通信可能に接続されたゲームサーバから受信した情報をゲームのプレイヤに提供するユーザ端末によって実行されるゲームプログラムであって、
前記ユーザ端末に、
入力された入力データに基づく進行データを前記ゲームサーバに送信させることと、
前記進行データに対してAIを使用して生成された出力データに応じた提示データを前記ゲームサーバから取得させることと、
前記ゲームサーバから取得された前記提示データに基づく情報を提示させることと、
を繰り返し実行させ、
前記進行データを前記ゲームサーバに送信させることは、リトライ操作情報を含む進行データを前記ゲームサーバに送信させることを含み、
前記提示データを前記ゲームサーバから取得させることは、前記リトライ操作情報を含む前記進行データに対応して、前記ゲームのストーリー上の過去の時点で生成された、前記提示データを前記ゲームサーバから取得させることを含
前記ストーリーは、前記ユーザ端末に対する前記入力データに応じて異なる経路に分岐する分岐部と、分岐しない非分岐部と、を含む、
ゲームプログラム。
【請求項2】
前記リトライ操作情報を含む進行データを前記ゲームサーバに送信させることは、前記ゲームに登場する複数のキャラクタのうちいずれかのキャラクタの選択を含む前記リトライ操作情報を含む進行データを前記ゲームサーバに送信させることを含み、
前記提示データに基づく情報を提示させることは、前記複数のキャラクタを同時に提示させることを含み、
前記提示データを前記ゲームサーバから取得させることは、前記いずれかのキャラクタの選択を含む前記進行データに対して前記AIを使用して生成された出力データに応じた前記提示データを前記ゲームサーバから取得させることを含む、
請求項1に記載のゲームプログラム。
【請求項3】
前記リトライ操作情報は、前記分岐部に関連付けられた提示内容と、前記非分岐部に関連付けられた提示内容と、のうち前記分岐部に関連付けられた提示内容が提示されている前記ユーザ端末に対してリトライ操作が行われたことを示す情報を含む、
請求項に記載のゲームプログラム。
【請求項4】
前記リトライ操作情報は、前記ユーザ端末の表示部に表示された前記提示内容に対するタッチ又はクリックを示す情報を含む、
請求項に記載のゲームプログラム。
【請求項5】
前記ユーザ端末に対する前記入力データは、音声入力情報を含む、
請求項1に記載のゲームプログラム。
【請求項6】
前記ユーザ端末に対する前記入力データは、前記ユーザ端末の表示部に表示されたボタンに対するタップ、前記ユーザ端末の背面に対するタップ、又は前記ユーザ端末に対するシェイクを示すデータを含む、
請求項1に記載のゲームプログラム。
【請求項7】
前記ユーザ端末に対する入力データは、前記表示部に対する連続的なタップ、又は前記表示部に対する長押しを示すデータを含む、
請求項に記載のゲームプログラム。
【請求項8】
ゲームサーバから受信した情報をゲームのプレイヤに提供するユーザ端末と通信可能に接続された、前記ゲームサーバによって実行されるゲームプログラムであって、
前記ゲームサーバに、
前記ユーザ端末に対して入力された入力データに基づく進行データを前記ユーザ端末から取得させることと、
前記ユーザ端末から取得された前記進行データに対してAIを使用して生成された出力データに応じた提示データを前記ユーザ端末に送信させることと、
を繰り返し実行させ、
前記進行データを前記ユーザ端末から取得させることは、リトライ操作情報を含む進行データを前記ユーザ端末から取得させることを含み、
前記提示データを前記ユーザ端末に送信させることは、前記リトライ操作情報を含む前記進行データに対応して、前記ゲームのストーリー上の過去の時点で生成された、前記提示データを前記ユーザ端末に送信させることを含
前記ストーリーは、前記ユーザ端末に対する前記入力データに応じて異なる経路に分岐する分岐部と、分岐しない非分岐部と、を含む、
ゲームプログラム。
【請求項9】
請求項に記載のゲームプログラムを実行するゲームサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の一実施形態は、ゲームプログラム及びゲームサーバに関する。
【背景技術】
【0002】
従来、ゲーム内でプレイヤが主人公キャラクタを操作し、他のキャラクタとの会話を繰り返すゲームが知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2022-081279号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1には、プレイヤが操作する主人公キャラクタと他のキャラクタとの会話に基づいて、ゲーム内のキャラクタの能力等のパラメータを変化させるゲームプログラムが記載されている。
【0005】
上述したようなゲームにおいて、プレイヤが選択可能な主人公キャラクタの発話の選択肢は、ゲームをプレイする際に、プレイヤが違和感を覚えにくいよう、できるだけ多くのプレイヤに共通する当たり障りない没個性的なものが準備されることが多い。これは、主人公キャラクタの属性(性格、能力、考え方等)をあまり個性的なものに設定しすぎると、現実のプレイヤの属性とのずれが大きくなり、自分ならどの選択肢の発話もしないであろうと考え、ゲームのリアルさ、没入感が削がれるためである。この問題に対し、プレイヤに自由に文章や音声を入力させることで主人公キャラクタに発話をさせ、その発話に対応する相手キャラクタの回答を人工知能(AI)に生成させることで、選択肢の中から発話を選ぶという制限をなくすことが考えられる。しかし、AIが生成する回答は、必ずしもゲームのストーリーに適切に沿ったものでなく、誤っている場合には、本来プレイヤが意図していないストーリーが進行するという問題が新たに発生する可能性がある。
【0006】
上記事情に鑑みて、AIを会話に用いるストーリーゲームにおいて、AIの原理が原因でストーリー進行がプレイヤの意にそぐわない方向に分岐した場合に、ストーリー分岐の軌道修正ができることが望ましい。
【0007】
本開示の一実施形態の課題は、ストーリー分岐を軌道修正する操作が可能なストーリーゲームを提供することにある。
【課題を解決するための手段】
【0008】
本開示の一実施形態のゲームプログラムは、通信可能に接続されたゲームサーバから受信した情報をゲームのプレイヤに提供するユーザ端末によって実行されるゲームプログラムであって、ユーザ端末に、入力された入力データに基づく進行データをゲームサーバに送信させることと、進行データに対してAIを使用して生成された出力データに応じた提示データをゲームサーバから取得させることと、ゲームサーバから取得された提示データに基づく情報を提示させることと、を繰り返し実行させ、進行データをゲームサーバに送信させることは、リトライ操作情報を含む進行データをゲームサーバに送信させることを含み、提示データをゲームサーバから取得させることは、リトライ操作情報を含む進行データに対応して、ゲームのストーリー上の過去の時点で生成された、提示データをゲームサーバから取得させることを含む。
【発明の効果】
【0009】
本開示の一実施形態によれば、ストーリー分岐を軌道修正する操作が可能なストーリーゲームのゲームプログラム及びゲームサーバを提供することができる。
【図面の簡単な説明】
【0010】
図1】本開示の一実施形態における通信システムの構成を示すブロック図である。
図2】本開示の一実施形態における通信装置の構成を示すブロック図である。
図3】本開示の一実施形態におけるサーバの構成を示すブロック図である。
図4】本開示の一実施形態における別のサーバの構成を示すブロック図である。
図5】本開示の一実施形態における通信装置のゲーム処理機能を示すブロック図である。
図6】ストーリーゲームにおけるストーリーの進行の一例を説明する図である。
図7図1に示す通信システムにおいて用いられるデータ構造の一例を示す図である。
図8図1に示す通信システムにおいて用いられるデータ構造の別の例を示す図である。
図9図1に示す通信システムのユーザ端末の表示部に表示される画面の一例を示す図である。
図10図1に示す通信システムにおいて用いられるデータ構造の一例を示す図である。
図11図1に示すユーザ端末おいて実行される処理の一例を示す図である。
図12図1に示すサーバのゲーム処理機能を示すブロック図である。
図13図1に示すサーバにおいて実行される処理の一例を示す図である。
図14図1に示すサーバのAI処理機能を示すブロック図である。
図15図1に示すサーバにおいて実行される処理の一例を示す図である。
図16図1に示すサーバにおいて実行される処理の別の例を示す図である。
図17図1に示すサーバにおいて実行される処理の別の例を示す図である。
図18図1に示す通信システムのユーザ端末の表示部に表示される画面の別の例を示す図である。
図19図1に示す通信システムにおいて用いられるデータ構造の別の例を示す図である。
図20】ストーリーゲームにおけるストーリーの進行の別の例を説明する図である。
図21】本開示の別の実施形態における通信装置のゲーム処理機能を示すブロック図である。
図22】変形例に示す通信システムのユーザ端末の表示部に表示される画面の一例を示す図である。
図23】別の実施形態に係る通信システムにおいて用いられるデータ構造の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本開示の一実施形態であるゲームプログラム(具体的には、ストーリーゲームの画像制御のためのプログラム)について説明する。但し、本開示は、多くの異なる態様で実施することが可能である。すなわち、本開示は、以下に示す実施形態の記載内容に限定して解釈されない。本実施の形態で参照する図面において、同一部分または同様の機能を有する部分には、同一の符号または同一の符号の後にアルファベットを付した符号を用い、その繰り返しの説明は省略する。
【0012】
[定義]
本明細書および特許請求の範囲において、各用語は、次のように定義される。
【0013】
「ストーリー」とは、特定のシナリオに沿って進められる物語をいう。本明細書においては、ストーリーには、途中で分岐する複数のルートが含まれていてもよい。
【0014】
「シーン」とは、ストーリーの進行を管理する最小単位であり、テーマ、場所、キャラクタ等を共通にするものをいう。
【0015】
「ストーリーゲーム」とは、ゲームプレイヤ(以下、単に「プレイヤ」という)プレイヤがユーザ端末を操作して、ゲーム内の主人公キャラクタを操作し、その他のキャラクタとやり取りをすることにより、ストーリーが進行するゲームをいう。
【0016】
「提示」とは、認識可能な情報をユーザ端末からプレイヤに提供することをいい、例えば、ユーザ端末のディスプレイに画像、文字等を表示すること、ユーザ端末のスピーカから音声を発すること等を含む。
【0017】
「ゲーム画像」は、ユーザ端末のディスプレイに表示されるゲームの進行状況を表す画像である。ストーリーゲームの場合、ディスプレイには、後述するキャラクタの画像、キャラクタがゲーム内で発した台詞を示す画像、ゲームの状態、メニュー等を表示するインタフェース画像が表示される。
【0018】
「キャラクタ」は、ストーリーゲームにおいてプレイヤが操作する主人公キャラクタと、プレイヤは直接操作せず、主人公キャラクタと、ゲーム内でやり取りをする味方キャラクタ、敵キャラクタ等のその他のキャラクタと、を含む。キャラクタを提示することは、キャラクタの画像、キャラクタがゲーム内で発した台詞を示す画像等を表示し、又はキャラクタが発した台詞に対応する音声を出力することを含む。
【0019】
「会話」とは、ゲーム内で主人公キャラクタとその他のキャラクタとが相互にメッセージをやり取りすることまたはそのメッセージである。会話は、質問、問いかけ等の発話と、発話に対する回答と、を含む。
【0020】
「タッチ操作」とは、プレイヤが、タッチパネル等に対し、指又はスタイラスペン等(以下、「指示物」という)を接触させて行う操作を指す。「タップ操作」とは、指示物の接触の開始から解除までが短いタッチ操作を指す。「長押し操作」とは、指示物の接触の開始から解除までがタップ操作よりも長いタッチ操作を指す。「スライド操作」とは、指示物の接触状態を維持したまま接触点を移動させる操作(接触点の座標変化を伴う操作)を指す。スライド操作のうち、指示物の接触時間が長い操作は、スワイプ操作と呼ぶ場合がある。また、スライド操作のうち、指示物の接触時間が短い操作は、フリック操作と呼ばれる場合もある。「クリック操作」とは、プレイヤが、マウス、トラックボール等でディスプレイ等に表示されたオブジェクトを選択する操作を指す。タップ操作は、ユーザ端末のタッチパネル、ディスプレイ等が設けられていない部分に対して行われてもよい。「シェイク操作」とは、ユーザ端末を揺さぶる操作をいう。
【0021】
「プログラム」とは、プロセッサ及びメモリを備えたコンピュータにおいてプロセッサより実行される命令又は命令群を指す。「コンピュータ」は、プログラムの実行主体を指す総称である。例えば、サーバ(またはクライアント)によりプログラムが実行される場合、「コンピュータ」は、サーバ(またはクライアント)を指す。また、サーバとクライアントとの間の分散処理により「プログラム」が実行される場合、「コンピュータ」は、サーバおよびクライアントの両方を含む。この場合、「プログラム」は、「サーバで実行されるプログラム」および「クライアントで実行されるプログラム」を含む。「ゲームプログラム」とは、ゲームに関連してコンピュータにおいて実行されるプログラムを指す。「プログラム」が、複数のサーバ間で分散処理される場合も同様に、「コンピュータ」は、複数のサーバを含み、「プログラム」は、各サーバで実行される各プログラムを含む。
【0022】
<第1実施形態>
[通信システムの構成]
図1は、本開示の一実施形態における通信システム1000の構成を示すブロック図である。通信システム1000は、ユーザ端末100、ゲームサーバ400およびAIサーバ500を有する。ユーザ端末100、ゲームサーバ400およびAIサーバ500は、インターネット、通信回線などのネットワークNWに接続される。通信システム1000は、クライアントであるユーザ端末100と、サーバであるゲームサーバ400と、別のサーバであるAIサーバ500と、で構成されるクライアントサーバシステムである。
【0023】
ユーザ端末100は、例えば、タブレット、スマートフォンなどの携帯端末である。ユーザ端末100は、ネットワークNWに接続することにより、ゲームサーバ400または他の通信装置と通信を行うことができる。ユーザ端末100には、ゲームプログラムをインストールすることが可能である。ユーザ端末100にインストールされたゲームプログラムを実行することにより、プレイヤの操作に応じて進行するゲームが提供される。
【0024】
ゲームプログラムは、ゲームサーバ400からネットワークNWを介してユーザ端末100にダウンロードされる。ただし、ゲームプログラムは、予めユーザ端末100にインストールされていてもよい。さらに、ゲームプログラムは、磁気記録媒体、光記録媒体、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記録した状態で提供されてもよい。この場合、ユーザ端末100は、記録媒体を読み取る装置を備えた情報処理装置であればよい。
【0025】
ゲームプログラムの実行は、ユーザ端末100が実行する場合、ゲームサーバ400が実行する場合、およびユーザ端末100とゲームサーバ400とで役割を分担して実行する場合(いわゆる分散処理を行う場合)のいずれの態様も採り得る。
【0026】
ゲームサーバ400は、ユーザ端末100に対して、ゲームプログラムを提供したり各種のサービスを提供したりする情報処理装置である。各種のサービスには、例えば、ユーザ端末100においてオンラインゲームを実行する際におけるログイン処理、同期処理などのサービスが含まれる。そのほか、各種のサービスには、例えば、SNS(ソーシャルネットワーキングサービス)、課金処理などのサービスが含まれていてもよい。ゲームプログラムは、ゲームサーバ400に含まれる記憶装置、ゲームサーバ400が読み出し可能な記録媒体、またはゲームサーバ400がネットワークNWを介して接続可能なデータベースに記録される。図1において、ゲームサーバ400は、単一の情報処理装置として図示されているが、複数の情報処理装置で構成されていてもよい。
【0027】
[ユーザ端末の構成]
図2は、本開示の一実施形態におけるユーザ端末100の構成を示すブロック図である。本実施形態のユーザ端末100は、制御部101、記憶部102、表示部103、操作部104、センサ部105、撮像部106、位置検出部107、通信部108、音入出力部109、および報知部110を含む。ただし、ユーザ端末100は、これらの要素をすべて含むものに限定されず、他の要素を含むものであってもよい。
【0028】
制御部101は、CPU(Central Processing Unit)などのプロセッサ(演算処理装置)およびRAM等の記憶装置を備える。制御部101は、記憶部102に記憶されたゲームプログラムをプロセッサにより実行して、各種機能をユーザ端末100において実現させる。ユーザ端末100の各要素から出力される信号は、ユーザ端末100において実現される各種機能によって使用される。
【0029】
記憶部102は、不揮発性メモリ、ハードディスクドライブなどの恒久的な情報保持および情報の書き換えが可能な記録装置(記録媒体)である。記憶部102は、ゲームプログラムおよび当該ゲームプログラムの実行に必要となるパラメータ等の情報を格納する。例えば、前述のゲームプログラムは、記憶部102に格納される。
【0030】
表示部103は、制御部101の制御に応じて、各種の表示画像(例えば、ゲーム画像等)を表示する表示領域を有する。表示部103は、例えば、液晶ディスプレイまたは有機ELディスプレイなどの表示装置である。
【0031】
操作部104は、プレイヤの操作に応じた信号(例えば、命令または情報を示す信号)を制御部101に出力する操作装置である。操作部104は、表示部103の表面に配置されたタッチセンサである。操作部104は、表示部103と組み合わせることによってタッチパネルを構成する。プレイヤの操作に応じた命令または情報は、プレイヤの指又はスタイラスペン等の指示物を用いて操作部104に接触することによってユーザ端末100へ入力される。ただし、操作部104は、ユーザ端末100の筐体に配置されたスイッチを含んでもよい。
【0032】
センサ部105は、ユーザ端末100の動き、ユーザ端末100の周囲の環境などに関する情報を収集して信号に変換する機能を備える装置である。本実施形態のセンサ部105は、例えば、加速度センサである。制御部101は、センサ部105の出力信号に基づいて、ユーザ端末100の動き(例えば、傾き、振動など)に関する情報を取得する。ただし、この例に限らず、センサ部105は、照度センサ、温度センサ、磁気センサその他のセンサを含んでもよい。
【0033】
撮像部106は、撮像対象の像を信号に変換する撮像装置(カメラ)である。ユーザ端末100は、撮像部106から出力された撮像信号に基づいて画像ファイル(静止画ファイルおよび動画ファイルを含む)を生成する。撮像部106は、一次元コードまたは二次元コードなどの識別コードを読み取るスキャナとしても機能する。
【0034】
位置検出部107は、位置情報に基づいてユーザ端末100の位置を検出する。本実施形態の位置検出部107は、GNSS(Global Navigation Satellite System)を用いてユーザ端末100の位置を検出する。
【0035】
通信部108は、制御部101の制御により、ネットワークNWと接続して、ネットワークNWに接続されたゲームサーバ400など、他の通信装置と情報の送信および受信を行う無線通信モジュールである。通信部108は、赤外線通信、近距離無線通信などを行う通信モジュールを含んでいてもよい。
【0036】
音入出力部109は、音の入力及び出力を行う。例えば、音の入力は、音入出力部109のマイクにより行われる。音の出力は、音入出力部109のスピーカにより行われる。音入出力部109は、他の通信装置との通話のほか、外部音の収集またはゲーム進行に伴う音声または効果音等の出力に用いることもできる。
【0037】
報知部110は、プレイヤに対し、視覚的、聴覚的または触覚的方法によりユーザ端末100の状態を報知する。具体的には、報知部110は、プレイヤに対して光、音または振動を用いてユーザ端末100の状態を報知する。例えば、報知部110は、ランプを点滅させたり筐体全体を振動させたりすることにより、外部装置との通信の有無をプレイヤに報知することができる。筐体全体の振動は、報知部110のバイブレータにより行われる。また、報知部110は、ゲーム進行に伴うイベントの発生をプレイヤに報知することも可能である。例えば、報知部110は、イベントの発生、キャンセル等に関する所定の条件を満たしたことを、プレイヤに光、音又は振動を用いて報知することができる。
【0038】
[ゲームサーバの構成]
図3は、本開示の一実施形態におけるゲームサーバ400の構成を示すブロック図である。本実施形態のゲームサーバ400は、制御部401、記憶部402および通信部403を含む。
【0039】
制御部401は、CPUなどの演算処理回路(制御装置)およびRAM等の記憶装置を備える。制御部401は、記憶部402に記憶されたゲームプログラムをCPUにより実行して、各種機能をゲームサーバ400において実現させる。ゲームサーバ400の各要素から出力される信号は、ゲームサーバ400において実現される各種機能によって使用される。
【0040】
記憶部402は、不揮発性メモリ、ハードディスクドライブなどの恒久的な情報保持および情報の書き換えが可能な記録装置(記録媒体)である。記憶部402は、ゲームプログラムおよび当該ゲームプログラムの実行に必要となるパラメータ等の情報を格納する。例えば、前述のゲームプログラムは、記憶部402に格納される。また、記憶部402は、ネットワークNWを介して他の装置(例えば、ユーザ端末100)から受信した各種情報を格納する。
【0041】
通信部403は、制御部401の制御により、ネットワークNWと接続して、ネットワークNWに接続されたユーザ端末100、後述するAIサーバ500(図4参照)など、他の装置と情報の送信および受信を行う無線通信モジュールである。ゲームサーバ400として、例えば、ゲームサーバ、SNSサーバ、メールサーバなどがある。
【0042】
[AIサーバの構成]
図4は、本開示の一実施形態におけるAIサーバ500の構成を示すブロック図である。本実施形態のAIサーバ500は、制御部501、記憶部502および通信部503を含む。
【0043】
制御部501は、CPU、GPU(Graphics Processing Unit)などの演算処理回路(制御装置)およびRAM等の記憶装置を備える。制御部501は、記憶部502に記憶されたゲームプログラムをCPU、GPU等により実行して、各種機能をAIサーバ500において実現させる。AIサーバ500の各要素から出力される信号は、AIサーバ500において実現される各種機能によって使用される。制御部501は、後述するAI処理のために、AI処理に特化した専用回路によって実現され、またはそのような専用回路を一部に含んでいてもよい。
【0044】
記憶部502は、不揮発性メモリ、ハードディスクドライブなどの恒久的な情報保持および情報の書き換えが可能な記録装置(記録媒体)である。記憶部502は、学習済みモデルのパラメータ、入出力データ等の情報を格納する。また、記憶部502は、ネットワークNWを介して他の装置(例えば、ユーザ端末100)から受信した各種情報を格納する。
【0045】
通信部503は、制御部501の制御により、ネットワークNWと接続して、ネットワークNWに接続されたユーザ端末100、ゲームサーバ400(図3参照)など、他の装置と情報の送信および受信を行う無線通信モジュールである。他のサーバとしては、例えば、SNSサーバ、メールサーバなどが例示できる。
【0046】
図3に示したゲームサーバ400のハードウェア構成と図4に示したAIサーバ500のハードウェア構成は同一であってもよく、異なっていてもよい。
【0047】
[ユーザ端末のゲーム処理機能]
ユーザ端末100で実行されるゲーム処理機能について説明する。ゲーム処理機能は、ユーザ端末100の制御部101がゲームプログラムを実行することによって実現される。以下に説明するゲーム処理機能を実現するための構成の一部または全部がハードウェアによって実現されてもよい。
【0048】
図5は、本開示の一実施形態におけるユーザ端末100のゲーム処理機能10を示すブロック図である。ゲーム処理機能10は、ゲーム処理実行部11、端末入力データ取得部12、表示データ受信部13、ゲームデータ記憶部14、進行データ送信部15及び表示制御部16を含む。ただし、図5に示すゲーム処理機能10は、一例に過ぎず、一部の機能が省略されたり他の機能が追加されたりしていてもよい。
【0049】
ゲーム処理実行部11は、端末入力データ取得部12によって取得された入力データに基づいて、ゲームの進行を制御するための処理(ゲーム進行処理)を実行する。ゲーム進行処理は、例えば、プレイヤごとにストーリーの進行状況を示す情報を更新したり、ストーリーの進行状況に応じてゲーム画像を制御したりする処理を含む。ゲーム進行処理の詳細な具体例については後述する。
【0050】
端末入力データ取得部12は、プレイヤによって操作部104(図2参照)に入力された入力データを取得する。入力データは、ユーザ端末100に対して入力される所定の情報を含む。入力データは、例えば、操作部104に対するタッチ操作に関する情報、操作部104に対するタッチ操作によって入力されるテキストに関する情報、音入出力部109に入力される音声に関する情報、ユーザ端末100のシェイク操作に関する情報等を含むが、これに限られない。入力データは、後述するリトライ操作情報を含んでもよい。
【0051】
表示データ受信部13は、通信部108を介してゲームサーバ400から表示データを受信する。表示データは、ゲームサーバ400によって生成されるデータであり、ストーリーの進行に応じて、表示部103に表示する内容を変えるものである。表示データは、請求項における提示データの一例である。
【0052】
ゲームデータ記憶部14は、端末入力データ取得部12によって取得された入力データ、表示データ受信部13によって受信された表示データ、進行データ送信部15によって送信される進行データ、表示制御部16による制御信号に関するデータ等を記憶する。ゲームデータ記憶部14は、記憶部102(図2参照)によって実現される。ゲームデータ記憶部14は、記憶部102以外の記憶装置、例えばデータを一時的に記憶するDRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等によって実現されてもよい。ゲームデータ記憶部14は、ゲーム処理実行部11によって生成される各種制御データ等を記憶してもよい。
【0053】
進行データ送信部15は、通信部108を介して、ゲーム処理実行部11によって生成された進行データをゲームサーバ400に送信する。進行データは、入力データに基づいてゲーム処理実行部11によって生成される、ストーリーの進行に関連するデータである。進行データ送信部15は、例えば、ユーザ端末100の初期化時、起動時、エラー発生時、シーンの切り替わり時、イベント発生時など任意のタイミングで進行データをゲームサーバ400に送信してもよい。
【0054】
[ストーリーゲームの進行]
図6に、始まりから結末(N種類の結末があるマルチエンディングストーリー)までのストーリーゲームの進行の一例を示す。ストーリーゲームのシーンは、シーンSC1~SC10を各ノードとし、接続されるノード間を相互に辿ることができる木構造となっている。各シーンには、少なくとも1つの準備回答データが関連付けられている。
【0055】
[進行データの例]
図7に進行データのデータ構造の一例を示す。進行データは、各プレイヤを識別する情報と、ストーリーの進行状況を示す情報と、ストーリーの進行に関連する付加情報と、を含む。各プレイヤを識別する情報は、例えばユーザ端末100の識別符号(ユーザID(Identifier))である。ストーリーの進行状況を示す情報は、例えば、図6に示した各シーンのID(シーンID)である。ストーリーの進行に関連する付加情報として、発生したイベントの種類を示す情報と、イベントに関連するコンテンツと、が含まれてもよい。付加情報は、プレイヤによって音入出力部109(図2参照)に入力された音声に基づいて生成された情報である。例えば、プレイヤがその他のキャラクタに問いかけをして、その発話の内容が「戦う準備ができたよ」というものであれば、イベント種類は「発話」であり、そのコンテンツは発話の内容そのものである。
【0056】
図5に戻って、音入出力部109(図2参照)に音声が入力された場合、ゲーム処理実行部11は、端末入力データ取得部12によって取得された音声情報そのものをコンテンツとして進行データに含めてもよく、音声認識により変換されたテキスト情報をコンテンツとして進行データに含めてもよい。
【0057】
進行データに含まれる付加情報は、音声によって音入出力部109(図2参照)に入力され、変換されたテキスト情報でなくてもよい。例えば、進行データに含まれる付加情報は、タッチパネル(図1の表示部103及び操作部104参照)に表示されたキーボードに対してプレイヤがタッチ操作を行うことで入力されたテキスト情報を含んでもよい。また、進行データに含まれる付加情報は、タッチパネルに表示された複数の選択肢の中からプレイヤが1つを選択するタッチ操作を行うことで入力された選択肢のIDを含んでもよい。
【0058】
表示制御部16は、表示データ受信部13によって受信された表示データに含まれる情報を表示部103に表示する制御を実行する。表示制御部16は、表示データに基づいて、例えば、表示画像の出力タイミングを制御する信号、表示部103の各ドライバ回路を制御する。
【0059】
図8に表示データのデータ構造の一例を示す。表示データは、表示部103に表示する回答データ及びリソースIDを含む。回答データは、表示部103に表示するテキストデータである。リソースIDは、ユーザ端末100の記憶部102に予め記憶されている画像を識別するIDである。表示データに、表示部103等に提示する情報そのものが含まれていない場合には、表示制御部16は、表示データに基づいて表示する情報を取得して、取得した情報を表示部103等に提示する。例えば、表示部103に表示する画像が記憶されている記憶部のアドレスが含まれている場合には、表示制御部16はそのアドレスにアクセスして表示する画像データを取得し、取得した画像データに係る画像を表示部103に表示する。
【0060】
[画面例]
図9に、表示データに基づいて表示制御部16によって表示部103に表示されたゲーム画面GIの例を示す。ゲーム画面GIは、図2に示したユーザ端末100の制御部101(具体的には、制御部101が備えるプロセッサ)が、記憶部102から読み出したゲームプログラムを実行することにより表示部103に表示される画像である。ただし、図3に示したゲームサーバ400の制御部401(具体的には、制御部401が備えるプロセッサ)が、記憶部402に記憶されたゲームプログラムを実行して、ユーザ端末100の表示部103にゲーム画面GIを表示する構成としてもよい。
【0061】
ゲーム画面GIは、キャラクタCRの画像、背景BGの画像、発話の内容を含むテキストTX1および回答の内容を含むテキストTX2を含む。ゲーム画面GIは、他の画像またはテキストを含んでいてもよい。
【0062】
各シーンIDに異なる画像(キャラクタCRの画像、背景BGの画像)が関連付けられていてもよい。例えば、シーンSC1では、図9に示したゲーム画面GIが表示され、ストーリーが一つ進んだシーンSC2では、図9に示すゲーム画面GIとはキャラクタCR、背景BG等が異なるゲーム画像が表示されてもよい。
【0063】
ゲームのストーリーは、各シーンSC1~10を遷移しながら進行する。シーン間の遷移は、プレイヤによる入力、より詳細にはユーザ端末100に入力される入力データに基づく。シーンSC1、SC2間、シーンSC2、SC3間のように、遷移先が一つしかない非分岐ルートNBの場合もあれば、SC3とSC4-1、SC4-2間のように、遷移先が2つである分岐(B1)の場合もある。さらに、シーンSC6とシーンSC7-1~SC7-3のように、2つを超える分岐がある場合(B2)もある。ストーリーは、始まりから結末にかけて進行するが、結末は複数あってよく、本実施形態においてはN個の結末(結末1~N)がある。
【0064】
[ストーリーデータの例]
図10図6に示したストーリーに対応するストーリーデータの一部を抜き出した例である。ストーリーデータは、例えば現在のシーン、直前のシーンおよび次のシーンを双方向リストによって連結したデータ構造を含むことによって実現される。また、各シーンについて、ストーリーデータには、準備回答データが関連付けられて記憶されている。図10に示す例では、現在のシーン(シーンID:SC3)に対し、一つ前のシーン(シーンID:SC2)および次のシーン(シーンID:SC4-1とSC4-2)が記憶されている。シーンIDは、例えばゲームデータ記憶部44に参照、ポインタ等の形式で記憶されていてもよい。
【0065】
[ユーザ端末のゲーム処理機能]
図11を参照して、ユーザ端末100にプレイヤによって入力された入力データに基づいてゲーム処理実行部11が表示部103にゲーム画面を表示させる処理の流れ及び表示部103に表示されるゲーム画面の例を説明する。
【0066】
まず、ゲーム処理実行部11は、端末入力データ取得部12によって取得された入力データに基づいて、進行データを生成する(S101)。
【0067】
進行データ送信部15は、進行データをゲームサーバ400に送信する(S102)。進行データは、ステップS101においてゲーム処理実行部11によって生成され、例えばゲームデータ記憶部14に記憶されたデータである。
【0068】
後述するように、ゲームサーバ400に送信された進行データはゲームサーバ400において処理され、処理された結果、ゲームサーバ400からユーザ端末100に表示データが送信される。表示データ受信部13は、ゲームサーバ400によって送信された表示データをゲームサーバ400から受信する(S103)。
【0069】
表示制御部16は、表示データに基づいて表示部103に情報を表示する(S104)。ステップS104を実行した後、ユーザ端末100の制御部101(図2参照)は、処理をステップS101に戻して、ステップS101以降の実行を繰り返す。詳しくは後述するが、ステップS102においてユーザ端末100から送信された進行データに基づいて、ゲームサーバ400のゲーム処理実行部41はゲームを進行させる。
【0070】
[ゲームサーバのゲーム処理機能]
図5に示したユーザ端末100側のゲーム処理機能に対応するゲームサーバ400側のゲーム処理機能について説明する。ゲームサーバ400におけるゲーム処理機能は、ゲームサーバ400の制御部401がゲームプログラムを実行することによって実現される。以下に説明するゲーム処理機能を実現するための構成の一部または全部がハードウェアによって実現されてもよい。
【0071】
図12は、本開示の一実施形態におけるゲームサーバ400のゲーム処理機能40を示すブロック図である。ゲーム処理機能40は、ゲーム処理実行部41、進行データ受信部42、AI出力データ受信部43、ゲームデータ記憶部44、表示データ送信部45およびAI入力データ送信部46を含む。ただし、図12に示すゲーム処理機能40は、一例に過ぎず、一部の機能が省略されたり他の機能が追加されたりしていてもよい。
【0072】
ゲーム処理実行部41は、ユーザ端末100またはAIサーバ500と通信しながら、ストーリーの進行を管理する。
【0073】
進行データ受信部42は、ユーザ端末100から通信部403(図3参照)を介して進行データを受信する。
【0074】
AI出力データ受信部43は、通信部403(図3参照)を介してAIサーバ500からAI出力データを受信する。AI入力データ送信部46は、通信部403を介して、AIサーバ500に入力する入力データを送信する。
【0075】
ゲームデータ記憶部44は、進行データ受信部42によって受信された進行データ、またはゲーム処理実行部41によって生成された表示データ、会話の履歴データ等を記憶する。ゲームデータ記憶部44は、記憶部402(図3参照)によって実現される。ゲームデータ記憶部44は、記憶部402以外の記憶装置、例えばデータを一時的に記憶するDRAM、SRAM等によって実現されてもよい。
【0076】
表示データ送信部45は、通信部403を介して、ゲーム処理実行部41によって生成された表示データを、対応するユーザ端末100に送信する。表示データ送信部45は、例えば、イベント発生時、次のシーンへの移行時などのタイミングで表示データを送信することができる。
【0077】
ゲーム処理実行部41は、進行データにリトライ操作情報が含まれない場合には、回答送信処理を実行し、進行データにリトライ操作情報が含まれる場合には、後述するリトライ処理を実行する。
【0078】
図13に、ゲームサーバ400において実行される回答送信処理の流れを示す。
【0079】
まず、AI入力データ送信部46は、AIサーバ500に発話データを送信する(S201)。発話データは、進行データ受信部42が受信した進行データに含まれるデータである。発話データは、例えばイベント種類が「発話」である進行データに含まれるコンテンツデータである。
【0080】
後述するように、AIサーバ500は発話データに対する回答データを生成するため、ゲームサーバ400のAI出力データ受信部43は、AIサーバ500から通常回答データを受信する(S202)。通常回答データとは、プレイヤによってユーザ端末100に入力された発話に対するAI出力を含む回答データである。
【0081】
続いて、AI入力データ送信部46は、AIサーバ500に通常回答データと準備回答データを送信する(S203)。通常回答データは、ステップS202においてAI出力データ受信部43がAIサーバ500から受信したものである。準備回答データは、回答の準備としてゲームデータ記憶部44に予め記憶されている準備されたデータである。
【0082】
後述するように、AIサーバ500は通常回答データと準備回答データとの一致率を計算し、計算した一致率をゲームサーバ400に送信する。そのため、AI出力データ受信部43は、計算された一致率をAIサーバ500から受信する(S204)。
【0083】
ゲーム処理実行部41は、AIサーバ500から受信した一致率を所定の閾値と比較する(S205)。ゲーム処理実行部41は、通常回答データと準備回答データとの一致率が閾値以上であると判別しない場合に(S205;No)、通常回答データを含む表示データを生成する(S206)。
【0084】
ゲーム処理実行部41は、通常回答データと準備回答データとの一致率が閾値以上であると判別する場合に(S205;Yes)、現在のシーンから、その準備回答データと関連付けられたシーンに遷移させる(S207)。
【0085】
ゲーム処理実行部41は、一致率が閾値以上である準備回答データを含む表示データを生成する(S208)。
【0086】
表示データ送信部45は、ゲーム処理実行部41によって生成された表示データをユーザ端末100に送信する(S209)。
【0087】
以上説明したように、AIを用いて出力された回答は、通常回答データと準備回答データの一致率が所定の閾値未満である場合に表示データとしてユーザ端末100に送信される(S205;No、S206、S209)。このため、ストーリーゲームの構成上、プレイヤ自身の考えに基づいて入力された発話に対し、AIを用いて何らかの回答(通常回答データ)を返すことができる。したがって、主人公キャラクタに当たり障りのない性格を設定したり、主人公キャラクタの発話の選択肢として当たり障りのないものを用意したりする必要がない。プレイヤは、ゲーム内で自身と主人公キャラクタとを重ねやすく、ストーリーゲームを通して没入感を得られやすい。
【0088】
また、一致率が所定の閾値以上である場合には、準備回答データを含む表示データがユーザ端末100に送信される(S205;Yes、S208、S209)。予め準備された準備回答データと関連付けられたシーンに遷移することから(S207)、プレイヤによるある程度自由な入力データの入力を認めつつ、準備回答データと関連付けられたシーンへストーリーの進行を誘導することをより容易にすることができる。AIを用いて一致率を計算することで、単なる文字列、単語、文章構造等の比較による場合に比べて、言語モデルを適用したレベルでの通常回答データと準備回答データとの一致率を計算することができる。言語モデルを適用したレベルでの通常回答データと準備回答データとの一致率とは、疑似的にその回答データに係る発言で発言者が言わんとすること、文字列等としては現れていない、回答データに込められた意味、発言者の気持ちまでをも含めた一致率である。AIを用いて一致率を計算することで、従来の文字列等の単純な比較によれば形式的には全く異なるように見える標準回答データであっても、言語モデルを適用したレベルでの通常回答データと準備回答データとの一致率を適切に高く判別することができる。したがって、AIサーバ500の出力データを用いるゲーム処理実行部41によれば、スムーズにストーリールートに入れる確率を高められる可能性がある。
【0089】
以上、準備回答データが一つである場合の回答送信処理の流れを説明したが、準備回答データは、2つ以上であってもよい。例えば、ステップS203においてAIサーバ500に送信される準備回答データは2つ以上であってもよく、ステップS204においてAIサーバ500から受信される一致率は、通常回答データと各準備回答データとの一致率であってもよい。また、ステップS207において遷移する先のシーンは、複数の準備回答データのうち一致率が閾値以上であり(ステップS205参照)、かつ、一致率が最も高いものと関連付けられたシーンであってもよい。
【0090】
また、以上の説明では、AI出力データ受信部43が通常回答データをAIサーバ500から受信した(S202)後、受信した通常回答データをAI入力データ送信部46が準備回答データとともに再度AIサーバ500に送信する(S203)こととした。しかし、AI入力データ送信部46が発話データをAIサーバ500に送信した(S201)後、AI出力データ受信部43は、通常回答データをAIサーバ500から受信(S202)しなくてもよい。例えば、ステップS202においてAI出力データ受信部43が受信すべき通常回答データをAIサーバ500のゲームデータ記憶部53に記憶させ、ステップS203においてAI入力データ送信部に準備回答データだけをAIサーバ500に送信させてもよい。そして、ステップS204において、AIサーバ500のAI処理実行部51は、ゲームサーバ400から受信した準備回答データと、ゲームデータ記憶部53に記憶されている通常回答データと、に基づいて一致率を計算してもよい。この流れによれば、ゲームサーバ400が通常回答データの送受信を省略することができるため、ネットワークの帯域を節約し、又は処理時間を低減することができる。
【0091】
なお、シーンの遷移に関する基準は、上述したものに限られない。ゲーム処理実行部41は、所定の時刻に設定されたイベントが発生したこと、同じシーンが所定の時間以上継続したこと等を検知して、別のシーンに遷移させる制御を行ってもよい。また、一つのシーンに複数の準備回答データが関連付けられており、一致率が閾値以上である準備回答データが複数である場合に、一致率以外の基準で遷移先のシーンが決定されてもよい。
【0092】
上述した処理に加えて、ゲーム管理処理を実行するため、ゲーム処理実行部41は、ユーザID、ログイン時刻、現在のシーンID、会話の履歴データ、AIに送信するデータに付加するデータ(プロンプト)等を含むゲーム管理データを更新する処理を実行してもよい。
【0093】
[AIサーバのAI処理機能]
AIサーバ500で実行されるAI処理機能について説明する。AI処理機能は、AIサーバ500の制御部501がAIプログラムを実行することによって実現される。以下に説明するAI処理機能を実現するための構成の一部または全部がハードウェアによって実現されてもよい。
【0094】
図14は、本開示の一実施形態におけるAIサーバ500のAI処理機能50を示すブロック図である。AI処理機能50は、AI処理実行部51、AI入力データ受信部52、ゲームデータ記憶部53及びAI出力データ送信部54を含む。ただし、図14に示すAI処理機能50は、一例に過ぎず、一部の機能が省略されたり他の機能が追加されたりしていてもよい。
【0095】
AI処理実行部51は、テキストを入力及び出力とする学習済みモデルであり、入力されたAI入力データに対する回答をAI出力データとして出力する処理部である。AI処理実行部51は、汎用の学習済みモデルであってもよく、特定の質問に対する回答を予め学習した学習済みモデルであってもよい。
【0096】
AI処理機能50は、より具体的には、通常回答データ生成機能および一致率計算機能を含むが、これに限られない。
【0097】
図15に、通常回答生成機能の処理の流れを示す。まず、AI入力データ受信部52は、ゲームサーバ400から発話データを受信する(S301)。
【0098】
次に、AI処理実行部51は、受信した発話データを学習済みモデルに入力する(S302)。
【0099】
発話データを学習済みモデルに入力するときに、AI処理実行部51の学習済みモデルには、シーンに応じた回答を出力させる適切なプロンプトなどの付加情報が発話データとともに入力されてもよい。また、付加情報は、感情度、親密度等のストーリーゲームにおけるキャラクタのパラメータを含んでもよい。
【0100】
AI出力データ送信部54は、AI処理実行部51の学習済みモデルから出力された通常回答データをゲームサーバ400に送信する(S303)。
【0101】
図16に、一致率計算機能の処理の流れを示す。まず、AI入力データ受信部52は、通常回答データと準備回答データをゲームサーバ400から受信する(S401)。
【0102】
次に、AI処理実行部51は、受信した通常回答データと準備回答データを学習済みモデルに入力する(S402)。このときに、一致率を求める適切なプロンプトなどの付加情報が通常回答データおよび準備回答データとともに学習済みモデルに入力されてもよい。
【0103】
AI出力データ送信部54は、学習済みモデルから出力されたAI出力データである一致率をゲームサーバ400に送信する(S403)。
【0104】
一致率計算処理は、AI入力データとして入力されたテキストデータを複数の回答データとして、各回答データについて、準備回答データと回答データとの間の一致の程度を示す一致度をAI出力データとして出力する処理である一致度は数値として出力されてもよく、一致度を表す数値をテキストに変換したテキストデータとして出力されてもよい。
【0105】
AI処理実行部51は、AI出力データを指示するプロンプトをAI入力データとして入力することで、通常回答生成処理と一致率計算処理とを切り替えながら実行してもよい。
【0106】
AI入力データ受信部52は、ゲームサーバ400から通信部503(図4参照)を介してAI入力データを受信する。AI入力データ受信部52は、受信したAI入力データをAI処理実行部51に入力する。AI入力データには、会話を識別するIDが含まれていてもよい。
【0107】
ゲームデータ記憶部53は、AI処理に必要なパラメータ、入出力データ、入出力データに前処理または後処理を実行したデータ等を記憶する。
【0108】
AI出力データ送信部54は、AI処理実行部51から出力されたAI出力データをゲームサーバ400に送信する。
【0109】
AIサーバ500に対する入力と出力により、他キャラクタをAIとして、発話に対する回答を生成し、ゲーム内での会話を実現することができる。
【0110】
なお、通常回答データと準備回答データとの一致率を求める処理は、AIサーバ500以外のコンピュータ、例えばゲームサーバ400のゲーム処理実行部41によって実行されてもよい。また、一致率は、AIを使用して求めるものに限られず、文字列同士のマッチング等によって求めたものであってもよい。
【0111】
[リトライ操作]
通信システム1000では、シーンの遷移にAIの出力データを利用するため(図13のS207参照)、必ずしもプレイヤが意図した入力どおりにストーリーが進行するとは限らない。例えばAIが主人公キャラクタの発話を誤認識したことがきっかけとなり、プレイヤがゲームを進めたいルートとは異なる分岐先のシーンへ遷移する可能性がある。この場合には、プレイヤは、自分の意図とは噛み合わないまま進行した会話に基づいて分岐したストーリーである分岐ルートのシーンに進行したことで、違和感を覚えることがある。しかし、通信システム1000は、次に説明するリトライ機能を備えるため、プレイヤは会話の噛み合わないルートから正常なルートにストーリーを遷移させ、軌道修正を図ることができる。
【0112】
図17に示すように、進行データ受信部42は、進行データをユーザ端末100から受信する(S501)。
【0113】
ゲーム処理実行部41は、受信した進行データにリトライ操作情報が含まれるか否かを判別する(S502)。ゲーム処理実行部41は、進行データにリトライ操作情報が含まれると判別しない場合には(S502;No)、このフローを終了する。
【0114】
ゲーム処理実行部41は、進行データにリトライ操作情報が含まれると判別した場合には(S502;Yes)、ゲームデータ記憶部44からストーリーデータを取得する(S503)。
【0115】
ゲーム処理実行部41は、現在のシーンを分岐点のシーンに遷移させる(S504)。例えば、ゲーム処理実行部41は、シーンの双方向リストを遡って、次シーンIDが2つ以上対応付けられているシーン(図6における分岐部B1のシーンSC3、分岐部B2のシーンSC6)を検出する。続いて、ゲーム処理実行部41は、検出したシーンのシーンIDを現シーンIDとして設定することにより、現在のシーンを分岐点のシーンに遷移させる。シーンIDを設定し直しても、AIサーバ500にそれまでに入力されたAI入力データはリセットされない。遷移した後のシーンIDのシーンにおける会話では、AI処理実行部51は、それまでにAIサーバ500に入力されたAI入力データを踏まえて、AI出力データを生成する。このため、遷移した後のシーンIDのシーンでは、前回同じシーンIDのシーンにおいて表示された背景と異なる背景が表示されてもよく、前回同じシーンIDのシーンにおいて出力された音声と異なる音声が出力されてもよい。遷移した後のシーンIDのシーンで表示部103に表示されるキャラクタは、前回同じシーンIDのシーンにおいて表示されたキャラクタと異なっていてもよい。遷移した後のシーンIDのシーンで、プレイヤは主人公キャラクタを介して再度同じ会話を繰り返すことができるため、会話のリトライを実行できる。
【0116】
ゲーム処理実行部41は、遷移した分岐点のシーンに対応する表示データを生成する(S505)。ゲーム処理実行部41は、シーンが遷移するまでにAI処理実行部51に入力されたデータを踏まえて出力されたAI出力データに基づいて、表示データを生成する。このため、ゲーム処理実行部41が生成する表示データは、分岐点のシーンに再度遷移する前に表示部103に表示された画像等と同一の画像等を含むデータであってもよく、分岐点のシーンに再度遷移する前に表示部103に表示された画像等の一部を変化させたデータであってもよい。
【0117】
表示データ送信部45は、表示データをユーザ端末100に送信する(S506)。以上でリトライ処理が終了する。
【0118】
「リトライ処理」とは、リトライ操作が行われたときに、ゲーム処理実行部41によって実行される一連の処理である。「リトライ操作」とは、プレイヤによって行われる操作であり、リトライ処理を開始するきっかけとなる操作である。「リトライ操作情報」とは、リトライ操作が行われたことを示す情報である。リトライ操作及びリトライ操作情報の具体例については後述する。
【0119】
リトライ処理は、具体的には、主人公キャラクタと他のキャラクタ(AI)との間で以前に行われた会話を踏まえた上で、プレイヤに他のキャラクタとの間で以前と同じ会話を繰り返すことを認める処理をいう。以前に行われた会話を踏まえるとは、以前の会話そのものをリセットしたり、存在しなかったことにしたり、取り消したりするのではなく、他のキャラクタが以前の会話の内容を維持したままで、かつ、主人公キャラクタが同じ会話を試みることをいう。したがって、リトライ処理が実行されても、主人公キャラクタと他のキャラクタとの間の会話データの履歴は削除されない。例えば、ゲームデータ記憶部53が主人公キャラクタと他のキャラクタとの間の会話に関するデータを記憶し続けることによって、以前に行われた会話を踏まえた新たな会話を実現してもよい。
【0120】
[リトライ操作ボタン]
図18に示すリトライ操作ボタンROBは、リトライ操作を実現するユーザインタフェースの一例である。図9と異なる点を説明すると、ユーザ端末100の表示部103には、リトライ操作ボタンROBを含むゲーム画面GIが表示されている。ゲーム画面GI上に表示されたリトライ操作ボタンROBが押されたことを検知して、ユーザ端末100のゲーム処理実行部11は、リトライ操作情報を含む進行データを生成する。
【0121】
図19は、リトライ操作情報を含む進行データの例である。リトライ操作情報は、リトライ操作であることを示す値を含む情報である。図19に示した進行データは、入力種類がリトライ操作であること、ユーザID、シーンID、及びイベント発生元、を含む。入力種類がリトライ操作であることは、例えば入力種類を示すデータのうちリトライ操作を示すフラグが「1」であることによって表されてもよい。
【0122】
図17を参照して説明したように、リトライ操作が行われた場合には(S502;Yes)、現在のシーンが分岐点のシーンに遷移する(S504)。ユーザ端末100に送信される表示データは、以前に同じシーンIDのシーンに遷移したときにゲーム処理実行部41(図12参照)によって生成された表示データである(S505)。すなわち、リトライ操作が行われた場合に表示部103に表示されるゲーム画面GIは、以前に同じシーンに遷移した場合に表示部103に表示されたゲーム画面GIを含む。前述したように、シーンIDが同じシーンに遷移しても、遷移前に行われた会話はリセットされないため、2回目以降に同じシーンに遷移する場合にゲーム処理実行部41によって生成され、ユーザ端末100に取得される表示データは、遷移前に行われた会話を踏まえたものである。
【0123】
図20は、図6に示したストーリーのシーンSC3~SC5-1、SC5-2を抜き出した図である。ルートR1ではシーンSC4-1、SC5-1に順次進行するため、シーンSC3からシーンSC4-1に進行した場合(A)、(B)、プレイヤはルートR2上にあるシーンSC4-2、SC5-2にたどり着けない可能性がある(C)。
【0124】
プレイヤが違和感のあるルートR1に進行したことに気づけば、リトライ操作を実行することで、直近の分岐点(シーンSC3)に遷移することができる(D)。プレイヤは、改めてユーザ端末100に入力を行い、正常なルートR2上にあるシーンSC4-2に進行することができる(E)。
【0125】
このように、通信システム1000によれば、AIによる出力に基づいてストーリーがプレイヤに違和感を覚えさせるような分岐ルートに進行しても、リトライ操作という軌道修正を図るやり直し手段が用意されているため、プレイヤに違和感を覚えさせる可能性を低くすることができる。
【0126】
なお、リトライ操作情報は、上述したものに限られない。例えば、リトライ操作情報は、スマホをシェイクする動作であってもよい。
【0127】
<第2実施形態>
通信システム2000は、情報を音声で出力するものである。以下、通信システム1000と異なる点を中心に説明する。
【0128】
図21に示すように、通信システム2000のユーザ端末200が有するゲーム処理機能20は、ゲーム処理機能10(図5参照)に加え、提示データ受信部21と、音声出力制御部22と、を含む。提示データ受信部21は、通信部108を介してゲームサーバ400から提示データを受信する。提示データは、ゲームサーバ2400(図示せず)によって生成されるデータであり、例えば、ストーリーの進行に応じて、表示部103に表示する内容を示すデータと、音入出力部109(図2参照)に出力する音声を変える音声データと、を含む。表示制御部16は、提示データ受信部21によって受信された提示データに含まれるデータに含まれる情報を表示部103に表示する制御を実行する。音声出力制御部22は、提示データ受信部21が受信した提示データのうち音声データを取得し、取得した音声データをユーザ端末200の音入出力部109から出力させる。音声出力制御部22は、画像の変化と音声の出力とを同期させたり、圧縮された音声データをデコードするなどの処理を行ってもよい。「提示」は、画像、文字の表示、動画の再生、音声の出力を含むが、これらに限られない。例えば、「提示」は、ハプティクスデバイスによる振動、衝撃等を含んでもよい。
【0129】
ゲームサーバ2400は、シーンIDと関連付けて、画像と音声を記憶している。進行データにリトライ操作情報が含まれることを判別すると、ゲーム処理実行部41(図12参照)は、同一のシーンIDのシーンにおいて以前に表示した画像と同一の画像を表示させ、同一のシーンIDのシーンにおいて出力した音声と同一の音声をスピーカ(音入出力部109)から出力させる。シーンIDが同じシーンに遷移しても、遷移前に行われた会話はリセットされないため、2回目以降に同じシーンに遷移する場合にゲーム処理実行部41によって生成され、ユーザ端末200に取得される提供データは、遷移前に行われた会話を踏まえたものである。このため、リトライ操作情報を受け付けたゲーム処理実行部41は、以前に同じシーンIDのシーンにおいて表示された画像、出力された音声と異なる画像又は音声を含む提示データを生成してもよい。
【0130】
通信システム2000によれば、シーンIDが同じシーンに遷移すると、同一の画像及び音声が表示部103及び音入出力部109から出力されるため、プレイヤは、同一のシーンに遷移したことに気づき、ストーリー分岐の軌道修正のきっかけを得やすい。
【0131】
<変形例>
以上説明したゲーム上の会話の相手は1人であったが、プレイヤは、2人以上の相手と並行して会話してもよい。変形例に係る通信システム3000は、プレイヤが2人以上の相手とゲーム上で会話するものである。以下、通信システム1000、2000と異なる点を中心に説明する。
【0132】
図22に示すように、通信システム3000においては、ユーザ端末100の表示部103には、会話の相手である2体のキャラクタCR1、CR2がゲーム画面GIに同時に表示されてもよい。また、プレイヤが操作する主人公キャラクタの台詞が表示されるテキストエリアTX3に加えて、2体のキャラクタCR1、CR2にそれぞれ対応するTX1、TX2が表示部のゲーム画面GIとして表示される。
【0133】
図23は、通信システム3000によって用いられるユーザ端末入力データと進行データのそれぞれのデータ構造の一例である。
【0134】
通信システム3000においては、リトライ操作は、表示部103に表示されているキャラクタCR1、CR2のそれぞれに対して行われることができる。具体的には、ユーザ端末100は、ユーザ端末入力データとして、検出されたダブルタップの座標を含むデータを生成する。次に、ユーザ端末100は、ダブルタップの座標と、キャラクタCR1、CR2の画像がそれぞれ表示されている画面上の領域に関する情報(例えばキャラクタ画像の基準座標、幅及び高さ)と、を比較する。ユーザ端末100は、ダブルタップの座標がキャラクタCR1、CR2のいずれかの領域内にあると判別した場合に、そのキャラクタが選択され、選択されたキャラクタに対するリトライ操作が入力されたものと判別する。ユーザ端末100は、選択されたキャラクタに関する情報と、リトライ操作情報と、を含む進行データをゲームサーバ400に送信する。
【0135】
ゲームサーバ400は、現在のシーンIDに対応するストーリーデータから、直近の分岐点まで遡り、分岐点であるシーンに関連付けられた会話履歴のうち、リトライ操作によって選択されたキャラクタの会話履歴データを取得する。次に、ゲームサーバ400は、取得したキャラクタの会話履歴のうち分岐点のシーンで表示されていたものを、表示データに含めて、ユーザ端末100に送信する。
【0136】
ユーザ端末100は、ゲームサーバ400から受信した表示データに基づき、リトライ操作を受け付けたキャラクタCR1について、分岐点まで遡った会話データを表示部103に表示する。
【0137】
通信システム3000によれば、リトライ操作によってやり直しをするキャラクタを選択できるため、リトライ操作によって全てのキャラクタとのやり取りが取り消されることはない。このため、プレイヤがやり直しを希望しなかったキャラクタに対する入力を再度繰り返す手間を削減することができる。
【0138】
以上、本開示について図面を参照しながら説明したが、前述の各実施形態は、本開示の趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、各実施形態を基にして、当業者が適宜構成要素の追加、削除もしくは設計変更を行ったものも、本開示の要旨を備えている限り、本開示の範囲に含まれる。さらに、前述した各実施形態は、相互に矛盾がない限り適宜組み合わせが可能であり、各実施形態に共通する技術事項については、明示の記載がなくても各実施形態に含まれる。
【0139】
前述した各実施形態の態様によりもたらされる作用効果とは異なる他の作用効果であっても、本明細書の記載から明らかなもの、または、当業者において容易に予測し得るものについては、当然に本開示によりもたらされるものと解される。
【符号の説明】
【0140】
10、20…ゲーム処理機能、11…ゲーム処理実行部、12…端末入力データ取得部、13…表示データ受信部、14…ゲームデータ記憶部、15…進行データ送信部、16…表示制御部、21…提示データ受信部、22…音声出力制御部、40…ゲーム処理機能、41…ゲーム処理実行部、42…進行データ受信部、43…AI出力データ受信部、44…ゲームデータ記憶部、45…表示データ送信部、46…AI入力データ送信部、50…AI処理機能、51…AI処理実行部、52…AI入力データ受信部、53…ゲームデータ記憶部、54…AI出力データ送信部、100、200…ユーザ端末、101…制御部、102…記憶部、103…表示部、104…操作部、105…センサ部、106…撮像部、107…位置検出部、108…通信部、109…音入出力部、110…報知部、400、2400…ゲームサーバ、401…制御部、402…記憶部、403…通信部、500…AIサーバ、501…制御部、502…記憶部、503…通信部、1000、2000、3000…通信システム、BG…背景、CR…キャラクタ、NW…ネットワーク、GI…ゲーム画面、シーン…SC1~SC10
【要約】
【課題】ストーリー分岐を軌道修正する操作が可能なストーリーゲームのゲームプログラム及びゲームサーバを提供する。
【解決手段】ゲームプログラムは、ゲームサーバから受信した情報をゲームのプレイヤに提供するユーザ端末によって実行されるゲームプログラムであって、ユーザ端末に、リトライ操作情報を含む進行データをゲームサーバに送信させることを含む、入力された入力データに基づく進行データをゲームサーバに送信させることS102と、リトライ操作情報を含む進行データに対応して、ゲームのストーリー上の過去の時点で生成された、提示データをゲームサーバから取得させることを含む、進行データに対してAIを使用して生成された出力データに応じた提示データをゲームサーバから取得させることS103と、ゲームサーバから取得された提示データに基づく情報を提示させることS104と、を繰り返し実行させる。
【選択図】図11
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23