(57)【要約】【課題】ユーザの端末側からサーバとのやりとりを実行するプログラムの更新（例えば機能追加）等について、ブラウザプログラムを利用して簡易な作業とすることができる情報処理システム等を提供すること。【解決手段】ゲーム装置には、ゲームプログラムとウェブブラウザプログラムとが記憶されている。ウェブブラウザ処理において、所定のウェブページを表示し、ユーザの操作に基づいて第１のアクセス先情報を取得し、これをゲーム処理で利用可能なように出力する。ゲーム処理において、第１のアクセス先情報に基づいてサーバにアクセスし、当該第１のアクセス先情報に対応する所定のコンテンツを取得し、これを利用したゲーム処理を実行する。【選択図】図６
2017108845.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム装置および当該ゲーム装置と通信する少なくとも１つのサーバを含むゲームシステムであって、
前記ゲーム装置は、
ウェブブラウザプログラムの実行によるウェブブラウザ処理において、前記サーバに所定のウェブページを要求するウェブページ要求部を備え、
前記サーバは、
前記ゲーム装置からの要求に応じて、前記所定のウェブページを当該ゲーム装置に送信するウェブページ送信部を備え、
前記ゲーム装置は、
前記ウェブブラウザ処理において、前記サーバから送信された前記所定のウェブページを表示するウェブページ表示部と、
前記ウェブブラウザ処理において、前記所定のウェブページに対するユーザの操作を示す操作データに基づいて第１のアクセス先情報を取得する第１情報取得部と、
前記ウェブブラウザ処理において、前記第１のアクセス先情報をゲームプログラムによる処理において利用可能なように出力する第１情報出力部と、
前記ゲームプログラムの実行によるゲーム処理において、前記ウェブブラウザ処理の前記第１情報出力部において出力された第１のアクセス先情報を入力する第１情報入力部と、
前記ゲーム処理において、前記第１のアクセス先情報に基づいて、当該第１のアクセス先情報に対応する所定のコンテンツをサーバに要求するコンテンツ要求部とを更に備え、
前記サーバは、
前記ゲーム装置からの要求に応じて、前記所定のコンテンツを当該ゲーム装置に送信するコンテンツ送信部を更に備え、
前記ゲーム装置は、
前記ゲーム処理において、前記サーバから送信されたコンテンツを利用したゲーム処理を実行するコンテンツ利用処理実行部とを更に備える、ゲームシステム。
【請求項２】
前記ゲーム装置は、
前記ゲーム処理において、前記所定のウェブページのＵＲＬを指定して前記ウェブブラウザプログラムを起動させる起動部を更に備え、
前記ウェブページ要求部は、前記起動部により起動したウェブブラウザプログラムの実行によるウェブブラウザ処理において、前記所定のウェブページを要求する、請求項１に記載のゲームシステム。
【請求項３】
前記起動部は、前記ウェブブラウザプログラムからの戻り値の要求をさらに指定して前記ウェブブラウザプログラムを起動させる、請求項２に記載のゲームシステム。
【請求項４】
前記第１情報出力部は、前記戻り値として、前記第１のアクセス先情報を出力する、請求項３に記載のゲームシステム。
【請求項５】
前記第１情報取得部は、前記所定のウェブページに含まれる前記第１のアクセス先情報を前記操作データに基づいて取得する、請求項１から請求項４のいずれか一項に記載のゲームシステム。
【請求項６】
前記ゲームシステムには、前記第１のアクセス先情報を提供可能な第１のサーバと前記コンテンツが格納されている第２のサーバとが含まれており、
前記ウェブページ要求部は、前記第１のサーバに前記所定のウェブページを要求し、
前記第１のアクセス先情報は、前記第２のサーバに前記所定のコンテンツを要求するために用いられる情報であり、
前記コンテンツ要求部は、前記第１のアクセス先情報に基づいて、前記所定のコンテンツを前記第２サーバに要求する、請求項１から請求項５のいずれか一項に記載のゲームシステム。
【請求項７】
前記コンテンツ要求部は、前記第１のアクセス先情報に基づいて第２のアクセス先情報を生成する第２情報生成部を含み、
前記第１のアクセス先情報は、前記第２のサーバへのリンクではない所定の文字列を示す情報であり、
前記第２のアクセス先情報は、前記第２のサーバに格納されているコンテンツのダウンロードリンクを示す情報であり、
前記コンテンツ要求部は、前記第２のアクセス先情報を用いて、前記所定のコンテンツを前記第２サーバに要求する、請求項６に記載のゲームシステム。
【請求項８】
前記第２のサーバと前記ゲーム装置とは、専用のネットワークで接続されており、当該第２のサーバへの要求は当該ゲーム装置からの要求のみ可能なように構成されている、請求項６または請求項７に記載のゲームシステム。
【請求項９】
前記第１サーバは、前記第２サーバと接続して前記コンテンツに関するコンテンツ情報を当該第２サーバから取得し、当該コンテンツ情報に基づいて前記所定のウェブページを生成する、請求項６から請求項８のいずれか一項に記載のゲームシステム。
【請求項１０】
前記ゲーム装置は、
前記コンテンツ利用処理実行部による前記コンテンツを用いたゲーム処理が終了したときに、ユーザによる所定の操作を受付けたとき、前記ウェブブラウザプログラムを起動し、当該ウェブブラウザプログラムの実行によるウェブブラウザ処理において、所定のウェブページを前記サーバに要求して表示するブラウザ画面移行部を更に備える、請求項１から請求項９のいずれか一項に記載のゲームシステム。
【請求項１１】
前記ブラウザ画面移行部は、前記終了したゲーム処理にかかる前記コンテンツに関する情報が表示されるウェブページにアクセスして、当該コンテンツに関する情報のウェブページを表示する、請求項１０に記載のゲームシステム。
【請求項１２】
前記ウェブブラウザ処理において、前記ウェブページ表示部によって表示されるウェブページには、少なくとも第１のボタン画像と第２のボタン画像が含まれており、
前記第１情報取得部は、前記操作データが前記第２のボタン画像を選択する操作であることを示すときに、当該第２のボタン画像に対応する前記第１のアクセス先情報を取得し、
前記ゲームシステムは、前記操作データが前記第１のボタン画像を選択する操作であることを示すとき、当該第１ボタン画像に対応づけられているコンテンツを示す情報を、前記サーバに記憶されている所定のリストデータに登録するリスト登録部を更に備え、
前記ゲーム装置は、
ユーザからの操作に応じて、前記所定のリストデータを前記サーバから取得するリスト取得部と、
ユーザからの操作に応じて、前記リストデータに登録されている情報に対応する前記コンテンツを前記サーバから取得するリストコンテンツ取得部とを更に備える、請求項１から請求項１１のいずれか一項に記載のゲームシステム。
【請求項１３】
前記サーバにアクセスするための所定の操作が受付けられたとき、
前記ゲーム処理からの呼び出しに応じて起動されたウェブブラウザ処理においては、第１のＵＲＬが指定されることで、前記第１のボタン画像および前記第２のボタン画像が含まれるウェブページが取得され、
前記ゲーム処理からの呼び出しによるものではないウェブブラウザ処理においては、前記第１のＵＲＬとは異なる第２のＵＲＬが指定されることで、前記第２のボタン画像は含まないウェブページが取得される、請求項１２に記載のゲームシステム。
【請求項１４】
前記ゲームシステムは、汎用の情報処理装置を含み、
前記情報処理装置は、ウェブブラウザプログラムの実行によるウェブブラウザ処理において、前記第１のボタン画像を含み、前記第２のボタン画像は含まない所定のウェブページを表示し、
前記ゲームシステムは、前記所定のウェブページに対するユーザの操作が当該第１のボタン画像を選択する操作であることを示す場合に、当該第１ボタン画像に対応づけられているコンテンツを示す情報を前記所定のリストデータに登録する、請求項１２または請求項１３に記載のゲームシステム。
【請求項１５】
前記コンテンツは、プレイヤオブジェクトを操作するゲーム処理における仮想ゲーム空間を構築するためのデータであって、かつ、ユーザによって作成されて投稿されたデータである、請求項１から請求項１４のいずれか一項に記載のゲームシステム。
【請求項１６】
前記コンテンツは、前記ゲーム処理における当該コンテンツを利用した処理のために一時的に用いられるデータである、請求項１から請求項１５のいずれか一項に記載のゲームシステム。
【請求項１７】
ゲーム装置のコンピュータに、
ウェブブラウザプログラムの実行によるウェブブラウザ処理において、サーバにアクセスすることで所定のウェブページを表示するウェブページ表示ステップと、
前記ウェブブラウザ処理において、前記ウェブページに対するユーザの操作を示す操作データに基づいて第１のアクセス先情報を取得する第１情報取得ステップと、
前記ウェブブラウザ処理において、前記第１のアクセス先情報をゲームプログラムによる処理において利用可能なように出力する第１情報出力ステップと、
前記ゲームプログラムの実行によるゲーム処理において、前記ウェブブラウザ処理の前記第１情報出力ステップにおいて出力された第１のアクセス先情報を入力する第１情報入力ステップと、
前記ゲーム処理において、前記第１のアクセス先情報に基づいて前記サーバにアクセスし、当該第１のアクセス先情報に対応する所定のコンテンツを取得するコンテンツ取得ステップと、
前記ゲーム処理において、前記取得したコンテンツを利用したゲーム処理を実行するコンテンツ利用処理実行ステップと、を実行させる、ゲーム処理制御方法。
【請求項１８】
ウェブブラウザプログラムの実行によるウェブブラウザ処理において、サーバにアクセスすることで所定のウェブページを表示するウェブページ表示部と、
前記ウェブブラウザ処理において、前記ウェブページに対するユーザの操作を示す操作データに基づいて第１のアクセス先情報を取得する第１情報取得部と、
前記ウェブブラウザ処理において、前記第１のアクセス先情報をゲームプログラムによる処理において利用可能なように出力する第１情報出力部と、
前記ゲームプログラムの実行によるゲーム処理において、前記ウェブブラウザ処理の前記第１情報出力部において出力された第１のアクセス先情報を入力する第１情報入力部と、
前記ゲーム処理において、前記第１のアクセス先情報に基づいて前記サーバにアクセスし、当該第１のアクセス先情報に対応する所定のコンテンツを取得するコンテンツ取得部と、
前記ゲーム処理において、前記取得したコンテンツデータを利用したゲーム処理を実行するコンテンツ利用処理実行部とを備える、ゲーム装置。
【請求項１９】
所定のサーバと通信可能なゲーム装置であって、
所定のゲーム処理の機能の一部として、前記ゲーム装置上で動作するウェブブラウザプログラムを当該ゲーム処理から呼び出すブラウザ起動部と、
前記ウェブブラウザプログラムの実行におけるウェブブラウザ処理において、前記所定のサーバとの通信に基づき第１の情報を生成する第１情報生成部と、
前記ウェブブラウザ処理において、前記第１の情報を前記呼び出し元となったゲーム処理へ出力する第１情報出力部と、
前記ゲーム処理の機能の一部として、前記第１情報を用いる処理を実行する第１情報利用処理部とを備える、ゲーム装置。
【請求項２０】
所定のサーバと、当該所定のサーバと通信可能なゲーム装置とを少なくとも備えるゲームシステムであって、
所定のゲーム処理で利用されるコンテンツを検索するための検索機能を前記所定のサーバと通信することによって実現するウェブブラウザ処理実行部と、
前記所定のゲーム処理を実行するためのネイティブアプリ実行部とを備え、
前記ネイティブアプリ実行部は、
前記ゲーム処理において前記ウェブブラウザプログラムを起動するブラウザ起動部と、
前記起動されたウェブブラウザプログラムの実行にかかる処理における前記コンテンツの検索結果を取得する検索結果取得部と、
前記検索結果に基づいたゲーム処理を実行する検索結果利用部とを含む、ゲームシステム。
【請求項２１】
第１の種類の情報処理装置と、第２の種類の情報処理装置と、第１のサーバと、第２のサーバとを備えるゲームシステムであって、
前記第１のサーバは、
所定のゲーム処理で用いられるコンテンツを検索するための検索サイトを提供するためのデータを記憶する検索サイトデータ記憶部と、
前記第１の種類の情報処理装置または第２の種類の情報処理装置からの要求に応じて前記検索サイトにかかるウェブページを送信するウェブページ送信部とを備え、
前記ページデータ送信部は、
前記第１の種類の情報処理装置からのアクセスの場合は、前記コンテンツを前記第２のサーバからダウンロードするためのリンク情報を含むウェブページを生成して当該第１の種類の情報処理装置に送信し、
前記第２の種類の情報処理装置からのアクセスの場合は、前記リンク情報は含まないウェブページデータを生成して当該第２の種類の情報処理装置に送信し、
前記第１の種類の情報処理装置は、
ユーザの操作に応じて前記リンク情報に基づいて前記第２のサーバにアクセスし、前記コンテンツを前記第１の種類の情報処理装置にダウンロードするコンテンツダウンロード部と、
前記ダウンロードしたコンテンツを用いたゲーム処理を実行するコンテンツ利用処理部とを備え、
前記第２の種類の情報処理装置は、
前記ページデータ送信部によって送信されたウェブページを表示するウェブページ表示部を備える、ゲームシステム。
【請求項２２】
前記第２の種類の情報処理装置は、前記コンテンツを利用するゲーム処理の実行ができない情報処理装置である、請求項２１に記載のゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム装置と少なくとも１つのサーバとを備えるゲームシステムに関し、より特定的には、所定のコンテンツデータの取得手法に関する。
【背景技術】
【０００２】
従来、ユーザが、例えば自作のコンテンツを所定のサーバにアップロードすることでコンテンツ投稿を行うコンテンツ共有システムが知られている（例えば、特許文献１）。このようなシステムでは、投稿されたコンテンツを他のユーザに公開することで、他のユーザにコンテンツを閲覧させ、また、評価してもらうことが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７４９１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようなコンテンツ共有システムにおいては、例えば、コンテンツの投稿・公開・閲覧等の仕組みを変更等する必要が発生した場合、ユーザの端末において動作するクライアントプログラムと、サーバで動作するサーバプログラムの双方を変更する必要性が生じていた。また、その変更等の内容についても、複雑な構成となる場合も少なくなく、このような変更作業にかかる開発側の負荷も、決して少ないものではなかった。
【０００５】
それ故に、本発明の目的は、ユーザの端末側からサーバとのやりとりを実行するプログラムの更新（例えば機能追加）等について、ブラウザプログラムを利用して簡易な作業とすることができる情報処理システム等を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、例えば以下のような構成例が挙げられる。
【０００７】
構成例の一例は、ゲーム装置および当該ゲーム装置と通信する少なくとも１つのサーバを含むゲームシステムであって、ゲーム装置は、ウェブページ要求部と、ウェブページ表示部と、第１情報取得部と、第１情報出力部と、第１情報入力部と、コンテンツ要求部と、コンテンツ利用処理実行部とを備える。また、サーバは、ウェブページ送信部と、コンテンツ送信部とを備える。ウェブページ要求部は、ウェブブラウザプログラムの実行によるウェブブラウザ処理において、サーバに所定のウェブページを要求する。ウェブページ表示部は、ウェブブラウザ処理において、サーバから送信された所定のウェブページを表示する。第１情報取得部は、ウェブブラウザ処理において、所定のウェブページに対するユーザの操作を示す操作データに基づいて第１のアクセス先情報を取得する。第１情報出力部は、ウェブブラウザ処理において、第１のアクセス先情報をゲームプログラムによる処理において利用可能なように出力する。第１情報入力部は、ゲームプログラムの実行によるゲーム処理において、第１のアクセス先情報を入力する。コンテンツ要求部は、ゲーム処理において、第１のアクセス先情報に基づいて、当該第１のアクセス先情報に対応する所定のコンテンツをサーバに要求する。コンテンツ利用処理実行部は、ゲーム処理において、サーバから送信されたコンテンツを利用したゲーム処理を実行する。また、ウェブページ送信部は、ゲーム装置からの要求に応じて、所定のウェブページを当該ゲーム装置に送信する。コンテンツ送信部は、ゲーム装置からの要求に応じて、前記所定のコンテンツを当該ゲーム装置に送信する。
【０００８】
上記構成例によれば、ゲーム処理に用いるコンテンツをサーバから取得する場合に、ウェブブラウザ処理において取得されるアクセス先情報を用いるため、ゲームプログラムの開発段階における開発の負荷を軽減でき、また、ウェブブラウザの処理について、例えばゲームプログラムの発売後においても容易にその更新等を行うことが可能となる。その結果、ユーザのニーズにスピーディーに対応することもでき、ユーザの利便性を高めることができる。
【０００９】
他の構成例として、ゲーム装置は、ゲーム処理において、所定のウェブページのＵＲＬを指定してウェブブラウザプログラムを起動させる起動部を更に備え、ウェブページ要求部は、起動部により起動したウェブブラウザプログラムの実行によるウェブブラウザ処理において、所定のウェブページを要求してもよい。更に、当該起動部は、ウェブブラウザプログラムからの戻り値の要求をさらに指定して前記ウェブブラウザプログラムを起動させてもよい。更には、第１情報出力部は、戻り値として、第１のアクセス先情報を出力するようにしてもよい。また、第１情報取得部は、所定のウェブページに含まれる第１のアクセス先情報を操作データに基づいて取得するようにしてもよい。
【００１０】
上記構成例によれば、ゲーム処理において、コンテンツを取得するためのユーザが行うべき一連の作業について、ユーザの利便性を高めることができる。例えばゲーム処理をユーザの操作で終了させ、その後ユーザの手でブラウザを起動させる等の煩雑な操作を行わせることなく、ゲーム処理とブラウザとの間でシームレスにコンテンツ取得のための操作を行わせることが可能となる。
【００１１】
他の構成例として、ゲームシステムには、前記第１のアクセス先情報を提供可能な第１のサーバと前記コンテンツが格納されている第２のサーバとが含まれていてもよい。そして、ウェブページ要求部は、第１のサーバに所定のウェブページを要求し、第１のアクセス先情報は、第２のサーバに所定のコンテンツを要求するために用いられる情報であり、コンテンツ要求部は、第１のアクセス先情報に基づいてコンテンツを第２サーバに要求してもよい。
また、コンテンツ要求部は、第１のアクセス先情報に基づいて第２のアクセス先情報を生成する第２情報生成部を含んでいてもよい。更に、第１のアクセス先情報は、第２のサーバへのリンクではない所定の文字列を示す情報であり、第２のアクセス先情報は、第２のサーバに格納されているコンテンツのダウンロードリンクを示す情報であり、コンテンツ要求部は、第２のアクセス先情報を用いて所定のコンテンツを第２サーバに要求してもよい。
また、第２のサーバとゲーム装置とは、専用のネットワークで接続されており、当該第２のサーバへの要求は当該ゲーム装置からの要求のみ可能なように構成されていてもよい。
【００１２】
上記構成例によれば、コンテンツデータの不正取得等を防止し、コンテンツの取得に関するセキュリティを高めることができる。
【００１３】
第１サーバは、第２サーバと接続してコンテンツに関するコンテンツ情報を当該第２サーバから取得し、当該コンテンツ情報に基づいて所定のウェブページを生成するようにしてもよい。
【００１４】
上記構成例によれば、コンテンツが追加・更新が大量に発生するような場合でも、その情報をウェブページ上に速やかに反映させることができ、ユーザの利便性を向上させることができる。
【００１５】
他の構成例として、ゲーム装置は、コンテンツ利用処理実行部によるコンテンツを用いたゲーム処理が終了したときに、ユーザによる所定の操作を受付けたとき、ウェブブラウザプログラムを起動し、当該ウェブブラウザプログラムの実行によるウェブブラウザ処理において、所定のウェブページをサーバに要求して表示するブラウザ画面移行部を更に備えていてもよい。更には、ブラウザ画面移行部は、終了したゲーム処理にかかるコンテンツに関する情報が表示されるウェブページにアクセスして、当該コンテンツに関する情報のウェブページを表示するように構成されていてもよい。
【００１６】
上記構成例によれば、あるコンテンツを利用したゲーム処理の後に現在プレイしたコンテンツに関する情報をユーザに提示でき、ユーザの利便性をより高めることができる。
【００１７】
他の構成例として、ウェブブラウザ処理において、ウェブページ表示部によって表示されるウェブページには、少なくとも第１のボタン画像と第２のボタン画像が含まれているようにしてもよい。更に、第１情報取得部は、操作データが第２のボタン画像を選択する操作であることを示すときに、当該第２のボタン画像に対応する第１のアクセス先情報を取得し、ゲームシステムは、操作データが第１のボタン画像を選択する操作であることを示すとき、当該第１ボタン画像に対応づけられているコンテンツを示す情報を、サーバに記憶されている所定のリストデータに登録するリスト登録部を更に備えていてもよい。また、ゲーム装置は、ユーザからの操作に応じて、所定のリストデータをサーバから取得するリスト取得部と、ユーザからの操作に応じて、リストデータに登録されている情報に対応するコンテンツをサーバから取得するリストコンテンツ取得部とを更に備えていてもよい。
また、サーバにアクセスするための所定の操作が受付けられたとき、ゲーム処理からの呼び出しに応じて起動されたウェブブラウザ処理においては、第１のＵＲＬが指定されることで、第１のボタン画像および第２のボタン画像が含まれるウェブページが取得され、ゲーム処理からの呼び出しによるものではないウェブブラウザ処理においては、第１のＵＲＬとは異なる第２のＵＲＬが指定されることで、第２のボタン画像は含まないウェブページが取得されるように構成してもよい。また、ゲームシステムは、汎用の情報処理装置を含み、情報処理装置は、ウェブブラウザプログラムの実行によるウェブブラウザ処理において、第１のボタン画像を含み、第２のボタン画像は含まない所定のウェブページを表示し、ゲームシステムは、所定のウェブページに対するユーザの操作が当該第１のボタン画像を選択する操作であることを示す場合に、当該第１ボタン画像に対応づけられているコンテンツを示す情報を所定のリストデータに登録するようにしてもよい。
【００１８】
上記構成例によれば、例えばスマートフォン等の汎用的な情報処理端末と、ゲーム専用機との双方で、コンテンツを検索するためのサイトにアクセスすることを可能とすることができる。更に、汎用的な情報処理端末からのアクセスの場合は、例えば、第１のボタン画像に対する操作に基づいてコンテンツのダウンロードの予約だけを登録できるようする一方で、ゲーム専用機からのアクセスの場合は第２のボタン画像が表示されるようにすることで、すぐにコンテンツをダウンロードしてプレイすることが可能とすることができる。
【００１９】
他の構成例として、コンテンツは、プレイヤオブジェクトを操作するゲーム処理における仮想ゲーム空間を構築するためのデータであって、かつ、ユーザによって作成されて投稿されたデータであってもよい。また、コンテンツは、前記ゲーム処理における当該コンテンツデータを利用した処理のために一時的に用いられるデータであってもよい。
【００２０】
上記構成例によれば、ゲーム処理に用いられるデータであって更新頻度の高いデータについて、例えばそのゲームの発売後において、このようなデータの検索や取得に関する機能を追加したり更新したりすることを容易なものとすることができる。
【００２１】
他の構成例の一例は、所定のサーバと通信可能なゲーム装置であって、ブラウザ起動部と、第１情報生成部と、第１情報出力部と、ブラウザ起動部と、第１情報利用処理部とを備える。ブラウザ起動部は、所定のゲーム処理の機能の一部としてゲーム装置上で動作するウェブブラウザプログラムを当該ゲーム処理から呼び出す。第１情報生成部は、ウェブブラウザプログラムの実行におけるウェブブラウザ処理において、所定のサーバとの通信に基づき第１の情報を生成する。第１情報出力部は、ウェブブラウザ処理において、第１の情報を前記呼び出し元となったゲーム処理へ出力する。第１情報利用処理部は、ゲーム処理の機能の一部として、前記第１情報を用いる処理を実行する。
【００２２】
上記構成例によれば、ゲームプログラムで実行されるゲーム処理の一部としてウェブブラウザプログラムを利用するため、当該ウェブブラウザプログラムで実現される機能について、例えばそのゲームの発売後において、機能の追加や更新を容易なものとすることができる。
【００２３】
他の構成例の一例は、所定のサーバと、当該所定のサーバと通信可能なゲーム装置とを少なくとも備えるゲームシステムであって、ウェブブラウザ処理実行部と、ネイティブアプリ実行部とを備える。ウェブブラウザ処理実行部は、所定のゲーム処理で利用されるコンテンツを検索するための検索機能を所定のサーバと通信することによって実現する。ネイティブアプリ実行部は、所定のゲーム処理を実行し、当該ゲーム処理からウェブブラウザプログラムを起動し、当該起動されたウェブブラウザプログラムの実行にかかる処理におけるコンテンツの検索結果を取得する。
【００２４】
上記構成例によれば、ゲーム処理に用いられるコンテンツの検索機能をいわゆるウェブアプリで実現することができ、検索機能の追加拡張や更新を、ゲームプログラム自体を更新する場合と比べて容易に行うことが可能となる。
【００２５】
他の構成例の一例は、第１の種類の情報処理装置と、第２の種類の情報処理装置と、第１のサーバと、第２のサーバとを備えるゲームシステムである。第１のサーバは、検索サイトデータ記憶部と、ページデータ送信部とを備える。検索サイトデータ記憶部は、所定のゲーム処理で用いられるコンテンツを検索するための検索サイトを提供するためのデータを記憶する。ページデータ送信部は、第１の種類の情報処理装置または第２の種類の情報処理装置からの要求に応じて検索サイトにかかるウェブページを送信する。また、ページデータ送信部は、第１の種類の情報処理装置からのアクセスの場合は、コンテンツを第２のサーバからダウンロードするためのリンク情報を含むウェブページを生成して当該第１の種類の情報処理装置に送信し、第２の種類の情報処理装置からのアクセスの場合は、上記リンク情報は含まないウェブページデータを生成して当該第２の種類の情報処理装置に送信する。更に。第１の種類の情報処理装置は、ユーザの操作に応じてリンク情報に基づいて第２のサーバにアクセスし、コンテンツを第１の種類の情報処理装置にダウンロードするコンテンツダウンロード部と、ダウンロードしたコンテンツを用いたゲーム処理を実行するコンテンツ利用処理部とを備える。また、第２の種類の情報処理装置は、ページデータ送信部によって送信されたウェブページを表示するウェブページ表示部を備える。なお、第２の種類の情報処理装置は、コンテンツを利用するゲーム処理の実行ができない情報処理装置であってもよい。
【００２６】
上記構成例によれば、例えば、ゲーム専用機からでもスマートフォン等の汎用的な情報処理装置からでも検索サイトにアクセスでき、ユーザにコンテンツの検索を実行させることが可能となる。また、この検索機能はウェブブラウザ上で動作するため、検索機能の拡張を容易に行うことができる。更に、ゲーム専用機から検索サイトにアクセスした場合は、検索を実行した後、即時に検索結果にかかるコンテンツをダウンロードし、これを用いたゲームプレイを実行することができる。これにより、ユーザの利便性を高めることができる。
【発明の効果】
【００２７】
本実施形態によれば、所定のコンテンツデータを取得するためのサーバへのアクセス先情報を、ウェブブラウザ処理において取得してゲーム処理側に出力することができる。これにより、アクセス先を取得するための処理に関する機能を拡張したい場合でも、ゲームプログラム自体を更新する場合比べて簡易に実現することができる。また、ゲームプログラムに開発段階における負荷を軽減することも可能となる。
【図面の簡単な説明】
【００２８】
【図１】本実施形態の一例である情報処理システムの全体像を示す模式図
【図２】ゲーム装置１０１の機能ブロック図
【図３】コンテンツサーバ１０３（ポータルサーバ１０４）の機能ブロック図
【図４】専用ビューワルートでのコースデータのダウンロード処理の流れを示す模式図
【図５】ゲーム装置１０１に表示される専用ビューワの画面例
【図６】即時ルートでのコースデータのダウンロードの流れを示す模式図
【図７】コース一覧画面の一例
【図８】「コース情報」のウェブページ（画面）の一例
【図９】第１の「後で」ルートにおけるダウンロードの流れを示す模式図
【図１０】スマートフォンで検索した場合の検索結果画面の一例
【図１１】「後でリスト」画面の一例
【図１２】第２の「後で」ルートの場合の流れを示す模式図
【図１３】コンテンツサーバ１０３の内部記憶装置１２２に記憶される主なデータを示す図
【図１４】ポータルサーバ１０４の内部記憶装置１２２に記憶される主なデータを示す図
【図１５】ゲーム装置１０１の内部記憶装置１１２に記憶されるデータを示す図
【図１６】ゲームプログラム２２１で実行される処理の詳細を示すフローチャート
【図１７】ゲームプログラム２２１で実行される処理の詳細を示すフローチャート
【図１８】専用ビューワ処理の詳細を示すフローチャート
【図１９】後でリスト閲覧処理の詳細を示すフローチャート
【図２０】ウェブブラウザ処理の詳細を示すフローチャート
【図２１】コンテンツサーバ１０３で実行される処理の詳細を示すフローチャート
【図２２】ポータルサーバ１０４で実行される処理の詳細を示すフローチャート
【発明を実施するための形態】
【００２９】
以下、本発明の一実施形態について説明する。
【００３０】
図１は、本実施形態に係る情報処理システムの全体像を示す模式図である。本実施形態の情報処理システムでは、ゲーム装置１０１と、情報処理端末１０２と、ゲームコンテンツサーバ１０３（以下、コンテンツサーバと呼ぶ）と、ポータルサイトサーバ１０４(以下、ポータルサーバと呼ぶ）とが含まれる。ゲーム装置１０１には、後述するゲームプログラム２２１とウェブブラウザプログラム２２２とが実行可能に含まれている。また、情報処理端末１０２は、例えばスマートフォンやタブレット型の情報処理装置やパーソナルコンピュータ等に代表される、汎用的な情報処理端末である。また、コンテンツサーバ１０３とゲーム装置１０１とは独自プロトコルを用いる専用ネットワーク（クローズドネットワーク）を介して通信可能である。また、ポータルサーバ１０４と、ゲーム装置１０１、スマートフォン等の情報処理端末１０２とは、インターネット（オープンなネットワーク）を介して通信可能に構成されている。
【００３１】
本実施形態では、このようなシステムにおいて、ゲーム装置１０１や情報処理端末１０２から、後述するようなコンテンツ（具体的にはコースデータ）を検索することができる。そして、ゲーム装置１０１でコンテンツをダウンロードし、そのコンテンツをプレイするという機能を実現する場合を想定する。本実施形態では、コンテンツサーバ１０３に、このコンテンツのデータが保存されている。また、ポータルサーバ１０４は、このコンテンツを検索するためのポータルサイトのデータが保存されている。また、本実施形態では、当該ポータルサイトは会員制であり、その利用にログイン処理を要求するものとなっている。そして、ポータルサーバ１０４は、この会員ＩＤ等を管理するためのアカウントサーバとしての役割も有している。
【００３２】
次に、上記システムにおける各ハードウェアの構成について説明する。図２は、ゲーム装置１０１の機能ブロック図である。図２において、ゲーム装置１０１は、プロセッサ部１１１と、内部記憶装置１１２と、メインメモリ１１３と、通信部１１４と、操作部１１１５と、表示部１１６とを備えている。プロセッサ部１１１は、後述のゲームプログラムやウェブブラウザプログラムを実行したり、ゲーム装置１０１の全体的な動作を制御したりするためのシステムプログラム（図示せず）を実行することで、ゲーム装置１０１の動作を制御する。なお、プロセッサ部１１１は、単一のプロセッサを搭載してもよいし、複数のプロセッサを搭載するようにしてもよい。内部記憶装置１４には、プロセッサ部１１１によって実行される各種プログラムや当該プログラムで利用される各種データが格納されている。内部記憶装置１４は、例えば、フラッシュＥＥＰＲＯＭやハードディスク装置である。メインメモリ１５は、コンピュータプログラムや情報を一時的に記憶する。通信部１６は、有線、または無線通信によってネットワークと接続し、上記コンテンツサーバ１０３やポータルサーバ１０４との間で所定のデータを送受信する。操作部１１５は、例えば、十字スイッチや押しボタンやタッチパネルである。表示部１１６は、典型的には液晶表示装置である。なお、他の実施形態では、表示部１１６として、例えばテレビやＰＣ用のモニタをゲーム装置１０１に接続して用いるようにしても良い。
【００３３】
次に、上記コンテンツサーバ１０３、ポータルサーバ１０４の構成について説明する。本実施形態では、両者はハードウェア構成としては同じものであるとする。図３は、コンテンツサーバ１０３（ポータルサーバ１０４）の機能ブロック図である。コンテンツサーバ１０３（ポータルサーバ１０４）は、プロセッサ部１２１と、内部記憶装置１２２と、メインメモリ１２３と、通信部１２４とを少なくとも備えている。プロセッサ部１２１は、サーバを制御するための各種プログラムを実行する。内部記憶装置１２２には、プロセッサ部１２１によって実行される各種プログラムや利用される各種データが格納されている。メインメモリ１２３は、コンピュータプログラムや情報を一時的に記憶する。通信部１２４は、有線、または無線通信によってネットワークと接続し、上記ゲーム装置１０１や情報処理端末１０２との間で所定のデータを送受信する。
【００３４】
次に、上記スマートフォン等の情報処理端末について説明する。これらのハードウェア構成は、基本的には上記ゲーム装置１０１に準ずる構成である。そのため、その詳細については説明を省略する。
【００３５】
次に、本実施形態にかかる情報処理システムで実行される情報処理の動作概要を説明する。まず、本実施形態で想定されるゲーム処理について説明する。本実施形態で想定するゲーム処理は、ユーザがゲームのステージを自作してサーバに投稿し、また、他のユーザが制作したゲームステージをダウンロードしてプレイする、というゲーム処理である。例えば２Ｄの横スクロール型のジャンプアクションゲームにおける「コース」（ゲームステージ）を構成するための各種パーツが、ゲームデータとして用意されている。ユーザは、このパーツを仮想ゲーム空間内に配置していくことで、「コース」を制作することができる。制作したコースは、上記コンテンツサーバ１０３にアップロード（投稿）して保存可能である。そして、同じようにして他のユーザが制作したコースをコンテンツサーバ１０３からダウンロードして、当該ダウンロードしたコースをプレイすることも可能となっている（もちろん、自作のコースを自分でプレイすることも可能である）。
【００３６】
このようなゲームでは、多数のユーザが自作のコースを投稿することも想定される。そのため、ダウンロードするコースを選択する際のユーザの負担を軽減してあげることが望ましい。そこで、本実施形態では、例えば、「人気ランキング」等の、予め抽出されたコースをユーザに提示したり、ユーザに検索条件を指定させて希望のコースを探し出せたりする機能も提供する。具体的には、本実施形態では、ポータルサーバ１０４上にコース検索用の「ポータルサイト」を構築している。このポータルサイトは、インターネット上に存在するという形となり、上記スマートフォン等の情報処理端末１０２や、ゲーム装置１０１のウェブブラウザプログラムからアクセスして閲覧することが可能である。ユーザは、このポータルサイト上で、「コース」を検索することができる。また、例えばスマートフォンで検索した場合、ダウンロードしたいコースについて、後述する「後で」ボタンを押すことで、ダウンロードの予約を登録しておくこともできる。そして、後にゲームプログラムを起動して、当該予約したコースをダウンロードすることも可能となっている。また、これとは別に、ゲームプログラム内の「専用ビューワ」からコンテンツサーバ１０３にアクセスして、人気ランキング等という形でコースを提示し、ユーザが選択したコースをダウンロードすることも可能となっている。
【００３７】
ここで、本実施形態でのポータルサイトは、上記のように会員制となっており、原則として、サイトの利用のためにはログインが必要となっている。そのため、スマートフォン等の情報処理端末１０２から当該ポータルサイトにアクセスした場合、まず、ログイン処理のための会員ＩＤとパスワードが要求されることになる。この会員ＩＤやパスワード等のログイン処理に必要な情報は、ポータルサーバ１０４に保存されている（アカウントサーバとしての機能）。一方、ゲーム装置１０１においては、当該ゲーム装置の初回起動時に、この会員ＩＤおよびパスワードの入力が要求されるものとする。そして、これに対して会員ＩＤとパスワードを入力し、これをゲーム装置１０１内に保存しておくことが可能となっている。そのため、このゲーム装置上で実行される各種ゲームプログラムやブラウザにおいて、この会員ＩＤ等は、必要に応じて参照されて利用される。つまり、ユーザは、ゲーム装置１０１の例えば初回起動時に会員ＩＤを入力してゲーム装置１０１に記憶させておけば、その後ログインが必要となる場面があっても、その都度ＩＤ等を入力する手間を省くことができるようになっている。
【００３８】
ところで、本実施形態では、上記のようなコースのダウンロードに関して、主に以下の４種類のダウンロードの形態（コース選択〜ダウンロードまでのルート）を提供している。
（１）ゲーム装置上で専用ビューワを用いるダウンロード（専用ビューワルート）
（２）ゲーム装置上でウェブブラウザを用いた即時のダウンロード（即時ルート）
（３）スマートフォン等から、コースのダウンロード予約を入れておく、「後で」のダウンロード（第１の「後で」ルート）
（４）ゲーム装置上でウェブブラウザを用いてダウンロード予約を入れる「後で」のダウンロード（第２の「後で」ルート）
【００３９】
なお、本実施形態では、一度にダウンロードしてプレイできるコースは１つのコースだけであるものとする。また、原則として、当該ダウンロードしたコースのプレイは、その場限りのものであるとする。つまり、あるコースをプレイした後、他のコースをプレイしたい場合は、その都度、コースのダウンロードが必要となる。また、ダウンロードしたコースにかかるデータが消去されるタイミングについては、そのコースのプレイ終了時のタイミングでも良いし、その後の他のコースのダウンロードの際に消去されてもよい。あるいは、ゲーム終了時に消去されるようにしてもよい。
【００４０】
以下、上述の４つのダウンロード態様の概要を説明する。
【００４１】
＜１：専用ビューワルート＞
図４は、専用ビューワルートでのコースデータのダウンロード処理の流れを示す模式図である。この態様では、ゲームプログラムが直接的に提供する専用ビューワ機能を用いて、コンテンツサーバ１０３から「コース」のデータ（以下、コースデータ）を即時にダウンロードする。例えば、ゲームプログラムを起動すると、メインメニューが表示される、このメインメニューには、例えば、「専用ビューワ」、「ウェブブラウザで検索」、「後でリスト閲覧」等の項目が含まれているとする。そして、ユーザが当該メインメニューから「専用ビューワ」の項目を選択することで、専用ビューワが起動する。図５に、ゲーム装置１０１に表示される専用ビューワの画面例を示す。この画面では、「人気ランキング」として、ダウンロード人気が高いコースの概要や作成者等の情報が表示されている。ユーザは、この画面に対して操作を行い、ダウンロードしたいコース（例えば人気第１位のコース）を選択する。この選択操作に応じて、ゲーム装置１０１はコンテンツサーバ１０３にアクセスして、選択されたコースデータを要求する（図４のＡ１）。コンテンツサーバ１０３は、要求されたコースデータをゲーム装置１０１に送信する、つまり、コースデータのダウンロードが行われる（図４のＡ２）。そして、ダウンロードが終われば、即時に当該コースをプレイすることができる。
【００４２】
ここで、専用ビューワにおいては、人気ランキング等の、予め用意された（サーバ側で抽出された）コースのリストがユーザに提示される。基本的には、ユーザは、これら提示されたコースのリストを参照して、興味のあるコース等を選択する。その他、この専用ビューワでは、ごく簡易な検索（フィルタリング）機能も提供している。例えば、「作成者」でフィルタリングする、等、フィルタリングの条件として、限られた項目から１つだけしか指定できない、という程度の、ごく簡易な検索機能が提供される。なお、後述するウェブブラウザプログラムで提供される検索機能は、当該専用ビューワと異なり、詳細な検索条件が指定できるものとなっている。
【００４３】
＜２：即時ルート＞
次に、ゲーム装置上でウェブブラウザを用いた即時のダウンロードについて説明する。図６は、この即時ルートでのコースデータのダウンロードの流れを示す模式図である。
この態様では、まず、例えばゲームプログラムのメインメニューから「ウェブブラウザで検索」という項目をユーザが選択する。これに応じて、ウェブブラウザプログラムが起動し、表示画面も、ゲーム処理の画面からウェブブラウザ処理の画面に切り替わる。このウェブブラウザの起動について、ここでは、ゲームプログラムからウェブブラウザプログラムを「呼び出す」という形でウェブブラウザプログラムが起動される（図６のＢ１）。この呼び出しは、ウェブブラウザプログラム(ウェブブラウザ処理）からの「戻り値」を要求するような呼び出し方となっている。以下では、このような呼び出しによる起動を「コールバック起動（ＣＢ起動）」と呼ぶ。また、当該コードバック起動の際、引数を指定して、コールバック起動を行っている。この引数として、上記ポータルサイトのＵＲＬが指定される。呼び出されたウェブブラウザプログラムによるウェブブラウザ処理において、当該処理が起動された後、この引数で示されるＵＲＬに自動的にアクセスする（図６のＢ２）。その結果、ポータルサイトのウェブページデータがポータルサーバ１０４から送信され（図６のＢ３）、ポータルサイトの画面（トップページ）が表示されることになる。なお、このルートの場合、ポータルサイトの表示に際しての上記会員ＩＤの入力は不要である。
【００４４】
ここで、本実施形態では、当該ポータルサイトとして、一般公開用のＵＲＬと、上記コールバック起動されたときを想定した非公開のＵＲＬの２つが用意されているものとする。そして、上記コールバック起動の際の引数として指定されるものは、この非公開のＵＲＬのほうであるとする。なお、一般公開用のＵＲＬは、インターネットの検索エンジン等の検索結果として表示され、スマートフォン等の情報処理端末１０２からアクセスされるような場合を想定したＵＲＬである。また、いずれのＵＲＬでアクセスしても、ポータルサイトとして表示される内容は、基本的には同じものが表示される。但し、後述する「いますぐ」ボタンの表示の有無という点で、一般公開用のＵＲＬでのページと、非公開のＵＲＬでアクセスしたときのページとの表示内容に若干の相違がある。
【００４５】
ポータルサイトのトップページから所定の操作を行うことで、ユーザは、詳細な検索条件を指定したコースの検索を行うことができる。例えば、複数の検索対象項目をＡＮＤ条件やＯＲ条件で組み合わせた検索が可能となっている。検索対象項目は、例えば、コンテンツの投稿日、作成者、コースの難易度、クリア人数、等の項目が予め用意され、ユーザに提示される。ユーザは、各項目を選択し、具体的な値について入力可能となっている。例えば、ユーザは、「作成者」が「○○○」であり、かつ、コース難易度が「ＥＡＳＹ」であり、かつ、クリア人数が「１００人以下」、という検索条件を指定してコースの検索を行うことが可能である。図７に、所定の検索を行った結果であるコース一覧画面の一例を示す。図７の例では、画面上には４つのコースの情報欄１５１Ａ〜１５１Ｄが表示されている。各コース情報欄１５１には、そのコースの概要を紹介するエリアと、「コース情報」ボタン１５３、「後で」ボタン１５４、「いますぐ」ボタン１５５とが含まれている。概要紹介エリアには、そのコースを簡単に紹介するための文章や画像が表示される。「コース情報」ボタン１５３を押すと、そのコースに関する情報を示すウェブページに移行する。図８に、「コース情報」のウェブページ（画面）の一例を示す。この「コース情報」では、例えば、自分の最速クリアタイムやそのコースを遊んだ人の中での最速タイム、最初にそのコースをクリアした人や最近挑戦した人の情報が表示される。また、その他、図示は省略するが、そのコースの作成者やコースの具体的構成に関する詳細情報等も表示されてもよい。
【００４６】
「後で」ボタン１５４を押すと、そのコースのダウンロードの予約ができる、これについては後述する。「いますぐ」ボタン１５５は、そのコースをすぐに遊びたい場合を想定したボタンである。すなわち、「いますぐ」ボタン１５５を押せば、そのコースのダウンロードが開始され、ダウンロードが終わり次第、そのコースをプレイできる。当該「いますぐ」ボタン１５５は、上記のように、コールバック起動した際の非公開ＵＲＬでアクセスされた場合にのみ表示されるボタンである。情報処理端末１０２からポータルサイトにアクセスした場合は、このボタンは表示されない。
【００４７】
図６に戻り、「いますぐ」ボタン１５５を押してからの流れの概要を説明する。ウェブページに表示されているいずれかの「いますぐ」ボタン１５５がクリック等（選択）されると、ウェブブラウザの処理において、そのボタンのリンク先として関連づけられている所定のＵＲＬ文字列（以下、第１のＵＲＬ）が取得される。この第１のＵＲＬは、例えば、"http://localhost/コースＩＤ"のような文字列である（ループバックアドレス＋コースＩＤからなる文字列）。すなわち、上記選択されたコース情報の対応する文字列は含まれているものの、それ自体をクリック等しても他のサーバには繋がらないようなリンクの文字列となっている。そして、ウェブブラウザ処理において、当該得られた第１のＵＲＬを上記「戻り値」として、呼び出し元であるゲームプログラム（により実行されているゲーム処理）に出力する（図６のＢ４）。その後、ウェブブラウザ処理はバックグラウンドに移行し、ゲーム装置１０１の画面は、ゲーム処理の画面に切り替わる。
【００４８】
呼び出し元となったゲーム処理において、上記第１のＵＲＬを取得し、これを解析して、第２のＵＲＬを生成する処理が実行される。この第２のＵＲＬは、例えば、実際のコースデータが保存されている上記コンテンツサーバ１０３における、コースデータのダウンロードリンクとなっている。例えば、第１のＵＲＬの"localhost"の文字列をコンテンツサーバ１０３のアドレスを示す文字列に置き換える等によって、第２のＵＲＬが生成される。そして、ゲーム処理において、第２のＵＲＬを用いたコンテンツサーバ１０３へのアクセスが行われる（図６のＢ５）。その結果、この第２のＵＲＬに対応するコースデータのダウンロードが行われる（図６のＢ６）。ダウンロードが終われば、当該コースデータを用いたプレイ処理が開始されることになる。このように、「即時ルート」では、ゲーム処理からウェブブラウザを直接的に呼びだし、ウェブブラウザ上で、上記専用ビューワの場合よりも詳細な検索条件を用いたコースの検索ができ、また、検索したコースを即時にダウンロードしてプレイを開始する、という流れをシームレスに実現することができる。
【００４９】
なお、コンテンツサーバ１０３へのアクセスは、上記のように専用のネットワークを介して行われる。そのため、例えばユーザが上記第２のＵＲＬの文字列を把握し、これをパーソナルコンピュータのウェブブラウザで直接入力したような場合でも、上記コースデータにアクセスされることはなく、コースデータが不正にダウンロードされることを防ぐことができる。
【００５０】
また、他の実施形態では、上記の戻り値としてゲーム処理側に出力される情報は、必ずしも上記第１のＵＲＬのようなＵＲＬの書式である必要はない。例えば、コースＩＤのみを戻り値として出力するようにしてもよい。そして、ゲーム処理側で、当該コースＩＤに所定の文字列を付加することで、上記第２のＵＲＬを生成するようにしても良い。
【００５１】
＜３：第１の「後で」ルート＞
次に、主にスマートフォン等の情報処理端末１０２を用いる場合である、第１の「後で」ルートについて説明する。図９は、第１の「後で」ルートにおけるダウンロードまでの流れを示す模式図である。まず、例えばスマートフォンのウェブブラウザを用いて、ユーザは、ポータルサイトにアクセスする。このとき用いられるＵＲＬは、上記一般公開用のＵＲＬである（図９のＣ１）。ポータルサイトにアクセスすると、まず、ポータルサーバ１０４からはログイン処理が要求され（例えばログイン画面の表示）、これに応じてユーザは自己の会員ＩＤ等を入力してポータルサーバ１０４に送信する（図９のＣ２）。ログイン処理が正常終了すれば、ポータルサイトのウェブページデータがポータルサーバ１０４からスマートフォンに送信される（図９のＣ３）。スマートフォンの画面にポータルサイトのトップページが表示され、ユーザは所定の操作を行ってコース検索を行う。この検索も、上記「即時ルート」の場合と同様に、上記専用ビューワにおける検索よりも詳細な検索が可能なものとなっている。検索指示がポータルサーバ１０４に送信されれば、これに応じてポータルサーバ１０４で検索処理が実行され、検索結果のウェブページが送信されてくる。図１０に、当該スマートフォンで検索した場合の検索結果画面の一例を示す。画面の構成としては、上記図７で示した画面構成から「いますぐ」ボタン１５５を省いたような画面構成となっている。つまり、スマートフォン等からポータルサイトにアクセスした場合は、「いますぐ」ボタン１５５が表示されないようなウェブページがポータルサーバ１０４から送信されることになる。
【００５２】
図１０のような画面から、ユーザがいずれかのコースの「後で」ボタン１５４を，例えばタップ操作すると、その操作内容がポータルサーバ１０４に送信される（図９のＣ４）。これに応じて、ポータルサーバ１０４では、当該タップ操作がなされた「後で」ボタン１５４に対応づけられているコースのコースＩＤと、現在ログイン状態にある会員ＩＤとを関連づけて、「後でリスト」と呼ばれるデータに保存する処理が実行される（図９のＣ５）。
【００５３】
その後、ユーザが、ゲーム装置１０１を操作してゲームプログラムを起動し、例えばメインメニューから「後でリスト閲覧」という項目を選択する。当該ゲームプログラムの実行にかかるゲーム処理において、この操作に応じてポータルサーバ１０４にアクセスし、「後でリスト」を取得する処理が実行される（図９のＣ６）。この際、ゲーム装置１０１に保存されている会員ＩＤがポータルサーバ１０４へ送信され、これに基づいてポータルサーバ１０４で、対応する「後でリスト」が検索されて送信される。そのため、スマートフォンでポータルサイトにログインしたときの会員ＩＤは、ゲーム装置１０１に保存されている会員ＩＤと同じものであることが必要である。
【００５４】
「後でリスト」が取得できれば、ゲーム装置１０１の画面に、「後でリスト」に基づく画像が表示される。図１１は、当該「後でリスト」画面の一例である。この画面では、「後で」ボタンでダウンロード予約を登録した複数のコースの情報が表示されている。この画面から、ユーザがいずれかのコースを選択する操作を行うことで、選択されたコースのダウンロード要求がコンテンツサーバ１０３に対して行われる（図９のＣ７）。例えば、上記第２ＵＲＬのようなダウンロードリンクの文字列を「後でリスト」に基づいて生成してコンテンツサーバ１０３にアクセスする。そして、選択されたコースデータがダウンロードされ（図９のＣ８）、ダウンロード完了後、ゲーム処理において、そのコースをプレイするための処理が開始される。
【００５５】
このように、「第１の「後で」ルート」では、スマートフォン等の汎用的な端末から、コースデータを検索し、後のダウンロードのための予約を登録することができる。
【００５６】
＜４：第２の「後で」ルート＞
次に、第２の「後で」ルートについて説明する。図１２に、第２の「後で」ルートの場合の流れを示す模式図を示す。このルートは、ポータルサイトにアクセスする端末が、スマートフォン等の情報処理端末１０２ではなく、ゲーム装置１０１（のウェブブラウザプログラム）である点が異なっている。なお、この場合のウェブブラウザプログラムの起動は、上記のようなゲームプログラムからのコールバック起動ではなく、ゲーム装置１０１のメインメニューからユーザの操作でウェブブラウザプログラムが起動された場合を想定している（ウェブブラウザを単独起動したような場合）。この場合は、スマートフォン等でウェブブラウザを操作する場合と同じ扱いとなる。そのため、ポータルサイトへのアクセスのＵＲＬも、一般公開用のＵＲＬが用いられているものとする。処理の流れとしては、基本的には上記第１の「後で」ルートとほぼ同じ処理である。そのため、具体的な処理の流れの説明は省略するが、ログイン処理に関しては、このルートでは、ゲーム装置１０１に保存されている会員ＩＤ等を用いたログイン処理が行われることになる（図１２のＤ２）。
【００５７】
なお、参考までに、上記コールバック起動でウェブブラウザプログラムが呼び出された場合であって、上記図７の画面で「後で」ボタン１５４が押された場合について簡単に説明する。すなわち、上記の「即時ルート」においては、「いますぐ」ボタン１５５と「後で」ボタン１５４の双方が表示されているところ、「後で」ボタン１５４が押された場合である。この場合は、ゲーム装置１０１に保存されている会員ＩＤを用いて、「後でリスト」への登録が行われることになる。その後の「後でリスト」を用いたダウンロードについては、上記第１または第２の「後で」ルートと同様である。
【００５８】
このように、本実施形態では、コースの詳細な検索機能にかかる部分については、ゲームプログラムの実行にかかるゲーム処理内で直接には行わずに、ウェブブラウザ、すなわち、ウェブアプリで実現している。この理由について説明する。例えば、上記専用ビューワにおいて、詳細な検索ができるようにすることも考えられるが、上記のようなゲーム装置向けのゲームプログラム（ネイティブアプリ）の開発現場においては、開発期間（商品のリリース日等）と、実現したい機能の優先度との兼ね合い等での理由で、開発段階において上記のような詳細な検索機能を作り込むことが困難である場合も少なくない。また、上記のコースデータのように、ユーザが作成して投稿するというような「投稿コンテンツ」性が高いデータについては、ゲームの発売後も、その追加・更新頻度が高いデータであるともいえる。また、ゲームの発売後にこのようなデータが大量に流通することが予想される場合、このようなデータを検索する機能自体についても、機能を追加してより検索しやすくすることで、ユーザの利便性を向上させるというニーズもあり得る。その一方で、ゲームプログラムをその発売後に更新して機能追加等する場合でも、変更すべき内容の複雑さやその動作検証等を考えると、スピーディーな更新を実現しにくいという側面もある。そのため、このような要素を考慮し、本実施形態では、上記のような追加・更新頻度の高そうな投稿コンテンツ性の高いデータであって、かつ、所定のサーバとのやりとりで取得されるようなデータについて、これを検索するための検索機能は、ウェブアプリとして実現したものである。ウェブアプリであれば、このような検索機能の追加・変更にかかる開発負荷は、ゲーム装置向けのゲームプログラム開発の場合よりも軽くすることができるためである。これにより、上記ゲームプログラム（ネイティブアプリ）の開発段階における開発の負荷を軽減すると共に、ゲームの発売後におけるユーザのニーズによりスピーディーに対応できる環境を提供できる。例えば、検索条件として利用（選択）できる項目を新たに追加する場合等、ゲームの発売後であっても、上記コースデータ等の新たな検索方法を提供することも可能となる。例えば、ゲーム発売時にはない検索条件の項目である「特定の敵キャラが出てくるコース」というような検索条件を、ゲーム発売後に追加したい、というような場合、上記のようなシステムであれば対応可能である。
【００５９】
また、上記のようなコースデータのダウンロードプレイにおいては、ダウンロードしたコースデータは基本的にその場限りのデータとして扱われる。つまり、一時的に利用されるデータ（使い捨ての要素が高いデータ）であり、例えばゲームプログラムを終了した後、次回に同じコースをプレイしたい場合は、再度ダウンロードが必要となるデータである（なお、お気に入り機能を利用して、検索の手間を省くことは考えられる）。換言すれば、いわゆる「パッチ」に当たるような更新データや、例えば、ゲーム処理の起動時に追加データとしてダウンロードされて、ゲーム本編の開始前にゲームデータに反映されるようなデータや、追加シナリオのようなダウンロード追加コンテンツ（ダウンロード後、ゲームの（再）起動により、ゲームデータへの反映が必要となるデータ）とは、その性質が異なるデータであると言える。このような一時的に用いられるコンテンツ性の高いデータの検索とその取得については、本実施形態のようなシステムは、開発負荷の軽減やユーザの利便性を高めるうえで、有用である。
【００６０】
以下、本実施形態における情報処理についてより詳細に説明する。
【００６１】
まず、図１３〜図２２を用いて、本実施形態で用いられる主なデータについて説明する。図１３は、コンテンツサーバ１０３の内部記憶装置１２２に記憶される主なデータを示す図である。コンテンツサーバ１０３の内部記憶装置１２２には、コースデータＤＢ（データベース）２０１と、専用ビューワ向けデータ２０２等が記憶される。コースデータＤＢ２０１は、上述したようなユーザ作成のコースデータが格納されたデータベースである。例えば、コースを識別するためのコースＩＤと、コースの実体となるコースデータと、そのコースに関する書誌情報等が関連づけられて、このデータベースに格納されている。専用ビューワ向けデータ２０２は、上記専用ビューワで表示される内容の基となるデータである。例えば、「人気ランキング」を示すデータ等である。
【００６２】
図１４は、ポータルサーバ１０４の内部記憶装置１２２に記憶される主なデータを示す図である。ポータルサーバ１０４の内部記憶装置１２２には、アカウントデータ２１１と、「後でリスト」データ２１２と、ポータルサイトデータ２１３等が記憶される。アカウントデータ２１１は、上記会員ＩＤやパスワード等のアカウントのデータである。「後でリスト」データ２１２は、上記の「後でリスト」のデータであり、例えば、会員ＩＤと、少なくとも１つのコースＩＤとが関連づけられて記憶されたデータである。ポータルサイトデータ２１３は、上述したようなポータルサイトを構成するデータである。換言すれば、上記ゲーム装置１０１や情報処理端末１０２に送信するウェブページデータを作成するための各種データが含まれる。
【００６３】
図１５は、ゲーム装置１０１の内部記憶装置１１２に記憶されるデータを示す図である。ゲーム装置１０１の内部記憶装置１１２には、ゲームプログラム２２１、ウェブブラウザプログラム２２２、会員ＩＤデータ２２３、コンテンツサーバに関するアドレスデータ２２４、ポータルサーバに関するアドレスデータ２２５等が格納される。これらは、必要に応じてメインメモリ１１３にコピーされて用いられる。ゲームプログラム２２１は、上述したようなゲーム処理を実現するためのプログラムである。また、ウェブブラウザプログラム２２２は、上記のようなゲーム装置１０１のウェブブラウザの機能（ウェブブラウザ処理）を実現するためのプログラムである。会員ＩＤデータ２２３は、上記ポータルサイトの会員ＩＤやパスワードである。例えばゲーム装置１０１の初回起動時等に会員ＩＤやパスワードの入力が要求され、その入力された内容を保存したものである。コンテンツサーバに関するアドレスデータ２２４は、上記コンテンツサーバ１０３へのアクセスに必要なアドレス情報である。ポータルサーバに関するアドレスデータ２２５は、ポータルサーバ１０４へのアクセスに必要なアドレス情報（上記ポータルサイトの一般公開用ＵＲＬや、非公開のＵＲＬ等）である。また、ユーザの操作内容を示す操作データ等も適宜生成されて、例えばメインメモリ１１３に記憶される。
【００６４】
また、図示は省略するが、情報処理端末１０２の内部記憶装置にも、所定のウェブブラウザプログラム等が適宜格納されている。
【００６５】
次に、ゲームプログラム２２１により実行されるゲーム処理の詳細について、図１６を用いて説明する。図１６〜図１７は、ゲームプログラム２２１で実行される処理の詳細を示すフローチャートである。ゲームプログラム２２１が起動されると、まず、プロセッサ部１１１は、初期処理を行い、各種データの初期化が実行される（Ｓ１）。次に、プロセッサ部１１１は、操作データを取得する（Ｓ２）。次に、プロセッサ部１１１は、操作データで示される操作内容が、ウェブブラウザ起動の指示であるか否かを判定する（Ｓ３）。例えばメインメニューから「ウェブブラウザで検索」の項目が選択された場合である。当該判定の結果、ウェブブラウザを起動する指示であるときは（Ｓ３でＹＥＳ、この場合は基本的に上記「即時ルート」の態様に相当することになる）、プロセッサ部１１１は、上記第２サーバに関するアドレスデータ２２５から、上記ポータルサイトの非公開ＵＲＬを取得する。そして、プロセッサ部１１１は、これを引数として設定して、上述した「コールバック起動」によるウェブブラウザプログラム２２２の起動を行う（Ｓ４）。その後、プロセッサ部１１１は、当該ゲームプログラムにかかるゲーム処理を、一旦バックグラウンドに移行するための処理も実行する（その結果、ゲーム装置１０１の表示される画面も、ゲーム処理の画面からウェブブラウザの画面に変化することになる）。
【００６６】
次に、プロセッサ部１１１は、ウェブブラウザプログラム２２２の実行にかかるウェブブラウザ処理から「戻り値」が出力されたか否かを（バックグラウンドプロセスとして）監視する処理を実行する（Ｓ５）。なお、他の実施形態では、戻り値を監視する代わりに、ウェブブラウザ処理がバックグラウンドに移行したか否かを監視するような処理でもよい。
【００６７】
「戻り値」が返ってきたことが検出されると（Ｓ５でＹＥＳ）、プロセッサ部１１１は、当該ゲームプログラムに係る処理をフォアグラウンドに復帰させ、戻り値の内容を解析する処理を実行する（Ｓ６）。
【００６８】
次に、プロセッサ部１１１は、戻り値の内容が、上述したような第１のＵＲＬであるか否かを判定する（Ｓ７）。本実施形態では、例えば、上記ウェブブラウザによるポータルサイトの閲覧において、ユーザが「いますぐ」ボタン１５５を選択することなくウェブブラウザを終了したような場合（「後で」の指定だけで終わったような場合等）は、当該戻り値としては、その旨を示す戻り値（第１のＵＲＬとは異なる値、例えばＮＵＬＬ値）が設定されているものとする。この判定の結果、戻り値が第１のＵＲＬではない場合は（Ｓ７でＮＯ）、上記Ｓ２の処理に戻る。一方、第１ＵＲＬである場合は（Ｓ７でＹＥＳ）、次に、プロセッサ部１１１は、第１のＵＲＬに基づいて第２のＵＲＬを生成する処理を実行する（Ｓ８）。例えば上記のように"localhost"の文字列をコンテンツサーバ１０３のアドレスに置き換える処理等である。
【００６９】
次に、プロセッサ部１１１は、上記第２のＵＲＬを用いてコンテンツサーバ１０３へアクセスして、コースデータを要求する処理を実行する（Ｓ９）。コンテンツサーバ１０３から、対応するコースデータの送信が開始されると、プロセッサ部１１１は、コースデータのダウンロード処理を実行する（図１７のＳ１０）。なお、これ以前にダウンロードしたコースデータがメインメモリ１１３等に残っている場合は、このタイミングで消去するようにしても良い。また、この際、プロセッサ部１１１は、ダウンロードの進捗を示す画面を適宜生成して表示する。
【００７０】
ダウンロードが完了すれば、プロセッサ部１１１は、当該ダウンロードしたコースデータをメインメモリ１１３に展開し、当該コースデータに基づいて仮想ゲーム空間を生成する（Ｓ１１）。そして、当該コースのプレイ画面を表示し、このコースをプレイするための処理が実行される（Ｓ１２）。すなわち、操作データに基づきプレイヤキャラクタを移動させる等の、当該コースにかかるゲーム処理が適宜実行される。
【００７１】
次に、プロセッサ部１１１は、コースのプレイが終了したか否かを判定する（Ｓ１３）。例えば、コースをクリアしたか、あるいは、クリアに失敗して終わったか（残機が０になる等）、あるいは、ユーザによる明示的なプレイ終了指示を受付けたか、等で判定される。その結果、プレイがまだ終了していないときは（Ｓ１３でＮＯ）、上記Ｓ１２の処理に戻り、コースのプレイ処理が継続される。一方、プレイが終了した場合は（Ｓ１２でＹＥＳ）、次に、プロセッサ部１１１は、現在プレイされたコースが、「いますぐ」でダウンロードしたコースのプレイであったか否かを判定する（Ｓ１４）。この判定手法はどのようなものでもよいが、例えば、コールバック起動で得られた戻り値に基づくコースデータのプレイであることを示すフラグを用意しておく。そして、例えば上記第１のＵＲＬに基づいて第２のＵＲＬを生成するタイミングで当該フラグをオンに設定しておくようにしておき、当該フラグに基づいて判定するようにすれば良い。
【００７２】
上記判定の結果、「いますぐ」でダウンロードしたコースのプレイではないときは（Ｓ１４でＮＯ）、上記Ｓ２の処理に戻る。一方、「いますぐ」でダウンロードしたコースのプレイであったときは（Ｓ１４でＹＥＳ）、以下のような処理を実行する。すなわち、「いますぐ」でダウンロードしたコースをプレイした場合は、そのプレイ終了時に、「ブラウザに戻る」か否かの問い合わせが行われる。そして、ユーザが「ブラウザに戻る」ことを選んだときは、ウェブブラウザが立ち上がり、上記ポータルサイトへのアクセスが行われ、今プレイしたコースに関する情報が示されているウェブページが表示される、という動作が実行される。より具体的には、まず、プロセッサ部１１１は、「ブラウザに戻る」か否かを問い合わせる画面を表示する（Ｓ１５）。次に、プロセッサ部１１１は、この問い合わせに対して「ブラウザに戻る」ことがユーザによって選択されたか否かを操作データに基づいて判定する（Ｓ１６）。選択されなかった場合は（Ｓ１６でＮＯ）、上記Ｓ２の処理に戻る。一方、「ブラウザに戻る」ことが選択された場合は（Ｓ１６でＹＥＳ）、プロセッサ部１１１は、ウェブブラウザプログラム２２２をコールバック起動する処理を実行する（Ｓ１７）。この処理は、上記Ｓ４の処理を基本的には同じであるが、引数として指定する値が異なったものとなる。具体的には、ここで指定される引数は、今回プレイしたコースのコース情報（上記図８参照）のウェブページのＵＲＬが指定される。その後、上記Ｓ５の処理に戻る。プレイ終了時にこのような処理を行うことで、特に、上記の「即時ルート」の態様におけるユーザの利便性を高めることが可能となる。
【００７３】
次に、図１６のＳ３の判定の結果、操作データで示される操作内容が、ウェブブラウザ起動の旨の指示ではなかった場合（Ｓ３でＮＯ）について説明する。この場合は、プロセッサ部１１１は、操作データで示される操作内容が「専用ビューワ起動」の指示であるか否かを判定する（Ｓ１８）。例えばメインメニューから「専用ビューワ」の項目が選択された場合である。当該判定の結果、「専用ビューワ起動」の指示であるときは（Ｓ１８でＹＥＳ）、プロセッサ部１１１は、専用ビューワ処理を実行する（Ｓ１９）。この流れは、上記「専用ビューワルート」の態様に相当する。
【００７４】
図１８は、上記Ｓ１９にかかる専用ビューワ処理の詳細を示すフローチャートである。まず、プロセッサ部１１１は、コンテンツサーバ１０３にアクセスし、専用ビューワ用のデータを要求する。これに応じてコンテンツサーバ１０３から専用ビューワ用のデータが送信され、プロセッサ部１１１は、このデータを取得（受信）する（Ｓ３１）。
【００７５】
次に、プロセッサ部１１１は、上記取得した専用ビューワ用データに基づいて、専用ビューワ画面を生成して表示部１１６に表示する（Ｓ３２）。
【００７６】
次に、プロセッサ部１１１は、操作データを取得し（Ｓ３３）、その操作内容が、コースデータのダウンロード指示であるか否かを判定する（Ｓ３４）。ダウンロード指示である場合は（Ｓ３４でＹＥＳ）、プロセッサ部１１１は、操作内容に基づいて、例えば上記第２のＵＲＬを生成する等して、コンテンツサーバ１０３に対するコースデータの要求を生成する。そして、プロセッサ部１１１は、コンテンツサーバ１０３にアクセスして、操作内容で指定されたコースデータをダウンロードする処理を実行する（Ｓ３５）。ダウンロードが完了すれば、当該専用ビューワ処理は終了する。
【００７７】
一方、上記Ｓ３４の判定の結果、操作内容がコースデータのダウンロード指示ではない場合は（Ｓ３４でＮＯ）、次に、プロセッサ部１１１は、操作内容が、上述したようなごく簡易な検索のための指示であるか否かを判定する（Ｓ３６）。例えば、ある「作成者」が作ったコースだけの表示を要求するような簡易的なフィルタリングの指示等である。このような指示が出された場合は（Ｓ３６でＹＥＳ）、プロセッサ部１１１は、当該フィルタリング指示内容を含むリクエストをコンテンツサーバ１０３に送信する。そして、これに応じてコンテンツサーバ１０３から送信されてくる専用ビューワ用のデータを取得する処理を実行する（Ｓ３７）。その後、上記Ｓ３２の処理に戻る。その結果、上記フィルタリング指示に応じた専用ビューワ画面が生成されて表示されることになる。
【００７８】
一方、上記Ｓ３６の判定の結果、操作内容が、上述の簡易検索のための指示ではない場合は（Ｓ３６でＮＯ）、プロセッサ部１１１は、操作内容が、専用ビューワの終了指示であるか否かを判定する（Ｓ３８）。その結果、終了指示である場合は（Ｓ３８でＹＥＳ）、プロセッサ部１１１は、専用ビューワ処理を終了する。一方、終了指示ではない場合は（Ｓ３８でＮＯ）、プロセッサ部１１１は、操作内容に応じたその他の処理（専用ビューワに関連する処理）を実行する（Ｓ３９）。そして、上記Ｓ３３の処理に戻る。以上で、専用ビューワ処理の説明を終了する。
【００７９】
図１６に戻り、専用ビューワ処理が終了すれば、プロセッサ部１１１は、上記専用ビューワ処理によって（または、後述の「後でリスト閲覧処理」によって）何らかのコースデータが取得（ダウンロード）されたか否かを判定する（Ｓ２０）。これは、例えば、新たにコースデータがダウンロードされたことを示すフラグを用意しておいて、これを用いて判定すれば良い。例えば、専用ビューワ処理（及び、後述の後でリスト閲覧処理）においてコースデータのダウンロードが実行されたタイミングで、このフラグをオンに設定しておけばよい。この判定の結果、コースデータが取得されている場合は（Ｓ２０でＹＥＳ）、上記Ｓ１１の処理に進む。一方、コースデータが取得されていない場合は（Ｓ２０でＮＯ）、上記Ｓ２の処理に戻る。
【００８０】
次に、上記Ｓ１８の判定の結果、操作データで示される操作内容が「専用ビューワ起動」の指示ではない場合（Ｓ１８でＮＯ）について説明する。この場合は、プロセッサ部１１１は、操作データで示される操作内容が「後でリスト」を閲覧する指示であるか否かを判定する（Ｓ２１）。例えばメインメニューから「後でリスト閲覧」の項目が選択された場合である。その結果、「後でリスト」を閲覧する指示ではない場合は（Ｓ２１でＮＯ）、プロセッサ部１１１は、操作データに基づいたその他のゲーム処理を実行する（図ｘのＳ２３）。一方、「後でリスト」を閲覧する指示である場合は（Ｓ２１でＹＥＳ）、プロセッサ部１１１は、後でリスト閲覧処理を実行する（Ｓ２２）。
【００８１】
図１９は、上記後でリスト閲覧処理の詳細を示すフローチャートである。図１９において、まず、プロセッサ部１１１は、ポータルサーバ１０４から「後でリスト」を取得するための処理を実行する（Ｓ４１）。具体的には、プロセッサ部１１１は、まず、会員ＩＤデータ２２３を内部記憶装置１１２から取得する。そして、当該会員ＩＤデータ２２３と共に「後でリスト」データの送信要求をポータルサーバ１０４に送信する。ポータルサーバ１０４からは、当該会員ＩＤデータに応じた「後でリスト」データが送信されてくるため、プロセッサ部１１１は、当該データを受信することで、「後でリスト」の取得を実行する。
【００８２】
次に、プロセッサ部１１１は、上記取得した「後でリスト」データに基づいて、上記図１１で示したような「後でリスト」を表示するための画面を生成して表示部１１６に表示する（Ｓ４２）。
【００８３】
次に、プロセッサ部１１１は、操作データを取得する（Ｓ４３）。そして、プロセッサ部１１１は、操作内容が、後でリストに登録されているいずれかのコースをダウンロードする指示であるか否かを判定する（Ｓ４４）。その結果、ダウンロードの指示である場合は（Ｓ４４でＹＥＳ）、プロセッサ部１１１は、選択されたコースデータをコンテンツサーバ１０３からダウンロードするための処理を実行する（Ｓ４５）。具体的には、プロセッサ部１１１は、操作データに基づいて、「後でリスト」から選択されたコースを特定し、そのコースＩＤを判別する。そして、プロセッサ部１１１は、当該コースＩＤに対応するコースデータの送信要求を生成して、コンテンツサーバ１０３に送信する。これに応じてコンテンツサーバ１０３からはコースデータが送信されてくるため、プロセッサ部１１１はこれを受信する。
【００８４】
次に、プロセッサ部１１１は、今回ダウンロードしたコースを上記「後でリスト」から削除する指示を生成し、ポータルサーバ１０４に送信する（Ｓ４６）。なお、他の実施形態では、この削除指示を送信する処理は実行されなくとも良い。例えば、ユーザが手動で「後でリスト」の編集を行う場合は、必ずしもこの処理は行われなくとも良い。
【００８５】
次に、上記Ｓ４４の判定の結果、操作内容が、ダウンロードの指示ではない場合は（Ｓ４４でＮＯ）、プロセッサ部１１１は、操作内容が「後でリスト」閲覧処理の終了指示であるか否かを判定する（Ｓ４７）。当該判定の結果、終了指示ではない場合は（Ｓ４７でＮＯ）、プロセッサ部１１１は、操作内容に基づくその他の処理を実行する（Ｓ４８）。その後、Ｓ４３の処理に戻る。一方、終了指示であった場合は（Ｓ４７でＹＥＳ）、プロセッサ部１１１は、後でリスト閲覧処理を終了する。
【００８６】
図１６に戻り、後でリスト閲覧処理が終了すれば、上記Ｓ２０の処理が実行される。すなわち、上記専用ビューワ処理、または、後でリスト閲覧処理によって何らかのコースデータが取得（ダウンロード）されたか否かを判定する処理が実行されることになる。そして、当該判定の結果に応じて、上述したような処理が実行される。
【００８７】
以上で、ゲームプログラム２２１によって実行されるゲーム処理の説明を終了する。
【００８８】
次に、図２０を用いて、ウェブブラウザプログラム２２２の実行で実現されるウェブブラウザ処理の詳細について説明する。図２０は、ウェブブラウザ処理の詳細を示すフローチャートである。プロセッサ部１１１は、ウェブブラウザの起動指示を受付けると、所定の初期処理を実行した後、ゲームプログラム２２１（によるゲーム処理）からの上記コールバック起動がなされたか否かを判定する（Ｓ５１）。当該判定の結果、コールバック起動であるときは（Ｓ５１でＹＥＳ）、プロセッサ部１１１は、コールバック起動の際に引数として渡されたＵＲＬを用いて、ポータルサーバ１０４にアクセスする（Ｓ５２）。ポータルサーバ１０４からは、例えばポータルサイトのトップページ等のウェブページデータが送信されてくる。プロセッサ部１１１は、これを受信し、ウェブページデータに基づいてウェブページを生成（レンダリング）して表示部１１６に表示する（Ｓ５３）。
【００８９】
次に、プロセッサ部１１１は、操作データを取得し（Ｓ５４）、操作内容が上記のような「いますぐ」ボタン１５５を選択する操作であったか否かを判定する（Ｓ５５）。その結果、「いますぐ」ボタン１５５を選択する操作ではないときは（Ｓ５５でＮＯ）、プロセッサ部１１１は、操作内容に基づくその他の処理を適宜実行する（Ｓ５８）。例えば、詳細な検索条件を指定して検索を行う旨の操作内容であれば、その検索条件を第２サーバに送信し、検索結果となるウェブページを取得する処理等が実行される。
【００９０】
一方、「いますぐ」ボタン１５５を選択する操作であったときは（Ｓ５５でＹＥＳ）、プロセッサ部１１１は、選択された「いますぐ」ボタン１５５に対応する上記第１のＵＲＬを取得する。そして、プロセッサ部１１１は、当該第１ＵＲＬをコールバック起動の「戻り値」として設定し、呼び出し元のゲーム処理に出力する処理を実行する（Ｓ５６）。その後、プロセッサ部１１１は、当該ウェブブラウザ処理をバックグラウンドに移行するための処理を実行する（Ｓ５７）。
【００９１】
一方、上記Ｓ５１の判定の結果、上記コールバック起動ではないと判定されたときは（Ｓ５１でＮＯ）、プロセッサ部１１１は、例えばデフォルト値として予め設定されている所定のＵＲＬにアクセスし（Ｓ５９）、そのＵＲＬにかかるウェブページを表示する（Ｓ６０）。次に、プロセッサ部１１１は、操作データを取得し（Ｓ６１）、当該操作データで示される操作内容に基づいて所定の処理を実行する（Ｓ６２）。その後、上記Ｓ６０の処理に戻る。つまり、この場合は、一般的なウェブブラウジングの処理が実行されることになる。以上で、ウェブブラウザプログラムで実行されるウェブブラウザ処理の説明を終了する。
【００９２】
次に、コンテンツサーバ１０３において実行される処理の詳細を説明する。図２１は、コンテンツサーバ１０３で実行される処理の詳細を示すフローチャートである。当該フローチャートで示される処理が所定の周期で繰り返し実行される。まず、コンテンツサーバ１０３のプロセッサ部１２１は、ゲーム装置１０１から専用ビューワ用データの送信要求があったか否かを判定する（Ｓ７１）。専用ビューワ用のデータの要求があったときは（Ｓ７１でＹＥＳ）、コンテンツサーバ１０３のプロセッサ部１２１は、専用ビューワ向けデータ２０２から必要なデータを取得し、要求元のゲーム装置１０１（ゲームプログラム２２１宛）に送信する（Ｓ７２）。
【００９３】
一方、上記Ｓ７１の判定の結果、ゲーム装置１０１から専用ビューワ用データの送信要求がないときは（Ｓ７１でＮＯ）、次に、コンテンツサーバ１０３のプロセッサ部１２１は、ゲーム装置１０１から、コースデータのダウンロードの要求があったか否かを判定する（Ｓ７３）。その結果、コースデータのダウンロード要求があったときは（Ｓ７３でＹＥＳ）、当該要求で指定されるコースデータをコースデータＤＢ２０１から取得し、要求元のゲーム装置に送信する（Ｓ７４）。
【００９４】
一方、上記Ｓ７３の判定の結果、コースデータのダウンロードの要求でもないときは（Ｓ７３でＮＯ）、コンテンツサーバ１０３のプロセッサ部１２１は、その他の処理を適宜実行する（Ｓ７５）。以上で、コンテンツサーバ１０３で実行される処理の説明を終了する。
【００９５】
次に、ポータルサーバ１０４において実行される処理の詳細を説明する。図２２は、ポータルサーバ１０４で実行される処理の詳細を示すフローチャートである。当該フローチャートで示される処理も所定の周期で繰り返し実行される。
【００９６】
図２２において、ポータルサーバ１０４のプロセッサ部１２１は、まず、上記ポータルサイトの一般公開用のＵＲＬへのアクセス要求の有無を判定する（Ｓ８１）。当該判定の結果、一般公開用のＵＲＬへのアクセス要求があったときは（Ｓ８１でＹＥＳ）、ポータルサーバ１０４のプロセッサ部１２１は、その要求元の端末との間で、必要に応じてログイン処理を実行する。そして、ポータルサーバ１０４のプロセッサ部１２１は、要求内容に応じたウェブページデータを生成して、要求元の端末に送信する（Ｓ８２）。なお、ここで生成されるウェブページデータには、上記「いますぐ」ボタン１５５が含まれないウェブページのデータとなる。
【００９７】
一方、Ｓ８１の判定の結果、一般公開用のＵＲＬへのアクセス要求がなかったときは（Ｓ８１でＮＯ）、次に、ポータルサーバ１０４のプロセッサ部１２１は、上記ポータルサイトの非公開のＵＲＬへのアクセス要求の有無を判定する（Ｓ８３）。すなわち、上記コールバック起動が行われたときにおけるウェブブラウザ処理（ゲーム装置１０１）からのアクセスの有無である。当該判定の結果、非公開のＵＲＬへのアクセス要求があったときは（Ｓ８３でＹＥＳ）、ポータルサーバ１０４のプロセッサ部１２１は、要求内容に応じたウェブページデータを生成して要求元に送信する（Ｓ８４）。ここでのウェブページデータは、上記「いますぐ」ボタン１５５が含まるウェブページのデータとなる。
【００９８】
なお、他の実施形態では、このＳ８４の処理の前に、要求元となる端末（ブラウザ）の、いわゆる「ユーザエージェント」を判定する処理を実行しても良い。本実施形態では、当該非公開ＵＲＬへのアクセスは、基本的にはゲーム装置１０１からしか行われないことを想定している。しかし、スマートフォンやＰＣのブラウザで当該非公開ＵＲＬの文字列が直接的に入力された場合も想定して、アクセス元の端末（ブラウザ）がゲーム装置１０１であるか否かをユーザエージェントを用いて判定するようにしてもよい。そして、もしスマートフォンやＰＣからのアクセスであった場合は、上述の一般公開用のＵＲＬにリダイレクトする処理を行っても良い。
【００９９】
一方、上記Ｓ８３の判定の結果、非公開のＵＲＬへのアクセス要求がなかったときは（Ｓ８３でＮＯ）、次に、ポータルサーバ１０４のプロセッサ部１２１は、「後でリスト」の送信要求の有無を判定する（Ｓ８５）。当該判定の結果、「後でリスト」の送信要求があったときは（Ｓ８５でＹＥＳ）、ポータルサーバ１０４のプロセッサ部１２１は、当該要求に含まれている会員ＩＤに基づき、対応する「後でリスト」データ２１２を検索して取得して、要求元のゲーム装置１０１に送信する（Ｓ８６）。
【０１００】
一方、上記Ｓ８５の判定の結果、「後でリスト」の送信要求がなかったときは（Ｓ８５でＮＯ）、ポータルサーバ１０４のプロセッサ部１２１は、「後でリスト」を更新する指示の有無を判定する（Ｓ８７）。これは、スマートフォン等において、上記「後で」ボタン１５４がクリックされることでコースをリストに追加する場合）や、ダウンロード済みのコースを「後でリスト」から削除するような場合である。当該判定の結果、「後でリスト」を更新する指示があるときは（Ｓ８７でＹＥＳ）、ポータルサーバ１０４のプロセッサ部１２１は、その指示内容に基づいて、「後でリスト」へのデータの追加や削除を行う（Ｓ８８）。
【０１０１】
一方、上記Ｓ８７の判定の結果、「後でリスト」の更新指示もなかったときは（Ｓ８７でＮＯ）、ポータルサーバ１０４のプロセッサ部１２１は、その他の処理を適宜実行する（８９）。以上で、第２サーバで実行される処理の説明を終了する。
【０１０２】
このように、本実施形態では、ゲーム処理で実現される機能のうち、所定のサーバとのやりとりを伴うような機能（本実施形態ではコースデータの検索）については、ウェブ上で動作するウェブアプリとして実現している。つまり、ゲーム処理で実現される複数の機能のうち、コースデータの検索機能にかかる部分についてウェブアプリとして実現している。これにより、開発段階における開発の負荷を軽減すると共に、ゲームの発売後におけるユーザのニーズによりスピーディーに対応したり、利便性をより高めたりすることができる環境を提供できる。特に、更新頻度が高いデータや投稿コンテンツ性のあるデータを検索等する場合に有用である。また、スマートフォン等から、上記のポータルサイトを利用する場合、上記会員ＩＤの入力が求められるが、ゲームプログラムから上記コールバック起動を利用してポータルサイトを利用する場合は、このような会員ＩＤの入力が不要となる。また、上記のゲームプログラムからのコールバック起動の態様であれば、ユーザが会員ＩＤを持っていない場合でもポータルサイトを利用することができる。また、例えば、一般的に知られる「追加コンテンツの購入」の場合、決済処理等の必要もあること等から、「サインイン」等の処理は必須となるが、本実施形態のようなシステム（特に「即時ルート」の態様）であれば、このようなサインインは不要となり、ユーザの利便性を高めることができる。
【０１０３】
なお、上記実施形態では、「即時ルート」においてウェブブラウザをコールバック起動した場合であって、その後戻り値をゲームプログラムに返す際、ウェブブラウザプログラムの処理をバックグラウンドに移行させていた。これに限らず、戻り値を返したタイミングで、ウェブブラウザプログラムの処理については終了させるようにしてもよい。
【０１０４】
また、他の実施形態では、ゲーム装置１０１のウェブブラウザプログラム２２２を利用する場合は、コールバック起動ではない場合であっても、上記「いますぐ」ボタン１５５を含むポータルサイトのページを表示するようにしても良い。この場合は、例えば、上記の非公開のＵＲＬは用いずに一般公開用のＵＲＬだけ利用するようにし、ユーザエージェントで、ゲーム装置１０１からのアクセスであるか、その他の情報処理装置からのアクセスかを判定する。そして、ゲーム装置１０１からのアクセスである場合にのみ、「いますぐ」ボタン１５５が含まれるウェブページを動的に生成すればよい。そして、ウェブブラウザプログラム２２２の処理において、「いますぐ」ボタン１５５がクリック等されたことを検知すれば、その時点でゲームプログラム２２１によるゲーム処理を起動させて、「いますぐ」ボタン１５５にかかるコースＩＤ等を当該ゲーム処理に渡すような処理を実行させれば良い。そして、ゲーム処理において、当該渡されたコースＩＤ等を用いてコンテンツサーバ１０３からコースデータをダウンロードする処理を実行させれば良い。
【０１０５】
また、上記ポータルサーバ１０４におけるポータルサイトのウェブページでは、上記図７や８等で示したようにコースに関する情報が表示される。このコースに関する情報については、ポータルサイト１０４がコンテンツサーバ１０３と接続して、当該コンテンツサーバ１０３からコースに関する情報（例えばコースＩＤ等）を取得するように構成しても良い。例えば、ポータルサーバ１０４とコンテンツサーバ１０３が同じ構内にあるような場合は、両者をＬＡＮ（ローカルエリアネットワーク）で接続しても良い。または、ポータルサーバ１０４とコンテンツサーバ１０３とを、上記の専用ネットワークで接続するようにしてもよい。
【０１０６】
また、他の実施形態では、上記コールバック起動を行うとき、ウェブブラウザプログラムに渡す引数に、ユーザの特性を示す情報を含めるようにしても良い。例えば、そのユーザがクリアしたコースの数や、今までにクリアしたコースのＩＤ等を、引数に含めるようにしても良い。つまり、上記非公開のＵＲＬの文字列に、例えばクリアしたコース数を示す文字列を付加して、ポータルサーバ１０４にアクセスするようにしてもよい。そして、ポータルサーバ１０４では、ユーザの特性に応じて、例えばポータルサイトのトップページに表示する内容を動的にカスタマイズするようにしてもよい。例えば、クリアコースの数が多いユーザは、そのゲームをやり込んでいると考えられることから、比較的難易度の高いコースをピックアップしたリストをトップページに表示するようにしてもよい。
【０１０７】
また、上述した実施形態では、「コースデータ」を検索してダウンロードする場合を例に挙げた。このようなコースデータの他、次のようなデータ（商品）についても本実施形態のシステムは適用できる。具体的には、ゲーム処理と連動可能な「フィギュア」が多数の種類、発売されている場合を想定する。また、このフィギュアには例えばＩＣタグが搭載されており、ゲーム装置１０１側では、これを読み取る機能が実装されているとする。このような場合、当該フィギュアを利用する、あるゲームが発売されたとする。このゲームの開発段階では、その時点で流通しているフィギュアについては把握できるため、これを想定したゲームの作り込みは可能である。しかし、ゲーム発売後に新たな種類のフィギュアが発売されることも想定される。このような場合は、新たな種類のフィギュアに対応するゲームデータ、例えばそのフィギュアに対応する画像データを、上記（コールバック起動された）ウェブブラウザを用いて所定のサーバからダウンロードさせる（そのフィギュアをユーザが購入していることが前提である）。そして、ウェブブラウザから「戻り値」として、この画像データをゲーム処理側に出力し、ゲーム処理において、当該画像データと上記新たな種類のフィギュアとを対応づけた処理を実行するようにしてもよい。これにより、あるゲームの発売後に新たな種類のフィギュアが発売された場合でも、ゲームプログラム自体に更新をかけることなく、そのフィギュアを利用したゲーム処理を実行することが可能となる。
【０１０８】
また、本実施形態の他の適用例として、次のような処理に適用しても良い。上述のゲーム処理は、ゲームコースをユーザが作成するというものであったが、この作成の際に用いるコースのパーツをゲーム発売後に追加して、ユーザが利用できるようにしてもよい。例えば、ゲームプログラムからウェブブラウザをコールバック起動し、ポータルサイトにアクセスする。ポータルサイトでは、追加のコースパーツが検索でき、また、その画像データとそのパーツＩＤ等をダウンロードすることができる。なお、このコースパーツにかかるデータ量は数１００ＫＢ程度の小さなサイズであるものとする。ユーザは、このポータルサイトから使いたいコースパーツを選択し、ダウンロードする。そして、このダウンロードデータが戻り値としてゲーム処理に返される。ゲーム処理において、このダウンロードしたコースデータがメインメモリ１１３に展開される（ゲーム処理が終了すれば、この追加のコースデータも消去される）。ユーザは、このコースデータを用いてコースを作成し、このコースがコンテンツサーバ１０３にアップロードされる。その後、他のユーザがこのコースをダウンロードする際、例えばコンテンツサーバ１０３において、追加パーツが用いられているか否かを判定し、用いられているときは、当該追加パーツのデータも併せてダウンロードさせるようにしてもよい。これにより、ゲームプログラム自体に更新をかけることなく、ゲーム発売後に追加されたパーツを用いてコースを作成でき、また、そのパーツを利用したコースを他のユーザがダウンロードしてプレイすることも可能となる。
【０１０９】
また、上記実施形態では、ゲーム処理の場合を例として説明したが、ゲーム処理以外の適用例として、次のような処理に適用しても良い。例えば、ゲーム装置１０１上で動作するネイティブアプリとして、不動産情報アプリを動作させる場合を想定する。そして、不動産の物件データを、上述のコースデータのような取り扱いとする。すなわち、不動産情報アプリからコールバック起動でウェブブラウザを起動させ、ウェブブラウザ上で物件の検索を行い、例えば、物件ＩＤを示す戻り値を不動産情報アプリに返すようにする。不動産アプリにおいては、この戻り値に基づいて、物件データを所定のサーバからダウンロードする。そして、不動産アプリにおける処理として、仮想空間内に当該物件データに基づいた３Ｄモデルを生成し、ユーザが建物内部を仮想的に閲覧できるような処理を実行してもよい。
【符号の説明】
【０１１０】
１０１  ゲーム装置
１０２  情報処理端末
１０３  コンテンツサーバ
１０４  ポータルサーバ
【図１】
2017108845.tif 000003
【図２】
2017108845.tif 000004
【図３】
2017108845.tif 000005
【図４】
2017108845.tif 000006
【図５】
2017108845.tif 000007
【図６】
2017108845.tif 000008
【図７】
2017108845.tif 000009
【図８】
2017108845.tif 000010
【図９】
2017108845.tif 000011
【図１０】
2017108845.tif 000012
【図１１】
2017108845.tif 000013
【図１２】
2017108845.tif 000014
【図１３】
2017108845.tif 000015
【図１４】
2017108845.tif 000016
【図１５】
2017108845.tif 000017
【図１６】
2017108845.tif 000018
【図１７】
2017108845.tif 000019
【図１８】
2017108845.tif 000020
【図１９】
2017108845.tif 000021
【図２０】
2017108845.tif 000022
【図２１】
2017108845.tif 000023
【図２２】
2017108845.tif 000024