專利名稱:聯(lián)網(wǎng)游戲競(jìng)賽方法及其服務(wù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及聯(lián)網(wǎng)游戲服務(wù)相關(guān)技術(shù),特別涉及聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng)及其實(shí)現(xiàn)方法。
背景技術(shù):
聯(lián)網(wǎng)游戲是指人們通過互聯(lián)網(wǎng)或者移動(dòng)通信等通信手段參與聯(lián)機(jī)游戲的一種娛樂方式。由于借助了現(xiàn)代方便快捷的通信方式,使得聯(lián)網(wǎng)游戲的推廣、舉行都很容易、迅速。全國(guó)各地乃至世界各地的人們只需通過身邊或手上的通信終端就可以享受共同參與游戲的樂趣。而且通過互聯(lián)網(wǎng)等影響廣泛而快速的媒質(zhì)作為載體,人們通過互聯(lián)網(wǎng)有意無(wú)意的對(duì)游戲產(chǎn)生了解,從而游戲的推廣變得極為方便和迅速。
聯(lián)網(wǎng)游戲由其便捷性、廣泛性,迅速成為網(wǎng)絡(luò)文化市場(chǎng)的支柱產(chǎn)業(yè),不但超過傳統(tǒng)文化產(chǎn)業(yè),而且以相當(dāng)快的速度在增長(zhǎng)。因此如何更好地向玩家提供聯(lián)網(wǎng)游戲服務(wù)以繁榮網(wǎng)絡(luò)文化市場(chǎng)是當(dāng)前信息技術(shù)發(fā)展的重要需求之一。
在中國(guó),繼網(wǎng)絡(luò)廣告和短信之后,網(wǎng)絡(luò)游戲成為國(guó)內(nèi)網(wǎng)站的盈利支撐點(diǎn),今后幾年網(wǎng)絡(luò)游戲產(chǎn)業(yè)將以每年115%的速度持續(xù)增長(zhǎng)。由于起點(diǎn)低,雖然增速很快,但中國(guó)的網(wǎng)絡(luò)游戲產(chǎn)業(yè)相對(duì)世界發(fā)展的潮流還是慢了不少。經(jīng)過幾年的高速增長(zhǎng),國(guó)內(nèi)網(wǎng)絡(luò)游戲市場(chǎng)將形成較大的市場(chǎng)規(guī)模,市場(chǎng)結(jié)構(gòu)趨于完善,競(jìng)爭(zhēng)更加激烈,整個(gè)產(chǎn)業(yè)完成了初創(chuàng)期的積累,步入高風(fēng)險(xiǎn)高收益的快速成長(zhǎng)期。文化部大力鼓勵(lì)原創(chuàng)開發(fā),爭(zhēng)取在3年到5年的時(shí)間內(nèi)使擁有自主知識(shí)產(chǎn)權(quán)的網(wǎng)絡(luò)游戲產(chǎn)品,占據(jù)國(guó)內(nèi)市場(chǎng)。
聯(lián)網(wǎng)游戲不僅以其獨(dú)特的優(yōu)勢(shì)和手段提供了信息時(shí)代文化產(chǎn)業(yè)的新經(jīng)濟(jì)增長(zhǎng)點(diǎn),而且還以其對(duì)人的吸引力,使手機(jī)、個(gè)人數(shù)字設(shè)備等電子行業(yè)的廠家憑借游戲功能獲得產(chǎn)品的增值,使網(wǎng)絡(luò)等媒體的廣告獲得幾倍次的瀏覽量,使網(wǎng)站因此而得到了盈利,電子游戲相關(guān)產(chǎn)品的推出帶動(dòng)了新的服務(wù)產(chǎn)業(yè),為社會(huì)提供了大量的就業(yè)崗位。
各方面的種種跡象表明,當(dāng)前聯(lián)網(wǎng)游戲技術(shù)的發(fā)展和進(jìn)步,及相關(guān)產(chǎn)品的開發(fā)、關(guān)鍵技術(shù)問題的解決、新的服務(wù)內(nèi)容的產(chǎn)生,都將極大地影響著國(guó)民經(jīng)濟(jì)增長(zhǎng)、社會(huì)進(jìn)步、穩(wěn)定文化市場(chǎng)及使文化市場(chǎng)多樣化。
聯(lián)網(wǎng)游戲開發(fā)主要的技術(shù)領(lǐng)域有多媒體技術(shù)、聯(lián)網(wǎng)通信技術(shù)、游戲規(guī)則開發(fā)等。而當(dāng)前逐漸興起并發(fā)展迅速是聯(lián)網(wǎng)游戲競(jìng)賽,所謂游戲競(jìng)賽就是玩家相互之間進(jìn)行比賽通過比賽結(jié)果進(jìn)行排名。當(dāng)聯(lián)網(wǎng)游戲隨著互聯(lián)網(wǎng)和移動(dòng)通信逐漸走進(jìn)現(xiàn)代人的生活,并且占據(jù)著越來(lái)越重要的地位時(shí),游戲玩家參加聯(lián)網(wǎng)游戲已經(jīng)由最開始的以?shī)蕵窞橹?,逐漸向以競(jìng)技為主的方向過渡。通過參加競(jìng)賽,游戲玩家能更加充分地投入到游戲中,增強(qiáng)了游戲的對(duì)抗性和耐玩性。
對(duì)于聯(lián)網(wǎng)游戲競(jìng)賽這樣一種新興的游戲模式,其市場(chǎng)增長(zhǎng)速度迫切的需要有完善的游戲競(jìng)賽方法及服務(wù)系統(tǒng)來(lái)保證聯(lián)網(wǎng)游戲競(jìng)賽的公平性、真實(shí)性等。在聯(lián)網(wǎng)游戲競(jìng)賽中如何安排實(shí)力相當(dāng)?shù)倪x手進(jìn)行比賽,在有限的比賽輪次和比賽場(chǎng)次之內(nèi),如何區(qū)分競(jìng)賽者的真實(shí)水平,以及在獲取相同積分的情況下如何對(duì)并列名次進(jìn)行排名,這些都是急需解決的技術(shù)問題。
目前聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng)所采用競(jìng)賽方法一般有以下幾個(gè)步驟首先,競(jìng)賽者在規(guī)定的時(shí)間段內(nèi),通過游戲客戶端進(jìn)入指定的競(jìng)賽服務(wù)器參賽,在比賽時(shí)間段內(nèi),競(jìng)賽者可以自由選擇對(duì)手進(jìn)行比賽,即由玩家自由組合進(jìn)行比賽,服務(wù)器不參與組合,比賽結(jié)束后系統(tǒng)更新玩家的記錄比如游戲積分等;
然后,競(jìng)賽一般會(huì)分為多輪進(jìn)行,如初賽,復(fù)賽,決賽等,每一輪中參賽者必須通過自由組合進(jìn)行比賽并完成規(guī)定盤數(shù)的比賽,根據(jù)比賽結(jié)果,比如勝、負(fù)、平、斷線等,來(lái)給予一定的積分,從而統(tǒng)計(jì)出本輪所有玩家的積分,按從高到低進(jìn)行排序后,給出晉級(jí)下一輪的選手。最后一輪比賽的排名按積分的高低進(jìn)行排序,從而決定獎(jiǎng)勵(lì)的人數(shù)。
在實(shí)際應(yīng)用中,上述方案存在以下問題雖然該競(jìng)賽方法按照傳統(tǒng)的競(jìng)賽模式設(shè)計(jì),規(guī)則簡(jiǎn)單且易于實(shí)現(xiàn),有利于聯(lián)網(wǎng)游戲競(jìng)賽的開展,但在競(jìng)賽公平性方面,卻存在著很大的弊端由于聯(lián)網(wǎng)游戲競(jìng)賽中服務(wù)器一開始對(duì)于游戲玩家并不了解,讓玩家自由的選擇對(duì)手進(jìn)行比賽,系統(tǒng)不干預(yù)比賽對(duì)手的組合問題,這使得比賽對(duì)手的選擇完全自主,這種方式存在很大的盲目性和隨意性,使得每場(chǎng)比賽中玩家之間的對(duì)抗程度不平均,對(duì)抗效率低,比如可能玩家之間實(shí)力相差懸殊,從某個(gè)角度看,這樣的比賽沒有意義,區(qū)分玩家實(shí)力時(shí)效率低。
另外由于自主選擇對(duì)手完全依從玩家的主觀傾向,這存在另外一個(gè)弊端就是無(wú)法防止玩家作弊的行為,組合中存在傾向性選擇,比如玩家可以選擇一個(gè)水平相對(duì)較差的對(duì)手來(lái)比賽,或避開實(shí)力強(qiáng)勁的對(duì)手,從而提高自己的競(jìng)賽成績(jī);更為嚴(yán)重的是團(tuán)伙作弊,比如多人合伙在競(jìng)賽中故意輸給某一方,故意斷線等。
從這兩個(gè)方面看,由于玩家自主選擇對(duì)手帶來(lái)了隨機(jī)選擇和傾向性選擇的兩個(gè)弊端,不但降低了比賽效率,而且存在作弊空間,從而嚴(yán)重影響到競(jìng)賽的公平性、高效性,降低競(jìng)賽的趣味性和挑戰(zhàn)性,打擊游戲玩家的積極性。
造成這種情況的主要原因在于,競(jìng)賽過程中,每場(chǎng)比賽都由玩家自由組合進(jìn)行比賽。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種聯(lián)網(wǎng)游戲競(jìng)賽方法及其服務(wù)系統(tǒng),使得聯(lián)網(wǎng)游戲競(jìng)賽更加公平、更能反映玩家真實(shí)水平,并且能有效防止玩家作弊的行為。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種聯(lián)網(wǎng)游戲競(jìng)賽方法,包含以下步驟A玩家請(qǐng)求參加競(jìng)賽;B系統(tǒng)為該玩家選擇至少一個(gè)玩家進(jìn)行一場(chǎng)比賽;C系統(tǒng)將相關(guān)信息記錄或更新到數(shù)據(jù)庫(kù),并統(tǒng)計(jì)競(jìng)賽結(jié)果。
其中,所述步驟A中,當(dāng)玩家請(qǐng)求參加競(jìng)賽時(shí),系統(tǒng)處理該請(qǐng)求,將其排入服務(wù)隊(duì)列;所述步驟B中,系統(tǒng)依次在所述服務(wù)隊(duì)列中選擇至少兩個(gè)玩家進(jìn)行一場(chǎng)比賽。
此外在所述方法中,系統(tǒng)設(shè)置至少兩條所述服務(wù)隊(duì)列,所述步驟B中系統(tǒng)在同一條所述服務(wù)隊(duì)列中選擇玩家進(jìn)行一場(chǎng)比賽。
此外在所述方法中,所述步驟A中系統(tǒng)根據(jù)玩家的上一次的比賽結(jié)果和上一次所處的服務(wù)隊(duì)列將其排入相應(yīng)的所述服務(wù)隊(duì)列。
此外在所述方法中,所述步驟B中,系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)中的歷史記錄選擇同一服務(wù)隊(duì)列中參加一場(chǎng)比賽的玩家,使其相互之間競(jìng)賽成績(jī)差距最小,且相互之間重復(fù)比賽的次數(shù)不超過設(shè)定的最大重復(fù)比賽次數(shù)。
此外在所述方法中,所述步驟B中,系統(tǒng)按以下準(zhǔn)則選擇參加一場(chǎng)比賽的玩家使其相互之間競(jìng)賽成績(jī)差距最小優(yōu)先選擇隊(duì)列名次的差距最小玩家;對(duì)于所述隊(duì)列名次的差距相等的玩家,優(yōu)先選擇積分的差距最小的玩家;對(duì)于所述積分的差距相等的玩家,優(yōu)先選擇排隊(duì)時(shí)間長(zhǎng)的玩家;其中,系統(tǒng)根據(jù)玩家歷史比賽結(jié)果累積計(jì)算所述積分;系統(tǒng)在所述服務(wù)隊(duì)列中根據(jù)所述積分高低對(duì)玩家進(jìn)行排名,對(duì)于積分相同的玩家則根據(jù)其歷史比賽次數(shù)進(jìn)行排名,對(duì)于積分相同且歷史比賽次數(shù)也相同的玩家,則并列相同的名次,從而得到所述隊(duì)列名次。
此外在所述方法中,所述步驟B中,僅當(dāng)所述服務(wù)隊(duì)列中排隊(duì)的玩家個(gè)數(shù)超出該服務(wù)隊(duì)列的長(zhǎng)度而溢出時(shí),系統(tǒng)才從該服務(wù)隊(duì)列選擇玩家進(jìn)行一場(chǎng)比賽。
此外在所述方法中,系統(tǒng)根據(jù)實(shí)際流量和需求情況來(lái)動(dòng)態(tài)調(diào)整所述服務(wù)隊(duì)列的長(zhǎng)度。
此外在所述方法中,所述步驟D中,每場(chǎng)比賽結(jié)束,系統(tǒng)均根據(jù)比賽結(jié)果計(jì)算更新該比賽中每個(gè)玩家的所述積分,并更新數(shù)據(jù)庫(kù);競(jìng)賽結(jié)束后系統(tǒng)按以下規(guī)則進(jìn)行競(jìng)賽排名得到玩家的競(jìng)賽名次根據(jù)所述積分從高到低對(duì)玩家進(jìn)行排名,對(duì)于積分相同的玩家則根據(jù)其歷史比賽對(duì)手的積分的總和高低進(jìn)行排名。
此外在所述方法中,在多輪制競(jìng)賽中,每一輪競(jìng)賽結(jié)束后,系統(tǒng)根據(jù)所述競(jìng)賽名次從前往后選擇玩家晉級(jí)下一輪競(jìng)賽;而在所述步驟A中,當(dāng)玩家請(qǐng)求參加競(jìng)賽時(shí),系統(tǒng)判斷該玩家是否晉級(jí)本輪競(jìng)賽,如果是則將其排入所述服務(wù)隊(duì)列,否則拒絕請(qǐng)求。
本發(fā)明還提供了一種聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),包含服務(wù)端、客戶端、數(shù)據(jù)庫(kù),其中,所述服務(wù)端向所述客戶端提供聯(lián)網(wǎng)游戲比賽的平臺(tái);所述客戶端用于供玩家登錄所述服務(wù)端參加聯(lián)網(wǎng)游戲比賽;所述數(shù)據(jù)庫(kù)用于存儲(chǔ)玩家和競(jìng)賽相關(guān)信息和記錄;其中,玩家登錄并請(qǐng)求參加競(jìng)賽時(shí),由系統(tǒng)為該玩家選擇至少一個(gè)玩家進(jìn)行一場(chǎng)比賽。
其中,所述數(shù)據(jù)庫(kù)記錄玩家歷史比賽信息,且,玩家登錄并請(qǐng)求參加競(jìng)賽時(shí),系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)中的所述玩家歷史比賽信息選擇參加一場(chǎng)比賽的玩家,使其相互之間重復(fù)比賽的次數(shù)不超過設(shè)定的最大重復(fù)比賽次數(shù)。
此外在所述系統(tǒng)中,還包含排隊(duì)模塊和控制模塊,所述排隊(duì)模塊用于實(shí)現(xiàn)至少一個(gè)所述客戶端排隊(duì)接受所述服務(wù)端服務(wù)的機(jī)制;所述控制模塊用于控制該聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng)各個(gè)模塊進(jìn)行協(xié)調(diào)工作;其中,所述排隊(duì)模塊存儲(chǔ)和維護(hù)至少一條服務(wù)隊(duì)列;所述控制模塊包含組合子模塊,用于依次在所述服務(wù)隊(duì)列中選擇至少兩個(gè)玩家進(jìn)行一場(chǎng)比賽。
此外在所述系統(tǒng)中,所述排隊(duì)模塊存儲(chǔ)和維護(hù)至少兩條所述服務(wù)隊(duì)列;所述組合子模塊在同一條所述服務(wù)隊(duì)列中選擇玩家進(jìn)行一場(chǎng)比賽。
此外在所述系統(tǒng)中,玩家登錄并請(qǐng)求參加競(jìng)賽時(shí),所述排隊(duì)模塊根據(jù)其歷史比賽成績(jī)將其排入相應(yīng)的所述服務(wù)隊(duì)列。
此外在所述系統(tǒng)中,所述組合子模塊根據(jù)所述玩家歷史比賽信息選擇參加一場(chǎng)比賽的玩家,使其相互之間競(jìng)賽成績(jī)差距最小。
此外在所述系統(tǒng)中,所述控制模塊還包含排序子模塊,用于對(duì)同一所述服務(wù)隊(duì)列中的玩家按積分進(jìn)行排名,得到玩家的隊(duì)列名次;系統(tǒng)根據(jù)玩家歷史比賽結(jié)果累積計(jì)算所述積分;所述排序子模塊在所述服務(wù)隊(duì)列中根據(jù)所述積分高低對(duì)玩家進(jìn)行排名,對(duì)于積分相同的玩家則根據(jù)其歷史比賽次數(shù)進(jìn)行排名,對(duì)于積分相同且歷史比賽次數(shù)也相同的玩家,則并列相同的名次,從而得到所述隊(duì)列名次;且,所述組合子模塊按以下準(zhǔn)則選擇參加一場(chǎng)比賽的玩家使其相互之間競(jìng)賽成績(jī)差距最小優(yōu)先選擇所述隊(duì)列名次的差距最小玩家;對(duì)于所述隊(duì)列名次的差距相等的玩家,優(yōu)先選擇所述積分的差距最小的玩家;對(duì)于所述積分的差距相等的玩家,優(yōu)先選擇排隊(duì)時(shí)間長(zhǎng)的玩家。
此外在所述系統(tǒng)中,僅當(dāng)所述排隊(duì)模塊判斷所述服務(wù)隊(duì)列中排隊(duì)的玩家個(gè)數(shù)超出該服務(wù)隊(duì)列的長(zhǎng)度而溢出時(shí),所述組合模塊才從該服務(wù)隊(duì)列選擇玩家進(jìn)行一場(chǎng)比賽。
此外在所述系統(tǒng)中,所述控制模塊還包含調(diào)整子模塊,用于根據(jù)實(shí)際流量和需求情況來(lái)動(dòng)態(tài)調(diào)整所述服務(wù)隊(duì)列的長(zhǎng)度。
此外在所述系統(tǒng)中,每場(chǎng)比賽結(jié)束,系統(tǒng)均根據(jù)比賽結(jié)果計(jì)算更新該比賽中每個(gè)玩家的所述積分,并更新數(shù)據(jù)庫(kù);所述控制模塊包含所述排序子模塊,還用于在競(jìng)賽結(jié)束后按以下規(guī)則進(jìn)行競(jìng)賽排名得到玩家的競(jìng)賽名次根據(jù)所述積分從高到低對(duì)玩家進(jìn)行排名,對(duì)于積分相同的玩家則根據(jù)其歷史比賽對(duì)手的積分的總和高低進(jìn)行排名。
此外在所述系統(tǒng)中,所述控制模塊還包含規(guī)則庫(kù),所述規(guī)則庫(kù)可以按具體需求重新設(shè)定;所述規(guī)則庫(kù)定義了所述排序子模塊、所述組合子模塊進(jìn)行排序、組合操作所依從的具體規(guī)則;所述排序子模塊根據(jù)所述規(guī)則庫(kù)進(jìn)行所述競(jìng)賽排名和所述隊(duì)列排名;所述組合子模塊根據(jù)所述規(guī)則庫(kù)從同一所述服務(wù)隊(duì)列中組合玩家進(jìn)行一場(chǎng)比賽。
此外在所述系統(tǒng)中,在多輪制競(jìng)賽中,每一輪競(jìng)賽結(jié)束后,系統(tǒng)根據(jù)所述競(jìng)賽名次從前往后選擇玩家晉級(jí)下一輪競(jìng)賽,其中,如果出現(xiàn)并列名次的玩家,則根據(jù)本輪競(jìng)賽中與該玩家比賽過的所有對(duì)手的積分之和來(lái)進(jìn)行并列名次的排序;一輪比賽結(jié)束后,所有玩家在參加下輪比賽時(shí)均先進(jìn)入水平最低的服務(wù)隊(duì)列,然后再根據(jù)比賽的成績(jī)進(jìn)行升降;而當(dāng)玩家請(qǐng)求參加競(jìng)賽時(shí),所述排隊(duì)模塊判斷該玩家是否晉級(jí)本輪競(jìng)賽,如果是則將其排入所述服務(wù)隊(duì)列,否則拒絕請(qǐng)求。
此外在所述系統(tǒng)中,所述數(shù)據(jù)庫(kù)包含競(jìng)賽表,用于記錄競(jìng)賽相關(guān)信息;競(jìng)賽輪次表,用于記錄每一輪競(jìng)賽的基本信息;競(jìng)賽用戶表,用于記錄每位參加競(jìng)賽的玩家的基本信息;競(jìng)賽結(jié)果表,用于記錄每位參加競(jìng)賽的玩家在每一輪競(jìng)賽的結(jié)果;
競(jìng)賽歷史表,用于記錄每位參加競(jìng)賽的玩家在每一場(chǎng)比賽的相關(guān)信息。
通過比較可以發(fā)現(xiàn),本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)的主要區(qū)別在于,通過系統(tǒng)參與組合玩家進(jìn)行比賽的方法,防止傾向性選擇,從而有效杜絕作弊行為,系統(tǒng)還根據(jù)比賽歷史組合玩家進(jìn)行比賽,限制玩家之間重復(fù)比賽的次數(shù),并且盡量選擇實(shí)力相當(dāng)?shù)耐婕疫M(jìn)行比賽,從而提高比賽效率和激烈程度;系統(tǒng)還采用排隊(duì)的方式對(duì)先后登錄的玩家依次為其安排比賽,提高比賽的公平性,同時(shí)還采用代表玩家不同級(jí)別的多條隊(duì)列的方式,系統(tǒng)在同一條隊(duì)列中組合玩家進(jìn)行比賽,并且排隊(duì)時(shí)根據(jù)玩家上一場(chǎng)比賽的結(jié)果在隊(duì)列之間滑動(dòng),一局比賽結(jié)束后,根據(jù)玩家本次比賽的結(jié)果,決定下一次排隊(duì)?wèi)?yīng)該進(jìn)入哪條隊(duì)列。本次比賽獲勝則上一級(jí)隊(duì)列遷移,負(fù)則向下一級(jí)隊(duì)列遷移,從而避免了過多的強(qiáng)強(qiáng)對(duì)抗,同時(shí)也保證了實(shí)力相當(dāng)?shù)膶?duì)手進(jìn)行比賽;系統(tǒng)還為隊(duì)列設(shè)置隊(duì)列長(zhǎng)度,只有在溢出時(shí)才組合玩家進(jìn)行比賽,從而保證玩家能夠有足夠多的人選進(jìn)行選擇,從而提高組合的公平性,同時(shí)系統(tǒng)還根據(jù)實(shí)際情況動(dòng)態(tài)調(diào)整隊(duì)列長(zhǎng)度,這樣更加符合不同時(shí)間段人數(shù)的實(shí)際情況,從而避免玩家等待時(shí)間過長(zhǎng);系統(tǒng)通過在每個(gè)隊(duì)列中進(jìn)行排名提供組合時(shí)玩家實(shí)力差距的指標(biāo),在最終進(jìn)行競(jìng)賽排名時(shí),根據(jù)玩家積分排名,對(duì)于積分相同的玩家根據(jù)其所有對(duì)手的積分總和排名,這樣能更加公平和精確的反映玩家的真實(shí)水平。
這種技術(shù)方案上的區(qū)別,帶來(lái)了較為明顯的有益效果,即系統(tǒng)參與玩家組合,選擇實(shí)力相當(dāng)?shù)膶?duì)手進(jìn)行比賽,并且避免重復(fù)比賽過多,從而可以杜絕作弊行為、增強(qiáng)比賽的對(duì)抗性;通過設(shè)置多條服務(wù)隊(duì)列排隊(duì)各自組合比賽的方式提高公平性,通過玩家在隊(duì)列間滑動(dòng)避免過多的強(qiáng)強(qiáng)對(duì)抗又保證了實(shí)力相當(dāng)?shù)膶?duì)手進(jìn)行比賽,通過隊(duì)列溢出和隊(duì)列長(zhǎng)度動(dòng)態(tài)調(diào)整保證組合時(shí)有足夠多的備選玩家,提高組合的精確程度,從而提高比賽的激烈程度和趣味性;通過采用對(duì)手積分總和作為輔助排名指標(biāo)來(lái)進(jìn)行最終排名,提高排名反映玩家真實(shí)水平的精確度,提高玩家的積極性,大大有利于推廣聯(lián)網(wǎng)游戲競(jìng)賽。
圖1是根據(jù)本發(fā)明的第一實(shí)施方式的聯(lián)網(wǎng)游戲競(jìng)賽系統(tǒng)結(jié)構(gòu)組成示意圖;圖2是根據(jù)本發(fā)明的第二實(shí)施方式的聯(lián)網(wǎng)游戲競(jìng)賽系統(tǒng)的數(shù)據(jù)庫(kù)構(gòu)造示意圖;圖3是根據(jù)本發(fā)明的第六實(shí)施方式的聯(lián)網(wǎng)游戲競(jìng)賽方法流程圖;圖4是根據(jù)本發(fā)明的第七實(shí)施方式的聯(lián)網(wǎng)游戲競(jìng)賽方法中組合玩家進(jìn)行比賽的流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
本發(fā)明主要思路是取消玩家自主選擇組合參加比賽的權(quán)利,由系統(tǒng)為玩家選擇對(duì)手,同時(shí)系統(tǒng)要考慮到玩家實(shí)力水平的差距盡量選擇實(shí)力相當(dāng)?shù)倪x手進(jìn)行比賽,同時(shí)還限制玩家之間重復(fù)比賽的次數(shù)。本發(fā)明還通過設(shè)置多個(gè)隊(duì)列來(lái)排隊(duì)等待參加比賽,系統(tǒng)在每個(gè)隊(duì)列中進(jìn)行選擇組合實(shí)力相當(dāng)?shù)耐婕疫M(jìn)行比賽,為了保證組合的準(zhǔn)確性,設(shè)置一個(gè)動(dòng)態(tài)調(diào)整的隊(duì)列長(zhǎng)度,只有隊(duì)列溢出時(shí)才進(jìn)行選擇組合,這樣不僅可以保證實(shí)力相當(dāng)?shù)膶?duì)手進(jìn)行比賽,而且防止過多的強(qiáng)強(qiáng)對(duì)抗,同時(shí)動(dòng)態(tài)調(diào)整的隊(duì)列長(zhǎng)度也避免了玩家等待時(shí)間過長(zhǎng)。最后排名時(shí),本發(fā)明采用歷史比賽對(duì)手積分總和作為輔助排名指標(biāo),這樣更能精確而科學(xué)的反映玩家真實(shí)水平。
本發(fā)明采用包含客戶端、服務(wù)端、數(shù)據(jù)庫(kù)、排隊(duì)模塊、控制模塊及其多個(gè)子模塊的系統(tǒng)實(shí)現(xiàn)上述功能。其中排隊(duì)模塊負(fù)責(zé)維護(hù)多條隊(duì)列的排隊(duì)機(jī)制;控制模塊的多個(gè)子模塊負(fù)責(zé)實(shí)現(xiàn)玩家組合、玩家排序、隊(duì)列長(zhǎng)度調(diào)整等功能;數(shù)據(jù)庫(kù)負(fù)責(zé)保存競(jìng)賽相關(guān)信息、玩家相關(guān)信息、歷史比賽相關(guān)信息等記錄,以供組合、排序時(shí)使用。
圖1是本發(fā)明的第一實(shí)施方式中聯(lián)網(wǎng)游戲競(jìng)賽系統(tǒng)結(jié)構(gòu)組成示意圖。該系統(tǒng)包含服務(wù)端、客戶端、數(shù)據(jù)庫(kù)、排隊(duì)模塊、控制模塊。服務(wù)端主要是負(fù)責(zé)向多個(gè)客戶端提供聯(lián)網(wǎng)游戲比賽的平臺(tái),比如任意組合的一組客戶端即可以在服務(wù)端上進(jìn)行一場(chǎng)比賽,服務(wù)端的容量決定允許有多少個(gè)客戶端可以同時(shí)登錄或者同時(shí)進(jìn)行比賽;而客戶端用于供玩家登錄服務(wù)端參加聯(lián)網(wǎng)游戲比賽,一般就是互聯(lián)網(wǎng)的網(wǎng)絡(luò)終端或者移動(dòng)通信手持設(shè)備等;數(shù)據(jù)庫(kù)用于存儲(chǔ)玩家和競(jìng)賽相關(guān)信息和記錄;排隊(duì)模塊用于實(shí)現(xiàn)多個(gè)客戶端排隊(duì)接受服務(wù)端服務(wù)的機(jī)制,使得服務(wù)有序進(jìn)行;控制模塊用于控制該聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng)各個(gè)模塊進(jìn)行協(xié)調(diào)工作。這里關(guān)鍵的一點(diǎn)是當(dāng)玩家登錄并請(qǐng)求參加競(jìng)賽時(shí),由系統(tǒng)為該玩家選擇對(duì)手進(jìn)行一場(chǎng)比賽,而非由玩家自由組合或者自主選擇。
另外,數(shù)據(jù)庫(kù)還記錄玩家歷史比賽信息,并且當(dāng)玩家登錄并請(qǐng)求參加競(jìng)賽時(shí),系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)中的玩家歷史比賽信息選擇參加一場(chǎng)比賽的玩家,使其相互之間重復(fù)比賽的次數(shù)不超過設(shè)定的最大重復(fù)比賽次數(shù)。這樣做的目的就是防止團(tuán)伙作弊、重復(fù)比賽等,因?yàn)楸荣愔貜?fù)會(huì)降低比賽效率,一般來(lái)說一次比賽即能區(qū)分對(duì)手的水平,過多的重復(fù)比賽反而不能反應(yīng)玩家的真實(shí)水平。
該系統(tǒng)中的服務(wù)端,也稱為競(jìng)賽服務(wù)器,是為競(jìng)賽者參加游戲提供運(yùn)行環(huán)境,負(fù)責(zé)與游戲客戶端進(jìn)行消息交互,主要包括競(jìng)賽者登錄/退出服務(wù)器消息、競(jìng)賽者準(zhǔn)備開始游戲消息等。同時(shí)將競(jìng)賽者的比賽結(jié)果寫入競(jìng)賽數(shù)據(jù)庫(kù)。
控制模塊又由以下模塊組成排序子模塊、組合子模塊、調(diào)整子模塊和規(guī)則庫(kù)組成。各個(gè)子模塊均具有自己的特定功能,在下文中將一一提到。其中,排隊(duì)模塊存儲(chǔ)和維護(hù)多條服務(wù)隊(duì)列。而控制模塊所包含組合子模塊就是用于依次在服務(wù)隊(duì)列中選擇組合多個(gè)玩家進(jìn)行同一場(chǎng)比賽。
系統(tǒng)中的數(shù)據(jù)庫(kù),也稱為競(jìng)賽數(shù)據(jù)庫(kù),記錄了與競(jìng)賽相關(guān)的所有信息,包括比賽歷史信息、玩家基本信息、競(jìng)賽基本信息、競(jìng)賽結(jié)果等。為了高效存儲(chǔ)和維護(hù)這些數(shù)據(jù),本發(fā)明的第二實(shí)施方式在第一實(shí)施方式的基礎(chǔ)上采用五種表的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn),如圖2所示競(jìng)賽表,用于記錄競(jìng)賽相關(guān)信息;競(jìng)賽輪次表,用于記錄每一輪競(jìng)賽的基本信息;競(jìng)賽用戶表,用于記錄參加競(jìng)賽的玩家基本信息;競(jìng)賽結(jié)果表,用于記錄每一輪競(jìng)賽的結(jié)果;競(jìng)賽歷史表,用于記錄參加競(jìng)賽的玩家歷史比賽相關(guān)信息。下面給出每張表的具體存儲(chǔ)內(nèi)容及詳細(xì)例子。
競(jìng)賽表對(duì)應(yīng)每次競(jìng)賽自有一張,內(nèi)容包括競(jìng)賽玩家?guī)ぬ?hào)的標(biāo)識(shí)號(hào)(Identity,簡(jiǎn)稱“ID”)、競(jìng)賽名稱、競(jìng)賽描述、競(jìng)賽所用游戲ID、競(jìng)賽狀態(tài),比如報(bào)名、比賽、休戰(zhàn)、結(jié)束等、當(dāng)前競(jìng)賽輪次、報(bào)名的起始日期等信息字段。
競(jìng)賽輪次表對(duì)應(yīng)于多輪制競(jìng)賽的每個(gè)輪次,內(nèi)容包括競(jìng)賽ID、輪次ID、輪次名稱、輪次描述、每輪起始日期、每輪保留人數(shù)等信息字段。
競(jìng)賽用戶表對(duì)應(yīng)于每一位參加競(jìng)賽的玩家,記錄其基本信息,包括競(jìng)賽ID、用戶ID、報(bào)名的順序號(hào)、當(dāng)前狀態(tài),比如晉級(jí)或淘汰、最后排名等信息字段,而表中可以按用戶報(bào)名日期由早到晚排序。
競(jìng)賽結(jié)果表對(duì)應(yīng)記錄每一位競(jìng)賽玩家在每一輪的成績(jī),包括競(jìng)賽ID、輪次ID、用戶ID、競(jìng)賽積分、游戲積分、勝的次數(shù)、平的次數(shù)、負(fù)的次數(shù)、斷線次數(shù)、總的比賽次數(shù)、本輪排名等字段信息。其中,競(jìng)賽積分的具體計(jì)算方法由競(jìng)賽組織者定義,舉例說可以等于勝的次數(shù)×勝的積分+負(fù)的次數(shù)×負(fù)的積分+平的次數(shù)×平的積分(斷線不獲得積分)。另外,一般競(jìng)賽所采用的游戲本身在不競(jìng)賽狀態(tài)下也具有自身的一套積分體系,這樣的積分稱為游戲積分,即為競(jìng)賽者在游戲本身中所獲取的積分,由游戲本身定義。
競(jìng)賽歷史表對(duì)應(yīng)記錄每一位競(jìng)賽者在每一局比賽中的比賽成績(jī)和對(duì)手ID,每個(gè)玩家都有一張競(jìng)賽歷史表,內(nèi)容包括競(jìng)賽ID、輪次ID、當(dāng)前局?jǐn)?shù)、比賽對(duì)手ID列表(可以支持多人參加的游戲)、比賽結(jié)果、本次比賽所外的服務(wù)隊(duì)列號(hào)等信息字段。該競(jìng)賽歷史表在本發(fā)明中具有重要作用,根據(jù)競(jìng)賽歷史,系統(tǒng)可以選擇判斷哪些實(shí)力相當(dāng)?shù)膶?duì)手進(jìn)行比賽,限制玩家之間重復(fù)比賽的次數(shù)。
系統(tǒng)的排隊(duì)模塊負(fù)責(zé)維護(hù)服務(wù)隊(duì)列。在本發(fā)明的第三實(shí)施方式中,可以設(shè)置多條隊(duì)列,并且當(dāng)組合子模塊只在同一條服務(wù)隊(duì)列中選擇玩家進(jìn)行一場(chǎng)比賽。比如由兩個(gè)隊(duì)列組成,其中隊(duì)列1為負(fù)者隊(duì)列,隊(duì)列2為勝者隊(duì)列。當(dāng)玩家請(qǐng)求參加游戲,排隊(duì)系統(tǒng)準(zhǔn)備將其排入隊(duì)列時(shí),系統(tǒng)會(huì)根據(jù)競(jìng)賽者上一次的競(jìng)賽成績(jī),將其加入到對(duì)應(yīng)的隊(duì)列中如果競(jìng)賽者上次比賽獲勝則進(jìn)入勝者隊(duì)列,其它情況如無(wú)成績(jī)、斷線、負(fù)或平等,則進(jìn)入負(fù)者隊(duì)列。
這樣安排的目的是使得每個(gè)隊(duì)列中的對(duì)手不斷更替,可以有效避免過多的強(qiáng)強(qiáng)對(duì)話。競(jìng)賽者如果取得勝利則會(huì)遇到更強(qiáng)的對(duì)手,如果失敗則會(huì)換成相對(duì)較弱的對(duì)手,一定程度上避免了強(qiáng)者始終和強(qiáng)者比賽,弱者始終和弱者比賽的不公平現(xiàn)象。
當(dāng)然也可以設(shè)置更多的隊(duì)列,像一個(gè)梯隊(duì)一樣,根據(jù)玩家每次比賽的勝負(fù)決定其往上滑動(dòng)還是往下。每個(gè)隊(duì)列還應(yīng)該記錄玩家必要信息,包括用戶ID、競(jìng)賽積分、游戲積分、總的比賽次數(shù)、動(dòng)態(tài)排名、在隊(duì)列中已等待時(shí)間等。
在本發(fā)明的第四實(shí)施方式中,還給每個(gè)隊(duì)列限定了一個(gè)隊(duì)列長(zhǎng)度,即當(dāng)隊(duì)列中等待服務(wù)的玩家數(shù)量超出隊(duì)列長(zhǎng)度時(shí),稱為隊(duì)列溢出,此時(shí)即觸發(fā)系統(tǒng)從該隊(duì)列選擇玩家進(jìn)行比賽,比如為該隊(duì)列首位玩家在同一隊(duì)列中選擇一個(gè)符合要求的對(duì)手進(jìn)行比賽。也就是說,玩家可能排在中間就會(huì)被系統(tǒng)選中進(jìn)行比賽。
這個(gè)選擇組合的操作是由控制單元中的組合子模塊實(shí)現(xiàn)的。這樣的隊(duì)列長(zhǎng)度的限定,是用來(lái)保證有足夠多的玩家可以供控制單元的組合模塊使用。隊(duì)列溢出除了可以用事件觸發(fā)外還可以由系統(tǒng)在隊(duì)列中設(shè)置定時(shí)器,定期通知控制單元的組合子模塊來(lái)判斷隊(duì)列是否溢出,并在溢出的情況下組合比賽對(duì)手。
另外,隊(duì)列的長(zhǎng)度還可以由系統(tǒng)來(lái)進(jìn)行動(dòng)態(tài)調(diào)整,這是由于不同時(shí)間段或者不同比賽速度需求的情況下,系統(tǒng)要加快比賽進(jìn)行或者玩家登錄流量太小時(shí),需要將隊(duì)列長(zhǎng)度調(diào)短,這樣比賽進(jìn)行的速度會(huì)加快或者玩家等待的時(shí)間不會(huì)太長(zhǎng)。該功能是由控制模塊中的調(diào)整子模塊完成的。
控制模塊中還保存了規(guī)則庫(kù),各個(gè)模塊是根據(jù)規(guī)則庫(kù)中的定義進(jìn)行具體操作的,因此規(guī)則庫(kù)的更新就表示競(jìng)賽制度的更新,這樣可以方便系統(tǒng)滿足不同競(jìng)賽組織者制定不同規(guī)則的需求。規(guī)則庫(kù)記錄的各種規(guī)則,比如競(jìng)賽的靜態(tài)排名規(guī)則、競(jìng)賽的實(shí)時(shí)排名規(guī)則、競(jìng)賽對(duì)手的選取規(guī)則等,這些可以用來(lái)保證競(jìng)賽的相對(duì)公平性。
控制模塊中的排序子模塊負(fù)責(zé)根據(jù)規(guī)則庫(kù)中的規(guī)則進(jìn)行排序,包含競(jìng)賽排名和隊(duì)列排名兩種。所謂競(jìng)賽排名就是在比賽最終進(jìn)行排名得到競(jìng)賽名次,這是根據(jù)靜態(tài)排名規(guī)則進(jìn)行的,即指每輪比賽結(jié)束或最終比賽結(jié)束的排名計(jì)算方法。比如可以采用如下或類似方法按競(jìng)賽積分從高到低進(jìn)行排序;當(dāng)競(jìng)賽積分相同時(shí),需要將與該競(jìng)賽者進(jìn)行比賽的所有對(duì)手的競(jìng)賽積分進(jìn)行累加,再?gòu)母叩降瓦M(jìn)行排序;如果這樣還是相同時(shí),再按游戲積分從高到低排序;最后按競(jìng)賽的報(bào)名時(shí)間從早到晚進(jìn)行排序。這樣的比賽成績(jī)計(jì)算涉及到與競(jìng)賽者比賽過的所有對(duì)手的成績(jī),能科學(xué)地區(qū)分同分情況下的競(jìng)賽者水平高低,反映其真實(shí)水平。
另外排序子模塊還涉及到對(duì)同一個(gè)隊(duì)列進(jìn)行動(dòng)態(tài)排序,即隊(duì)列排名得到隊(duì)列名次,這是按照規(guī)則庫(kù)的實(shí)時(shí)排名規(guī)則進(jìn)行的,是指對(duì)每個(gè)隊(duì)列中的玩家進(jìn)行動(dòng)態(tài)排名的方法。比如可以采用如下或類似方法先按競(jìng)賽積分從高到低進(jìn)行排序;當(dāng)競(jìng)賽積分相同時(shí),按已比賽次數(shù)進(jìn)行排序;當(dāng)已比賽次數(shù)還相同時(shí),按游戲積分進(jìn)行排序;當(dāng)游戲積分相同時(shí),則取并列相同名次。
控制模塊中的組合子模塊是負(fù)責(zé)在隊(duì)列溢出時(shí)從隊(duì)列中為隊(duì)首玩家選擇對(duì)手進(jìn)行比賽的。這一玩家選擇的操作要遵從規(guī)則庫(kù)中的競(jìng)賽對(duì)手選取規(guī)則進(jìn)行,是指如何為各個(gè)服務(wù)隊(duì)列中的玩家尋找實(shí)力相當(dāng)?shù)膶?duì)手的方法。比如可以采用如下或類似方法首先不能與已經(jīng)比賽過的玩家配對(duì),即限制重復(fù)比賽次數(shù)為1次;然后根據(jù)前面得出的隊(duì)列名次,優(yōu)先選擇名次差距最小的,比如隊(duì)首玩家為隊(duì)列第n名,而隊(duì)列中有第n+1名和第n+3名,則優(yōu)先選擇第n+1名與其比賽;對(duì)于排名差距相同的,比如上例中同時(shí)有第n-1名和第n+1名,則按競(jìng)賽積分差從低到高進(jìn)行選擇;如果競(jìng)賽積分差距又相同時(shí),按已等待時(shí)間長(zhǎng)短進(jìn)行選擇。這樣保證了競(jìng)賽者每次遇到的總是實(shí)力相對(duì)接近的對(duì)手,增加了競(jìng)賽的對(duì)抗性和競(jìng)賽積分的真實(shí)性。
控制模塊中的調(diào)整子模塊是根據(jù)實(shí)際流量和需求情況來(lái)動(dòng)態(tài)調(diào)整服務(wù)隊(duì)列的長(zhǎng)度的。比如依據(jù)加入到競(jìng)賽服務(wù)器的總?cè)藬?shù)(上次比賽獲勝總?cè)藬?shù)和上次比賽失敗總?cè)藬?shù))和競(jìng)賽的時(shí)間段(高峰時(shí)間段、正常時(shí)間段、低峰時(shí)間段等)等,自動(dòng)對(duì)存儲(chǔ)單元中各服務(wù)隊(duì)列的長(zhǎng)度進(jìn)行調(diào)整,有效避免了隊(duì)列中的競(jìng)賽者長(zhǎng)時(shí)間等待或無(wú)法參賽的情況,而這樣的情況在低峰時(shí)間段特別容易出現(xiàn),從而有效提高系統(tǒng)對(duì)競(jìng)賽玩家的服務(wù)質(zhì)量。
下面針對(duì)上述聯(lián)網(wǎng)游戲競(jìng)賽系統(tǒng)給出相應(yīng)的實(shí)現(xiàn)方法,即聯(lián)網(wǎng)游戲競(jìng)賽方法。在本發(fā)明的第五實(shí)施方式中,聯(lián)網(wǎng)游戲競(jìng)賽流程包含以下三個(gè)基本步驟玩家請(qǐng)求參加競(jìng)賽;系統(tǒng)為該玩家選擇至少一個(gè)玩家進(jìn)行一場(chǎng)比賽;系統(tǒng)將相關(guān)信息記錄或更新到數(shù)據(jù)庫(kù),并統(tǒng)計(jì)競(jìng)賽結(jié)果。關(guān)鍵的地方在于選擇玩家參加比賽時(shí)是由系統(tǒng)進(jìn)行選擇的,而非玩家自由組合。
另外,選擇玩家參加比賽時(shí),系統(tǒng)還根據(jù)數(shù)據(jù)庫(kù)中的歷史記錄進(jìn)行選擇,使得參加一場(chǎng)比賽的玩家相互之間重復(fù)比賽的次數(shù)不超過設(shè)定的最大重復(fù)比賽次數(shù)。比如兩個(gè)玩家之間已經(jīng)進(jìn)行比賽,則不許再進(jìn)行比賽。
為了實(shí)現(xiàn)有序服務(wù),還設(shè)置排隊(duì)制度,即當(dāng)玩家請(qǐng)求參加競(jìng)賽時(shí),系統(tǒng)處理該請(qǐng)求,將其排入服務(wù)隊(duì)列;而選擇時(shí),系統(tǒng)按照排隊(duì)順序依次在服務(wù)隊(duì)列中選擇玩家進(jìn)行一場(chǎng)比賽。當(dāng)系統(tǒng)設(shè)置多條服務(wù)隊(duì)列時(shí),則只在同一條服務(wù)隊(duì)列中選擇玩家進(jìn)行一場(chǎng)比賽。另外,多條隊(duì)列之間,是系統(tǒng)根據(jù)玩家的歷史比賽成績(jī)將其排入相應(yīng)的服務(wù)隊(duì)列。這些步驟都是根據(jù)上面系統(tǒng)功能給出的。
為了實(shí)現(xiàn)高效的比賽,系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)中的歷史記錄選擇參加一場(chǎng)比賽的玩家,使其相互之間競(jìng)賽成績(jī)差距最小,即盡量選擇實(shí)力相當(dāng)?shù)膶?duì)手進(jìn)行對(duì)抗,這樣才能很好的拉開對(duì)手間的距離,反映對(duì)手的真實(shí)水平。具體如何選擇實(shí)力相當(dāng)?shù)膶?duì)手可以按以下準(zhǔn)則進(jìn)行優(yōu)先選擇隊(duì)列名次的差距最小玩家;對(duì)于隊(duì)列名次的差距相等的玩家,優(yōu)先選擇積分的差距最小的玩家;對(duì)于積分的差距相等的玩家,優(yōu)先選擇排隊(duì)時(shí)間長(zhǎng)的玩家。這里的積分和隊(duì)列名次就是上面系統(tǒng)實(shí)施方式中提到的概念,此處不再贅述。
為了保證隊(duì)列中可供選擇的玩家數(shù)據(jù),系統(tǒng)僅當(dāng)服務(wù)隊(duì)列中排隊(duì)的玩家個(gè)數(shù)超出該服務(wù)隊(duì)列的長(zhǎng)度而溢出時(shí),才從該服務(wù)隊(duì)列選擇玩家進(jìn)行一場(chǎng)比賽。系統(tǒng)還根據(jù)實(shí)際流量和需求情況來(lái)動(dòng)態(tài)調(diào)整所述服務(wù)隊(duì)列的長(zhǎng)度。這一步驟也是與前文所述系統(tǒng)功能對(duì)應(yīng)的。
在每場(chǎng)比賽結(jié)束后,系統(tǒng)均根據(jù)比賽結(jié)果計(jì)算更新該比賽中每個(gè)玩家的積分,并更新數(shù)據(jù)庫(kù);而競(jìng)賽結(jié)束后系統(tǒng)按以下規(guī)則進(jìn)行競(jìng)賽排名得到玩家的競(jìng)賽名次根據(jù)積分從高到低對(duì)玩家進(jìn)行排名,對(duì)于積分相同的玩家則根據(jù)其歷史比賽對(duì)手的積分的總和高低進(jìn)行排名。
在多輪制競(jìng)賽中,每一輪競(jìng)賽結(jié)束后,系統(tǒng)根據(jù)競(jìng)賽名次從前往后選擇玩家晉級(jí)下一輪競(jìng)賽;而當(dāng)玩家請(qǐng)求參加競(jìng)賽時(shí),系統(tǒng)會(huì)判斷該玩家是否晉級(jí)本輪競(jìng)賽,如果是則將其排入所述服務(wù)隊(duì)列,否則拒絕請(qǐng)求。
綜上所述,圖3給出了本發(fā)明第六實(shí)施方式中的一個(gè)采用定時(shí)檢查隊(duì)列是否溢出并選擇玩家進(jìn)行比賽的機(jī)制的競(jìng)賽流程首先在步驟31中,當(dāng)玩家通過客戶端登錄服務(wù)系統(tǒng),控制單元的調(diào)整子模塊根據(jù)當(dāng)前服務(wù)器的總?cè)藬?shù)和離本次比賽結(jié)束的時(shí)間來(lái)動(dòng)態(tài)調(diào)整每個(gè)隊(duì)列的長(zhǎng)度;接著在步驟32中,此時(shí)當(dāng)玩家發(fā)起準(zhǔn)備開始比賽的請(qǐng)求時(shí),系統(tǒng)查詢競(jìng)賽數(shù)據(jù)庫(kù)判斷該用戶是否已被淘汰或晉級(jí)本輪比賽,如果已淘汰則返回失敗,如果已經(jīng)晉級(jí)則再根據(jù)該競(jìng)賽者最后一次比賽的成績(jī),將其加入每個(gè)隊(duì)列中,比如勝者或負(fù)者隊(duì)列中;接著在步驟33中,當(dāng)隊(duì)列溢出時(shí),觸發(fā)系統(tǒng)從溢出的隊(duì)列中選擇玩家進(jìn)行組合參加一場(chǎng)新的比賽,這里隊(duì)列溢出事件也可以由定時(shí)器實(shí)現(xiàn),即由系統(tǒng)定期檢查隊(duì)列是否溢出。玩家被組合后即送往服務(wù)端進(jìn)行比賽;接著在步驟34中,每場(chǎng)比賽結(jié)束后由系統(tǒng)記錄比賽相關(guān)信息,并更新到數(shù)據(jù)庫(kù),比如記錄各個(gè)玩家所獲積分,將比賽相關(guān)信息記錄到每個(gè)玩家的歷史比賽記錄中;接著在步驟35中,整個(gè)一輪比賽結(jié)束后,控制單元中的排序模塊根據(jù)靜態(tài)排名規(guī)則對(duì)所有參加本輪比賽的玩家進(jìn)行排序得到競(jìng)賽排名,同時(shí)確定下一輪參賽選手名單。如果所有輪次都結(jié)束后,則控制單元中的排序模塊還可以根據(jù)靜態(tài)排名規(guī)則對(duì)所有輪次的所有選手進(jìn)行一次排名。
可見上述流程中關(guān)鍵的步驟是在步驟33中系統(tǒng)如何選擇玩家進(jìn)行新的一場(chǎng)比賽,本發(fā)明的第七實(shí)施方式中,采用隊(duì)列的定時(shí)器超時(shí)實(shí)現(xiàn)系統(tǒng)對(duì)隊(duì)列溢出的檢查,控制模塊對(duì)于每次定時(shí)事件的處理子流程如圖4所示在步驟41中,等待隊(duì)列定時(shí)器超時(shí),觸發(fā)系統(tǒng)對(duì)其進(jìn)行溢出檢查,進(jìn)入步驟42;在步驟42中,首先判斷該隊(duì)列中的人數(shù)是否超出其隊(duì)列長(zhǎng)度,如果未超過則不作處理,返回步驟41,等待下一超時(shí)事件到來(lái),否則進(jìn)入步驟43;在步驟43中,隊(duì)列溢出后,排序子模塊按規(guī)則庫(kù)中的實(shí)時(shí)排名規(guī)則對(duì)該隊(duì)列的所有玩家進(jìn)行排序得出隊(duì)列名次;接著在步驟44中,由組合子模塊對(duì)隊(duì)首的玩家按規(guī)則庫(kù)中的競(jìng)賽對(duì)手的選取規(guī)則尋找對(duì)手,這個(gè)過程中還要通過查詢用戶歷史表來(lái)保證不發(fā)生重復(fù)比賽對(duì)手;接著在步驟45中,判斷是否找到符合條件的對(duì)手,如果找到符合條件的對(duì)手則進(jìn)入步驟46,否則進(jìn)入步驟47;在步驟46中,系統(tǒng)將找到的對(duì)手和隊(duì)首玩家移出隊(duì)列,送到服務(wù)端并安排其比賽,并返回步驟42重新進(jìn)行下一次的組合;在步驟47中,由于沒有找到符合條件的對(duì)手,無(wú)法進(jìn)行比賽,這樣的情況是存在的,比如低峰期隊(duì)列中的對(duì)手人數(shù)有限,有可能所有對(duì)手都已經(jīng)比賽過,則根據(jù)規(guī)則不能再和這些對(duì)手進(jìn)行比賽,這樣的情況下,只能將其移出隊(duì)列,同時(shí)由競(jìng)賽服務(wù)器通知該玩家加入游戲失敗,并返回步驟42重新進(jìn)行下一次的組合。
熟悉本領(lǐng)域的技術(shù)人員可以理解,上述聯(lián)網(wǎng)游戲服務(wù)系統(tǒng)和方法的實(shí)施方式中,為了詳細(xì)描述而采用的各種具體設(shè)置、具體數(shù)值及具體實(shí)現(xiàn)細(xì)節(jié),可以根據(jù)實(shí)際情況按發(fā)明原理采用其他可行方案,同樣能夠?qū)崿F(xiàn)發(fā)明目的,而不影響本發(fā)明的實(shí)質(zhì)和范圍。
雖然通過參照本發(fā)明的某些優(yōu)選實(shí)施方式,已經(jīng)對(duì)本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對(duì)其作各種改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,包含以下步驟A玩家請(qǐng)求參加競(jìng)賽;B系統(tǒng)為該玩家選擇至少一個(gè)玩家進(jìn)行一場(chǎng)比賽;C系統(tǒng)將相關(guān)信息記錄或更新到數(shù)據(jù)庫(kù),并統(tǒng)計(jì)競(jìng)賽結(jié)果。
2.根據(jù)權(quán)利要求1所述的聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,所述步驟A中,當(dāng)玩家請(qǐng)求參加競(jìng)賽時(shí),系統(tǒng)處理該請(qǐng)求,將其排入服務(wù)隊(duì)列;所述步驟B中,系統(tǒng)依次在所述服務(wù)隊(duì)列中選擇至少兩個(gè)玩家進(jìn)行一場(chǎng)比賽。
3.根據(jù)權(quán)利要求2所述的聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,系統(tǒng)設(shè)置至少兩條所述服務(wù)隊(duì)列,所述步驟B中系統(tǒng)在同一條所述服務(wù)隊(duì)列中選擇玩家進(jìn)行一場(chǎng)比賽。
4.根據(jù)權(quán)利要求3所述的聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,所述步驟A中系統(tǒng)根據(jù)玩家的上一次的比賽結(jié)果和上一次所處的服務(wù)隊(duì)列將其排入相應(yīng)的所述服務(wù)隊(duì)列。
5.根據(jù)權(quán)利要求4所述的聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,所述步驟B中,系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)中的歷史記錄選擇同一服務(wù)隊(duì)列中參加一場(chǎng)比賽的玩家,使其相互之間競(jìng)賽成績(jī)差距最小,且相互之間重復(fù)比賽的次數(shù)不超過設(shè)定的最大重復(fù)比賽次數(shù)。
6.根據(jù)權(quán)利要求5所述的聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,所述步驟B中,系統(tǒng)按以下準(zhǔn)則選擇參加一場(chǎng)比賽的玩家使其相互之間競(jìng)賽成績(jī)差距最小優(yōu)先選擇隊(duì)列名次的差距最小玩家;對(duì)于所述隊(duì)列名次的差距相等的玩家,優(yōu)先選擇積分的差距最小的玩家;對(duì)于所述積分的差距相等的玩家,優(yōu)先選擇排隊(duì)時(shí)間長(zhǎng)的玩家;其中,系統(tǒng)根據(jù)玩家歷史比賽結(jié)果累積計(jì)算所述積分;系統(tǒng)在所述服務(wù)隊(duì)列中根據(jù)所述積分高低對(duì)玩家進(jìn)行排名,對(duì)于積分相同的玩家則根據(jù)其歷史比賽次數(shù)進(jìn)行排名,對(duì)于積分相同且歷史比賽次數(shù)也相同的玩家,則并列相同的名次,從而得到所述隊(duì)列名次。
7.根據(jù)權(quán)利要求5所述的聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,所述步驟B中,僅當(dāng)所述服務(wù)隊(duì)列中排隊(duì)的玩家個(gè)數(shù)超出該服務(wù)隊(duì)列的長(zhǎng)度而溢出時(shí),系統(tǒng)才從該服務(wù)隊(duì)列選擇玩家進(jìn)行一場(chǎng)比賽。
8.根據(jù)權(quán)利要求7所述的聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,系統(tǒng)根據(jù)實(shí)際流量和需求情況來(lái)動(dòng)態(tài)調(diào)整所述服務(wù)隊(duì)列的長(zhǎng)度。
9.根據(jù)權(quán)利要求1-8中任意一項(xiàng)所述的聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,所述步驟D中,每場(chǎng)比賽結(jié)束,系統(tǒng)均根據(jù)比賽結(jié)果計(jì)算更新該比賽中每個(gè)玩家的所述積分,并更新數(shù)據(jù)庫(kù);競(jìng)賽結(jié)束后系統(tǒng)按以下規(guī)則進(jìn)行競(jìng)賽排名得到玩家的競(jìng)賽名次根據(jù)所述積分從高到低對(duì)玩家進(jìn)行排名,對(duì)于積分相同的玩家則根據(jù)其歷史比賽對(duì)手的積分的總和高低進(jìn)行排名。
10.根據(jù)權(quán)利要求9所述的聯(lián)網(wǎng)游戲競(jìng)賽方法,其特征在于,在多輪制競(jìng)賽中,每一輪競(jìng)賽結(jié)束后,系統(tǒng)根據(jù)所述競(jìng)賽名次從前往后選擇玩家晉級(jí)下一輪競(jìng)賽;而在所述步驟A中,當(dāng)玩家請(qǐng)求參加競(jìng)賽時(shí),系統(tǒng)判斷該玩家是否晉級(jí)本輪競(jìng)賽,如果是則將其排入所述服務(wù)隊(duì)列,否則拒絕請(qǐng)求。
11.一種聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,包含服務(wù)端、客戶端、數(shù)據(jù)庫(kù),其中,所述服務(wù)端向所述客戶端提供聯(lián)網(wǎng)游戲比賽的平臺(tái);所述客戶端用于供玩家登錄所述服務(wù)端參加聯(lián)網(wǎng)游戲比賽;所述數(shù)據(jù)庫(kù)用于存儲(chǔ)玩家和競(jìng)賽相關(guān)信息和記錄;其中,玩家登錄并請(qǐng)求參加競(jìng)賽時(shí),由系統(tǒng)為該玩家選擇至少一個(gè)玩家進(jìn)行一場(chǎng)比賽。
12.根據(jù)權(quán)利要求11所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)記錄玩家歷史比賽信息,且,玩家登錄并請(qǐng)求參加競(jìng)賽時(shí),系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)中的所述玩家歷史比賽信息選擇參加一場(chǎng)比賽的玩家,使其相互之間重復(fù)比賽的次數(shù)不超過設(shè)定的最大重復(fù)比賽次數(shù)。
13.根據(jù)權(quán)利要求12所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,還包含排隊(duì)模塊和控制模塊,所述排隊(duì)模塊用于實(shí)現(xiàn)至少一個(gè)所述客戶端排隊(duì)接受所述服務(wù)端服務(wù)的機(jī)制;所述控制模塊用于控制該聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng)各個(gè)模塊進(jìn)行協(xié)調(diào)工作;其中,所述排隊(duì)模塊存儲(chǔ)和維護(hù)至少一條服務(wù)隊(duì)列;所述控制模塊包含組合子模塊,用于依次在所述服務(wù)隊(duì)列中選擇至少兩個(gè)玩家進(jìn)行一場(chǎng)比賽。
14.根據(jù)權(quán)利要求13所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,所述排隊(duì)模塊存儲(chǔ)和維護(hù)至少兩條所述服務(wù)隊(duì)列;所述組合子模塊在同一條所述服務(wù)隊(duì)列中選擇玩家進(jìn)行一場(chǎng)比賽。
15.根據(jù)權(quán)利要求14所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,玩家登錄并請(qǐng)求參加競(jìng)賽時(shí),所述排隊(duì)模塊根據(jù)其歷史比賽成績(jī)將其排入相應(yīng)的所述服務(wù)隊(duì)列。
16.根據(jù)權(quán)利要求15所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,所述組合子模塊根據(jù)所述玩家歷史比賽信息選擇參加一場(chǎng)比賽的玩家,使其相互之間競(jìng)賽成績(jī)差距最小。
17.根據(jù)權(quán)利要求16所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,所述控制模塊還包含排序子模塊,用于對(duì)同一所述服務(wù)隊(duì)列中的玩家按積分進(jìn)行排名,得到玩家的隊(duì)列名次;系統(tǒng)根據(jù)玩家歷史比賽結(jié)果累積計(jì)算所述積分;所述排序子模塊在所述服務(wù)隊(duì)列中根據(jù)所述積分高低對(duì)玩家進(jìn)行排名,對(duì)于積分相同的玩家則根據(jù)其歷史比賽次數(shù)進(jìn)行排名,對(duì)于積分相同且歷史比賽次數(shù)也相同的玩家,則并列相同的名次,從而得到所述隊(duì)列名次;且,所述組合子模塊按以下準(zhǔn)則選擇參加一場(chǎng)比賽的玩家使其相互之間競(jìng)賽成績(jī)差距最小優(yōu)先選擇所述隊(duì)列名次的差距最小玩家;對(duì)于所述隊(duì)列名次的差距相等的玩家,優(yōu)先選擇所述積分的差距最小的玩家;對(duì)于所述積分的差距相等的玩家,優(yōu)先選擇排隊(duì)時(shí)間長(zhǎng)的玩家。
18.根據(jù)權(quán)利要求16所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,僅當(dāng)所述排隊(duì)模塊判斷所述服務(wù)隊(duì)列中排隊(duì)的玩家個(gè)數(shù)超出該服務(wù)隊(duì)列的長(zhǎng)度而溢出時(shí),所述組合模塊才從該服務(wù)隊(duì)列選擇玩家進(jìn)行一場(chǎng)比賽。
19.根據(jù)權(quán)利要求18所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,所述控制模塊還包含調(diào)整子模塊,用于根據(jù)實(shí)際流量和需求情況來(lái)動(dòng)態(tài)調(diào)整所述服務(wù)隊(duì)列的長(zhǎng)度。
20.根據(jù)權(quán)利要求11-19任意一項(xiàng)所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,每場(chǎng)比賽結(jié)束,系統(tǒng)均根據(jù)比賽結(jié)果計(jì)算更新該比賽中每個(gè)玩家的所述積分,并更新數(shù)據(jù)庫(kù);所述控制模塊包含所述排序子模塊,還用于在競(jìng)賽結(jié)束后按以下規(guī)則進(jìn)行競(jìng)賽排名得到玩家的競(jìng)賽名次根據(jù)所述積分從高到低對(duì)玩家進(jìn)行排名,對(duì)于積分相同的玩家則根據(jù)其歷史比賽對(duì)手的積分的總和高低進(jìn)行排名。
21.根據(jù)權(quán)利要求20所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,所述控制模塊還包含規(guī)則庫(kù),所述規(guī)則庫(kù)可以按具體需求重新設(shè)定;所述規(guī)則庫(kù)定義了所述排序子模塊、所述組合子模塊進(jìn)行排序、組合操作所依從的具體規(guī)則;所述排序子模塊根據(jù)所述規(guī)則庫(kù)進(jìn)行所述競(jìng)賽排名和所述隊(duì)列排名;所述組合子模塊根據(jù)所述規(guī)則庫(kù)從同一所述服務(wù)隊(duì)列中組合玩家進(jìn)行一場(chǎng)比賽。
22.根據(jù)權(quán)利要求20所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,在多輪制競(jìng)賽中,每一輪競(jìng)賽結(jié)束后,系統(tǒng)根據(jù)所述競(jìng)賽名次從前往后選擇玩家晉級(jí)下一輪競(jìng)賽,其中,如果出現(xiàn)并列名次的玩家,則根據(jù)本輪競(jìng)賽中與該玩家比賽過的所有對(duì)手的積分之和來(lái)進(jìn)行并列名次的排序;一輪比賽結(jié)束后,所有玩家在參加下輪比賽時(shí)均先進(jìn)入水平最低的服務(wù)隊(duì)列,然后再根據(jù)比賽的成績(jī)進(jìn)行升降;而當(dāng)玩家請(qǐng)求參加競(jìng)賽時(shí),所述排隊(duì)模塊判斷該玩家是否晉級(jí)本輪競(jìng)賽,如果是則將其排入所述服務(wù)隊(duì)列,否則拒絕請(qǐng)求。
23.根據(jù)權(quán)利要求22所述的聯(lián)網(wǎng)游戲競(jìng)賽服務(wù)系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)包含競(jìng)賽表,用于記錄競(jìng)賽相關(guān)信息;競(jìng)賽輪次表,用于記錄每一輪競(jìng)賽的基本信息;競(jìng)賽用戶表,用于記錄每位參加競(jìng)賽的玩家的基本信息;競(jìng)賽結(jié)果表,用于記錄每位參加競(jìng)賽的玩家在每一輪競(jìng)賽的結(jié)果;競(jìng)賽歷史表,用于記錄每位參加競(jìng)賽的玩家在每一場(chǎng)比賽的相關(guān)信息。
全文摘要
本發(fā)明涉及聯(lián)網(wǎng)游戲服務(wù)相關(guān)技術(shù),公開了一種聯(lián)網(wǎng)游戲競(jìng)賽方法及其服務(wù)系統(tǒng),使得聯(lián)網(wǎng)游戲競(jìng)賽更加公平、更能反映玩家真實(shí)水平,并且能有效防止玩家作弊的行為。本發(fā)明中,通過系統(tǒng)參與組合玩家進(jìn)行比賽的方法,防止傾向性選擇,從而有效杜絕作弊行為,系統(tǒng)還根據(jù)比賽歷史組合玩家進(jìn)行比賽,限制玩家之間重復(fù)比賽的次數(shù),并且盡量選擇實(shí)力相當(dāng)?shù)耐婕疫M(jìn)行比賽,從而提高比賽效率和激烈程度;系統(tǒng)還采用排隊(duì)的方式對(duì)先后登錄的玩家依次為其安排比賽,提高比賽的公平性,同時(shí)還采用代表玩家不同級(jí)別的多條隊(duì)列的方式,系統(tǒng)在同一條隊(duì)列中組合玩家進(jìn)行比賽,并且排隊(duì)時(shí)根據(jù)玩家上一場(chǎng)比賽的結(jié)果在隊(duì)列之間調(diào)整。
文檔編號(hào)G06F19/00GK1862547SQ200510030060
公開日2006年11月15日 申請(qǐng)日期2005年9月28日 優(yōu)先權(quán)日2005年9月28日
發(fā)明者劉乾, 鐘杰萍, 何航 申請(qǐng)人:華為技術(shù)有限公司