提供游戲用的服務(wù)器以及方法
【專利摘要】一種提供游戲用的服務(wù)器以及方法,可提供按照用戶終端的處理能力更確切地發(fā)送游戲用畫面的在線游戲。一實施方式的服務(wù)器具備如下模塊:游戲?qū)嵭胁浚糜趯嵭杏螒?;生成部,以第一時間間隔按照游戲的進展生成幀信息,所述幀信息中記錄有用于顯示游戲用畫面的一幀而在終端裝置中運行的多條繪圖指令;判斷部,用于判斷是否向終端裝置發(fā)送生成的幀信息;壓縮部,用于壓縮生成的幀信息;發(fā)送部,用于將判斷為進行發(fā)送的壓縮后的幀信息向終端裝置進行發(fā)送;以及請求部,以第二時間間隔請求終端裝置發(fā)送繪圖運行時間信息。
【專利說明】提供游戲用的服務(wù)器以及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及提供游戲用的服務(wù)器以及方法,詳細地說,涉及向以可通信方式連接的多臺終端裝置提供游戲用的服務(wù)器以及方法。
【背景技術(shù)】
[0002]以往,向借助互聯(lián)網(wǎng)等通信線路進行連接的個人電腦、智能手機或者游戲?qū)S媒K端等用戶終端提供在線游戲的系統(tǒng)為公眾所知(例如參考專利文獻I)。例如,在提供通常被稱作云游戲的服務(wù)的系統(tǒng)中,根據(jù)從用戶終端發(fā)送的輸入信息,在服務(wù)器側(cè)按照游戲的進展進行相應(yīng)的運算處理和圖像處理,并且將運算結(jié)果作為視頻動畫發(fā)送至用戶終端。另夕卜,例如,在提供通常被稱作多人在線游戲的服務(wù)的系統(tǒng)中,通過在游戲?qū)S媒K端或安裝了專用軟件的用戶終端與服務(wù)器之間使用專用協(xié)議進行通信,實現(xiàn)了提供由多個用戶同時進行操控的游戲。另一方面,隨著智能手機的普及,通過借助移動網(wǎng)絡(luò)等通信狀況容易發(fā)生變化的網(wǎng)絡(luò)進行連接并且具有多樣且多變的處理能力的用戶終端,使得大眾享受這種在線游戲的機會增多。
[0003]在先技術(shù)文獻
[0004]專利文獻
[0005]專利文獻1:日本特開2013-066524號公報
【發(fā)明內(nèi)容】
[0006]發(fā)明所要解決的技術(shù)問題
[0007]但是,在上述云游戲中,由于將游戲用畫面作為視頻動畫發(fā)送至用戶終端,因此難以應(yīng)對用戶終端多樣且多變的處理能力,例如,隨著用戶終端的處理能力下降,游戲用畫面的質(zhì)量會降低,有時還會出現(xiàn)死機的現(xiàn)象。另外,在上述的多人在線游戲中,考慮可實現(xiàn)按照用戶終端的處理能力使發(fā)送的游戲用畫面最優(yōu)化的解決方案,但是開發(fā)專用的協(xié)議需要花費巨大的成本。因此,期待以更簡單的方式實現(xiàn)按照用戶終端的處理能力更確切地發(fā)送游戲用畫面的解決方案。
[0008]本發(fā)明的實施方式的目的之一在于,提供一種按照用戶終端的處理能力更確切地發(fā)送游戲用畫面的在線游戲。本發(fā)明的其他目的通過參考本說明書的全部內(nèi)容即可知曉。
[0009]用于解決技術(shù)問題的方案
[0010]根據(jù)本發(fā)明的一實施方式,一種服務(wù)器,向以可通信方式連接的多臺終端裝置提供游戲,其特征在于,具備:游戲?qū)嵭胁?,根?jù)從所述終端裝置發(fā)送來的輸入信息實行所述游戲;生成部,按照游戲的進展以第一時間間隔生成幀信息,所述幀信息用于將與所述游戲的進展相應(yīng)的游戲用畫面的一幀顯示在所述終端裝置上;請求部,為了確定所述終端裝置的處理能力,以第二時間間隔請求所述終端裝置發(fā)送規(guī)定信息;判斷部,基于通過從所述終端裝置發(fā)送的所述規(guī)定信息而確定的該終端裝置的處理能力,判斷是否向所述終端裝置發(fā)送生成的所述幀信息;以及發(fā)送部,將判斷為向所述終端裝置發(fā)送的所述幀信息向該終端裝置進行發(fā)送。
[0011]根據(jù)本發(fā)明的一實施方式,一種向以可通信方式連接的多臺終端裝置提供游戲的方法,其特征在于,根據(jù)從所述終端裝置發(fā)送的輸入信息實行所述游戲;按照所述游戲的進展以第一時間間隔生成幀信息,該幀信息用于將與所述游戲的進展相應(yīng)的游戲用畫面的一幀顯示在所述終端裝置上;為了確定所述終端裝置的處理能力,以第二時間間隔請求所述終端裝置發(fā)送規(guī)定信息;基于通過從所述終端裝置發(fā)送的所述規(guī)定信息而確定的該終端裝置的處理能力,向所述終端裝置發(fā)送生成的所述幀信息;將判斷為向所述終端裝置發(fā)送的所述幀信息向該終端裝置進行發(fā)送。
[0012]發(fā)明的效果
[0013]通過本發(fā)明的各種實施方式,能夠提供一種按照用戶終端的處理能力更確切地發(fā)送游戲用畫面的在線游戲。
【專利附圖】
【附圖說明】
[0014]圖1是概略性地示出系統(tǒng)I的網(wǎng)絡(luò)結(jié)構(gòu)框圖,該系統(tǒng)I包含涉及本發(fā)明的一實施方式的服務(wù)器10。
[0015]圖2是概略性地示出一實施方式中的服務(wù)器10的功能模塊的框圖。
[0016]圖3是示出一實施方式中的統(tǒng)計信息管理表的一個示例的說明圖。
[0017]圖4是示出一實施方式中的幀信息生成發(fā)送處理的一個示例的流程圖。
[0018]圖5是示出一實施方式中的游戲用畫面60的一個示例的說明圖。
[0019]圖6是示出一實施方式中的幀信息的一個示例的說明圖。
[0020]圖7是示出一實施方式中的幀信息的其他示例的說明圖。
[0021]圖8是示出一實施方式中的統(tǒng)計信息獲取處理的一個示例的流程圖。
[0022]附圖標記說明:
[0023]1:系統(tǒng)
[0024]10:服務(wù)器
[0025]20:通信網(wǎng)絡(luò)
[0026]30:終端裝置
[0027]51:游戲?qū)嵭胁?br>
[0028]52:生成部
[0029]53:判斷部
[0030]54:壓縮部
[0031]55:發(fā)送部
[0032]56:請求部
[0033]60:游戲用畫面
[0034]80、90:幀信息
【具體實施方式】
[0035]圖1是概略性地示出系統(tǒng)I的網(wǎng)絡(luò)結(jié)構(gòu)框圖,該系統(tǒng)I包含涉及本發(fā)明的一實施方式的服務(wù)器10。如圖1所示,一實施方式中的服務(wù)器10借助互聯(lián)網(wǎng)等通信網(wǎng)絡(luò)20以可通信方式與普通計算機所構(gòu)成的終端裝置30相連接,能夠向操作該終端裝置30的用戶提供各種游戲。此外,在服務(wù)器10上以可通信的方式還連接著終端裝置30以外的未圖示的終端裝置。另外,服務(wù)器10能夠向操作終端裝置30的用戶提供游戲以外的各種數(shù)字內(nèi)容,能夠提供數(shù)字內(nèi)容以外的各種互聯(lián)網(wǎng)服務(wù),進一步,還能夠提供用于實現(xiàn)在操作多臺終端裝置30的多個用戶之間進行各種溝通交流的平臺。
[0036]如圖所示,服務(wù)器10包括CPU(處理器)11、主存儲器12、用戶I/F(接口)13、通信I/F(接口)14、外部存儲器15以及光盤驅(qū)動器16,上述各構(gòu)成要素借助總線17互相電連接。CPUll將操作系統(tǒng)和用于控制在線游戲進展的控制用程序等各種程序從外部存儲器15加載到主存儲器12中,并運行所加載的程序中包含的命令。主存儲器12用于存儲CPUll運行的程序,例如由DRAM(動態(tài)隨機存取存儲器)構(gòu)成。
[0037]用戶I/F13例如包含用于接收操作者的輸入信息的鍵盤和鼠標等信息輸入裝置、以及用于輸出CPUll的運算結(jié)果的液晶顯示器等信息輸出裝置。通信I/F14是由硬件、固件(firmware)或TCP/IP (傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議)驅(qū)動程序和PPP (點對點協(xié)議)驅(qū)動程序等通信用軟件或其組合實現(xiàn)的,構(gòu)成為可借助通信網(wǎng)絡(luò)20與終端裝置30通信。
[0038]外部存儲器15例如用磁盤驅(qū)動器構(gòu)成,保存用于控制在線游戲進展的控制用程序等各種程序。另外,外部存儲器15中還可保存在游戲中所使用的各種數(shù)據(jù)??杀4嬖谕獠看鎯ζ?5中的各種數(shù)據(jù)也可以存儲在與服務(wù)器10以可通信方式連接且物理上與服務(wù)器10獨立分開的數(shù)據(jù)庫服務(wù)器中。光盤驅(qū)動器16讀取存儲在⑶-ROM、DVD-ROM、DVD-R等各種存儲介質(zhì)中的數(shù)據(jù),或者向這些存儲介質(zhì)寫入數(shù)據(jù)。例如,存儲在存儲介質(zhì)中的游戲應(yīng)用程序和游戲數(shù)據(jù)等的數(shù)據(jù)由光盤驅(qū)動器16讀取出來,并安裝到外部存儲器15中。
[0039]在一實施方式中,服務(wù)器10是用于管理由分層結(jié)構(gòu)的多個網(wǎng)頁構(gòu)成的網(wǎng)站的網(wǎng)頁服務(wù)器,能夠向終端裝置30提供游戲服務(wù)。終端裝置30能夠從服務(wù)器10獲取用于顯示網(wǎng)頁的HTML(超文本標記語言)數(shù)據(jù),解析獲取的HTML數(shù)據(jù),并將該網(wǎng)頁顯示給終端裝置30的用戶(游戲用戶)。借助這樣的網(wǎng)頁而提供的游戲有時被稱作瀏覽器游戲。外部存儲器15中也保存用于顯示該網(wǎng)頁的HTML數(shù)據(jù)。HTML數(shù)據(jù)由HTML等標記語言所寫成的HTML文檔構(gòu)成,在該HTML文檔中關(guān)聯(lián)各種圖像。另外,HTML文檔中可嵌入用Act1nScript和JavaScript (注冊商標)等的腳本語言等寫成的程序。
[0040]在外部存儲器15中也可保存終端裝置30在瀏覽器軟件以外的運行環(huán)境中運行的游戲應(yīng)用程序。該游戲應(yīng)用程序中能夠包含用于運行游戲的游戲程序和該游戲程序運行時參照的圖像數(shù)據(jù)等各種數(shù)據(jù)。游戲程序例如用Objective-C、Java(注冊商標)等面向?qū)ο蟮木幊陶Z言做成。做成的游戲程序與各種數(shù)據(jù)一起作為應(yīng)用軟件保存在外部存儲器15中。保存在外部存儲器15中的應(yīng)用軟件按照傳送請求被傳送至終端裝置30。在終端裝置30中,從服務(wù)器10傳送來的應(yīng)用軟件根據(jù)CPU31的控制并經(jīng)由通信I/F34接收,經(jīng)接收的游戲程序被發(fā)送到外部存儲器35中進行存儲。該應(yīng)用軟件根據(jù)用戶對終端裝置30的操作而啟動,在安裝于終端裝置30中的NgCore (商標)或Android(商標)等平臺上運行。服務(wù)器10向在終端裝置30上運行的游戲應(yīng)用程序提供游戲進展所需的各種數(shù)據(jù)。另外,月艮務(wù)器10將從終端裝置30發(fā)送來的各種數(shù)據(jù)以用戶為單位進行保存,由此能夠管理每個用戶的游戲進展。
[0041 ] 這樣,服務(wù)器10對提供游戲服務(wù)的網(wǎng)站進行管理,按照來自終端裝置30的請求傳送構(gòu)成該網(wǎng)站的網(wǎng)頁,由此能夠?qū)嵭杏螒?。另外,服?wù)器10能夠代替這樣的瀏覽器游戲或在瀏覽器游戲以外,基于與終端裝置30上所運行的游戲應(yīng)用程序之間的通信,使游戲進展下去。服務(wù)器10無論以何種方式提供游戲,都能夠以用于識別各用戶的識別信息為單位保存游戲進展所需的數(shù)據(jù)。服務(wù)器10還可具有在游戲開始時執(zhí)行用戶認證處理的功能或者對按照游戲的進展所產(chǎn)生的費用進行計費處理的功能,此處省略詳細說明。由服務(wù)器10提供的游戲包含動作類游戲、角色扮演類游戲、體育對戰(zhàn)類游戲、紙牌類游戲等任意種類的游戲。通過服務(wù)器10的網(wǎng)站或游戲應(yīng)用程序?qū)崿F(xiàn)的游戲種類并不僅限于在本說明書中明確記載的游戲種類。
[0042]在一實施方式中,終端裝置30是一種將從服務(wù)器10獲取的游戲用網(wǎng)站的網(wǎng)頁在瀏覽器上顯示出來并安裝有用于運行游戲應(yīng)用程序的應(yīng)用運行環(huán)境的任意信息處理裝置,可包括智能手機、平板電腦終端以及游戲?qū)S媒K端等。
[0043]如圖所示,終端裝置30包含CPU (處理器)31、主存儲器32、用戶I/F33、通信I/F34以及外部存儲器35,這些各構(gòu)成要素借助總線36相互電連接。
[0044]CPU31將操作系統(tǒng)等各種程序從外部存儲器35加載到主存儲器32中,并運行所加載的程序中包含的命令。主存儲器32用于存儲CPU31運行的程序,例如由DRAM構(gòu)成。
[0045]用戶I/F33是接收用戶輸入信息的信息輸入裝置和輸出CPU31的運算結(jié)果的信息輸出裝置,包括具備觸摸板的液晶顯示器等顯示裝置。
[0046]通信I/F34是由硬件、固件或TCP/IP驅(qū)動程序和PPP驅(qū)動程序等通信用軟件或其組合實現(xiàn),構(gòu)成為可借助通信網(wǎng)絡(luò)20與服務(wù)器10通信。
[0047]外部存儲器35例如由磁盤驅(qū)動器或閃存等構(gòu)成,用于保存操作系統(tǒng)等各種程序。另外,在借助通信I/F34從服務(wù)器10接收了游戲應(yīng)用程序的情況下,外部存儲器35將保存該接收到的游戲應(yīng)用程序。
[0048]具有這樣架構(gòu)的終端裝置30例如具備用于解析HTML形式的文件(HTML數(shù)據(jù))并將該文件進行畫面顯示的瀏覽器軟件,能夠根據(jù)該瀏覽器軟件的功能解析從服務(wù)器10獲取的HTML數(shù)據(jù),并顯示與接收到的HTML數(shù)據(jù)相對應(yīng)的網(wǎng)頁。另外,終端裝置30具備安裝在瀏覽器軟件中的插件(例如Adobe系統(tǒng)公司提供的Flash Player),能夠從服務(wù)器10獲取嵌入在HTML數(shù)據(jù)中的SWF形式的文件,并使用瀏覽器軟件以及插件運行該SWF形式的文件。
[0049]在終端裝置30中運行游戲時,例如由程序指定的動畫和操作用圖標就會顯示在終端裝置30的畫面上。用戶能夠使用終端裝置30的輸入接口輸入用于實行游戲的指示。由用戶輸入的指示通過終端裝置30的瀏覽器和NgCore (商標)等平臺的功能傳送至服務(wù)器10。接下來,說明由一實施方式中的服務(wù)器10的CPUll運行的游戲程序。圖2是示出一實施方式中的服務(wù)器10的功能模塊構(gòu)成的框圖。如圖所示,服務(wù)器10具備:游戲?qū)嵭胁?1,根據(jù)從終端裝置30發(fā)送來的輸入信息實行游戲;生成部52,以第一時間間隔按照游戲的進展生成幀信息,該幀信息用于將與游戲的進展相應(yīng)的游戲用畫面的一幀顯示在終端裝置30上;判斷部53,根據(jù)終端裝置30的處理能力,判斷是否向終端裝置30發(fā)送生成的幀信息;壓縮部54,用于壓縮生成的幀信息;發(fā)送部55,用于將判斷為向終端裝置30進行發(fā)送的壓縮后的幀信息向終端裝置30進行發(fā)送;請求部56,為了確定終端裝置30的處理能力,以第二時間間隔請求終端裝置30發(fā)送繪圖運行時間信息(幀顯示時間信息/規(guī)定信息)。
[0050]圖3是示出在服務(wù)器10的外部存儲器15等中構(gòu)成的用統(tǒng)計信息管理表進行管理的信息的一個示例的說明圖。一實施方式中的統(tǒng)計信息管理表如圖所示那樣與用于識別終端裝置30的“終端ID”具有對應(yīng)關(guān)系,管理著如下信息:“發(fā)送時刻”,表示請求該終端裝置30發(fā)送繪圖運行時間信息的時刻;根據(jù)該請求從終端裝置30發(fā)送來的“繪圖運行時間信息”;“接收時刻”,表示服務(wù)器10接收到按照該請求從終端裝置30發(fā)送來的繪圖運行時間信息的時刻;以及“幀速率上限值”,表示相對于該終端裝置30的幀速率(單位時間的幀數(shù))的上限值。在此,在一實施方式中,“繪圖運行時間信息”是指在終端裝置30中運行與游戲用畫面的一幀相對應(yīng)的幀信息中所記錄的多條繪圖指令所需的時間的平均值(繪制(顯示)一幀所需的時間的平均值),例如是在終端裝置30中運行記錄在與最近的規(guī)定數(shù)量(例如10)的幀相對應(yīng)的幀信息中的多條繪圖指令所需的時間的移動平均值。關(guān)于設(shè)定這些用統(tǒng)計信息管理表進行管理的信息的動作,將在后面進行說明。
[0051]接下來,對這樣構(gòu)成的一實施方式中的服務(wù)器10的動作進行說明。如前所述,一實施方式中的服務(wù)器10可提供各種游戲,但是作為適合用來說明本發(fā)明的一實施方式的示例,對涉及提供由多個用戶同時操控的多用戶在線游戲的動作進行說明。
[0052]在此,首先說明一實施方式中的多用戶在線游戲的概要。在一實施方式中的多用戶在線游戲中,多個用戶使自己的角色等在共同的游戲場景內(nèi)移動,以使游戲進展下去。作為多用戶在線游戲的更具體的例子,能夠舉例出角色扮演類游戲、射擊類游戲以及動作類游戲等各種游戲。使這樣的游戲進展下去的處理主要通過運行游戲?qū)嵭胁?1來進行。具體地說,例如作為來自終端裝置30的輸入信息,接收涉及移動角色等操作的信息和涉及執(zhí)行規(guī)定動作(例如攻擊、對話、獲取物品等)的指示的信息等各種信息,然后根據(jù)這一接收到的輸入信息計算與操作終端裝置30的用戶相對應(yīng)的角色等在游戲場景內(nèi)的當前位置,或者進行與指示動作相應(yīng)的處理(例如與其他用戶相對應(yīng)的角色或非操控角色進行的對戰(zhàn)處理、對話處理以及獲取物品處理等),計算用戶獲得的分數(shù)。
[0053]接下來,說明將上述游戲的進展所對應(yīng)的游戲用畫面顯示到終端裝置30上的動作。圖4是示出用于使與多人在線游戲的進展相應(yīng)的游戲用畫面顯示到終端裝置30上的幀信息生成發(fā)送處理的一個示例的流程圖。該處理通過服務(wù)器10以規(guī)定的時間間隔(例如以40毫秒為單位)反復(fù)運行。如圖所示,在幀信息生成發(fā)送處理中,首先生成與游戲用畫面的一幀相對應(yīng)的幀信息(步驟S110)。以操控多人在線游戲的多個用戶中的每個用戶為單位(即,以終端裝置30為單位)生成該幀信息。圖5示出的是顯示在終端裝置30上的游戲用畫面60的一幀的一個示例。一實施方式中的游戲用畫面60根據(jù)用戶操作的用戶角色在游戲場景內(nèi)的當前位置顯示相應(yīng)的畫面,如圖所示,在背景62上,用戶操作的用戶角色70、其他用戶操作的用戶角色72、物品74以及以文本形式顯示用戶得分等的分數(shù)顯示對象76等各種對象被疊加顯示出來。如圖所示,背景62構(gòu)成為,在橫縱方向上具有規(guī)定長度(例如,縱向16像素X橫向16像素等)的同一形狀(在本例中為矩形)的多個平鋪(tile)圖像(單位對象)朝縱向以及橫向連續(xù)配置而形成的區(qū)域,例如,背景62的左上角區(qū)域由朝橫向連續(xù)配置的圖像文件11-13以及在其下側(cè)朝橫向連續(xù)配置的圖像文件14-16構(gòu)成。另外,用戶角色70由圖像文件17、18以及19構(gòu)成,用戶角色72由圖像文件110、111以及112構(gòu)成,物品74由圖像文件113構(gòu)成。
[0054]為了使這樣構(gòu)成的游戲用畫面60的一幀顯示出來,在終端裝置30中運行的多條繪圖指令被記錄在幀信息中。繪圖指令例如是可通過終端裝置30的瀏覽器運行的指令。圖6是記錄了用于使圖5中示例出的游戲用畫面60的一幀顯示在終端裝置30上的繪圖指令的幀信息80的一個示例。如圖所示,在幀信息80的上段區(qū)域82中記錄有用于繪制背景62的繪圖指令,該上段區(qū)域82下側(cè)的下段區(qū)域84中記錄有用于繪制在背景62上疊加配置的各對象(具體地說是用戶角色70、用戶角色72、物品74以及分數(shù)顯示對象76)的繪圖指令。繪圖指令存在多個種類,例如存在用于繪制圖像文件的“drawlmage”指令、用于繪制文本的“fileText”指令、用于設(shè)定所繪制對象的旋轉(zhuǎn)角度的“rotate”指令等繪圖指令。在一實施方式中,繪圖指令“drawlmage”作為參數(shù)包含用于確定圖像文件的文件名以及用于確定繪制該圖像文件的坐標的坐標信息,是用來在由該坐標信息確定的坐標上繪制由文件名確定的圖像文件的指令。另外,繪圖指令“fileText”作為參數(shù)包含將要繪制的文本以及用于確定繪制該文本的坐標的坐標信息,是用于在由坐標信息確定的坐標上繪制文本的指令。進一步,繪圖指令“rotate”作為參數(shù)包含對象的旋轉(zhuǎn)角度,與上述“drawlmage”和“fileText”等繪制對象的繪圖指令配合使用(例如,記錄在繪制對象的繪圖指令的之前),是用于設(shè)定由配合使用的繪圖指令所繪制的對象的旋轉(zhuǎn)角度的指令。此外,這些繪圖指令的種類以及用法是一個示例,也能夠應(yīng)用其他種類的繪圖指令。例如,能夠應(yīng)用遵循HTML5的canvas要素的其他繪圖指令及用法、或應(yīng)用遵循其他規(guī)范的繪圖指令的種類及用法。
[0055]圖7中示出了作為幀信息的其他示例的幀信息90。該幀信息90基于上述幀信息80而生成。具體地說,巾貞信息90被變換為,繪圖指令“drawlmage”中包含的坐標信息,將與記錄在之前的相同種類的繪圖指令“drawlmage”中包含的坐標信息所確定的坐標之差作為坐標信息。例如,如圖所示,用繪圖指令“draWImage( “12”,13,-4)”減去由記錄在之前的繪圖指令“draWImage( “II”,-3,_4) ”的坐標信息所確定的坐標,從而將繪圖指令“drawlmage( “12”,13,-4) ” 變換成 “drawlmage ( “ 12”, 16,0) ”。同樣地,繪圖指令^drawImage ( “ 13,,,29,_4) ”變換成“drawlmage ( “ 13”, 16,0) ”。在此,構(gòu)成背景 62 的多個平鋪圖像是在橫縱方向上具有規(guī)定長度的相同形狀,因此朝縱向或橫向連續(xù)的兩個平鋪圖像的坐標差異無論在任何組合中都為相同的值(在圖7的示例中,朝橫向連續(xù)的平鋪圖像的坐標差異為“1M”)。另外,幀信息90將繪圖指令“rotate”中包含的旋轉(zhuǎn)角度信息變換為,將其與記錄在之前的相同種類的繪圖指令“rotate”中包含的旋轉(zhuǎn)角度信息所確定的旋轉(zhuǎn)角度之差作為旋轉(zhuǎn)角度信息。例如,如圖所示,設(shè)定圖像文件“18”的旋轉(zhuǎn)角度的繪圖指令“rotate(45) ”以及設(shè)定圖像文件“19”的旋轉(zhuǎn)角度的繪圖指令“rotate (45) ”分別變換為“rotate (0) ”。在此,例如構(gòu)成用戶角色70的圖像文件I7-19那樣,構(gòu)成一個對象的多個圖像文件在幀內(nèi)有著設(shè)定為相同旋轉(zhuǎn)角度的傾向,因此其結(jié)果是與記錄在之前的相同種類的繪圖指令“rotate”中包含的旋轉(zhuǎn)角度信息所確定的旋轉(zhuǎn)角度之差傾向于連續(xù)為數(shù)值“O”。幀信息80以及幀信息90在幀信息內(nèi)均包含用于繪制一幀所必要的信息,不依賴于之前的幀的幀信息。
[0056]當這樣生成幀信息后,接下來判斷是否將生成的幀信息發(fā)送至終端裝置30 (步驟S112)。在一實施方式中,以如下的方式判斷是否需要發(fā)送幀信息:在用上述統(tǒng)計信息管理表進行管理的每個終端裝置30的“幀速率上限值”的范圍內(nèi)發(fā)送幀信息。例如,以40毫秒為單位反復(fù)執(zhí)行該幀信息生成發(fā)送處理的情況下,當立刻發(fā)送幀信息時,幀速率為25fps (1000/40毫秒),因此例如在設(shè)定的上限值小于25fps為20fps的情況下,為了使發(fā)送的幀速率處于該上限值20fps的范圍內(nèi),25幀當中的5幀(執(zhí)行幀信息生成發(fā)送處理25次當中的5次)被判斷為不發(fā)送幀信息。另外,例如,可以計算每個終端裝置30最近的實際幀速率,用統(tǒng)計信息管理表等數(shù)據(jù)表進行管理,并設(shè)定成在該實際幀速率變化到上限值的范圍內(nèi)之前判斷為不發(fā)送幀信息。此外,使幀信息在幀速率的上限值的范圍內(nèi)進行發(fā)送的方法并不限于此。另外,在統(tǒng)計信息管理表的“幀速率上限值”設(shè)定為數(shù)值“O”的情況下,判斷為總是不發(fā)送幀信息。關(guān)于“幀速率上限值”的設(shè)定方法將在后面進行說明。
[0057]然后,在判斷為發(fā)送幀信息的情況下,將該幀信息壓縮并發(fā)送至終端裝置30 (步驟SI 14),在判斷為不發(fā)送幀信息的情況下,跳過該幀信息的發(fā)送(步驟SI 16),結(jié)束幀信息生成發(fā)送處理。幀信息的壓縮可以采用各種壓縮算法,例如可以采用“deflate”等可逆壓縮算法來進行。在此,如圖7中示例出的幀信息90那樣,在采用將坐標信息和旋轉(zhuǎn)角度信息變換為與之前的坐標和旋轉(zhuǎn)角度之差進行表述的幀信息的情況下,如上所述,由于坐標信息和旋轉(zhuǎn)角度信息(繪圖指令的參數(shù))中包含大量相同的數(shù)值,因此壓縮幀信息時的壓縮率更高。另外,幀信息的壓縮能夠跨越多個幀進行,例如能夠跨越幀采用字典壓縮算法進行壓縮。當反復(fù)運行這樣的幀信息生成發(fā)送處理時,在終端裝置30中,解密接收到的幀信息并在例如瀏覽器上運行幀信息中記錄的繪圖指令,從而依次循環(huán)顯示游戲用畫面60的幀。此外,如上述幀信息90那樣,在采用將坐標信息和旋轉(zhuǎn)角度信息變換為與之前的坐標和旋轉(zhuǎn)角度之差進行表述的幀信息的情況下,在終端裝置30中,將坐標信息和旋轉(zhuǎn)角度信息逆向變換成直接確定坐標和旋轉(zhuǎn)角度的信息之后,運行繪圖指令。
[0058]以上,說明了將與游戲的進展相應(yīng)的游戲用畫面顯示到終端裝置30上的動作。接下來,對獲取與終端裝置30的處理能力相關(guān)的統(tǒng)計信息的動作進行說明。圖8是示出為了確定終端裝置30的處理能力而獲取統(tǒng)計信息的統(tǒng)計信息獲取處理的一個示例的流程圖。該處理通過服務(wù)器10以規(guī)定的時間間隔(例如以100毫秒為單位)反復(fù)運行。如圖所示,在統(tǒng)計信息獲取處理中,首先請求終端裝置30發(fā)送繪圖運行時間信息(步驟S200)。向操控多用戶在線游戲的多個用戶所操作的每一臺終端裝置30發(fā)送該請求。在一實施方式中,通過向終端裝置30發(fā)送由服務(wù)器10管理的當前時刻以及用于指示發(fā)送繪圖運行時間信息的信息,來進行繪圖運行時間信息的請求。接收到這些信息的終端裝置30向服務(wù)器10發(fā)送接收到的當前時刻(服務(wù)器10請求繪圖運行時間信息的時刻)以及在終端裝置30中的繪圖運行時間信息。在此,在一實施方式中,在終端裝置30中運行程序,該程序中記錄有執(zhí)行用于管理繪圖運行時間信息(例如,繪制一幀所需要的時間的平均值)的處理,通過運行該程序,向服務(wù)器10發(fā)送所管理的繪圖運行時間信息。
[0059]接著,將從終端裝置30接收到的信息登錄到統(tǒng)計信息管理表中(步驟S210)。具體地說,接收到的當前時間被設(shè)定到“發(fā)送時刻”中,接收到的繪圖運行時間信息被設(shè)定到“繪圖運行時間信息”中,接收到這些信息的時刻被設(shè)定到“接收時亥Γ中。
[0060]然后,設(shè)定終端裝置30的幀速率的上限值(步驟S220),結(jié)束該統(tǒng)計信息獲取處理。設(shè)定幀速率的上限值能夠利用各種方法進行。例如,能夠根據(jù)繪圖運行時間信息將可由終端裝置30處理的幀速率設(shè)定為上限值。具體地說,例如,在終端裝置30中一幀的繪制時間(的平均值)為50毫秒的情況下,每秒能夠繪制的幀數(shù)為20,因此能夠?qū)俾实纳舷拗翟O(shè)為20fps (Frames Per Second:中貞頻)或比之更小的值(例如,20fps X 0.8 = 16fps)。另外,作為設(shè)定幀速率的上限值的其他方法,例如能夠根據(jù)從請求終端裝置30發(fā)送繪圖運行時間信息開始至接收到繪圖運行時間信息為止的經(jīng)過時間(往返延時(RTT),可以根據(jù)統(tǒng)計信息管理表的發(fā)送時刻與接收時刻進行計算),將可由終端裝置30處理的幀速率設(shè)定為上限值。具體地說,例如可以根據(jù)實驗值將幀速率的上限值設(shè)為“3000/RTT(毫秒)”。這時,例如,在RTT為100毫秒的情況下,幀速率的上限值為30fps,在RTT為150毫秒的情況下,幀速率的上限值為20fps。這樣,通過根據(jù)RTT設(shè)定幀速率的上限值,例如在移動網(wǎng)絡(luò)中發(fā)生基站轉(zhuǎn)換(切換)的情況下等、RTT暫時增大的情況下,幀速率的上限值變小,向終端裝置30發(fā)送的幀信息減少,因此,在通信狀況恢復(fù)后,在終端裝置30中應(yīng)處理的幀信息減少,能夠盡早地恢復(fù)正常處理。另外,在RTT超過規(guī)定閾值(例如500毫秒)的情況下,可以將幀速率的上限值設(shè)為數(shù)值“O”。這樣,在終端裝置30中的通信狀況極端惡化的情況下,能夠停止發(fā)送幀信息,從而能夠更早地恢復(fù)正常處理。此外,在步驟S220中的設(shè)定幀速率上限值的動作可以與統(tǒng)計信息獲取處理在不同的時機進行。
[0061]在此,考慮如下情況:巾貞速率的上限值設(shè)為數(shù)值“0”,在圖4中示例出的幀信息生成發(fā)送處理中,幀信息的發(fā)送被連續(xù)跳過。在這種情況下,幀信息生成發(fā)送處理不從服務(wù)器10向終端裝置30發(fā)送幀信息,因此,即使發(fā)生了例如TCP通信中的丟失數(shù)據(jù)包的情況,在無法從終端裝置30發(fā)送確認應(yīng)答的狀態(tài)下經(jīng)過規(guī)定時間(例如3秒)后,可進行數(shù)據(jù)包的再次發(fā)送。但是,在一實施方式中,在不向終端裝置30發(fā)送幀信息的期間,也會通過前述的統(tǒng)計信息獲取處理產(chǎn)生面向終端裝置30的數(shù)據(jù)通信(請求繪圖運行時間),因此,通過TCP通信中的“TCP fast retransmit (TCP快速重傳)”功能,不用等待經(jīng)過上述規(guī)定時間就進行數(shù)據(jù)包的再次發(fā)送,能夠更早地恢復(fù)數(shù)據(jù)包丟失問題。
[0062]在以上說明的一實施方式中的服務(wù)器10中,以第一時間間隔生成用于使與游戲的進展相應(yīng)的游戲用畫面的一幀顯示在終端裝置30上的幀信息;以第二時間間隔請求終端裝置30發(fā)送繪圖運行時間信息(幀顯示時間信息/規(guī)定信息);根據(jù)從終端裝置30發(fā)送的繪圖運行時間信息,基于已確定的終端裝置30的繪圖時間和RTT(處理能力),判斷是否向終端裝置30發(fā)送幀信息;
[0063]向終端裝置30發(fā)送判斷為進行發(fā)送的幀信息。因此,由于按照終端裝置30的處理能力控制是否發(fā)送幀信息,因而能夠按照終端裝置30的處理能力,更確切地幀速率發(fā)送游戲用畫面。
[0064]在一實施方式中,舉例出以繪圖時間和RTT表示終端裝置30的處理能力,但是并不限于此,也能夠用其他信息表示終端裝置30的處理能力。另外,在一實施方式中,根據(jù)繪圖時間和RTT設(shè)定幀速率的上限值,在該上限值的范圍內(nèi)發(fā)送幀信息,但是并非必須使用幀速率的上限值進行控制??梢詰?yīng)用基于繪圖時間和RTT等終端裝置30的處理能力判斷是否發(fā)送幀信息的其他各種方法。進一步,在一實施方式中,幀信息中記錄有為了使游戲用畫面60的一幀顯示出來而在終端裝置30中運行的多條繪圖指令,但是幀信息的形式并不限于此,可以應(yīng)用使與游戲的進展相應(yīng)的游戲用畫面的一幀在終端裝置30上顯示出來的其他各種形式。
[0065]除了在實施方式中明確說明的方式以外,在本說明書中所說明的處理以及步驟也可通過軟件、硬件或它們的任意組合來實現(xiàn)。更具體地說,在本說明書中所說明的處理以及步驟可通過在集成電路、非永久性存儲器、非易失性存儲器、磁盤、光存儲裝置等介質(zhì)中安裝與該處理相當?shù)倪壿嬏幚韥韺崿F(xiàn)。另外,可將本說明書中所說明的處理以及步驟作為計算機程序進行安裝,使這些處理、步驟在各種計算機中運行。
[0066]雖然說明了通過單獨的裝置、軟件、組件、模塊來運行本說明書中所說明的處理以及步驟的方式,但是這樣的處理或步驟也可通過多個裝置、多個軟件、多個組件以及/或者多個模塊來運行。另外,雖然說明了在單獨的存儲器中存儲本說明書中所說明的數(shù)據(jù)、數(shù)據(jù)表或數(shù)據(jù)庫的方式,但是這樣的數(shù)據(jù)、數(shù)據(jù)表或數(shù)據(jù)庫也可分散存儲在單獨的裝置所具備的多個存儲器中、或分散存儲在分散配置于多個裝置的多個存儲器中。進一步,在本說明書中所說明的軟件及硬件的要素也可通過將它們合并成更少的構(gòu)成要素或分解成更多的構(gòu)成要素來實現(xiàn)。
[0067]在本說明書中,即使在將本發(fā)明的構(gòu)成要素以一個或多個中的一種方式進行說明的情況下,或者,并未將其限定為一個或多個中的任意一種方式進行說明的情況下,除非上下文關(guān)系上應(yīng)當解釋為其他的情況,否則該構(gòu)成要素可以是一個或多個中的任意一種方式。
【權(quán)利要求】
1.一種服務(wù)器,向以可通信方式連接的多臺終端裝置提供游戲, 其特征在于,具備: 游戲?qū)嵭胁?,根?jù)從所述終端裝置發(fā)送來的輸入信息實行所述游戲; 生成部,按照游戲的進展以第一時間間隔生成幀信息,所述幀信息用于將與所述游戲的進展相應(yīng)的游戲用畫面的一幀顯示在所述終端裝置上; 請求部,為了確定所述終端裝置的處理能力,以第二時間間隔請求所述終端裝置發(fā)送規(guī)定信息; 判斷部,基于通過從所述終端裝置發(fā)送的所述規(guī)定信息而確定的該終端裝置的處理能力,判斷是否向所述終端裝置發(fā)送生成的所述幀信息;以及 發(fā)送部,將判斷為向所述終端裝置發(fā)送的所述幀信息向該終端裝置進行發(fā)送。
2.根據(jù)權(quán)利要求1所述的服務(wù)器,其特征在于, 所述規(guī)定信息包含幀顯示時間信息,所述幀顯示時間信息與在所述終端裝置中顯示所述一幀所需的時間相關(guān); 所述判斷部基于所述終端裝置的處理能力、即所述幀顯示時間信息,來判斷是否發(fā)送生成的所述幀信息。
3.根據(jù)權(quán)利要求1或2所述的服務(wù)器,其特征在于, 所述判斷部基于所述終端裝置的處理能力、即從開始要求所述終端裝置發(fā)送所述規(guī)定信息到接收該規(guī)定信息為止的經(jīng)過時間,來判斷是否發(fā)送生成的所述幀信息。
4.根據(jù)權(quán)利要求3所述的服務(wù)器,其特征在于, 在所述經(jīng)過時間大于等于規(guī)定閾值的情況下,所述判斷部判斷為不發(fā)送生成的所述幀信息。
5.根據(jù)權(quán)利要求1至4中的任一項所述的服務(wù)器,其特征在于, 所述判斷部根據(jù)所述終端裝置的處理能力,設(shè)定在每個單位時間內(nèi)對該終端裝置發(fā)送的幀數(shù)的上限值,并判斷是否發(fā)送生成的所述幀信息,以使每個單位時間內(nèi)對該終端裝置發(fā)送的幀數(shù)處于該上限值的范圍內(nèi)。
6.根據(jù)權(quán)利要求1至5中的任一項所述的服務(wù)器,其特征在于, 使用基于TCP(傳輸控制協(xié)議)的通信向所述終端裝置提供所述游戲。
7.根據(jù)權(quán)利要求1至6中的任一項所述的服務(wù)器,其特征在于, 所述幀信息中至少記錄有為了顯示所述游戲用畫面的一幀而在所述終端裝置中運行的多條繪圖指令。
8.根據(jù)權(quán)利要求1至7中的任一項所述的服務(wù)器,其特征在于, 由分別操作所述多臺終端裝置的多個用戶同時進行所述游戲; 所述生成部以所述多臺終端裝置中的每一臺為單位生成所述幀信息; 所述請求部以所述多臺終端裝置中的每一臺為單位請求發(fā)送所述規(guī)定信息; 所述判斷部以所述多臺終端裝置中的每一臺為單位判斷是否向所述終端裝置發(fā)送生成的所述幀信息; 所述發(fā)送部以所述多臺終端裝置中的每一臺為單位發(fā)送所述幀信息。
9.一種向以可通信方式連接的多臺終端裝置提供游戲的方法,其特征在于, 根據(jù)從所述終端裝置發(fā)送的輸入信息實行所述游戲; 按照所述游戲的進展以第一時間間隔生成幀信息,該幀信息用于將與所述游戲的進展相應(yīng)的游戲用畫面的一幀顯示在所述終端裝置上; 為了確定所述終端裝置的處理能力,以第二時間間隔請求所述終端裝置發(fā)送規(guī)定信息; 基于通過從所述終端裝置發(fā)送的所述規(guī)定信息而確定的該終端裝置的處理能力,向所述終端裝置發(fā)送生成的所述幀信息; 將判斷為向所述終端裝置發(fā)送的所述幀信息向該終端裝置進行發(fā)送。
【文檔編號】H04L29/08GK104378407SQ201410392040
【公開日】2015年2月25日 申請日期:2014年8月11日 優(yōu)先權(quán)日:2013年8月12日
【發(fā)明者】奧一穗 申請人:株式會社得那