TWI768972B - 遊戲系統及其遊戲伺服器操作方法 - Google Patents
遊戲系統及其遊戲伺服器操作方法 Download PDFInfo
- Publication number
- TWI768972B TWI768972B TW110122121A TW110122121A TWI768972B TW I768972 B TWI768972 B TW I768972B TW 110122121 A TW110122121 A TW 110122121A TW 110122121 A TW110122121 A TW 110122121A TW I768972 B TWI768972 B TW I768972B
- Authority
- TW
- Taiwan
- Prior art keywords
- current
- player
- game server
- game
- player devices
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Pinball Game Machines (AREA)
- Slot Machines And Peripheral Devices (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本發明提供一種遊戲系統及其遊戲伺服器操作方法。遊戲系統包括多個玩家裝置以及一個遊戲伺服器。遊戲伺服器與這些玩家裝置建立網路連接。在這些玩家裝置其中一個發起遊戲時,遊戲伺服器依照玩家清單發出遊戲通知給這些玩家裝置。遊戲伺服器依據這些玩家裝置針對遊戲通知的回應去決定這些玩家裝置的共同吞吐量。
Description
本發明是有關於一種多機互連遊戲技術,且特別是有關於一種遊戲系統及其遊戲伺服器操作方法。
多人線上遊戲(multiplayer online games)是可以允許多名玩家(多個玩家裝置)同時在一個虛擬世界互動的遊戲。玩家裝置可以是個人電腦、手機、平板電腦、家用遊戲機或是其他遊戲平台。不同的玩家裝置具有不同效能,而效能差異會影響遊戲體驗。例如,不同的玩家裝置具有不同的傳輸控制協定(Transmission Control Protocol,TCP)吞吐量(throughput)。因為TCP吞吐量的差異,不同的玩家裝置可能會在遊戲中互相等待,進而產生遊戲延遲(lag)以及/或是其他現象。
本發明提供一種遊戲系統及其遊戲伺服器操作方法,以使多個玩家裝置一起進行同一個遊戲。
在本發明的一實施例中,上述的遊戲系統包括多個玩家裝置以及一個遊戲伺服器。遊戲伺服器用以與這些玩家裝置建立網路連接。在這些玩家裝置其中一個發起遊戲時,遊戲伺服器依照玩家清單發出遊戲通知給這些玩家裝置。遊戲伺服器依據這些玩家裝置針對遊戲通知的回應去決定這些玩家裝置的共同吞吐量(throughput)。
在本發明的一實施例中,上述遊戲伺服器的操作方法包括:由遊戲伺服器與多個玩家裝置建立網路連接;在這些玩家裝置其中一個發起遊戲時,由遊戲伺服器依照玩家清單發出遊戲通知給這些玩家裝置;以及由遊戲伺服器依據這些玩家裝置針對遊戲通知的回應去決定這些玩家裝置的共同吞吐量。
基於上述,所述遊戲伺服器可以發出同一個遊戲通知給不同的玩家裝置,並等待這些玩家裝置的回應。遊戲伺服器可以依據這些玩家裝置的回應去決定共同吞吐量。基於共同吞吐量,這些玩家裝置的實際吞吐量可以盡可能地被一致化。在多個玩家裝置一起進行同一個遊戲的過程中,一致的吞吐量可以盡可能地避免這些玩家裝置互相等待。
在本發明的一實施例中,上述的遊戲系統包括多個玩家裝置以及一個遊戲伺服器。遊戲伺服器用以與這些玩家裝置建立網路連接。遊戲伺服器檢查這些玩家裝置中的當前玩家裝置的連線裝置的當前吞吐量。遊戲伺服器依據當前玩家裝置的當前吞吐量去決定是否對當前玩家裝置進行圖形處理器(Graphics Processing Unit,GPU)共享。
在本發明的一實施例中,上述遊戲伺服器的操作方法包括:由遊戲伺服器與多個玩家裝置建立網路連接;由遊戲伺服器檢查這些玩家裝置中的當前玩家裝置的連線裝置的當前吞吐量;以及由遊戲伺服器依據當前玩家裝置的當前吞吐量去決定是否對當前玩家裝置進行圖形處理器共享。
基於上述,所述遊戲伺服器可以動態地(適應性地)決定,是否將遊戲伺服器的圖形處理器的運算資源分享給這些玩家裝置中的任何一個。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接(或連接)」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接(或連接)於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地連接至該第二裝置。本案說明書全文(包括申請專利範圍)中提及的「第一」、「第二」等用語是用以命名元件(element)的名稱,或區別不同實施例或範圍,而並非用來限制元件數量的上限或下限,亦非用來限制元件的次序。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
圖1是依照本發明的一實施例的一種遊戲系統100的電路方塊(circuit block)示意圖。遊戲系統100包括遊戲伺服器110以及多個玩家裝置(例如圖1所示n個玩家裝置120_1、…、120_n)。遊戲伺服器110可以與這些玩家裝置120_1~120_n建立網路連接。玩家裝置120_1~120_n中的任何一個可以發起遊戲。基於遊戲伺服器110的顯示分享(display sharing),玩家裝置120_1~120_n可以進行多人線上遊戲(multiplayer online games)。
圖2是依照本發明的一實施例的一種遊戲伺服器110的操作方法的流程示意圖。請參照圖1與圖2。在步驟S210中,遊戲伺服器110與玩家裝置120_1~120_n建立網路連接。在玩家裝置120_1~120_n其中一個發起遊戲時,在步驟S220中,遊戲伺服器110可以依照玩家清單發出遊戲通知給玩家裝置120_1~120_n。玩家裝置120_1~120_n可以接收遊戲通知,以及針對遊戲通知去產生回應給遊戲伺服器110。在步驟S230中,依據玩家裝置120_1~120_n針對遊戲通知的回應,遊戲伺服器110可以決定玩家裝置120_1~120_n的共同吞吐量(throughput)。依照實際設計,在一些實施例中,所述共同吞吐量可以包括傳輸控制協定(Transmission Control Protocol,TCP)吞吐量以及/或是其他吞吐量。
舉例來說,在一些實施例中,所述遊戲通知包括一個相同歡迎畫面。玩家裝置120_1~120_n可以接收所述相同歡迎畫面,以及針對所述相同歡迎畫面去產生回應給遊戲伺服器110。在遊戲伺服器110將所述相同歡迎畫面發出給玩家裝置120_1~120_n後,遊戲伺服器110可以計數玩家裝置120_1~120_n中的任何一個對所述相同歡迎畫面的回應時間。遊戲伺服器110可以依據當前玩家裝置(玩家裝置120_1~120_n中的任何一個)的回應時間去決定是否發出「設備升級通知」給當前玩家裝置,以告知所述當前玩家裝置的使用者這台玩家裝置的效能不適於進行此遊戲。例如,當玩家裝置120_1~120_n中的某一個受邀玩家裝置的回應時間大於時間門檻時,遊戲伺服器110可以發出設備升級通知給所述受邀玩家裝置。其中,所述時間門檻是可以依照實際設計來決定的任意實數。
本實施例並不限制步驟S230的共同吞吐量的決定方式。舉例來說,在一些實施例中,遊戲伺服器110可以在步驟S220中發出遊戲通知給玩家裝置120_1~120_n,以詢問玩家裝置120_1~120_n的任何一個的傳輸記憶體大小。依照實計設計,所述傳輸記憶體可以是被配置給連線裝置(例如網卡或是其他裝置)的記憶體,或是TCP記憶體,或是其他被用於網路資料傳輸的記憶體。依據玩家裝置120_1~120_n每一個的傳輸記憶體大小,遊戲伺服器110可以決定適用於玩家裝置120_1~120_n的共同吞吐量。舉例來說,在一些實施例中,遊戲伺服器110可以依據玩家裝置120_1~120_n的傳輸記憶體大小中的最小傳輸記憶體大小去決定所述共同吞吐量。遊戲伺服器110可以通知玩家裝置120_1~120_n,以使玩家裝置120_1~120_n的任何一個可以依據所述共同吞吐量去設置自身連線裝置的額定吞吐量(例如TCP吞吐量)。
基於上述,遊戲伺服器110可以發出同一個遊戲通知給不同的玩家裝置120_1~120_n,並等待這些玩家裝置120_1~120_n的回應。遊戲伺服器110可以依據這些玩家裝置120_1~120_n的回應去決定共同吞吐量。基於共同吞吐量,這些玩家裝置120_1~120_n的實際吞吐量可以盡可能地被一致化。在多個玩家裝置120_1~120_n一起進行同一個遊戲的過程中,一致的吞吐量可以盡可能地避免這些玩家裝置120_1~120_n互相等待。
圖3是依照本發明的另一實施例所繪示遊戲伺服器110的遊戲初始化流程示意圖。請參照圖1與圖3。在步驟S310中,玩家可以指定對戰伙伴(玩家裝置),進而決定玩家清單。在此假設步驟S310所決定的玩家清單包括玩家裝置120_1~120_n。在步驟S320中,遊戲伺服器110可以依據玩家清單取得玩家裝置120_1~120_n的網路位址。在步驟S330中,遊戲伺服器110可以發出一個相同歡迎畫面(遊戲通知)與一個相同時間戳記給玩家裝置120_1~120_n,以及詢問玩家裝置120_1~120_n的任何一個的傳輸記憶體大小。依照實計設計,所述傳輸記憶體可以是被配置給連線裝置的記憶體,或是TCP記憶體,或是其他被用於網路資料傳輸的記憶體。
玩家裝置120_1~120_n可以接收所述相同歡迎畫面,以及針對所述相同歡迎畫面去產生回應給遊戲伺服器110。在步驟S340中,遊戲伺服器110可以計數玩家裝置120_1~120_n中的任何一個對所述相同歡迎畫面的回應時間。步驟S350可以比較玩家裝置120_1~120_n中的任何一個的回應時間與時間門檻。其中,所述時間門檻可以是依照實際設計來決定的任意實數。
為了方便說明,在此將玩家裝置120_1~120_n中的一個稱為受邀玩家裝置,而玩家裝置120_1~120_n中的其他者可以參照所述「受邀玩家裝置」的相關說明加以類推。當受邀玩家裝置的回應時間不大於時間門檻時(步驟S350的判斷結果為「否」),遊戲伺服器110進行步驟S360。在步驟S360中,依據玩家裝置120_1~120_n每一個的傳輸記憶體大小,遊戲伺服器110可以決定適用於玩家裝置120_1~120_n的共同吞吐量。舉例來說,遊戲伺服器110可以依據玩家裝置120_1~120_n的傳輸記憶體大小中的最小傳輸記憶體大小去設定受邀玩家裝置。
當受邀玩家裝置的回應時間大於時間門檻時(步驟S350的判斷結果為「是」),遊戲伺服器110進行步驟S370。在步驟S370中,遊戲伺服器110可以發出設備升級通知給所述受邀玩家裝置,以告知所述受邀玩家裝置的使用者「所述受邀玩家裝置的效能不適於進行此遊戲」。在步驟S370結束後,遊戲伺服器110可以進行步驟S360。
圖4是依照本發明的另一實施例的一種遊戲伺服器110的操作方法的流程示意圖。請參照圖1與圖4。在步驟S410中,遊戲伺服器110與玩家裝置120_1~120_n建立網路連接。步驟S410可以參照圖2所示步驟S210、S220與S230的相關說明加以類推。在一些實施例中,遊戲伺服器110在步驟S410中所發出的遊戲通知可以包括一個相同時間戳記。玩家裝置120_1~120_n可以接收所述遊戲通知,以及針對所述相同時間戳記去產生回應給遊戲伺服器110。遊戲伺服器110可以檢查玩家裝置120_1~120_n中的任何一個對所述相同時間戳記的回應,以及依據這些回應去決定玩家裝置120_1~120_n中的所述任何一個是否為合法玩家裝置。
在步驟S420中,遊戲伺服器110可以檢查玩家裝置120_1~120_n中的一個當前玩家連線裝置的當前吞吐量。在步驟S430中,遊戲伺服器110可以依據當前玩家裝置的當前吞吐量去決定是否對當前玩家裝置進行圖形處理器(Graphics Processing Unit,GPU)共享。在一些實施例中,所述GPU共享以包括:依據當前玩家裝置(玩家裝置120_1~120_n中的一個)的鎢圖著色基礎結構(Tungsten Graphics Shader Infrastructure,TGSI)資訊,遊戲伺服器110的圖形處理器(GPU,未繪示於圖1)可以繪製當前圖形(影像幀),以及將這個當前圖形回傳給所述當前玩家裝置。除了這個當前玩家裝置,遊戲伺服器110還可以將所述當前圖形廣播給玩家裝置120_1~120_n中的其他玩家裝置,以進行多人線上遊戲。
當遊戲伺服器110在步驟S430決定對當前玩家裝置(玩家裝置120_1~120_n中的一個)取消GPU共享時,遊戲伺服器110可以將這個當前玩家裝置設置為串流模式(streaming mode)。在串流模式中,這個當前玩家裝置不能使用遊戲伺服器110的GPU運算資源,以降低這個當前玩家裝置的關鍵元件(例如中央處理器、記憶體以及/或是儲存裝置)的工作負荷。因此,當前圖形(當前影像幀)是由這個當前玩家裝置的GPU所繪製。所述當前圖形除了供給這個當前玩家裝置的顯示所使用,在串流模式中的這個當前玩家裝置還將所述當前圖形傳輸給遊戲伺服器110。遊戲伺服器110可以將這個當前玩家裝置所繪製的所述當前圖形廣播給玩家裝置120_1~120_n中的其他玩家裝置,以進行多人線上遊戲。
本實施例並不限制遊戲伺服器110在步驟S430的決定機制。依照實際設計,在一些實施例中,遊戲伺服器110可以計算這些玩家裝置120_1~120_n的這些當前吞吐量(例如,當前TCP吞吐量)的平均值,以及遊戲伺服器110可以比較當前玩家裝置(玩家裝置120_1~120_n中的一個)的當前吞吐量與所述平均值,以及依據比較結果來決定是否對這個當前玩家裝置進行GPU共享。舉例來說,當這個當前玩家裝置的當前吞吐量(例如,當前TCP吞吐量)低於所述平均值時,遊戲伺服器10可以檢查這個當前玩家裝置的關鍵元件(例如中央處理器、記憶體以及/或是儲存裝置)有無滿載,以及依據檢查結果來決定是否對這個當前玩家裝置進行GPU共享。
圖5是依照本發明的另一實施例所繪示遊戲伺服器110的動態GPU共享流程示意圖。請參照圖1與圖5。在步驟S510中,遊戲伺服器110可以發出一個相同歡迎畫面(遊戲通知)與一個相同時間戳記給玩家裝置120_1~120_n。圖5所示步驟S510可以參照圖3所示步驟S330的相關說明加以類推,故不再贅述。玩家裝置120_1~120_n可以接收所述相同歡迎畫面,以及針對所述相同時間戳記去產生回應給遊戲伺服器110。在步驟S520中,遊戲伺服器110可以檢查玩家裝置120_1~120_n中的任何一個對所述相同時間戳記的回應。當玩家裝置120_1~120_n中的一個(當前玩家裝置)的回應沒有所述相同時間戳記時(步驟S530的判斷結果為「無」),遊戲伺服器110可以決定這個當前玩家裝置為不同群組的玩家裝置,或是判定這個當前玩家裝置不是合法玩家裝置(步驟S540)。
當玩家裝置120_1~120_n中的一個(當前玩家裝置)的回應有所述相同時間戳記時(步驟S530的判斷結果為「有」),遊戲伺服器110可以決定這個當前玩家裝置是合法玩家裝置並且進行步驟S550。在步驟S550中,遊戲伺服器110可以在遊戲的進行過程中去計算這些玩家裝置120_1~120_n的這些當前吞吐量(例如,當前TCP吞吐量)的平均值,以及遊戲伺服器110可以比較當前玩家裝置(玩家裝置120_1~120_n中的任何一個)的當前吞吐量與所述平均值。當這個當前玩家裝置的當前吞吐量低於所述平均值時(步驟S555的判斷結果為「是」),遊戲伺服器110可以進行步驟S560。當這個當前玩家裝置的當前吞吐量不低於所述平均值時(步驟S555的判斷結果為「否」),遊戲伺服器110可以進行步驟S570。
在步驟S560中,遊戲伺服器110可以檢查這個當前玩家裝置的關鍵元件有無滿載。例如,遊戲伺服器110可以檢查這個當前玩家裝置的中央處理器、記憶體以及儲存裝置中的任何一者有無工作滿載。當這個當前玩家裝置的關鍵元件已滿載時(步驟S560的判斷結果為「是」),遊戲伺服器110可以進行步驟S565以降低這個當前玩家裝置的關鍵元件的工作負擔。在步驟S565中,遊戲伺服器110可以對這個當前玩家裝置取消GPU共享,以及將這個當前玩家裝置設置為串流模式。所述串流模式與所述GPU共享已於步驟S430的相關說明中詳加解釋,故在此不再贅述。在完成步驟S565後,遊戲伺服器110可以回到步驟S555。當這個當前玩家裝置的所有關鍵元件沒有滿載時(步驟S560的判斷結果為「否」),遊戲伺服器110可以進行步驟S570。
在步驟S570中,遊戲伺服器110可以檢查這個當前玩家裝置是否已被設為串流模式。當這個當前玩家裝置的目前操作模式不是串流模式時(步驟S570的判斷結果為「否」),遊戲伺服器110可以回到步驟S555。當這個當前玩家裝置的目前操作模式是串流模式時(步驟S570的判斷結果為「是」),遊戲伺服器110可以進行步驟S575。在步驟S575中,遊戲伺服器110可以對這個當前玩家裝置取消串流模式,以及對這個當前玩家裝置恢復GPU共享。亦即,這個當前玩家裝置可以再次使用遊戲伺服器110的GPU運算資源。
基於上述,所述遊戲伺服器110可以動態地(適應性地)決定,是否將遊戲伺服器110的GPU的運算資源分享給這些玩家裝置120_1~120_n中的任何一個。玩家裝置120_1~120_n中的任何一個(例如當前玩家裝置)因為運行GPU共享而增加關鍵元件的工作負擔。當這個當前玩家裝置的當前吞吐量低於所述平均值並且這個當前玩家裝置的任何一個關鍵元件的工作負擔已滿載時,遊戲伺服器110可以動態地(適應性地)決定對這個當前玩家裝置取消GPU共享,以降低這個當前玩家裝置的關鍵元件的工作負擔。在一些實際設計中,所述「關鍵元件的工作負擔已滿載」可以理解為「設備使用率達到100%」。待狀況解除後(這個當前玩家裝置的當前吞吐量不低於所述平均值,或是這個當前玩家裝置的所有關鍵元件的工作負擔都沒有滿載),遊戲伺服器110可以動態地(適應性地)決定對這個當前玩家裝置恢復GPU共享。
目前仍有許多遊戲在渲染運算上仍仰賴中央處理器(Central Processing Unit,CPU)。為了降低CPU的負載,目前轉址的技術可以透過硬體方式實現。因此,將屬於應用層(Application Layer)的程式與作業系統核心層(OS Kernel Layer)的程式儲存在同一個記憶體區塊,再透過硬體轉址的技術進行切換。不同於傳統方法,傳統方法需要透過CPU發出中斷,再進行傳送與複製。在客端裝置(Client Device,例如玩家裝置120_1~120_n)中,應用層與核心層之間區隔出一塊虛擬記憶體(Virtual Memory)。遊戲應用程式、GPU裝置、圖形驅動器(Graphic Driver)以及插口(socket)等屬於應用層與核心層的程式可以被儲存在虛擬記憶體的同一區塊。當使用者打開遊戲時,遊戲應用程式與實體記憶體進行映射(mapping)。需要GPU運算或透過插口(socket)傳送時,透過硬體方式,將位址轉到GPU、圖形驅動器以及插口(socket)所屬的位址映射至實體記憶體。伺服端裝置(Server Device,例如遊戲伺服器110)的轉址技術的架構相似於客端裝置。在伺服端裝置中,虛擬記憶存放顯示分享模組(Display Sharing Module)、GPU裝置、圖形驅動器以及插口(socket)。當需要哪一個模組進行運算時,透過硬體轉址技術,將位址轉換到所屬位址,再與實體記憶體進行映射。
依照不同的設計需求,上述遊戲伺服器110以及(或是)玩家裝置120_1~120_n的實現方式可以是硬體(hardware)、韌體(firmware)、軟體(software,即程式)或是前述三者中的多者的組合形式。
以硬體形式而言,上述遊戲伺服器110以及(或是)玩家裝置120_1~120_n可以實現於積體電路(integrated circuit)上的邏輯電路。上述遊戲伺服器110以及(或是)玩家裝置120_1~120_n的相關功能可以利用硬體描述語言(hardware description languages,例如Verilog HDL或VHDL)或其他合適的編程語言來實現為硬體。舉例來說,上述遊戲伺服器110以及(或是)玩家裝置120_1~120_n的相關功能可以被實現於一或多個控制器、微控制器、微處理器、特殊應用積體電路(Application-specific integrated circuit, ASIC)、數位訊號處理器(digital signal processor, DSP)、場可程式邏輯閘陣列(Field Programmable Gate Array, FPGA)及/或其他處理單元中的各種邏輯區塊、模組和電路。
以軟體形式及/或韌體形式而言,上述遊戲伺服器110以及(或是)玩家裝置120_1~120_n的相關功能可以被實現為編程碼(programming codes)。例如,利用一般的編程語言(programming languages,例如C、C++或組合語言)或其他合適的編程語言來實現上述遊戲伺服器110以及(或是)玩家裝置120_1~120_n。所述編程碼可以被記錄/存放在「非臨時的電腦可讀取媒體(non-transitory computer readable medium)」中。在一些實施例中,所述非臨時的電腦可讀取媒體例如包括唯讀記憶體(Read Only Memory,ROM)、帶(tape)、碟(disk)、卡(card)、半導體記憶體、可程式設計的邏輯電路以及(或是)儲存裝置。所述儲存裝置包括硬碟(hard disk drive,HDD)、固態硬碟(Solid-state drive,SSD)或是其他儲存裝置。電腦、CPU、控制器、微控制器或微處理器可以從所述非臨時的電腦可讀取媒體中讀取並執行所述編程碼,從而實現上述遊戲伺服器110以及(或是)玩家裝置120_1~120_n的相關功能。而且,所述編程碼也可經由任意傳輸媒體(通信網路或廣播電波等)而提供給所述電腦(或CPU)。所述通信網路例如是網際網路(Internet)、有線通信(wired communication)網路、無線通信(wireless communication)網路或其它通信介質。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100:遊戲系統
110:遊戲伺服器
120_1、120_n:玩家裝置
S210~S230、S310~S370、S410~S430、S510~S575:步驟
圖1是依照本發明的一實施例的一種遊戲系統的電路方塊(circuit block)示意圖。
圖2是依照本發明的一實施例的一種遊戲伺服器的操作方法的流程示意圖。
圖3是依照本發明的另一實施例所繪示遊戲伺服器的遊戲初始化流程示意圖。
圖4是依照本發明的另一實施例的一種遊戲伺服器的操作方法的流程示意圖。
圖5是依照本發明的另一實施例所繪示遊戲伺服器的動態GPU共享流程示意圖。
S210~S230:步驟
Claims (44)
- 一種遊戲系統,包括: 多個玩家裝置;以及 一遊戲伺服器,用以與該些玩家裝置建立網路連接,其中 在該些玩家裝置其中一個發起一遊戲時,該遊戲伺服器依照一玩家清單發出一遊戲通知給該些玩家裝置,以及該遊戲伺服器依據該些玩家裝置針對該遊戲通知的一回應去決定該些玩家裝置的一共同吞吐量。
- 如請求項1所述的遊戲系統,其中該遊戲通知包括一相同歡迎畫面,該遊戲伺服器計數該些玩家裝置中的任何一個對該相同歡迎畫面的一回應時間,以及該遊戲伺服器依據該回應時間去決定是否發出一設備升級通知給該些玩家裝置中的該任何一個。
- 如請求項2所述的遊戲系統,其中當該些玩家裝置中的一受邀玩家裝置的該回應時間大於一時間門檻時,該遊戲伺服器發出該設備升級通知給該受邀玩家裝置。
- 如請求項1所述的遊戲系統,其中該共同吞吐量包括一傳輸控制協定吞吐量。
- 如請求項1所述的遊戲系統,其中該遊戲伺服器發出該遊戲通知給該些玩家裝置以詢問該些玩家裝置的任何一個的一傳輸記憶體大小,以及該遊戲伺服器依據該些玩家裝置的該些傳輸記憶體大小去決定該共同吞吐量。
- 如請求項5所述的遊戲系統,其中該遊戲伺服器依據該些玩家裝置的該些傳輸記憶體大小中的一最小傳輸記憶體大小去決定該共同吞吐量。
- 如請求項1所述的遊戲系統,其中該遊戲伺服器通知該些玩家裝置,以使該些玩家裝置的任何一個依據該共同吞吐量去設置自身一連線裝置的一額定吞吐量。
- 如請求項1所述的遊戲系統,其中該遊戲通知包括一相同時間戳記,該遊戲伺服器檢查該些玩家裝置中的任何一個對該相同時間戳記的一回應,以及該遊戲伺服器依據該回應去決定該些玩家裝置中的該任何一個是否為一合法玩家裝置。
- 如請求項1所述的遊戲系統,其中該遊戲伺服器檢查該些玩家裝置中的一當前玩家裝置的一連線裝置的一當前吞吐量,以及該遊戲伺服器依據該當前玩家裝置的該當前吞吐量去決定是否對該當前玩家裝置進行一圖形處理器共享。
- 如請求項9所述的遊戲系統,其中該圖形處理器共享包括, 依據該當前玩家裝置的一鎢圖著色基礎結構資訊,由該遊戲伺服器的一圖形處理器繪製一當前圖形,以及將該當前圖形回傳給該當前玩家裝置。
- 如請求項10所述的遊戲系統,其中除了該當前玩家裝置,該遊戲伺服器還將該當前圖形廣播給該些玩家裝置中的其他玩家裝置。
- 如請求項9所述的遊戲系統,其中當該遊戲伺服器決定對該當前玩家裝置取消該圖形處理器共享時,該遊戲伺服器將該當前玩家裝置設置為一串流模式, 其中在該串流模式中,該當前玩家裝置的一圖形處理器繪製一當前圖形,以及該遊戲伺服器將該當前玩家裝置所繪製的該當前圖形廣播給該些玩家裝置中的其他玩家裝置。
- 如請求項9所述的遊戲系統,其中該遊戲伺服器計算該些玩家裝置中的該些當前吞吐量的一平均值,以及該遊戲伺服器比較該當前玩家裝置的該當前吞吐量與該平均值來決定是否對該當前玩家裝置進行該圖形處理器共享。
- 如請求項13所述的遊戲系統,其中當該當前玩家裝置的該當前吞吐量低於該平均值時,該遊戲伺服器檢查該當前玩家裝置的一關鍵元件有無滿載來決定是否對該當前玩家裝置進行該圖形處理器共享。
- 如請求項14所述的遊戲系統,其中該關鍵元件包括中央處理器、一記憶體或是一儲存裝置。
- 一種遊戲伺服器的操作方法,包括: 由該遊戲伺服器與多個玩家裝置建立網路連接; 在該些玩家裝置其中一個發起一遊戲時,由該遊戲伺服器依照一玩家清單發出一遊戲通知給該些玩家裝置;以及 由該遊戲伺服器依據該些玩家裝置針對該遊戲通知的一回應去決定該些玩家裝置的一共同吞吐量。
- 如請求項16所述的操作方法,其中該遊戲通知包括一相同歡迎畫面,所述操作方法更包括: 由該遊戲伺服器計數該些玩家裝置中的任何一個對該相同歡迎畫面的一回應時間;以及 由該遊戲伺服器依據該回應時間去決定是否發出一設備升級通知給該些玩家裝置中的該任何一個。
- 如請求項17所述的操作方法,更包括: 當該些玩家裝置中的一受邀玩家裝置的該回應時間大於一時間門檻時,由該遊戲伺服器發出該設備升級通知給該受邀玩家裝置。
- 如請求項16所述的操作方法,其中該共同吞吐量包括一傳輸控制協定吞吐量。
- 如請求項16所述的操作方法,更包括: 由該遊戲伺服器發出該遊戲通知給該些玩家裝置以詢問該些玩家裝置的任何一個的一傳輸記憶體大小;以及 由該遊戲伺服器依據該些玩家裝置的該些傳輸記憶體大小去決定該共同吞吐量。
- 如請求項20所述的操作方法,更包括: 由該遊戲伺服器依據該些玩家裝置的該些傳輸記憶體大小中的一最小傳輸記憶體大小去決定該共同吞吐量。
- 如請求項16所述的操作方法,更包括: 由遊戲伺服器通知該些玩家裝置,以使該些玩家裝置的任何一個依據該共同吞吐量去設置自身一連線裝置的一額定吞吐量。
- 如請求項16所述的操作方法,其中該遊戲通知包括一相同時間戳記,所述操作方法更包括: 由該遊戲伺服器檢查該些玩家裝置中的任何一個對該相同時間戳記的一回應;以及 由該遊戲伺服器依據該回應去決定該些玩家裝置中的該任何一個是否為一合法玩家裝置。
- 如請求項16所述的操作方法,更包括: 由該遊戲伺服器檢查該些玩家裝置中的一當前玩家裝置的一連線裝置的一當前吞吐量;以及 由該遊戲伺服器依據該當前玩家裝置的該當前吞吐量去決定是否對該當前玩家裝置進行一圖形處理器共享。
- 如請求項24所述的操作方法,其中該圖形處理器共享包括: 依據該當前玩家裝置的一鎢圖著色基礎結構資訊,由該遊戲伺服器的一圖形處理器繪製一當前圖形;以及 將該當前圖形回傳給該當前玩家裝置。
- 如請求項25所述的操作方法,更包括: 除了該當前玩家裝置,由該遊戲伺服器還將該當前圖形廣播給該些玩家裝置中的其他玩家裝置。
- 如請求項24所述的操作方法,更包括: 當該遊戲伺服器決定對該當前玩家裝置取消該圖形處理器共享時,由該遊戲伺服器將該當前玩家裝置設置為一串流模式; 其中在該串流模式中,該當前玩家裝置的一圖形處理器繪製一當前圖形,以及該遊戲伺服器將該當前玩家裝置所繪製的該當前圖形廣播給該些玩家裝置中的其他玩家裝置。
- 如請求項24所述的操作方法,更包括: 由該遊戲伺服器計算該些玩家裝置中的該些當前吞吐量的一平均值;以及 由該遊戲伺服器比較該當前玩家裝置的該當前吞吐量與該平均值來決定是否對該當前玩家裝置進行該圖形處理器共享。
- 如請求項28所述的操作方法,更包括: 當該當前玩家裝置的該當前吞吐量低於該平均值時,由該遊戲伺服器檢查該當前玩家裝置的一關鍵元件有無滿載來決定是否對該當前玩家裝置進行該圖形處理器共享。
- 如請求項29所述的操作方法,其中該關鍵元件包括中央處理器、一記憶體或是一儲存裝置。
- 一種遊戲系統,包括: 多個玩家裝置;以及 一遊戲伺服器,用以與該些玩家裝置建立網路連接,其中該遊戲伺服器檢查該些玩家裝置中的一當前玩家裝置的一連線裝置的一當前吞吐量,以及該遊戲伺服器依據該當前玩家裝置的該當前吞吐量去決定是否對該當前玩家裝置進行一圖形處理器共享。
- 如請求項31所述的遊戲系統,其中該圖形處理器共享包括, 依據該當前玩家裝置的一鎢圖著色基礎結構資訊,由該遊戲伺服器的一圖形處理器繪製一當前圖形,以及將該當前圖形回傳給該當前玩家裝置。
- 如請求項32所述的遊戲系統,其中除了該當前玩家裝置,該遊戲伺服器還將該當前圖形廣播給該些玩家裝置中的其他玩家裝置。
- 如請求項31所述的遊戲系統,其中當該遊戲伺服器決定對該當前玩家裝置取消該圖形處理器共享時,該遊戲伺服器將該當前玩家裝置設置為一串流模式, 其中在該串流模式中,該當前玩家裝置的一圖形處理器繪製一當前圖形,以及該遊戲伺服器將該當前玩家裝置所繪製的該當前圖形廣播給該些玩家裝置中的其他玩家裝置。
- 如請求項31所述的遊戲系統,其中該遊戲伺服器計算該些玩家裝置中的該些當前吞吐量的一平均值,以及該遊戲伺服器比較該當前玩家裝置的該當前吞吐量與該平均值來決定是否對該當前玩家裝置進行該圖形處理器共享。
- 如請求項35所述的遊戲系統,其中當該當前玩家裝置的該當前吞吐量低於該平均值時,該遊戲伺服器檢查該當前玩家裝置的一關鍵元件有無滿載來決定是否對該當前玩家裝置進行該圖形處理器共享。
- 如請求項36所述的遊戲系統,其中該關鍵元件包括中央處理器、一記憶體或是一儲存裝置。
- 一種遊戲伺服器的操作方法,包括: 由該遊戲伺服器與多個玩家裝置建立網路連接; 由該遊戲伺服器檢查該些玩家裝置中的一當前玩家裝置的一連線裝置的一當前吞吐量;以及 由該遊戲伺服器依據該當前玩家裝置的該當前吞吐量去決定是否對該當前玩家裝置進行一圖形處理器共享。
- 如請求項38所述的操作方法,其中該圖形處理器共享包括: 依據該當前玩家裝置的一鎢圖著色基礎結構資訊,由該遊戲伺服器的一圖形處理器繪製一當前圖形;以及 將該當前圖形回傳給該當前玩家裝置。
- 如請求項39所述的操作方法,更包括: 由該遊戲伺服器除了該當前玩家裝置還將該當前圖形廣播給該些玩家裝置中的其他玩家裝置。
- 如請求項38所述的操作方法,更包括: 當該遊戲伺服器決定對該當前玩家裝置取消該圖形處理器共享時,由該遊戲伺服器將該當前玩家裝置設置為一串流模式, 其中在該串流模式中,該當前玩家裝置的一圖形處理器繪製一當前圖形,以及該遊戲伺服器將該當前玩家裝置所繪製的該當前圖形廣播給該些玩家裝置中的其他玩家裝置。
- 如請求項38所述的操作方法,更包括: 由該遊戲伺服器計算該些玩家裝置中的該些當前吞吐量的一平均值;以及 由該遊戲伺服器比較該當前玩家裝置的該當前吞吐量與該平均值來決定是否對該當前玩家裝置進行該圖形處理器共享。
- 如請求項42所述的操作方法,更包括: 當該當前玩家裝置的該當前吞吐量低於該平均值時,由該遊戲伺服器檢查該當前玩家裝置的一關鍵元件有無滿載來決定是否對該當前玩家裝置進行該圖形處理器共享。
- 如請求項43所述的操作方法,其中該關鍵元件包括中央處理器、一記憶體或是一儲存裝置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110122121A TWI768972B (zh) | 2021-06-17 | 2021-06-17 | 遊戲系統及其遊戲伺服器操作方法 |
US17/739,206 US11918892B2 (en) | 2021-06-17 | 2022-05-09 | Gaming system and operation method of gaming server thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110122121A TWI768972B (zh) | 2021-06-17 | 2021-06-17 | 遊戲系統及其遊戲伺服器操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI768972B true TWI768972B (zh) | 2022-06-21 |
TW202300202A TW202300202A (zh) | 2023-01-01 |
Family
ID=83104104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110122121A TWI768972B (zh) | 2021-06-17 | 2021-06-17 | 遊戲系統及其遊戲伺服器操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11918892B2 (zh) |
TW (1) | TWI768972B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108136259A (zh) * | 2015-07-24 | 2018-06-08 | 格瑞拉伯克斯有限公司 | 用于流式传输和用于再现应用的方法和电信网络 |
CN109152955A (zh) * | 2015-12-30 | 2019-01-04 | 索尼互动娱乐美国有限责任公司 | 云游戏中的用户保存数据管理 |
US20190151756A1 (en) * | 2007-12-05 | 2019-05-23 | Sony Interactive Entertainment America Llc | Hosting and Broadcasting Virtual Events Using Streaming Interactive Video |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8805939B2 (en) * | 2010-11-03 | 2014-08-12 | Microsoft Corporation | Gaming notifications aggregator |
US9272217B1 (en) * | 2011-06-01 | 2016-03-01 | Zynga Inc. | System and method for providing notifications to players of games |
US8537581B2 (en) * | 2011-08-25 | 2013-09-17 | General Electric Company | Power converter system and methods of operating a power converter system |
US9672583B2 (en) | 2011-12-21 | 2017-06-06 | Intel Corporation | GPU accelerated address translation for graphics virtualization |
WO2014201876A1 (zh) | 2013-06-17 | 2014-12-24 | 华为技术有限公司 | 屏幕分享方法和相关设备及通信系统 |
GB2526245A (en) | 2014-03-04 | 2015-11-25 | Microsoft Technology Licensing Llc | Sharing content |
-
2021
- 2021-06-17 TW TW110122121A patent/TWI768972B/zh active
-
2022
- 2022-05-09 US US17/739,206 patent/US11918892B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190151756A1 (en) * | 2007-12-05 | 2019-05-23 | Sony Interactive Entertainment America Llc | Hosting and Broadcasting Virtual Events Using Streaming Interactive Video |
US20200197805A1 (en) * | 2007-12-05 | 2020-06-25 | Sony Interactive Entertainment America Llc | Hosting and Broadcasting Virtual Events Using Streaming Interactive Video |
CN108136259A (zh) * | 2015-07-24 | 2018-06-08 | 格瑞拉伯克斯有限公司 | 用于流式传输和用于再现应用的方法和电信网络 |
CN109152955A (zh) * | 2015-12-30 | 2019-01-04 | 索尼互动娱乐美国有限责任公司 | 云游戏中的用户保存数据管理 |
Also Published As
Publication number | Publication date |
---|---|
US11918892B2 (en) | 2024-03-05 |
US20220401831A1 (en) | 2022-12-22 |
TW202300202A (zh) | 2023-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020114007A1 (zh) | 实现游戏手柄远程操控电脑游戏的方法、系统与电子设备 | |
EP3316532B1 (en) | Computer device, system and method for implementing load balancing | |
WO2019095655A1 (zh) | 一种数据交互方法和计算设备 | |
US20170249281A1 (en) | Techniques for Use of Vendor Defined Messages to Execute a Command to Access a Storage Device | |
US20170024340A1 (en) | Delivering interrupts through non-transparent bridges in a pci-express network | |
US20080016236A1 (en) | Data buffering and notification system and methods thereof | |
US8762544B2 (en) | Selectively communicating data of a peripheral device to plural sending computers | |
US20070060373A1 (en) | Data communication system and methods | |
CN106027882A (zh) | 摄像头外设在虚拟化环境下的重定向方法 | |
CN109729106A (zh) | 处理计算任务的方法、系统和计算机程序产品 | |
CN107193673A (zh) | 一种报文处理方法及设备 | |
CN112346871A (zh) | 一种请求处理方法及微服务系统 | |
US20140161122A1 (en) | Network device selection | |
TWI641951B (zh) | 動態分派工作及提供資源的方法、裝置及其系統 | |
CN112221127A (zh) | 一种云游戏的多点控制方法及装置 | |
WO2022143717A1 (zh) | 一种虚拟机迁移方法、装置及系统 | |
WO2020181734A1 (zh) | 一种管理网络地址转换nat网关的方法及服务器 | |
TWI768972B (zh) | 遊戲系統及其遊戲伺服器操作方法 | |
WO2024037239A1 (zh) | 一种加速器调度方法及相关装置 | |
US11929926B2 (en) | Traffic service threads for large pools of network addresses | |
US9381436B2 (en) | Mechanism for implementing cloud local area network party service for multi-player content/game environment | |
TW202008172A (zh) | 儲存系統 | |
CN115518372A (zh) | 游戏系统及其游戏服务器操作方法 | |
US7908364B2 (en) | Method storing socket state information in application space for improving communication efficiency of an application program | |
CN115348231B (zh) | 一种消息处理方法、装置、服务端及存储介质 |