以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
図1は、ゲームシステム1の全体的な構成を示す模式図である。本実施形態では、ゲームシステム1は、予め定められた複数の役(達成条件)のうちのいずれかの役の成立により特典(例えば点数等)を付与するゲームを提供する。ゲームの種類としては、ユーザによって操作されるキャラクタ(プレイヤキャラクタまたは操作キャラクタ)が、3人のNPC(ノンプレイヤキャラクタ)または3人の他ユーザによってそれぞれ操作される3人のキャラクタと対戦可能な麻雀ゲームを例示する。
麻雀ゲームでは、部屋の麻雀卓に積まれた136枚あまりの牌(識別情報)の山から牌をキャラクタ毎に1つずつ引き、14枚〜18枚の手牌(当該キャラクタが所有する牌)の組合せからなる役の成立を目指す。また、麻雀では、家(自家または他家)、副露、晒すなどの専門用語が用いられる。ここで、家はキャラクタを意味し、自家はプレイヤキャラクタを意味し、他家はNPCを意味する。さらに、副露は、ポン、チー、大明槓、暗槓、小明槓の総称であり、晒すは牌の模様を他のキャラクタに見せることを意味する。
なお、ゲームの種類は、役の成立により特典(例えば点数等)を付与するゲームであればこれに限らず、例えば、トランプを用いたゲーム(例えばポーカー)などであってもよい。
図1に示すように、ゲームシステム1は、複数のユーザ端末100と、ゲームサーバ200とを含む。各ユーザ端末100とゲームサーバ200とは、ネットワーク2を介して接続されている。ネットワーク2は、インターネット、図示しない無線基地局によって構築される各種移動通信システム(たとえば、所謂3G、4G移動通信システム、LTE(Long Term Evolution))、または所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(たとえばWi-Fi(登録商標))を含み得る。
(ユーザ端末およびゲームサーバの構成)
ユーザ端末100は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であることがより好ましい。図1に示すように、ユーザ端末100は、通信バスによって互いに電気的に接続されたプロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15とを備える。
入出力IF14は、USB(Universal Serial Bus)等を介した各種データ入出力機能、および音声入出力機能を備える。
タッチスクリーン15は、入力部151と表示部152とを組合せた電子部品である。入力部151は、タッチセンシティブなデバイスであり、たとえばタッチパッド等によって構成される。表示部152は、たとえば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。入力部151は、タッチスクリーン15に対するユーザの指やスタイラスといった物体の接触または近接を検知し、操作入力として受け付ける。入力部151は、当該操作入力に含まれるユーザの作用(主に、タッチ操作、スワイプ操作、フリック操作、およびタップ操作等の物理的接触操作)が入力された画面位置の情報を検知して、該情報を外部へ情報信号として出力する機能を備える。タッチスクリーン15は、タッチセンシティブであればよい。タッチセンシティブなデバイスは、静電容量方式、抵抗膜方式等のどのような方式を採用したものであってもよい。
ゲームサーバ200は、ゲームに関する各種サービスを各ユーザ端末100に提供する。ゲームサーバ200は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであることが、より好ましい。図1に示すように、ゲームサーバ200は、通信バスによって互いに電気的に接続されたプロセッサ20と、メモリ21と、ストレージ22と、通信インターフェース(IF)23と、入出力IF24とを備える。
プロセッサ10、20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を含んで構成される。プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、ゲームサーバ200全体の動作を制御する。
メモリ11、21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の揮発性記憶装置で構成され得る主記憶装置を含んで構成される。
ストレージ12、22は、フラッシュメモリまたはHDD(Hard Disk Drive)などの不揮発性記憶装置によって構成され得る補助記憶装置を含んで構成される。メモリ11には、プロセッサ10がストレージ12からロードした各種プログラムおよびデータが一時的に記憶される。メモリ21には、プロセッサ20がストレージ22からロードした各種プログラムおよびデータが一時的に記憶される。これによりメモリ11は、プロセッサ10に対して作業領域を提供する。メモリ21は、プロセッサ20に対して作業領域を提供する。
ゲームサーバ200のストレージ22には、ゲームプログラム等のゲームデータが格納される。ユーザ端末100のストレージ12には、ゲームサーバ200からダウンロードされるゲームプログラム等のゲームデータが格納される。当該ゲームプログラムは、メモリ11、21に展開される。プロセッサ10は、メモリ11に展開されるゲームプログラムを実行する。プロセッサ20は、メモリ21に展開されるゲームプログラムを実行する。メモリ11には、プロセッサ10が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータも一時的に格納される。メモリ21には、プロセッサ20が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータも一時的に格納される。
通信IF13、23は、ユーザ端末100とゲームサーバ200との間で各種データを送受信するための通信制御機能を備える。通信制御機能には、たとえば、無線LAN(Local Area Network)接続機能、有線LAN、無線LAN、携帯電話回線網を介したインターネット接続機能、近距離無線通信機能等が含まれる。
本実施形態では、各種データは、所定のゲームプログラム、ユーザ情報、ゲーム情報等のゲームデータ、それらをユーザ端末100とゲームサーバ200との間に送受信させる指示、および、ゲームを進行させるための指示を含む。
たとえばプロセッサ10は、通信IF13を介してユーザIDをゲームサーバ200に送信することによって、当該ユーザIDに関連付けられたオブジェクト(キャラクタ、配牌スキル、ツモスキル、配牌、ツモ牌、捨て牌等)に関する情報をゲームサーバ200から受信する。また、プロセッサ10は、ユーザ作用に基づいて麻雀卓に牌を配置し、ゲームの結果として取得されたゲームポイント(点棒)を、通信IF13を介してゲームサーバ200に送信する。
ゲームサーバ200の入出力IF24は、マウス、キーボード等の情報入力機器である入力部、および、液晶ディスプレイ等の出力部を備えており、コンピュータの情報をモニタリングするために用いられる。
(ユーザ端末の機能的構成)
図2は、ユーザ端末100の機能的構成を示す図である。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能し得る。記憶部120にはゲームプログラムが格納されている。このゲームプログラムは、主記憶上に展開されかつ制御部110において実行される。また、本実施形態では、このゲームプログラムは、プロセッサ10およびメモリ11を備えるユーザ端末100に対し、麻雀ゲームを進行させる制御部110および記憶部120としてユーザ端末100を機能させるプログラムである。
制御部110は、当該ゲームプログラムによって、作用受付部111、端末処理部112、タイマー部113、端末判定部114、表示制御部115、報酬計算部116、および送受信部117として機能し得る。制御部110が当該ゲームプログラムに従って動作している間に生成した各種ゲームデータ、および制御部110によって利用される各種ゲームデータも、主記憶上に一時的に格納される。
作用受付部111は、タッチスクリーン15の入力部151に対するユーザの作用を検知する。作用受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールによる操作指示等から、いかなる入力がなされたかを判別し、その結果を端末処理部112等の必要な要素に出力する。作用受付部111は、タッチスクリーン15に対する作用入力がなされた場合には、入力位置の座標情報および作用の種類(タッチ操作、スライド動作等)を検知する。また、作用受付部111は、連続して検知されていた入力が途切れることを検知することによって、タッチスクリーン15から接触入力が解除されたことを検知する。
端末処理部112は、ユーザ端末100全体の動作を制御し、各要素間におけるデータの送受信、およびゲームの実行に必要な演算処理その他の処理を行う。端末処理部112は、たとえば、作用受付部111によって検知された作用に基づいて、ゲームプログラムに従ったゲームを展開させ、その結果を示すゲーム画像を描画するよう、表示制御部115に指示する。また、端末処理部112は、タッチスクリーン15に対する操作入力に基づいて仮想空間内におけるゲームオブジェクトを操作する。また、端末処理部112は、タッチスクリーン15に対する操作入力および演算処理の結果等に基づいて、記憶部120に記憶されている各種データの更新等の処理を行う。なお、端末処理部112は、ゲームの進行状態に応じて、ゲーム空間の視野を指定するための仮想カメラの位置を制御してもよい。
タイマー部113は、麻雀部屋内の時刻を規定するとともに、麻雀部屋内の時間の経過を計測する。タイマー部113は、たとえば、牌がツモられた時刻を記憶部120に記憶させ、その後に経過した時間を測定する。タイマー部113は、測定することによって得られる時間情報を端末判定部114に提供する。端末判定部114は、タイマー部113および記憶部120を参照して、今回のツモから所定時間が経過したか否かなどを判定できる。
表示制御部115は、ゲームサーバ200から受信したユーザ情報、ゲームプログラムによる演算結果、およびユーザの入力部151に対する作用に基づいて、表示部152に表示される画像を生成する。本実施形態では、ユーザ端末100は、配牌、牌山、ツモ牌、捨て牌、ポン、チー、カン、ロンあがり、ツモあがり、流局等などの対局の開始から終了までに刻々と変化するゲーム情報をゲームサーバ200から取得し、この情報を用いて対局画面の画像を生成する。なお、これらのゲーム情報は、ユーザ端末100側においても記憶しているものであってもよい。表示制御部115は、端末処理部112によるゲーム進行制御に応じて表示画像を更新する。
報酬計算部116は、作用受付部111から受信した操作に基づいて、各ユーザに提供される報酬を算出して、ユーザに付与する。たとえば報酬計算部116は、ユーザに付与される点棒を算出し、ユーザに付与する。
送受信部117は、ゲームサーバ200から各種情報を受信したり、ゲームサーバ200に各種情報を送信したりする。送受信部117は、制御部110の制御によって各種情報をゲームサーバ200に対して送信する。ゲームサーバ200は、ネットワーク2および通信IF23を介して当該情報を受信し、送受信部211が情報の内容を識別して受け付ける。送受信部117は、たとえば、ユーザ端末100上で動作可能なゲームプログラム、ユーザ情報、ゲーム画面等のゲーム空間情報、自ユーザの配牌、牌山、他のユーザの捨て牌、他のユーザによるポン、チー、カン、ロンあがり、ツモあがり等のゲーム情報を、ゲームサーバ200から受信することができる。なお、これらの情報は、ユーザ端末100側においても記憶しているものであってもよい。一方、送受信部117は、ユーザ情報、自ユーザの捨て牌、自ユーザによるポン、チー、カン、ロンあがり、ツモあがり等のゲーム情報を、ゲームサーバ200に送信することができる。
記憶部120には、制御部110が前述の各部として機能するために必要なデータが記憶されている。当該データとしては、たとえば、ゲームプログラム、ゲーム情報、およびユーザ情報が含まれる。ゲーム情報としては、オブジェクト管理テーブル等が挙げられる。ユーザ情報としては、ユーザ管理テーブル等が挙げられる。
本実施形態では、ゲームプログラムは、操作キャラクタの立場で麻雀ゲームを進める操作キャラクタ側プログラムと、管理者の立場で当該麻雀ゲームを取り仕切る管理者側プログラムと、NPCの立場で麻雀ゲームを進めるNPC側プログラムとによって構成されている。また、本実施形態では、操作キャラクタが3人のNPCと対局を行うシングルプレイモードと、自ユーザの操作キャラクタが3人の他ユーザにそれぞれ対応する3人の操作キャラクタとオンラインで対局を行う対戦プレイモードとが準備されている。
このうち、シングルプレイモードでは、操作キャラクタと3人のNPCとで麻雀卓を囲むパーティが構成され、対局が開始される。一方、対戦プレイモードでは、4人の操作キャラクタのうちのいずれか1人がホストとして部屋を作り、残りの3人の操作キャラクタがゲストとして当該部屋に入ることで、麻雀卓を囲むパーティが構成され、対局が開始される。
また、本実施形態では、麻雀ゲームに用いる情報として、図4に示す配牌スキル管理テーブル301と、図5に示すツモスキル管理テーブル302とが、ユーザ端末100の記憶部120において管理されている。
(ゲームサーバの機能的構成)
図3は、ゲームサーバ200の機能的構成を示すブロック図である。ゲームサーバ200は、各ユーザ端末100にゲーム進行に必要な情報を提供するゲーム提供機能を有している。ゲームサーバ200は、ユーザ端末100からゲーム情報を受信し、ユーザ端末100上で動作可能なゲームプログラム、Webページ(ゲーム画面等)、ユーザ情報およびゲームパラメータ等の各種ゲームデータ、各種通知等を送信する。ゲームサーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、入出力IF24等の協働によって、制御部210および記憶部220として機能し得る。
図3に示すように、制御部210は、記憶部220に格納されたゲームプログラムによって、送受信部211、サーバ処理部212、データ管理部213、マッチング部214、計測部215として機能し得る。本実施形態では、このゲームプログラムは、プロセッサ20およびメモリ21を備えるゲームサーバ200に対し、麻雀ゲームを進行させる制御部210および記憶部220としてゲームサーバ200を機能させるプログラムであり、管理者の立場で当該麻雀ゲームを取り仕切る上述の管理者側プログラムも含んでいる。
送受信部211は、各ユーザ端末100から送信される各種情報を受信したり、各ユーザ端末100に各種情報を送信したりする。
各ユーザ端末100は、制御部110の制御に基づいて各種情報をゲームサーバ200に対して送信する。ゲームサーバ200は、ネットワーク2および通信IF23を介して当該情報を受信し、送受信部211が情報の内容を識別して受け付ける。
送受信部211は、記憶部220に格納されている各種管理テーブルを参照する。送受信部211は、必要に応じてデータ管理部213によって更新された各種管理テーブルを参照して、必要な処理を実行する。当該情報には、各ユーザに配られる牌の組合せを特定するための配牌情報、配牌の後に残った牌を特定するための牌山情報、各ユーザによるポン、チー、カンなどの情報が含まれる。
また、送受信部211は、ユーザ端末100上で動作可能なゲームプログラム、ユーザ情報、ゲーム画面等のゲーム空間情報、各ユーザの配牌、牌山、各ユーザの捨て牌、各ユーザによるポン、チー、カン、ロンあがり、ツモあがり等のゲーム情報をユーザ端末100に送信する。
サーバ処理部212は、ゲームサーバ200全体の動作を制御し、各要素間におけるデータの送受信、および、ゲームの進行に必要な演算処理を行う。サーバ処理部212は、たとえば、送受信部211が受信したユーザ端末100からの情報または要求に基づいて、ゲームプログラムに従った演算処理を実行する。そして、その結果としての各種ユーザ情報、ゲーム情報等のゲームデータ、およびゲームプログラム等を、通信IF13を介してユーザ端末100に送信することによって、ユーザ端末100においてさらにゲームを進行させる。
データ管理部213は、サーバ処理部212における各種演算結果に基づいて、記憶部220に格納されている各種ゲームデータ、およびデータベースのレコードを、追加、更新、または削除することによって、必要な処理を実行する。
送受信部211は、例えば、ユーザが麻雀卓に牌を晒すようにユーザ端末100に作用を与えると、その結果としてユーザが保有するオブジェクト情報およびゲームポイントに関する情報をユーザ端末100から受信する。サーバ処理部212は、受信された情報に基づいて必要な処理を実行し、一方、データ管理部213はユーザ情報およびゲーム情報を更新する。
また、例えば、送受信部211がユーザ端末100から捨て牌を実行する要求を受信した場合、データ管理部213は、捨て牌の情報を、ユーザ情報と、捨て牌の配置位置等に関するゲーム情報とに関連付けて記憶する。
マッチング部214は、対戦プレイモードにおいて、複数の操作キャラクタを所定のゲーム空間に関連付ける。たとえばマッチング部214は、ある操作キャラクタがホストとして部屋を作る操作を行った場合、当該操作キャラクタをホストとし、他の3人の操作キャラクタをゲストとするパーティをマッチングによって組成し、当該パーティに属する4人の操作キャラクタを同じ麻雀部屋に一時的に関連付ける。
計測部215は、タイマー部113と同様に、麻雀部屋内の時刻を規定するとともに、麻雀部屋内の時間を計測する機能を有する。計測部215は、例えば、対局開始時に発動させたいスキルを選択するための画面が表示された時刻からの経過時間を計測する。計測部215は、麻雀部屋の時間情報を生成し、タイマー部113で生成された麻雀部屋の時間情報と照合する。これにより、ユーザ端末100とゲームサーバ200において麻雀部屋の時間情報が同期され、各種時間情報の計測および判定を円滑に実施し得る。
記憶部220には、ゲームプログラムおよびユーザの認証プログラム等が格納されている。また、記憶部220には、ユーザ管理テーブル等のユーザ情報、オブジェクト管理テーブル等のゲーム情報を管理するデータベースが構築されていてもよい。記憶部220には、図4に示す配牌スキル管理テーブル301と、図5に示すツモスキル管理テーブル302とを設けるようにしてもよい。
(配牌スキル管理テーブル)
図4を参照して、配牌スキル管理テーブル301は、対局開始時に発動可能な配牌スキルの詳細と、当該配牌スキルを発動させるための条件とを管理する。また、配牌スキルは、対局開始時の配牌の組合せに関するスキルであり、筒子マスター、索子マスター、萬子マスター、字牌マスター、断ヤオマスター、三元メイカー、四喜メイカー、暗刻爆弾、順子爆弾、対子爆弾および槓子爆弾が設定される。対局を行う4人のキャラクタの各々には、これらの配牌スキルのうちから例えば乱数抽選によって選ばれたいずれかの配牌スキルが関連付けられる。
筒子マスターは8枚以上の筒子を配牌に含めるスキルであり、当該スキルが関連付けられたキャラクタが西家となる対局でスキル発動条件が成立する。索子マスターは8枚以上の索子を配牌に含めるスキルであり、当該スキルが関連付けられたキャラクタが東家となる対局または3局でスキル発動条件が成立する。萬子マスターは8枚以上の萬子を配牌に含めるスキルであり、当該スキルが関連付けられたキャラクタの順位が最下位のときに臨む対局でスキル発動条件が成立する。
字牌マスターは9枚以上の字牌を配牌に含めるスキルであり、当該スキルが関連付けられたキャラクタが子となる対局でスキル発動条件が成立する。断ヤオマスターは10枚以上の断ヤオ牌を配牌に含めるスキルあり、当該スキルが関連付けられたキャラクタが北家となる対局または4局でスキル発動条件が成立する。三元メイカーは大三元のタネを6枚以上配牌に含めるスキルであり、オーラス前の対局でスキル発動条件が成立する。四喜メイカーは小四喜のタネを7枚以上配牌に含めるスキルであり、当該スキルが関連付けられたキャラクタが親となる対局または2局でスキル発動条件が成立する。
暗刻爆弾は2組以上の暗刻を配牌に含めるスキルであり、当該スキルが関連付けられたキャラクタが南家となる対局でスキル発動条件が成立する。順子爆弾は2組以上の順子を配牌に含めるスキルであり、当該スキルが関連付けられたキャラクタとトップとの点数差が10000点以上のときに臨む対局でスキル発動条件が成立する。対子爆弾は4組以上の対子を配牌に含めるスキルであり、当該スキルが関連付けられたキャラクタが東家となる対局でスキル発動条件が成立する。槓子爆弾は1組以上の槓子を配牌に含めるスキルであり、当該スキルが関連付けられたキャラクタの順位が2位のときに臨む対局でスキル発動条件が成立する。
なお、図4におけるスキル発動条件は、スキルに対して予め定められている例について説明したが、これに限らず、同じスキルであっても、当該スキルが関連付けられたキャラクタの種類に応じて、スキル発動条件を異ならせるようにしてもよい。
(ツモスキル管理テーブル)
図5を参照して、ツモスキル管理テーブル302は、対局中に発動可能なツモスキルの詳細と、当該ツモスキルを発動させるための条件と、スキル発動により生じる効果の種別とを管理する。また、ツモスキルとしては、筒子無双、索子無双、萬子無双、字牌無双、断ヤオ無双、ヤオ九無双、刻子無双、順子無双、強欲な右手が設定される。対局を行う4人のキャラクタの各々には、これらのツモスキルのうちから例えば乱数抽選によって選ばれたいずれかのツモスキルが関連付けられる。
このうち、強欲な右手以外のスキルは、特定の種類の牌が所定の巡目内で引き易くなるスキルであり、強欲な右手は、自家の手牌またはツモ牌の履歴に基づいて定まる牌が所定の巡目内で引き易くなるスキルである。
具体的には、筒子無双は、3巡連続で筒子を引き寄せるスキルであり、揃っている面子の数が2以下のときにスキル発動条件が成立する。索子無双は、3巡連続で索子を引き寄せるスキルであり、バラバラの牌の数が7以上のときにスキル発動条件が成立する。萬子無双は、3巡連続で萬子を引き寄せるスキルであり、揃っている面子の数が2以下のときにスキル発動条件が成立する。
字牌無双は、3巡連続で字牌を引き寄せるスキルであり、バラバラの牌の数が7以上のときにスキル発動条件が成立する。断ヤオ無双は、3巡連続で断ヤオ牌を引き寄せるスキルであり、揃っている面子の数が2以下のときにスキル発動条件が成立する。ヤオ九無双は、3巡連続でヤオ九牌を引き寄せるスキルであり、バラバラの牌の数が7以上のときにスキル発動条件が成立する。
刻子無双は、3巡連続で同じ牌を引き寄せるスキルであり、揃っている面子の数が2以下のときにスキル発動条件が成立する。順子無双は、順子を構成する牌を3巡連続で引き寄せるスキルであり、バラバラの牌の数が7以上のときにスキル発動条件が成立する。強欲な右手は、3巡連続で既に手牌に持っている牌を引き寄せるスキルであり、槓子が3つあるときにスキル発動条件が成立する。
筒子無双、索子無双、萬子無双、字牌無双、断ヤオ無双、ヤオ九無双については、当該スキルの発動によって役の点数をアップさせる効果が生じる。筒子無双、索子無双、萬子無双については、例えば混一色や清一色などの成立確率が向上し、字牌無双、ヤオ九無双については、例えば字一色や混老頭などの成立確率が向上し、断ヤオ無双については、例えば断ヤオ九などの成立確率が向上するためである。
刻子無双、順子無双については、当該スキルの発動によってシャンテン数をアップさせる効果が生じる。刻子無双、順子無双については、ともに面子の数を確実に向上させるためである。強欲な右手については、当該スキルの発動によって、役の点数およびシャンテン数の双方をアップさせる効果が生じる。強欲な右手については、例えば三槓子などの成立確率が向上させるとともに、面子の数を確実に向上させるためである。
なお、ツモスキルとしては、将来のツモ牌をユーザに報知するスキル、他家の手牌または捨て牌の履歴に基づいてユーザに有利な情報を報知するスキル、自家の手牌の少なくとも一部を山牌または捨て牌と入れ替えるスキル、自家にとって有利となるツモ牌を引く様々なスキルを設けるようにしてもよい。
また、シャンテンとは、最短で何回ツモればテンパイ可能かを示す用語である。具体的には、最短で3回ツモればテンパイ可能な手牌の状態を3シャンテンと呼び、最短で2回ツモればテンパイ可能な手牌の状態を2シャンテンと呼ぶ。このため、役の成立に近づくほどシャンテンの数が小さくなり、シャンテンの数が小さくなることをシャンテン数アップと呼ぶ。
なお、図5におけるスキル発動条件は、スキルに対して予め定められている例について説明したが、これに限らず、同じスキルであっても、当該スキルが関連付けられたキャラクタの種類に応じて、スキル発動条件を異ならせるようにしてもよい。
(動作について)
シングルプレイモードが選択されたとき、ユーザ端末100の制御部110は、管理者側プログラムに従って図6に示す管理者用対局処理を実行し、操作キャラクタ側プログラムに従って図7および図8に示す操作キャラクタ用対局処理と図9に示す操作キャラクタ用捨て牌支援処理と図10に示すツモスキル制御処理とを実行し、NPC側プログラムに従って図11に示すNPC用対局処理を実行する。
図6を参照して、ステップS01では、発動可能な配牌スキルおよびツモスキルを、4人のキャラクタ(操作キャラクタおよび3人のNPC)の各々に関連付ける。具体的には、図4に示す配牌スキル管理テーブル301から乱数抽選によって選んだ1つの配牌スキルと、図5に示すツモスキル管理テーブル302から乱数抽選によって選んだ2つのツモスキルとを、当該4人のキャラクタの各々に関連付ける。このとき、各キャラクタに関連付けられた配牌スキルはキャラクタ間で相違し、各キャラクタに関連付けられたツモスキルもまたキャラクタ間で相違する。つまり、各キャラクタに関連付けられた配牌スキルおよびツモスキルが重複しないようにしてもよい。なお、配牌スキルおよびツモスキルは、キャラクタの種類に応じて予め定められているものであってもよく、予め定められているスキルからユーザが選択できるものであってもよい。
ステップS02では、当該4人のキャラクタのうちのいずれかのキャラクタを指定する。ステップS03では、指定したキャラクタに関連付けられた配牌スキルの発動条件が成立しているか否かを、今回の対局の対局数、今回の対局における当該キャラクタのポジション(東家/南家/西家/北家の別、親/子の別)、当該キャラクタと他の3人のキャラクタとの優劣関係(点数差、順位)等に基づいて判定する。
当該配牌スキルの発動条件が成立していると判定されたときは、ステップS04に進み、当該配牌スキルに対応する配牌を当該キャラクタに対して実行する。これに対して、当該配牌スキルの発動条件が成立していると判定されなかったときは、ステップS05に進み、無作為な配牌を当該キャラクタに対して実行する。
ステップS04またはS05の処理が完了すると、ステップS06に進む。ステップS06では、当該4人のキャラクタの全てが指定されたか否かを、ステップS02の処理結果に基づいて判定する。当該4人のキャラクタの全てが指定されたと判定されなかったときは、ステップS02に戻る。これに対して、当該4人のキャラクタの全てが指定されたと判定されたときは、ステップS07に進み、図12(A)に示す対局画面をタッチスクリーン15に表示する。
図12(A)を参照して、対局画面の中央やや上段には、麻雀卓が自家の視点(斜め上)で表示される。麻雀卓の中央には、自家および他家の捨て牌を表示するための河エリアRVが割り当てられており、河エリアRVの下側には、自家の手牌を表示するための手牌エリアHAが割り当てられている。また、手牌エリアHAの下側には、自家に関連付けられたツモスキルに対応するツモスキルアイコンを表示するためのツモスキルエリアTAが割り当てられている。さらに、河エリアRVには、3人のNPCをそれぞれ表す3つの顔画像が表示される。
図6に戻って、ステップS08では、当該4人のキャラクタ間の引き牌の順番等を仕切りながら対局を進める。ステップS09では、当該4人のキャラクタのうちのいずれかのキャラクタが上がったか又は今回の対局が流局となったか否かを判定する。いずれかのキャラクタが上がったか又は今回の対局が流局となったと判定されなければ、ステップS08に戻る。一方、いずれかのキャラクタが上がったか又は今回の対局が流局となったと判定されると、ステップS10で清算を行う。この結果、当該4人のキャラクタの順位や、当該4人のキャラクタ間の点数差が特定される。今回の管理者用対局処理は、ステップS10の処理の後に終了する。
図7を参照して、ステップS11では、ステップS04またはS05の処理によって操作キャラクタに配られた牌を手牌エリアHAに表示する。牌は、例えば図12(A)に示すように表示される。ステップS12では、操作キャラクタの順番が到来したか否かをステップS08の処理結果に基づいて判定し、当該順番が到来したと判定されると、ステップS13に進む。ステップS13では、牌山から牌をツモり、ツモった牌を手牌エリアHAに表示する。
ステップS14では、複数種類の役の各々を成立させる牌の組合せと手牌エリアHA上の牌の組合せとを照合することにより、当該手牌エリアHA上の牌の組合せについて役が成立しているか否かを判定する。当該役が成立していると判定されたときは、ステップS15に進み、上がりを宣言する操作がユーザによって行われたか否かをタッチスクリーン15に対する操作入力に基づいて判定する。当該上がりを宣言する操作が行われたと判定されると、ステップS16に進み、上がりを管理者側プログラムに通知する。操作キャラクタ用対局処理は、当該通知の後に終了する。
ステップS14において役が成立していると判定されなかったとき、又はステップS15において上がりを宣言する操作が行われたと判定されなかったときは、ステップS17に進む。ステップS17では、手牌エリアHA上の複数の手牌のうちのいずれかの手牌に対するタッチ操作が行われたか否かを、タッチスクリーン15に対する操作入力に基づいて判定する。
当該手牌に対するタッチ操作が行われたと判定されなければ、ステップS20に進み、他の操作が行われたか否かをタッチスクリーン15に対する操作入力に基づいて判定する。当該他の操作が行われたと判定されなかったときは、ステップS14に戻る。一方、当該他の操作が行われたと判定されたときは、ステップS21で対応する処理を実行し、ステップS22で処理の完了を管理者側プログラムに通知し、その後にステップS12に戻る。
ステップS17において、いずれかの手牌に対するタッチ操作が行われたと判定されたときは、ステップS18に進み、ガイド枠GFをタッチスクリーン15に表示する。ステップS19ではタッチされた手牌を河エリアRV側に拡大表示する。
したがって、図12(A)に示すように、一萬牌がタッチされると、当該牌がタッチ位置よりも上側の位置に拡大表示される。また、図12(B)に示すように、一索牌がタッチされると、当該牌がタッチ位置よりも上側の位置に拡大表示される。
ステップS23では、タッチ位置が移動したか否かをタッチスクリーン15に対する操作入力に基づいて判定する。当該タッチ位置が移動したと判定されたときは、ステップS24に進み、現在のタッチ位置は手牌エリアHAを含んで画面下部に広がる下部エリア内の位置であるか否かを判定する。
現在のタッチ位置は当該下部エリア内の位置であると判定されると、ステップS25に進み、拡大表示する牌を当該タッチ位置の鉛直方向に位置する牌に変更する。牌の変更が完了すると、ステップS23に戻る。なお、現在のタッチ位置は当該下部エリア内の位置であると判定されなかったときは、ステップS25の処理を実行することなくステップS23に戻る。
したがって、図12(A)に示す一萬牌が拡大表示されている状態でタッチ位置が右側に移動されると、一萬牌が元の位置に通常表示され、右隣りの一索牌がタッチ位置よりも上側の位置に拡大表示される。また、図12(B)に示す一索牌が拡大表示されている状態でタッチ位置が左側に移動されると、一索牌が元の位置に通常表示され、左隣りの一萬牌がタッチ位置よりも上側の位置に拡大表示される。なお、タッチ位置が河エリアRVに移動すると、ガイド枠GFは強調表示される。
ステップS23においてタッチ位置が移動したと判定されなかったときは、ステップS26に進み、タッチ操作が解除されたか否かをタッチスクリーン15に対する操作入力に基づいて判定する。当該タッチ操作が解除されたと判定されなかったときはステップS23に戻る。一方、当該タッチ操作が解除されたと判定されたときは、ステップS27に進み、ガイド枠GFを非表示とする。
ステップS28では、直前のタッチ位置は河エリアRV内の位置であるか否かを、タッチスクリーン15に対する操作入力に基づいて判定する。直前のタッチ位置は河エリアRV内の位置であると判定されなかったときは、ステップS32で牌の拡大表示を終了し、その後にステップS14に戻る。この結果、拡大表示されていた牌は、元の位置に通常表示される。
ステップS28において、直前のタッチ位置は河エリアRV内の位置であると判定されたときは、ステップS29に進み、直前にタッチされていた手牌を対象とする捨て牌を実行する。即ち、捨て牌は、いずれかの牌が拡大表示されている状態でタッチ位置を河エリアRVにスライドさせたときに実行される。ステップS30では、捨てられた手牌を河エリアRVに移動させて縮小表示する。ステップS30の処理が完了すると、ステップS31で処理の完了を管理者側プログラムに通知し、その後にステップS12に戻る。
図9に示す操作キャラクタ用捨て牌支援処理は、ツモスキルの発動条件が成立して当該ツモスキルが発動可能となったときに開始される。この支援処理は、発動可能なツモスキルを考慮して捨て牌候補を特定するものである。当該捨て牌候補の牌は、ツモスキルが発動された場合に配られる牌を加味して特定されるため、手牌のみに基づく牌効率を考慮した場合には選択される可能性が低い牌(選択され得ない牌を含む)となる。
ステップS41では、手牌エリアHAに表示された手牌と場に見えている牌とを特定する。ステップS42では、ツモスキルの発動により生じる効果の種別はシャンテン数アップおよび役の点数アップの双方であるか否かを、ツモスキル管理テーブル302に基づいて判定する。
例えば、操作キャラクタに断ヤオ無双および順子無双が関連付けられている場合において、断ヤオ無双および順子無双のいずれか一方のみが発動可能であるときは、ツモスキルの発動により生じる効果の種別は、シャンテン数アップおよび役の点数アップの双方であると判定されない。これに対して、断ヤオ無双および順子無双の双方が発動可能であるときは、ツモスキルの発動により生じる効果の種別は、シャンテン数アップおよび役の点数アップの双方であると判定される。また、操作キャラクタに強欲な右手が関連付けられている場合において、当該強欲な右手が発動可能であるときは、シャンテン数アップおよび役の点数アップの双方であると判定される。
ツモスキルの発動により生じる効果の種別はシャンテン数アップおよび役の点数アップの双方であると判定されなかったときは、ステップS43に進み、当該効果の種別はシャンテン数アップであるか否かをツモスキル管理テーブル302に基づいて判定する。一方、ツモスキルの発動により生じる効果の種別はシャンテン数アップおよび役の点数アップの双方であると判定されたときは、ステップS44に進み、操作キャラクタの順位は1位または2位であるか否かを、ステップS10の処理結果に基づいて判定する。
ステップS43において当該効果の種別はシャンテン数アップであると判定されたとき、又はステップS44において操作キャラクタの順位は1位または2位であると判定されたときは、ステップS45に進む。一方、ステップS43において当該効果の種別はシャンテン数アップであると判定されなかったとき、又はステップS44において操作キャラクタの順位は1位または2位であると判定されなかったときは、ステップS47に進む。
ツモスキル管理テーブル302においては、順子無双を発動させたときの効果の種別として、シャンテン数アップが設定されており、断ヤオ無双を発動させたときの効果の種別として、役の点数アップが設定されている。このため、上述の例において順子無双のみが発動可能であれば、ステップS43からステップS45に進み、断ヤオ無双のみが発動可能であれば、ステップS43からステップS47に進み、順子無双および断ヤオ無双の双方が発動可能であれば、操作キャラクタの順位に応じてステップS45またはS47に進む。
本実施形態では、順位が1位または2位であるときには、当該順位を維持することにより勝利する可能性が高まるため、上がることを優先するべくシャンテン数アップとなるS45へ移行させる。一方、順位が1位でも2位でもないときには、高得点の役を成立させなければ逆転できる可能性が低いため、高得点を優先するべく役の点数アップとなるS47へ移行させる。このように、本実施形態では、順位に応じてシャンテン数アップか役の点数アップのいずれかに移行する例について説明する。しかし、シャンテン数アップおよび役の点数アップのいずれに移行するかは、順位に限らず、1位との点数差が所定範囲内であるか所定範囲外であるかを基準としてもよく、また、乱数抽選などによりいずれかに決定するようにしてもよい。また、シャン点数アップおよび役の点数アップのいずれかに移行させるものに限らず、例えばシャン点数アップと役の点数アップの双方を実現するようにしてもよい。
ステップS45では、効果の種別がシャンテン数アップであるツモスキルを発動させた場合に面子が揃うツモ牌を、ステップS41で特定された牌(手牌エリアHAに表示された手牌と場に見えている牌)に基づいて予測する。
例えば、操作キャラクタに順子無双が関連付けられており、手牌エリアHAに表示された牌が一萬、三萬、五萬、七萬、九萬、北、北、二索、二索、五索、六索、發、三筒の13枚であれば、順子無双が発動可能となる。この状態でステップS45に進むと、二萬、四萬、六萬、八萬、四索、七索のうち場に見えている牌との関係でツモることがあり得ない牌を除く牌が、面子が揃うツモ牌として予測される。このため、上の例で4枚の七索が場に見えていれば、二萬、四萬、六萬、八萬、四索がツモ牌として予測される。
ステップS46では、手牌エリアHAに表示された牌を特定し、ステップS45で予測した牌との組合せにおいてシャンテン数のアップに貢献しない牌を特定する。このため、上の例で二萬、四萬、六萬、八萬、四索がツモ牌として予測された場合は、發、三筒と、雀頭を構成し得る北および二索のいずれかとが、シャンテン数のアップに貢献しない牌として特定される。上の例において、順子無双が発動可能な状態でない場合には、手牌のみに基づく牌効率からすると北および二索のいずれも捨て牌候補として選択する可能性は低いところ、本実施形態では、順子無双が発動可能な状態においては捨て牌候補として北や二索を特定する。
ステップS47では、効果の種別が役の点数アップであるツモスキルを発動させた場合に役の点数が上がるツモ牌を、ステップS41で特定された牌(手牌エリアHAに表示された手牌と場に見えている牌)に基づいて予測する。
例えば、操作キャラクタに断ヤオ無双が関連付けられており、手牌エリアHAに表示された牌が三筒、四筒、五筒、八索、八索、八索、南、南、發、發、四萬、六萬、七萬の13枚であれば、断ヤオ無双が発動可能となる。この状態でステップS47に進むと、ヤオ九牌以外の牌が、ツモ牌として予測される。
ステップS48では、ステップS47で予測した牌と手牌エリアHAに表示された牌との組合せにおいて役の点数のアップに貢献しない牌を、手牌エリアHAに表示された牌のうちから特定する。上の例では、ヤオ九牌以外の牌がツモ牌として予測されるため、南および發が役の点数のアップに貢献しない牌として特定される。上の例において、断ヤオ無双が発動可能な状態でない場合には、手牌のみに基づく牌効率からすると、既に雀頭を構成し得る南や發を捨て牌候補として選択する可能性は低いところ、本実施形態では、断ヤオ無双が発動可能な状態においては、捨て牌候補として南や發を特定する。
ステップS49では、ステップS46またはS48で特定した牌を捨て牌候補として報知する。具体的には、当該特定した牌をハイライト表示させる。今回の操作キャラクタ用捨て牌支援処理は、ステップS49の処理の後に終了する。これにより、発動可能なスキルを考慮して特定された捨て牌候補が報知される。その結果、ユーザは、発動可能なスキルを考慮して牌効率が向上する牌を参考にしつつ、捨て牌を検討することができ、ゲームの興趣を向上させることができる。例えば、ユーザは、報知された牌を捨てる作戦に出るか、敢えて報知された牌とは異なる牌を捨てる作戦に出るかを選択するといった面白みを提供することができる。
図10を参照して、ステップS51では、操作キャラクタに関連付けられたツモスキルが発動可能であるか否かを、当該ツモスキルに関連付けられたスキル発動条件に基づいて判定する。当該ツモスキルが発動可能であると判定されなかったときは、ステップS52に進み、ツモスキルアイコンを通常表示する。ステップS53では、捨て牌が実行されたか否かをステップS29の処理の状況に基づいて判定する。捨て牌が実行されたと判定されると、ステップS51に戻る。
ステップS51において、当該ツモスキルが発動可能であると判定されたときは、ステップS44に進み、ツモスキルアイコンをハイライト表示させる。ステップS55では、ハイライトされているツモスキルアイコンに対するタッチ操作が行われたか否かを、タッチスクリーン15に対する操作入力に基づいて判定する。
当該タッチ操作が行われたと判定されなかったときは、ステップS56の処理を実行することなくステップS57に進む。一方、当該タッチ操作が行われたと判定されたときは、ステップS56で当該ツモスキルを発動させ、その後にステップS57に進む。このため、例えば断ヤオ無双が発動されたときは、3巡連続で断ヤオ牌が引き寄せられる。また、順子が発動されたときは、3巡連続で同じ牌が引き寄せられる。
ステップS57では、捨て牌が実行されたか否かをステップS29の処理の状況に基づいて判定する。捨て牌が実行されたと判定されなかったときはステップS55に戻り、捨て牌が実行されたと判定されたときはステップS51に戻る。
図11を参照して、NPC用対局処理は、3人のNPCの各々に対応して実行される。ただし、以下では、当該3人のNPCのうち1人目のNPC(即ちNPC1)を対象とするNPC用対局処理のみを説明する。
ステップS61では、NPC1の順番が到来したか否かをステップS08の処理結果に基づいて判定し、当該順番が到来したと判定されると、ステップS62に進む。ステップS62では、牌山から牌をツモる。ステップS63では、NPC1の手牌と場に見えている牌とを特定する。ステップS64では、NPC1に関連付けられたツモスキルが発動可能であるか否かを、ツモスキル管理テーブル302に設定されたスキル発動条件のうち当該ツモスキルに関連付けられたスキル発動条件に基づいて判定する。
NPC1に関連付けられたツモスキルが発動可能であると判定されなかったときは、ステップS65に進み、河エリアRVに表示されたNPC1の顔画像の表情を普通の態様(例えば、考えているような表情、しかめっ面など)に設定する。ステップS66では、複数種類の役の各々を成立させる牌の組合せとNPC1が所有している手牌の組合せとを照合することにより、当該手牌の組合せについて役が成立しているか否かを判定する。
当該役が成立していると判定されたときは、ステップS67に進み、上がりを管理者側プログラムに通知する。NPC用対局処理は、当該通知の後に終了する。一方、当該役が成立していると判定されなかったときは、ステップS68に進み、局面に応じた処理(捨て牌等)を実行する。ステップS78では処理の完了を管理者側プログラムに通知し、その後にステップS61に戻る。
ステップS64において、NPC1に関連付けられたツモスキルが発動可能であると判定されたときは、ステップS69に進み、河エリアRVに表示されたNPC1の顔画像の表情を笑顔の態様(例えば、喜んでいる表情、眉毛を上げる表情など)に設定する。ステップS70では、ツモスキルの発動により生じる効果の種別はシャンテン数アップおよび役の点数アップの双方であるか否かを、ツモスキル管理テーブル302に基づいて判定する。
ツモスキルの発動により生じる効果の種別はシャンテン数アップおよび役の点数アップの双方であると判定されなかったときは、ステップS71に進み、当該効果の種別はシャンテン数アップであるか否かをツモスキル管理テーブル302に基づいて判定する。一方、ツモスキルの発動により生じる効果の種別はシャンテン数アップおよび役の点数アップの双方であると判定されたときは、ステップS72に進み、操作キャラクタの順位は1位または2位であるか否かを、ステップS10の処理結果に基づいて判定する。
ステップS71において当該効果の種別はシャンテン数アップであると判定されたとき、又はステップS72において操作キャラクタの順位は1位または2位であると判定されたときは、ステップS73に進む。一方、ステップS71において当該効果の種別はシャンテン数アップであると判定されなかったとき、又はステップS72において操作キャラクタの順位は1位または2位であると判定されなかったときは、ステップS75に進む。
ステップS73では、効果の種別がシャンテン数アップであるツモスキルを発動させた場合に面子が揃うツモ牌を、ステップS63で特定された牌(NPC1の手牌と場に見えている牌)に基づいて予測する。ステップS74では、NPC1の手牌のうちから雀頭以外の牌を特定し、ステップS73で予測した牌と当該雀頭以外の牌の組合せにおいてシャンテン数のアップに貢献しない牌を当該雀頭以外の牌のうちから特定する。
ステップS75では、効果の種別が役の点数アップであるツモスキルを発動させた場合に役の点数が上がるツモ牌を、ステップS63で特定された牌(NPC1の手牌と場に見えている牌)に基づいて予測する。ステップS76では、ステップS75で予測した牌とNPC1の手牌との組合せにおいて役の点数のアップに貢献しない牌を、NPC1の手牌のうちから特定する。
ステップS74またはS76の処理が完了すると、ステップS77に進み、特定した牌を捨て牌として河エリアRVに表示する。なお、ステップS77においては、S74あるいはS76において特定した牌を捨てる例について説明したが、これに限らず、特定した牌を捨てるか、発動可能なスキルを考慮せずに手牌と場に見えている牌とに基づき牌効率が高まる牌を捨てるかを決定するようにしてもよい。捨て牌の表示が完了すると、ステップS78の処理を経てステップS61に戻る。
<本実施形態の効果>
本実施形態によれば、手牌エリアHAに表示される割合が高まる牌が各々に対応付けられている複数種類のツモスキルが設けられている。これらのツモスキルのうちのいずれかのツモスキルが、発動可能なツモスキルとしてユーザに関連付けられる。捨て牌をユーザに指定させる際は、図9において説明したように、手牌エリアHAに表示されている牌とユーザに関連付けられているツモスキルのうち発動条件が成立しているツモスキルとに基づいて、捨て牌候補が特定されかつハイライト表示される。これにより、発動可能なスキルを考慮して特定された捨て牌候補が報知される。その結果、ユーザは、発動可能なスキルを加味して牌効率が向上する牌を参考にしつつ、捨て牌を検討することができ、ゲームの興趣を向上させることができる。例えば、ユーザは、スキルを使用することを前提として報知された牌を捨てる作戦に出るか、敢えてスキルを発動させずに報知された牌とは異なる牌を捨てる作戦に出るかを選択するといった面白みを提供することができる。また、スキルを考慮することなく手牌および場に見えている牌のみに基づいて捨て牌候補を報知するようなものと比較して、捨て牌候補として報知された牌を捨てた後に、スキルを発動させたときに牌効率が低下(シャンテン数が多くなる、役の点数が低下)するといった不具合の発生を防止できる。
発動可能なスキルがシャンテン数アップに繋がるスキルである場合などにおいては、図9のステップS45およびS46で示したように、スキル発動により配られる牌と手牌との組合せにおいて、捨てた場合にシャンテン数が最も少なくならない牌を捨て牌候補として特定して報知する。つまり、発動可能なスキルを考慮して、役を成立させるまでに要する最短ツモ回数を少なくできる牌を報知することができる。
発動可能なスキルが役の点数アップに繋がるスキルである場合などにおいては、図9のステップS47およびS48で示したように、スキル発動により配られる牌と手牌との組合せにおいて、捨てた場合に役の点数が高くならない牌を捨て牌候補として特定して報知する。つまり、発動可能なスキルを考慮して、点数が高くなる役を目指すための牌を報知することができる。
シャンテン数アップに繋がるスキルと役の点数アップに繋がるスキルとの発動条件が成立しているときには、図9のステップS44で示したように、現在の順位に応じていずれかのスキルに基づいて捨て牌候補を特定する。これにより、捨て牌候補を特定するための処理負担を軽減できる。また、双方のスキルを考慮して牌効率をいまいち向上させることができないといった不具合を生じさせてしまうことを防止できる。
捨て牌候補は、発動条件が成立しているスキルに基づいて特定される。このため、報知された牌を捨てたものの、実際には発動条件が成立せずにスキルを発動させることができないといった不具合を生じさせてしまうことを防止できる。
図9のステップS45およびS47の予測においては、ステップS41において特定される手牌のみならず、場に見えている牌(河に配置されている牌)をも考慮される。その結果、ステップS46およびS48における捨て牌候補の特定においても、結果的には、ステップS41において特定される手牌のみならず、場に見えている牌(河に配置されている牌)をも考慮されることになる。これにより、既に場に見えている牌からすると、今後においてツモる可能性が低いあるいはツモる可能性がない牌をステップS45およびS47において予測してしまい、当該牌を考慮してステップS46およびS48において捨て牌候補が特定されてしまうような牌効率を低下させてしまう処理が行われることを防止できる。
図11のステップS70〜S77などにおいて説明したように、NPCに関連付けられているスキルのうち発動条件が成立しているときには、当該スキルと、NPCの手牌と、場に見えている牌とに基づいて、NPCが捨てる牌が特定される。これにより、他のユーザと実際に対戦しているときと同じように麻雀ゲームが進行することができ、リアル感および興趣を向上させることができる。
図11のステップS64およびS69で示したように、NPCに関連付けられているスキルの発動条件が成立したときには、NPCの顔画像の表情を変化させることができる。これにより、ユーザは、NPC側においてスキル発動条件の成立を含む何らかの変化があったことを推察することができ、リアル感および興趣をより一層向上させることができる。
<変形例>
以上説明した実施形態の変形例などを以下に列挙する。
(1) 上記実施形態においては、ツモスキルの発動条件は、揃っている面子の数やバラバラの牌の数等が所定の数であるときに成立する(図5参照)。しかし、ツモスキルの発動条件は、これに限らず、例えば、乱数抽選で当選したときに成立させたり、順位や点数差などにより成立させるようにしてもよい。
(2) 上記実施形態においては、シャンテン数アップに貢献しない牌を特定する手法の一例を、図9のステップS46および図11のステップS74を参照して説明した。しかし、シャンテン数アップに貢献しない牌を特定する手法は、これに限るものではない。即ち、発動可能なスキルが刻子無双である場合は、スキル発動により刻子となる面子が増えるため、例えば順子と成り得る両面待ちを構成する牌(牌効率のみからでは通常捨てる可能性が低い牌)を捨て牌候補として特定するものであってもよい。また、発動可能なスキルが順子無双である場合は、スキル発動により順子となる面子が増えるため、例えば刻子と成り得るふたつの同じ牌(雀頭にも成り得る牌、牌効率のみからでは通常捨てる可能性が低い牌)を捨て牌候補として特定するものであってもよい。
(3) 上記実施形態においては、役の点数アップに貢献しない牌を特定する手法の一例を、図9のステップS48および図11のステップS76を参照して説明した。しかし、役の点数アップに貢献しない牌を特定する手法は、これに限るものではない。即ち、発動可能なスキルが筒子無双である場合は、スキル発動により筒子が増えるため、例えば筒子以外の索子または萬子により面子と成り得る牌(ふたつの同じ牌、両面待ちの牌など、牌効率のみからでは通常捨てる可能性が低い牌)を捨て牌候補として特定するものであってもよい。また、発動可能なスキルが字牌無双である場合は、スキル発動により字牌が増えるため、例えばヤオ九牌以外の牌により面子と成り得る牌(ふたつの同じ牌、両面待ちの牌など、牌効率のみからでは通常捨てる可能性が低い牌)を捨て牌候補として特定するものであってもよい。
(4) 上記実施形態においては、図9のステップS49において捨て牌候補が報知されたとしても、実際に捨てる牌はユーザにより決定される。報知された捨て牌候補と異なる牌がユーザにより捨てられた場合には、牌効率が変化するため、図9のステップS49の報知を終了するようにしてもよく、再度図9の処理を実行するようにしてもよい。
(5) 上記実施形態においては、発動条件が成立しているツモスキルが存在する場合、当該ツモスキルと、手牌と、場に見えている牌とに基づいて、捨て牌候補を報知するようにしている。しかし、発動条件が成立しているツモスキルの有無にかかわらず、手牌と場に見えている牌とに基づいて牌効率が高まる牌を捨て牌候補として報知するようにしてもよい。さらに、発動条件が成立しているツモスキルが存在する場合には、当該ツモスキルを考慮して特定した捨て牌候補と、当該ツモスキルを考慮せずに特定した捨て牌候補とを異なる態様で報知するようにしてもよい。
(6) 上記実施形態においては、複数のツモスキルの発動条件が成立している場合において、いずれかのツモスキルを発動させることによりシャンテン数アップあるいは役の点数アップに貢献しない牌を特定して報知する例を、図9を参照して説明した。このように複数のツモスキルの発動条件が成立している場合であっても、図10のステップS54においては、発動可能となったスキルのアイコンを同じ態様で報知する。このため、シャンテン数アップに貢献しない牌を報知しているにもかかわらず、役の点数アップとなるスキルを発動させてしまう虞や、これとは逆に役の点数アップに貢献しない牌を報知しているにもかかわらず、シャンテン数アップとなるスキルを発動させてしまう虞が生じる。これを解消するために、図10のステップS54においては、図9において捨て牌候補を特定するに際して基準となったスキルを、他のスキルと異なる態様で報知するようにしてもよい。例えば、図10のステップS54においては、図9において捨て牌候補を特定するに際して基準となったスキルのみをハイライト表示し、他のスキルをハイライト表示しないようにしてもよい。
(7) 上記実施形態においては、発動条件が成立しているツモスキルに基づいて捨て牌候補を特定するようにしている。しかし、これに限らず、発動条件が成立していないツモスキルに基づいて捨て牌候補を特定するようにしてもよい。
(8) 上記実施形態においては、シャンテン数アップに繋がるツモスキル(順子無双)と役の点数アップに繋がるツモスキル(断ヤオ無双)とを1つずつ操作キャラクタに関連付けることを想定して、図9の処理を説明している。しかし、シャンテン数アップに繋がる複数のツモスキルを各キャラクタに関連付け、当該複数のツモスキルを同時期に発動させるようにしてもよく、あるいは、役の点数アップに繋がる複数のツモスキルを各キャラクタに関連付け、当該複数のツモスキルを同時期に発動させるようにしてもよい。この場合、捨て牌候補を特定するに際して、発動条件が成立している複数のツモスキルのうちのいずれかのツモスキルを発動させた場合を想定して、捨て牌候補を特定して報知するようにしてもよい。捨て牌候補の特定に用いるいずれかのツモスキルは、乱数抽選で決定するものであってもよく、また、そのときの順位や点数差などに応じて特定するものであってもよい。
(9) 上記実施形態においては、図11のステップS70〜S77などでは、NPCに関連付けられているツモスキルのうち発動条件が成立しているツモスキルを発動させることを前提として、当該ツモスキルと、NPCの手牌と、場に見えている牌とに基づいて特定された牌をNPCが捨てる例について説明した。しかし、これに限らず、NPCに関連付けられているツモスキルのうちに発動条件が成立しているツモスキルが存在するときであっても、当該ツモスキルを発動させるか否かを乱数抽選などにより決定し、ツモスキルを発動させると決定されなかったときには、NPCの手牌と、場に見えている牌とに基づいて捨て牌を特定し、ツモスキルを発動させると決定したときにのみ当該ツモスキルを考慮して捨て牌を特定するようにしてもよい。
(10) 上記実施形態においては、NPCに関連付けられているツモスキルのうちに発動条件が成立しているツモスキルが存在するときに、ステップS69においてNPCの顔画像の表情を笑顔の態様に変化させる例について説明した。しかし、これに加えて、発動条件が成立しているツモスキルの種類に応じた態様に変化させるようにしてもよく、また、発動条件が成立しているときであってもツモスキルを発動させないと決定したときにはツモスキルを発動させると決定したときと異なる態様に変化させるようにしてもよい。
(11) 上記実施形態においては、ユーザによって操作される操作キャラクタが、3人のNPCと対戦可能な麻雀ゲームを例示している。しかし、麻雀ゲームとしては、4人のユーザがそれぞれ操作する4人の操作キャラクタによって対局が行われるものであってもよい。この場合、各ユーザのユーザ端末100間の同期は、ゲームサーバ200を介して確立される。また、例えばローカルエリア・ネットワーク環境化では、ユーザ端末100同士で通信を行うことで、ユーザ端末100間の同期が確立される。
(12) 上記実施形態においては、麻雀ゲームを想定しているが、これに代えてポーカー、ババ抜き等のカードゲームや、こいこい等の花札ゲームを想定するようにしてもよい。ポーカーを想定する場合、カードに描かれたスペードのジャック等の模様が識別情報に相当し、フルハウスやストレートフラッシュ等が役に相当する。また、こいこいを想定する場合、猪鹿蝶や月見で一杯等が役に相当する。
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
(付記1):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、入力部、および表示部を備えるコンピュータ(図1のユーザ端末100)において実行されるゲームプログラムであって、前記ゲームプログラムは、前記プロセッサに、予め定められた複数の識別情報のうちユーザが所有する識別情報の組合せを表示する第1ステップ(図7のS11、S13)と、前記第1ステップにより表示された識別情報の組合せに基づいて、予め定められた複数種類の役のうちから成立している役を特定する第2ステップ(図7のS14)と、前記第1ステップにより表示された識別情報の組合せのうちユーザにより指定された識別情報を、ユーザが所有する識別情報の組合せから除外する第3ステップ(図8のS29)と、前記第1ステップにより識別情報の組合せとして表示される割合が高まる識別情報が各々に対応付けられている複数種類のスキルのうちから、発動可能となるスキルをユーザに関連付ける第4ステップ(図6のS01)と、前記第3ステップにより除外させる識別情報をユーザに指定させる際に、前記第1ステップにより表示されている識別情報の組合せと前記第4ステップにより関連付けられているスキルとに基づいて、除外候補の識別情報を特定する第5ステップ(図9のS41〜S48)と、前記第5ステップにより特定された除外候補の識別情報を報知する第6ステップ(図9のS49)とを実行させる。
(付記2):
(付記1)において、前記第5ステップは、前記第4ステップにより関連付けられているスキルに対応付けられている識別情報との組合せにおいて、他の識別情報よりも役を成立させるまでに要する識別情報の必要数が少なくならない(シャンテン数がアップしない)識別情報を前記除外候補の識別情報として特定する。
(付記3):
(付記1)または(付記2)において、前記ゲームプログラムは、前記プロセッサに、前記第2ステップにより特定された成立している役の種類に応じた特典を付与する第7ステップ(図6のS10)を実行させ、前記第5ステップは、前記第4ステップにより関連付けられているスキルに対応付けられている識別情報との組合せにおいて、他の識別情報よりも役成立時に付与される特典の有利度合い(役の点数)を向上させない識別情報を前記除外候補の識別情報として特定する。
(付記4):
(付記1)において、前記ゲームプログラムは、前記プロセッサに、前記第2ステップにより特定された成立している役の種類に応じた特典を付与する第7ステップ(図6のS10)を実行させ、前記第5ステップは、前記第4ステップにより関連付けられているスキルに対応付けられている識別情報との組合せにおいて、他の識別情報よりも役を成立させるまでに要する識別情報の必要数が少なくならない識別情報を前記除外候補の識別情報として特定する数優先ステップ(図9のS46)と、前記第4ステップにより関連付けられているスキルに対応付けられている識別情報との組合せにおいて、他の識別情報よりも役成立時に付与される特典の有利度合いを向上させない識別情報を前記除外候補の識別情報として特定する特典優先ステップ(図9のS48)を含み、前記ゲームプログラムに基づくゲームは、ユーザによって操作される操作キャラクタを含む複数のキャラクタが対戦する対戦ゲームであり、前記第5ステップは、対戦中の前記複数のキャラクタ間の優劣関係(図9のS44)に応じて、前記数優先ステップおよび前記特典優先ステップのいずれかにより前記除外候補の識別情報を特定する。
(付記5):
(付記1)から(付記4)のいずれかにおいて、前記第5ステップは、前記除外候補の識別情報を、前記第4ステップにより関連付けられているスキルのうち、ゲームの進行に応じて発動条件が成立し得る成立可能状況にあるスキル(図9のS45、S47)に基づいて特定する。
(付記6):
(付記1)から(付記5)のいずれかにおいて、前記ゲームプログラムは、前記プロセッサに、前記第3ステップにより除外された識別情報を表示する第8ステップ(図8のS30)を実行させ、前記第5ステップは、前記除外候補の識別情報を、さらに前記第8ステップにより表示される識別情報に基づいて特定する。
(付記7):
(付記1)から(付記6)のいずれかにおいて、前記ゲームプログラムに基づくゲームは、ユーザによって操作される操作キャラクタと、当該ゲームプログラムに基づいて動作するノンプレイヤキャラクタとを含む複数のキャラクタが対戦する対戦ゲームであり、前記ゲームプログラムは、前記プロセッサに、前記ノンプレイヤキャラクタが所有する識別情報の組合せから識別情報を除外する際に、当該識別情報の組合せと当該ノンプレイヤキャラクタに関連付けられているスキルとに基づいて除外する識別情報を特定する第9ステップ(図11のS63、S64、S70〜S76)を実行させる。
(付記8):
(付記7)において、前記ゲームプログラムは、前記プロセッサに、前記操作キャラクタ以外のキャラクタに対応するキャラクタ画像を表示する第10ステップ(図11のS65、S69)を実行させ、前記第9ステップは、前記除外候補の識別情報を、前記ノンプレイヤキャラクタに関連付けられているスキルのうち、ゲームの進行に応じて発動条件が成立し得る成立可能状況にあるスキルに基づいて特定し、前記第10ステップは、関連付けられているスキルが成立可能状況であるか否かに応じた態様で前記キャラクタ画像を表示する。
(付記9):
(付記1)から(付記8)のいずれかにおいて、前記表示部はタッチスクリーンであり、前記第1ステップは、前記タッチスクリーンの第1エリア(HA)に前記識別情報の組合せを表示し、前記ゲームプログラムは、前記プロセッサに、前記第1エリアに表示されている識別情報のうちからタッチ操作されている識別情報を特定する第11ステップ(図7のS17)を実行させ、前記第3ステップは、前記タッチ操作が維持されたまま当該タッチ操作の位置が前記第1エリアとは異なる第2エリア(RV)に移動されることにより、前記ユーザにより指定された識別情報を前記ユーザが所有する識別情報の組合せから除外する。
(付記10):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、および表示部を備えるコンピュータ(図1のユーザ端末100)により実行されるゲーム方法であって、前記ゲーム方法は、前記コンピュータが、予め定められた複数の識別情報のうちユーザが所有する識別情報の組合せを表示する第1ステップ(図7のS11、S13)と、前記第1ステップにより表示された識別情報の組合せに基づいて、予め定められた複数種類の役のうちから成立している役を特定する第2ステップ(図7のS14)と、前記第1ステップにより表示された識別情報の組合せのうちユーザにより指定された識別情報を、ユーザが所有する識別情報の組合せから除外する第3ステップ(図8のS29)と、前記第1ステップにより識別情報の組合せとして表示される割合が高まる識別情報が各々に対応付けられている複数種類のスキルのうちから、発動可能となるスキルをユーザに関連付ける第4ステップ(図6のS01)と、前記第3ステップにより除外させる識別情報をユーザに指定させる際に、前記第1ステップにより表示されている識別情報の組合せと前記第4ステップにより関連付けられているスキルとに基づいて、除外候補の識別情報を特定する第5ステップ(図9のS41〜S48)と、前記第5ステップにより特定された除外候補の識別情報を報知する第6ステップ(図9のS49)とを備える。
(付記11):
本開示に示す一実施形態のある局面によれば、情報処理装置(図1のユーザ端末100)であって、ゲームプログラムを記憶する記憶部(図2の120)と、前記ゲームプログラムを実行することにより、前記情報処理装置の動作を制御する制御部(図2の110)とを備え、前記制御部は、予め定められた複数の識別情報のうちユーザが所有する識別情報の組合せを表示する第1ステップ(図7のS11、S13)と、前記第1ステップにより表示された識別情報の組合せに基づいて、予め定められた複数種類の役のうちから成立している役を特定する第2ステップ(図7のS14)と、前記第1ステップにより表示された識別情報の組合せのうちユーザにより指定された識別情報を、ユーザが所有する識別情報の組合せから除外する第3ステップ(図8のS29)と、前記第1ステップにより識別情報の組合せとして表示される割合が高まる識別情報が各々に対応付けられている複数種類のスキルのうちから、発動可能となるスキルをユーザに関連付ける第4ステップ(図6のS01)と、前記第3ステップにより除外させる識別情報をユーザに指定させる際に、前記第1ステップにより表示されている識別情報の組合せと前記第4ステップにより関連付けられているスキルとに基づいて、除外候補の識別情報を特定する第5ステップ(図9のS41〜S48)と、前記第5ステップにより特定された除外候補の識別情報を報知する第6ステップ(図9のS49)とを実行する。
〔ソフトウェアによる実現例〕
制御部110の制御ブロック(特に、作用受付部111、端末処理部112、タイマー部113、端末判定部114、表示制御部115、報酬計算部116、および送受信部117)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。