本發(fā)明涉及互聯(lián)網(wǎng)游戲領(lǐng)域,特別是涉及一種基于游戲關(guān)卡難度動(dòng)態(tài)調(diào)整關(guān)卡副本的方法。
背景技術(shù):
互聯(lián)網(wǎng)游戲領(lǐng)域中,尤其涉及諸多MMORPG(Massive Multiplayer Online Role-Playing Game,大型多人在線角色扮演游戲),大都采用的是傳統(tǒng)的難度設(shè)置模式開發(fā)的,雖然對(duì)所有的玩家來(lái)說相同的關(guān)卡難度是一樣的,但是這使得新玩家和一部分休閑玩家很難上手,無(wú)形中大大的降低了游戲體驗(yàn)。雖然大多數(shù)游戲應(yīng)對(duì)該問題做出了一些調(diào)整,如為新玩家增加有限時(shí)間的增益、或者提供新玩家進(jìn)入游戲的前期裝備等方案,但是這只是短期的、暫時(shí)的解決了問題,并沒有從根本上解決。
現(xiàn)有技術(shù)中,可以對(duì)游戲關(guān)卡難度進(jìn)行一些動(dòng)態(tài)調(diào)整,例如調(diào)節(jié)玩家或敵人NPC(Non-Player-Controlled Character,非玩家控制角色)行為,該方案主要通過改變游戲玩家在游戲中角色的游戲?qū)傩灾祦?lái)改變游戲難度值,其中最典型的例子就是“哈姆雷特”動(dòng)態(tài)難度調(diào)整系統(tǒng),該方案雖然在某種程度上的確提高了游戲的適應(yīng)性,但是其預(yù)測(cè)的準(zhǔn)確性有待提高,因?yàn)閺谋举|(zhì)上來(lái)說,該方案只對(duì)游戲玩家角色的生命值和武器剩余進(jìn)行監(jiān)測(cè),并且只有在方案“認(rèn)為”玩家無(wú)法完成任務(wù)的時(shí)候才會(huì)調(diào)整游戲難度,準(zhǔn)確的說這只是一種“救援”策略;另一種方案是直接生成具有與玩家能力相適應(yīng)的難度的游戲關(guān)卡,該方案主要通過記錄玩家在游戲中的操作行為推斷出玩家所適合的游戲難度水平,其典型的例子就是“強(qiáng)化學(xué)習(xí)”的方法。該方法通過在玩家完成一個(gè)關(guān)卡后,搜集玩家的行為數(shù)據(jù)來(lái)計(jì)算下一個(gè)關(guān)卡應(yīng)具有的難度,然后組合具有不同難度的挑戰(zhàn)來(lái)生成下一個(gè)關(guān)卡,從而生成相應(yīng)的關(guān)卡副本,該方案雖然是一個(gè)很好的調(diào)整游戲難度的方法,準(zhǔn)確性也比較高,但是該方法對(duì)內(nèi)存的消耗非常巨大,而且該方案的適用性不是很廣泛,僅適合單機(jī)類型的游戲。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提出了一種基于游戲關(guān)卡難度動(dòng)態(tài)調(diào)整關(guān)卡副本的方法,,通過預(yù)估游戲玩家在團(tuán)隊(duì)?wèi)?zhàn)斗中的團(tuán)隊(duì)適應(yīng)關(guān)卡難度動(dòng)態(tài)調(diào)整關(guān)卡副本難度,以向客戶端提供適配的關(guān)卡副本,提高游戲玩家與游戲關(guān)卡難度的契合度。
本發(fā)明提出的技術(shù)方案是:
一種基于游戲關(guān)卡難度動(dòng)態(tài)調(diào)整關(guān)卡副本的方法,該方法包括:
服務(wù)器接收客戶端發(fā)送的關(guān)卡副本生成請(qǐng)求消息,所述關(guān)卡副本生成請(qǐng)求消息攜帶團(tuán)隊(duì)?wèi)?zhàn)斗中各個(gè)成員玩家的角色I(xiàn)D、關(guān)卡底本ID、以及關(guān)卡模式信息;
針對(duì)所述團(tuán)隊(duì)?wèi)?zhàn)斗中的各個(gè)成員玩家,所述服務(wù)器根據(jù)成員玩家的角色I(xiàn)D確定該成員玩家的角色等級(jí)、角色屬性、以及各角色屬性的增益,根據(jù)確定出的角色等級(jí)、角色屬性和各角色屬性的增益計(jì)算該成員玩家的初始個(gè)體貢獻(xiàn)能力值,根據(jù)成員玩家的角色I(xiàn)D確定該成員玩家的存檔個(gè)體貢獻(xiàn)能力值,將計(jì)算得到的初始個(gè)體貢獻(xiàn)能力值與確定出的存檔個(gè)體貢獻(xiàn)能力值的均值確定為該成員玩家的個(gè)體貢獻(xiàn)能力值;
所述服務(wù)器根據(jù)c=a+b·x計(jì)算各成員玩家的個(gè)體適應(yīng)關(guān)卡難度,其中,a為所述關(guān)卡副本生成請(qǐng)求消息中攜帶的關(guān)卡底本ID的基礎(chǔ)模式難度值,b為游戲關(guān)卡難度單位變動(dòng)值,且b是常數(shù),x為各成員玩家的個(gè)體貢獻(xiàn)能力值;
根據(jù)計(jì)算團(tuán)隊(duì)貢獻(xiàn)能力值,其中,n為所述團(tuán)隊(duì)?wèi)?zhàn)斗中成員玩家的個(gè)數(shù),ci為所述團(tuán)隊(duì)?wèi)?zhàn)斗中第i各玩家的適應(yīng)關(guān)卡難度,σ為各成員玩家個(gè)體適應(yīng)關(guān)卡難度的均方差;
根據(jù)Y=a+b·y計(jì)算團(tuán)隊(duì)適應(yīng)關(guān)卡難度,其中,a為所述關(guān)卡副本生成請(qǐng)求消息中攜帶的關(guān)卡底本ID的基礎(chǔ)模式難度值,b為游戲關(guān)卡難度單位變動(dòng)值,且b是常數(shù),y為所述團(tuán)隊(duì)貢獻(xiàn)能力值;
根據(jù)所述關(guān)卡底本ID確定所述請(qǐng)求生成的關(guān)卡底本,根據(jù)所述關(guān)卡模式信息確定請(qǐng)求生成的關(guān)卡底本對(duì)應(yīng)的模式,將確定出的該模式下的關(guān)卡底本的難度調(diào)整成為計(jì)算得到的團(tuán)隊(duì)適應(yīng)關(guān)卡難度Y,并生成相應(yīng)的關(guān)卡副本;
發(fā)送關(guān)卡副本生成確認(rèn)消息給所述客戶端。
綜上,本發(fā)明提出了一種基于游戲關(guān)卡難度動(dòng)態(tài)調(diào)整關(guān)卡副本的方法,服務(wù)器生成關(guān)卡副本之前預(yù)估團(tuán)隊(duì)適應(yīng)的關(guān)卡難度,根據(jù)預(yù)估出的團(tuán)隊(duì)適應(yīng)關(guān)卡難度動(dòng)態(tài)調(diào)整待生成的關(guān)卡副本,以向客戶端動(dòng)態(tài)地提供適配的關(guān)卡副本,大大提高游戲玩家與游戲關(guān)卡難度的契合度。
附圖說明
圖1為本發(fā)明技術(shù)方案的流程圖。
具體實(shí)施方式
本發(fā)明技術(shù)方案提出了一種基于游戲關(guān)卡難度動(dòng)態(tài)調(diào)整關(guān)卡副本的方法,服務(wù)器生成關(guān)卡副本之前預(yù)估團(tuán)隊(duì)適應(yīng)關(guān)卡難度,根據(jù)預(yù)估出的團(tuán)隊(duì)適應(yīng)關(guān)卡難度動(dòng)態(tài)調(diào)整要生成的關(guān)卡副本。
圖1為本發(fā)明技術(shù)方案的流程圖,如圖1所示,該方法應(yīng)用于服務(wù)器,包括以下步驟:
步驟101:服務(wù)器接收客戶端發(fā)送的關(guān)卡副本生成請(qǐng)求消息,所述關(guān)卡副本生成請(qǐng)求消息攜帶團(tuán)隊(duì)?wèi)?zhàn)斗中各個(gè)成員玩家的角色I(xiàn)D、關(guān)卡底本ID、以及關(guān)卡模式信息。
本步驟中,多個(gè)游戲玩家組成一個(gè)團(tuán)隊(duì)挑戰(zhàn)某個(gè)關(guān)卡后,由團(tuán)隊(duì)的隊(duì)長(zhǎng)所屬的客戶端發(fā)送關(guān)卡副本生成請(qǐng)求消息給服務(wù)器,該關(guān)卡副本生成請(qǐng)求消息中攜帶團(tuán)隊(duì)中各個(gè)成員玩家的角色I(xiàn)D,每個(gè)成員玩家的角色I(xiàn)D具有唯一性,關(guān)卡副本生成請(qǐng)求消息中還攜帶關(guān)卡底本ID,即該團(tuán)隊(duì)請(qǐng)求生成的關(guān)卡副本對(duì)應(yīng)的關(guān)卡底本的ID。其中,關(guān)卡底本是保存在服務(wù)器端的每個(gè)關(guān)卡的底本,當(dāng)服務(wù)器接收到客戶端要挑戰(zhàn)某個(gè)關(guān)卡的請(qǐng)求消息后,根據(jù)要挑戰(zhàn)的關(guān)卡底本生成相應(yīng)的關(guān)卡副本供玩家進(jìn)行游戲。每個(gè)關(guān)卡底本具有唯一的底本ID。服務(wù)器根據(jù)關(guān)卡副本生成請(qǐng)求消息中攜帶的關(guān)卡底本ID可以唯一確定對(duì)應(yīng)的關(guān)卡底本。
進(jìn)一步地,每個(gè)關(guān)卡底本可以包括多種模式,例如普通模式、中等模式、困難模式,這種情況下,服務(wù)器接收到的關(guān)卡副本生成請(qǐng)求消息還攜帶有關(guān)卡模式信息,用于服務(wù)器進(jìn)一步確定要生成的關(guān)卡副本的難度值。
步驟102:針對(duì)所述團(tuán)隊(duì)?wèi)?zhàn)斗中的各個(gè)成員玩家,所述服務(wù)器根據(jù)成員玩家的角色I(xiàn)D確定該成員玩家的角色等級(jí)、角色屬性、以及各角色屬性的增益,根據(jù)確定出的角色等級(jí)、角色屬性和各角色屬性的增益計(jì)算該成員玩家的初始個(gè)體貢獻(xiàn)能力值。
本步驟中,服務(wù)器端保存有各個(gè)游戲玩家的角色等級(jí)、角色屬性、以及各角色屬性的增益信息,根據(jù)每個(gè)玩家的角色I(xiàn)D可以查找到上述信息。
進(jìn)一步地,根據(jù)確定出的角色等級(jí)、角色屬性和各角色屬性的增益計(jì)算該成員玩家的初始個(gè)體貢獻(xiàn)能力值的方法為:
根據(jù)計(jì)算成員玩家的初始個(gè)體貢獻(xiàn)能力值,其中,d為成員玩家的角色等級(jí),kj為該成員玩家的第j個(gè)角色屬性,sj為該成員玩家的第j個(gè)角色屬性的增益,j為正整數(shù),j的上限值視成員玩家的角色屬性個(gè)數(shù)而定,且本申請(qǐng)中的角色屬性不包含角色等級(jí),角色屬性為攻擊屬性、治療屬性等。
步驟103:確定成員玩家的個(gè)體貢獻(xiàn)能力值。
本步驟中,服務(wù)器端保存有游戲玩家的存檔個(gè)體貢獻(xiàn)能力值,如果某個(gè)游戲玩家是首次參加團(tuán)隊(duì)?wèi)?zhàn)斗,則服務(wù)器端沒有該玩家的存檔個(gè)體貢獻(xiàn)能力值,如果玩家是非首次參加團(tuán)隊(duì)?wèi)?zhàn)斗,則服務(wù)器端保存有該玩家的存檔個(gè)體貢獻(xiàn)能力值,其中,游戲玩家的存檔個(gè)體貢獻(xiàn)能力值是根據(jù)該游戲玩家在之前的團(tuán)隊(duì)?wèi)?zhàn)斗中的表現(xiàn)計(jì)算得出的,具體計(jì)算方法在后面有詳述,此處不再贅述。
如果成員玩家是首次參加團(tuán)隊(duì)?wèi)?zhàn)斗,則服務(wù)器查詢不到該成員玩家的存檔個(gè)體貢獻(xiàn)能力值,這種情況下該成員玩家的個(gè)體貢獻(xiàn)能力值即為其初始個(gè)體貢獻(xiàn)能力值。
如果成員玩家是非首次參加團(tuán)隊(duì)?wèi)?zhàn)斗,則服務(wù)器根據(jù)成員玩家的角色I(xiàn)D確定該成員玩家的存檔個(gè)體貢獻(xiàn)能力值,將計(jì)算得到的該成員玩家的初始個(gè)體貢獻(xiàn)能力值與確定出的存檔個(gè)體貢獻(xiàn)能力值的均值確定為該成員玩家的個(gè)體貢獻(xiàn)能力值。
步驟104:服務(wù)器計(jì)算各成員玩家的個(gè)體適應(yīng)關(guān)卡難度。
本步驟中,服務(wù)器根據(jù)c=a+b·x計(jì)算各成員玩家的個(gè)體適應(yīng)關(guān)卡難度,其中,a為關(guān)卡副本生成請(qǐng)求消息中攜帶的關(guān)卡底本ID的基礎(chǔ)模式難度值,即該團(tuán)隊(duì)?wèi)?zhàn)斗請(qǐng)求生成的關(guān)卡副本對(duì)應(yīng)的關(guān)卡底本的最簡(jiǎn)單模式的難度值,如果關(guān)卡底本ID對(duì)應(yīng)的關(guān)卡底本只有一種模式,則a為該關(guān)卡底本的難度值,如果關(guān)卡底本ID對(duì)應(yīng)的關(guān)卡底本有多種模式,則a為該關(guān)卡底本的基礎(chǔ)模式的難度值;b為游戲關(guān)卡難度單位變動(dòng)值,且b是常數(shù),x為各成員玩家的個(gè)體貢獻(xiàn)能力值,在步驟103中計(jì)算得到。
步驟105:服務(wù)器計(jì)算團(tuán)隊(duì)貢獻(xiàn)能力值。
根據(jù)計(jì)算團(tuán)隊(duì)貢獻(xiàn)能力值,其中,n為所述團(tuán)隊(duì)?wèi)?zhàn)斗中成員玩家的個(gè)數(shù),ci為所述團(tuán)隊(duì)?wèi)?zhàn)斗中第i個(gè)玩家的個(gè)體適應(yīng)關(guān)卡難度,σ為各成員玩家個(gè)體適應(yīng)關(guān)卡難度貢獻(xiàn)能力值的均方差。
步驟106:服務(wù)器計(jì)算團(tuán)隊(duì)適應(yīng)關(guān)卡難度。
根據(jù)Y=a+b·y計(jì)算團(tuán)隊(duì)適應(yīng)關(guān)卡難度,其中,a為關(guān)卡副本生成請(qǐng)求消息中攜帶的關(guān)卡底本ID的基礎(chǔ)模式難度值,即該團(tuán)隊(duì)?wèi)?zhàn)斗請(qǐng)求生成的關(guān)卡副本對(duì)應(yīng)的關(guān)卡底本的最簡(jiǎn)單模式的難度值,b為游戲關(guān)卡難度單位變動(dòng)值,且b是常數(shù),y為步驟105中計(jì)算得到的團(tuán)隊(duì)貢獻(xiàn)能力值。
步驟107:根據(jù)關(guān)卡副本生成請(qǐng)求消息攜帶的關(guān)卡底本ID確定客戶端請(qǐng)求生成的關(guān)卡副本,根據(jù)關(guān)卡副本生成請(qǐng)求消息攜帶的關(guān)卡模式信息確定對(duì)應(yīng)的關(guān)卡底本的模式,將確定出的對(duì)應(yīng)模式下的關(guān)卡底本的難度調(diào)整成為計(jì)算得到的團(tuán)隊(duì)適應(yīng)關(guān)卡難度Y,并生成相應(yīng)的關(guān)卡副本。
步驟108:發(fā)送關(guān)卡副本生成確認(rèn)消息給所述客戶端。
進(jìn)一步地,服務(wù)器監(jiān)測(cè)團(tuán)隊(duì)?wèi)?zhàn)斗結(jié)果,如果服務(wù)器監(jiān)測(cè)到團(tuán)隊(duì)?wèi)?zhàn)斗成功,該方法進(jìn)一步包括:
針對(duì)每個(gè)成員玩家,服務(wù)器采集團(tuán)隊(duì)?wèi)?zhàn)斗中成員玩家的戰(zhàn)斗貢獻(xiàn)屬性,計(jì)算該成員玩家在本次團(tuán)隊(duì)?wèi)?zhàn)斗中的個(gè)體貢獻(xiàn)評(píng)估值,將該玩家的存檔個(gè)體貢獻(xiàn)能力值更新為將該成員玩家的個(gè)體貢獻(xiàn)評(píng)估值與該成員玩家的存檔個(gè)體貢獻(xiàn)能力值的均值。
具體地,在整個(gè)團(tuán)隊(duì)?wèi)?zhàn)斗中,針對(duì)每個(gè)成員玩家,服務(wù)器采集該成員玩家使用的角色屬性、以及該角色屬性所增益的該團(tuán)隊(duì)中其它成員玩家的人數(shù)(稱為該角色屬性的受增益人數(shù)),根據(jù)公式計(jì)算該成員玩家的戰(zhàn)斗貢獻(xiàn)屬性,其中,d為成員玩家的角色等級(jí),kj為該成員玩家的第j個(gè)角色屬性,sj為該成員玩家的第j個(gè)角色屬性的增益,mj為該成員玩家的第j個(gè)角色屬性的受增益人數(shù),j為正整數(shù),j的上限值視成員玩家的角色屬性個(gè)數(shù)而定;進(jìn)一步計(jì)算該成員玩家在本次團(tuán)隊(duì)?wèi)?zhàn)斗中的戰(zhàn)斗貢獻(xiàn)屬性T與該成員玩家的存檔個(gè)體貢獻(xiàn)能力值的均值,將該均值更新為新的存檔個(gè)體貢獻(xiàn)能力值。
如果所述服務(wù)器監(jiān)測(cè)到團(tuán)隊(duì)?wèi)?zhàn)斗失敗,該方法進(jìn)一步包括:
服務(wù)器增加各成員玩家的角色屬性增益,使得各成員玩家角色復(fù)活后再次進(jìn)行團(tuán)隊(duì)?wèi)?zhàn)斗;之后,如果服務(wù)器監(jiān)測(cè)到團(tuán)隊(duì)?wèi)?zhàn)斗成功,則取消對(duì)各成員玩家增加的角色屬性增益,否則疊加各成員玩家的角色屬性增益,且疊加的各成員玩家的角色屬性增益不超過上限值,且該疊加的屬性增益在該成員玩家離開關(guān)卡副本之后會(huì)消失。
本實(shí)施例中,服務(wù)器接收到客戶端發(fā)送的關(guān)卡副本生成請(qǐng)求消息后,首先預(yù)估該團(tuán)隊(duì)的團(tuán)隊(duì)適應(yīng)關(guān)卡難度,根據(jù)預(yù)估的團(tuán)隊(duì)適應(yīng)關(guān)卡難度調(diào)整要生成的關(guān)卡副本的難度值,為該團(tuán)隊(duì)?wèi)?zhàn)斗生成更加貼合團(tuán)隊(duì)?wèi)?zhàn)斗力的關(guān)卡副本,這樣通過關(guān)卡副本的調(diào)整、并返回給客戶端,使得客戶端與在線玩家的屬性更為匹配,從而間接地有效降低新玩家的違和感,避免老玩家的枯燥感,大大提高游戲玩家與游戲關(guān)卡難度的契合度。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。