麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

動態難度調整的制作方法

文檔序號:11240620閱讀:607來源:國知局
動態難度調整的制造方法與工藝



背景技術:

軟件開發者通常期望他們的軟件盡可能長時間地吸引住用戶。用戶被軟件吸引住的時間越長,軟件越有可能成功。對于視頻游戲,吸引住用戶的時長與軟件的成功之間的關系尤其如此。用戶玩特定視頻游戲的時間越長,用戶喜歡該游戲的可能性越大,因此用戶繼續玩該游戲的可能性越大。

通常,太難或太容易的游戲將導致用戶的興致減少。隨之,用戶可能更少地玩該游戲。因此,游戲開發的挑戰之一是設計具有最可能使用戶保持被吸引住更長時間的難度水平的游戲。



技術實現要素:

本公開內容的系統、方法和設備各自具有多個創新方面,這些方面沒有一個單獨詮釋本文公開的所有期望屬性。附圖和下文描述中給出了本說明書描述的主題的一種或多種實施方式的細節。

在一些實施方案中,公開了一種計算機實施的方法,其可以由配置有具體的計算機可執行指令的交互計算系統實施,以至少確定正在用戶計算設備上玩視頻游戲的用戶的用戶標識符。此外,該方法可以包括至少部分地基于用戶的用戶標識符來訪問與用戶相關聯的輸入數據的集合(asetofinputdata,一組輸入數據)。該輸入數據的集合可以包括與用戶和視頻游戲的交互相關聯的用戶交互數據。另外,至少部分地基于該輸入數據的集合,該方法可以包括確定用戶的預測的流失率。所述預測的流失率可以對應于用戶停止玩視頻游戲的概率。此外,至少部分地基于所述用戶的預測的流失率,該方法可以包括為與視頻游戲相關聯的操縱控件(knob,手柄控件)選擇種子值。操縱控件可以包括在被調整時引起對視頻游戲的狀態的修改的變量。此外,該方法可以包括通過至少部分地基于種子值調整操縱控件來修改視頻游戲的執行。

在一些實施方式中,修改視頻游戲的執行包括調整視頻游戲的難度。此外,用戶交互數據可以包括比閾值時期(age)時間段更近的近期用戶交互數據和沒有閾值時期時間段近的歷史用戶交互數據。在一些情況下,近期用戶交互數據比歷史用戶交互數據被更大地加權。此外,在一些情況下,閾值時期時間段對應于用戶玩視頻游戲的若干玩會話(session,回合)。

對于一些實施方案,確定預測的流失率包括將所述輸入數據的集合提供給參數函數。可以至少部分地基于機器學習算法來生成參數函數。此外,該方法可以包括至少部分地基于參數函數的輸出來確定預測的流失率。此外,生成參數函數可以包括至少訪問輸入數據的第二集合。輸入數據的第二集合可以與玩視頻游戲的多個用戶相關聯,并且可以包括指示所述多個用戶過去玩游戲的流失率的數據。另外,該方法可以包括使用機器學習算法以至少部分地基于該輸入數據的集合來確定參數函數。此外,該方法可以包括至少部分地基于以下中的一個或多個來將不利因素(penalty,不利或懲罰)與參數函數相關聯:參數函數中包括的變量的數量、與參數函數相關聯的數學算法的復雜度、或者與輸出數據相比的參數函數輸出的準確度。另外,該方法可以包括至少部分地基于與來自多個參數函數中的至少一些參數函數相關聯的不利值來從多個參數函數中選擇參數函數。

在一些實施方式中,至少部分地基于該輸入數據的集合,該方法包括確定所述預測的流失率的原因。此外,至少部分地基于所述預測的流失率的原因,該方法可以包括選擇與視頻游戲相關聯的操縱控件的種子值。此外,修改所述視頻游戲的執行可以包括向用戶計算設備提供種子值。

在一些實施方案中,公開了一種系統,該系統包括被配置為存儲關于視頻游戲的用戶交互數據的電子數據存儲裝置。該系統還可以包括與電子數據存儲裝置通信的硬件處理器。該硬件處理器可以被配置為執行具體的計算機可執行指令,以至少確定正在玩視頻游戲的用戶的用戶標識符,并且至少部分地基于用戶的用戶標識符來訪問與用戶相關聯的輸入數據的集合。該輸入數據的集合可以包括與用戶和視頻游戲的交互相關聯的用戶交互數據。此外,至少部分地基于該輸入數據的集合,該系統可以確定與用戶停止玩視頻游戲的概率相關聯的保留概率。此外,至少部分地基于用戶的保留概率,該系統可以確認對于視頻游戲中的變量的調整值。該變量可以與視頻游戲的難度水平相關聯。另外,該系統可以至少部分地基于該調整值來修改視頻游戲的執行。

對于一些實施方式,視頻游戲的被修改的執行是用戶不可察覺的。此外,在一些情況下,響應于用戶玩視頻游戲的玩會話期間出現的觸發事件,至少訪問所述輸入數據的集合、確定所述保留概率、確認所述調整值并且修改視頻游戲的執行被重復。

此外,確定保留概率可以包括將該輸入數據的集合提供給預測模型。預測模型可以由機器學習系統生成。此外,該系統可以至少部分地基于預測模型的輸出來確定保留概率。此外,在一些情況下,硬件處理器還被配置為通過執行具體的計算機可執行指令以至少訪問輸入數據的第二集合來生成預測模型。輸入數據的第二集合可以與玩視頻游戲的多個用戶相關聯,并且可以包括與多個用戶的保留率相關聯的數據。此外,該系統可以使用機器學習系統來至少部分地基于輸入數據的集合和保留率來確定預測模型。在一些情況下,來自多個預測模型的至少一些預測模型與不利因素相關聯。來自多個預測模型的至少一個預測模型可以與不同于至少另一個預測模型的不利因素相關聯,并且硬件處理器還可以被配置為執行具體的計算機可執行指令,以至少:至少部分地基于與所述多個預測模型相關聯的不利因素,從所述多個預測模型選擇預測模型。

本文公開的一些實施方案涉及一種存儲計算機可執行指令的非暫時性計算機可讀存儲介質,所述計算機可執行指令在由一個或多個計算設備執行時,配置所述一個或多個計算設備執行以下操作,所述操作包括訪問與用戶相關聯的輸入數據的集合。該輸入數據的集合可以包括與用戶和視頻游戲的交互相關聯的用戶交互數據。此外,至少部分地基于該輸入數據的集合,所述操作可以包括確定與用戶停止玩視頻游戲的概率相關聯的保留概率。此外,至少部分地基于用戶的保留概率,所述操作可以包括確認視頻游戲的難度水平。此外,至少部分地基于視頻游戲的難度水平,所述操作可以包括確認與難度水平相關聯的一個或多個種子值。

在一些實施方案中,該操作還包括通過從一個或多個種子值中選擇種子值以用于在視頻游戲的執行期間使用來修改視頻游戲的難度水平。此外,該操作還可以包括通過至少向預測模型提供輸入數據的集合來確定保留概率。預測模型可以由機器學習系統生成。此外,該操作可以包括至少部分地基于預測模型的輸出來確定保留概率。

雖然本文公開了一些實施方案和實施例,但發明主題超出具體公開的實施方案擴展至其他替代實施方案和/或使用,并擴展至其修改和等同物。

附圖說明

貫穿附圖中重復使用了一些附圖標記,用以指示所引用的元件之間的對應關系。附圖被提供用來例示本文所述主題的實施方案,但并不限制其范圍。

圖1a例示了可以實現動態難度調整系統的一個或多個實施方案的網絡化計算環境的一個實施方案。

圖1b例示了圖1a的模型生成系統的一個實施方案。

圖1c例示了圖1a的保留分析系統的一個實施方案。

圖2呈現了機器學習過程的一個實施方案的流程圖。

圖3呈現基于難度的種子選擇過程的一個實施方案的流程圖。

圖4呈現了集群創建過程的一個實施方案的流程圖。

圖5呈現了用于用戶的集群分配過程的一個實施方案的流程圖。

圖6呈現了對于一應用的難度設置過程的一個實施方案的流程圖。

圖7呈現了種子評估過程的一個實施方案的流程圖。

圖8例示了用戶計算系統的一個實施方案。

圖9例示了用于圖8的用戶計算系統的硬件配置的一個實施方案。

具體實施方式

介紹

通常期望視頻游戲能吸引大量用戶。然而,當涉及到玩視頻游戲或者特定種類或類型的視頻游戲時,不同的用戶具有不同水平的技能和/或能力。此外,不同的用戶對于將要玩有多少挑戰性的視頻游戲具有不同的期望。例如,一些用戶喜歡相對具有挑戰性的視頻游戲。這些類型的用戶可能往往更會被需要大量練習來掌握的視頻游戲吸引住,并且通常不介意在成功之前多次重復視頻游戲的相同部分。相反,一些用戶喜歡相對容易的視頻游戲。這些類型的用戶可能往往更會被其中容易克服障礙并且很少需要用戶重復一部分視頻游戲才能成功的視頻游戲吸引住。

上述挑戰的一個解決方案是視頻游戲開發者在特定視頻游戲中包含多個靜態難度水平。然而,開發者通常可以添加有限數量的難度水平,由于例如存儲的限制、開發時間的限制、和為大量用戶喜好預測大量難度水平的挑戰。此外,這些難度水平通常是粗糙的,例如,因為所述難度水平通常是通過調整可調節元件(其在本文中有時可稱為“操縱控件”)的限定集合而形成的。因此,由于特定用戶可能會發現視頻游戲的一個特定的方面有挑戰性,但該視頻游戲的另一方面不具有挑戰性,選擇一個靜態難度水平對于該用戶可能會導致整個視頻游戲的不一致的挑戰性。此外,靜態難度水平的該問題由于以下事實而加劇,即,另一用戶可能會發現視頻游戲的不同方面具有挑戰性或容易性。

可以在某些類型的競技視頻游戲(諸如賽車游戲)中使用的另一解決方案是基于用戶和用戶的競爭者之間的關系來改變用戶或用戶的競爭者的能力。例如,假設視頻游戲是賽車游戲,當用戶做得不好時可以使用戶的汽車更快,并且當用戶做得很好時可以使用戶的汽車更慢。這種解決方案可能導致有時被稱為“橡皮筋效應”的結果。這種解決方案通常能引起用戶注意,因為用戶的車輛將基于車輛相對于用戶的競爭者的位置而表現得不一致。結果,用戶可能離開,而不是吸引用戶。此外,對于某些類型的不相對于具體競爭者來度量用戶的視頻游戲,該解決方案實施起來可能具有挑戰性。

本文呈現的實施方案包括用于執行動態難度調整的系統和方法。此外,本文公開的實施方案使用與靜態和/或現有難度調整過程相比不會被用戶察覺或更難以察覺的過程來執行動態難度調整。在一些實施方案中,歷史用戶信息被饋送到機器學習系統中以生成預測玩游戲的預期持續時間的預測模型,諸如例如,預期的流失率、保留率、用戶期望玩游戲的時間長度、或者相對于先前玩過該游戲的歷史用戶集合的用戶的預期玩游戲時間的指示。在玩游戲之前或期間,將預測模型應用到關于用戶的信息以預測用戶玩游戲的預期的持續時間。基于該預期的持續時間,然后系統可以利用映射數據儲存庫(repository)來確定如何動態地調整游戲的難度,諸如例如,改變一個或多個操縱控件的值以使得游戲的部分不那么困難。

在一些實施方案中,本文公開的系統監測關于一個或多個視頻游戲的用戶活動,以確定關于游戲難度的用戶偏好和用戶關于玩視頻游戲的技能水平。該信息可以至少部分地基于與用戶的參與水平相關聯的因素被確定。例如,玩視頻游戲在平均時間長度以上并且在玩視頻游戲時花錢的用戶可以具有比在短時間內玩視頻游戲的用戶更高的參與度。作為另一示例,在短時間段內玩視頻游戲但是玩平均數量以上的玩會話的用戶可以被與高水平的參與度相關聯,但是可以不同于之前示例的用戶而被分類。

此外,在本文描述的一些實施方案中,可以把用戶和具有類似偏好的其他用戶分組成集群。可以基于用戶關于在視頻游戲中呈現的挑戰或障礙的行為來對用戶進行分組。用戶的每個組或集群可以與一個或多個視頻游戲的難度偏好或設置相關聯。使用該信息,可以動態地調整視頻游戲的一個或多個方面以向視頻游戲的用戶呈現最有可能吸引住用戶或者比難度水平的靜態集合更可能吸引住用戶的特定難度水平。如上所述和本文進一步描述的,本文描述的附加的或替代的實施方案可以通過使用一個或多個參數函數或預測模型來確定用于調整視頻游戲的難度的一個或多個種子或操縱控件值。在一些情況下,預測模型可以與聚類組合。在其他實施方案中,可以使用預測模型來代替聚類。應當理解的是,聚類是可以與本公開的實施方案一起使用的一種方法。然而,本公開不限于使用聚類,并且本文給出的一些實施方案可以省略聚類的用戶。例如,本文公開的一些實施方案可以使用回歸模型來擬合歷史用戶數據,而不使用聚類。在獲得回歸模型的初始形式之后,其可以被應用于另外的玩家以促進動態難度分析和/或調整。

此外,在本文描述的一些實施方案中,可以監測或者審查用戶關于視頻游戲的活動以確定用戶關于視頻游戲的行為。該監測可以基本上實時地發生,或者在用戶已經完成了一個玩會話之后的某個時間段發生。玩會話可以是用戶完成或未能完成視頻游戲或視頻游戲的一部分而結束的用戶玩視頻游戲的一個時間段和/或玩游戲的一種嘗試。例如,一個玩會話可以開始于用戶發起新的玩游戲的實例,并且結束于用戶在該游戲中用完生命。作為另一示例,一個玩會話可以從用戶發起視頻游戲開始,并且在用戶退出視頻游戲時結束。

在一些情況下,監測用戶關于視頻游戲的行為可以使得能夠確定用戶的技能水平和期望的挑戰等級。至少部分地基于該信息,可以從基于用戶的關聯用戶集群確定的初始難度水平來調整視頻游戲或部分視頻游戲的難度。

有利地,在一些實施方案中,通過將在玩視頻游戲方面具有相似特征的用戶分組,并且通過基于在視頻游戲方面的個人的用戶動作調整難度水平,與不監測用戶行為以確定難度水平的系統相比,可以進行更細粒度的難度水平管理。此外,盡管本公開文本集中于調整修改由視頻游戲呈現的難度水平或挑戰的視頻游戲的設置,但本公開文本不限于此。本公開文本的實施方案可以用于修改視頻游戲的游戲狀態的各個方面,這可以影響或者可以不影響視頻游戲的難度水平。例如,在武器隨機掉落的游戲中,如果確定用戶喜歡使用特定的游戲中武器玩游戲,則可以調整游戲以更頻繁地向用戶呈現優選的武器。在一些情況下,諸如當所有武器均勻平衡時,掉落的武器的類型可能不影響視頻游戲的難度,因此,這樣的調整可以基于用戶玩的風格或偏好而不是難度水平偏好。可被修改的視頻游戲的特征(其可被用戶察覺或不可被用戶察覺)的一些其它非限制性實施例可以包括向游戲內人物提供額外速度、提高游戲中人物的投擲精度、改進游戲中的人物可以跳躍的距離或高度、調整控制的響應性等。在一些情況下,該調整可以附加地或替代地包括降低游戲中人物的能力,而不是提高游戲中人物的能力。例如,可以使游戲中人物更快,但是具有更低的射擊精度。

此外,本文給出的系統的實施方案可以至少部分地基于用戶的技能水平以及用戶是否成功地完成視頻游戲內的挑戰來基本上實時地調整視頻游戲的難度水平。然而,本公開文本不限于此。例如,可以至少部分地基于用戶偏好來調整視頻游戲的難度水平,所述用戶偏好可以對應或者可以不對應于用戶能力。例如,一些用戶可能更喜歡在最困難的設置下玩視頻游戲,而不管他們是否成功完成視頻游戲或視頻游戲中的目標。通過監測關于玩視頻游戲的用戶動作,可以調整視頻游戲的難度水平以匹配特定用戶的偏好和/或技能水平。

為了簡化討論,主要關于視頻游戲方面描述了本公開文本。然而,本公開文本并不限于此,并可以應用于其他類型的應用。例如,本文公開的實施方案可以應用于教育應用或其他可以基于與應用的用戶交互歷史來修改的應用。此外,本公開文本在視頻游戲的類型方面是沒有限制的。這里使用的術語“視頻游戲”包括所有類型的游戲,包括但不限于基于網絡的游戲、控制臺游戲、個人計算機(pc)游戲、計算機游戲、用于移動設備(例如,智能手機、便攜式控制臺、游戲機或可穿戴設備,諸如虛擬現實眼鏡、增強現實眼鏡或智能手表)的游戲、或虛擬現實游戲以及其他類型的游戲。

示例網絡化計算環境

圖1a示出了可以實現動態難度調整系統的一個或多個實施方案的網絡化計算環境100的一個實施方案。網絡化計算環境100包括可以經由網絡104與交互計算系統130通信的用戶計算系統110。此外,網絡化計算環境100可以包括多個附加的用戶計算系統102。至少一些用戶計算系統102可以被配置成與用戶計算系統110相同或相似。

用戶計算系統110可以包括視頻游戲112或作為視頻游戲112的主機。在一些情況下,視頻游戲112可以完全在用戶計算系統110上執行。在其他情況下,視頻游戲112可以至少部分地在用戶計算系統110執行并且至少部分地在交互計算系統130上執行。在一些情況下,視頻游戲112可以完全地在交互計算系統130上執行,但是用戶可以經由用戶計算系統110與視頻游戲112交互。例如,游戲可以是大型多玩家在線角色扮演游戲(mmorpg),該游戲包括由用戶計算系統110執行的客戶端部分和由一個或多個應用主機系統(未示出)執行的服務器部分,所述應用主機系統可以被包括作為交互計算系統130的一部分。作為另一個示例,視頻游戲112可以是在用戶計算系統110上玩的冒險游戲,而不與交互計算系統130交互。

視頻游戲112可以包括修改或者影響視頻游戲112狀態的多個操縱控件114。通常,操縱控件114是影響視頻游戲112的執行或者操作的變量。在一些情況下,操縱控件114是直接修改視頻游戲112的執行的狀態變量。在其他情況下,操縱控件114是可以改變視頻游戲112中出現的概率或者視頻游戲112中的隨機(或偽隨機)配置或事件的種子或種子變量。例如,一個種子可以對應于視頻游戲112中的水平布局的生成并且影響該水平布局的生成。作為另一個示例,一個種子可以對應于當用戶玩視頻游戲112時物品下落的發生次數或下落物品類型,并且影響物品下落的發生次數或下落物品類型。在一些情況下,種子值是初始化或影響隨機或偽隨機數生成器的值。在一些這樣的情況下,基于種子值生成的隨機數可以被視頻游戲112的一個或多個功能利用以影響視頻游戲112的操作。在一些情況下,種子變量可以被稱為操作桿(lever),并且種子變量是各種類型的操縱控件的非限制性示例。應當理解的是,操縱控件114(有時被稱為操作桿)不限于種子,而是可以包括可以修改視頻游戲112的執行的任何類型的變量。系統可以通過能夠改變視頻游戲112并且可以進行流失率的操縱控件水平分析調整任何類型的操縱控件或操作桿來修改視頻游戲的執行。系統不限于基于種子值調整操縱控件或操作桿。

一般來說,操縱控件114是與視頻游戲112的難度水平相關的變量。應當理解的是,操縱控件114通常包括修改視頻游戲112操作的變量的子集,并且視頻游戲112可以包括不涉及視頻游戲112的難度水平的設置和/或不可用于修改的其他變量。此外,操縱控件114可以包括以用戶不能感知或者難以被用戶感知的方式修改視頻游戲112的變量。在一些情況下,視頻游戲112的修改是否可被用戶感知可以取決于具體視頻游戲。例如,假設一個操縱控件114與視頻游戲112中的敵人具有的生命量相關。在一些情況下,修改分配給操縱控件114的值可以被用戶察覺,因為,例如,敵人的健康被數字地呈現給用戶。在這種情況下,敵人的健康可以在視頻游戲112的難度水平保持不變,但是視頻游戲112的難度水平可以經由不同的操縱控件114來修改。然而,在一些情況下,修改敵人的健康可能不被用戶察覺到,因為,例如,未將敵人的健康呈現給用戶,并且擊敗敵人所需的命中量在一個范圍內變化,使得用戶難以確定從和敵人的一次遭遇到相比的與敵人的另一次遭遇已經修改了敵人的健康(例如,從與視頻游戲112的一次玩通關,到相比的視頻游戲112的另一次玩通關)。

在一些情況下,視頻游戲112可以包括用戶交互歷史儲存庫116。用戶交互歷史儲存庫116可以存儲與用戶和視頻游戲112的交互相關的數據或者信息。該用戶交互信息或者數據可以包括可用于確定用戶對視頻游戲112的參與水平和/或視頻游戲112對用戶的困難程度的任何類型的信息。例如,用戶交互信息的一些非限制性實施例可以包括與用戶在視頻游戲112中采取的動作有關的信息;用戶在視頻游戲112中的進度的度量;用戶是否成功地在視頻游戲112內執行具體動作或者完成視頻游戲112內的特定目標;用戶完成特定目標花費了多長時間;用戶完成特定目標進行了多少嘗試;用戶在視頻游戲112上花費多少錢,其可以包括用于獲得對視頻游戲112的訪問而花費的金額和除了用于獲得對視頻游戲112的訪問而花費的金額之外的關于視頻游戲112花費的金額中的一個或兩個;用戶訪問視頻游戲112的頻率;用戶玩視頻游戲112多長時間等。用戶計算系統110可以經由網絡104與交互計算系統130共享用戶交互信息。在一些實施方案中,視頻游戲112不存儲用戶交互信息中的一些或全部,而是用戶交互信息中的一些或全部被提供給在視頻游戲112外部的用戶計算系統110的另一部分和/或交互計算系統130,或者由視頻游戲112外部的用戶計算系統110的另一部分和/或由交互計算系統130確定。因此,在一些實施方案中,用戶交互歷史儲存庫116可以是可選的或者省略的。

用戶計算系統110可以包括通過通信網絡104建立通信的硬件和軟件部件。例如,用戶計算系統110可以配備經由網絡(例如,互聯網)或內聯網幫助通信的聯網設備和網絡軟件應用(例如,網頁瀏覽器)。用戶計算系統110可以具有不同的本地計算資源,諸如,中央處理單元和架構、內存、大容量存儲器、圖形處理單元、通信網絡可用性和帶寬。此外,用戶計算系統110可以包括任何類型的計算系統。例如,用戶計算系統110可以包括任何類型的計算設備,諸如,臺式電腦、筆記本電腦、視頻游戲平臺、電視機機頂盒、電視(例如,網絡電視)、網絡啟用自助服務終端、汽車控制臺設備、計算機化器具、穿戴式設備(例如,具有計算功能的智能手表和眼鏡)和無線移動設備(例如,智能電話、pda、平板電腦等),僅舉幾例。在一些實施方案中,用戶計算系統110可以包括下文關于圖8和圖9描述的實施方案的一種或多種。

如前所述,可能期望保持或增加用戶參與視頻游戲112的水平。用于維持或增加用戶參與視頻游戲112的水平的一個解決方案包括至少部分地基于用戶的技能和用戶在玩視頻游戲112時所期望的挑戰等級來設置或者調整視頻游戲112的難度水平。交互計算系統130可以確定視頻游戲112對于特定用戶的難度水平,并且可以基于該確定修改視頻游戲112的難度。如下面將更詳細描述的,難度水平的這種確定可以至少部分地基于關于視頻游戲112和/或用戶可訪問的其他視頻游戲的用戶交互信息來做出。

交互計算系統130可以包括多個系統或子系統,用于幫助確定視頻游戲112對于特定用戶的難度水平以及基于該確定對難度水平的修改。這些系統或子系統可以包括難度配置系統132、用戶聚類系統134、種子評估系統136、用戶數據儲存庫138、保留分析系統140、模型生成系統146、和映射數據儲存庫144。這些系統的每一個可以用硬件、軟件或者硬件和軟件的組合來實施。此外,這些系統中的每一個可以在包括計算機硬件的單個計算系統中實施,或在一個或多個分立的計算系統或分布式計算系統中實施。此外,盡管這些系統在圖1a中示出為在交互計算系統130上存儲或執行,但是應當認識到,在一些實施方案中,這些系統的部分或全部可以在用戶計算系統110上存儲和執行。

在一些實施方案中,當用戶計算系統110經由網絡104與交互計算系統130連接或通信時,交互計算系統130可以執行本文所述的方法。然而,在用戶計算系統110和交互計算系統130不通信的一些情況下,用戶計算系統110可以使用可存儲在用戶交互歷史儲存庫116中的用戶近期玩的游戲來執行本文描述的一些方法。

難度配置系統132設置或調整視頻游戲112的難度水平。在一些情況下,難度配置系統132可以通過提供或調整一個或多個操縱控件114的值來設置或調整視頻游戲112的難度水平114,然后將一個或多個操縱控件114的值饋送或提供給視頻游戲112。在一些情況下,每當進行難度水平的設置或調整時,難度配置系統132設置或調整每個可用的操縱控件114。在另一些情況下,在設置或調整視頻游戲112的難度水平時,難度配置系統132可以比每個可用操縱控件114設置或調節的次數少。

在一些情況下,難度配置系統130可以在沒有約束的情況下修改視頻游戲112的一部分的難度。然而,在一些其他情況下,難度配置系統132可以在約束集合內修改視頻游戲112的一部分的難度,該約束集合可以通過開發者、規則集合被指定,或者是與視頻游戲112的其他部分相關的。例如,在一些情況下,難度配置系統132可以將視頻游戲112的特定部分的難度水平降低到不超過由視頻游戲112的正在進行部分指定的難度閾值。因此,在一些情況下,視頻游戲112的該特定部分的難度水平的降低將不會導致視頻游戲112的該特定部分變得比正在進行部分112更容易。可以在一些情況,例如在比賽期間完全關閉難度調整。

模型生成系統146可以使用一個或多個機器學習算法生成一個或多個預測模型或參數函數。這些預測模型中的一個或多個可以用于基于輸入集合確定預期的值或事件。例如,預測模型可以用于基于至預測模型的一個或多個輸入——諸如例如用戶的歷史用戶交互信息——確定用戶將停止玩視頻游戲112的預期流失率或概率。再如,預測模型可以用于基于至預測模型的一個或多個輸入確定用戶在購買用于視頻游戲的游戲內物品所花費的預期金額。在一些情況下,可以將預測模型稱為預測模型是因為例如輸出可能是對動作或事件的預測或者與動作或事件的預測相關,諸如對用戶繼續玩視頻游戲112的預測。模型生成系統146可以使用多個不同類型的算法。例如,本文的一些實施方案可以使用邏輯回歸算法。然而,其他算法也是可以的,諸如線性回歸模型、離散選擇算法或廣義線性算法。

機器學習算法可以被配置為基于模型生成系統146接收的新輸入隨時間適應性地開發和更新模型。例如,可以在新的用戶信息可用時定期重新生成模型,以在用戶信息隨時間演變時幫助使模型中的預測更準確。本文將更詳細地描述模型生成系統146。生成模型后,可以將模型提供至保留分析系統140。

可以用于生成和更新參數函數或預測模型的機器學習算法的一些非限制性示例可以包括監督式和非監督式機器學習算法,包括回歸算法(諸如,例如普通最小二乘回歸)、基于實例的算法(諸如,例如學習矢量量化)、決策樹算法(諸如,例如分類樹和回歸樹)、貝葉斯算法(諸如,例如樸素貝葉斯)、聚類算法(諸如,例如k均值聚類)、關聯規則學習算法(諸如,例如apriori算法)、人工神經網絡算法(諸如,例如感知機)、深度學習算法(諸如,例如深度玻爾茲曼機)、降維算法(諸如,例如主成分分析)、集成算法(諸如,例如堆棧泛化)和/或其他機器學習算法。

保留分析系統140可以包括用于基于用戶的用戶交互數據到模型生成系統140生成的預測模型的應用來確定用戶的預測流失率或保留率的一個或多個系統。在一些情況下,難度配置系統132可以使用由保留分析系統140確定的預測保留率來確定對視頻游戲112的難度的調整。在一些實施方案中,使用映射數據儲存庫144中的數據來確定對難度的調整,以確定要改變的游戲的哪些特征以及如何改變該特征。

映射數據儲存庫144可以包括預測模型的輸出和視頻游戲112的難度水平之間的一個或多個映射,例如,難度配置系統132可以用該映射來確定如何修改視頻游戲112以調整視頻游戲112的難度。例如,如果用戶的預測流失水平是“高”,則映射數據儲存庫144可以包括“高”和數據之間的映射,以將游戲調整到“容易”,使得與游戲相關聯的一個或多個操縱控件或種子被設置為使游戲更容易玩的值。作為另一實施例,如果用戶的預測的流失水平是65%,則映射數據儲存庫144可以包括“60-70%”之間的映射,以將與游戲相關聯的一個或多個操縱控件或種子的具體子集調整到使得游戲不那么難玩但不是最容易玩的值的集合。替換地或附加地,映射可以在參數函數的輸出和可用于修改視頻游戲112的難度的一個或多個操縱控件或種子的一個或多個值之間。

此外,下面將參考保留分析系統140更詳細地描述參數函數的生成和應用及其在調整視頻游戲112的難度水平中的使用。在一些實施方案中,難度配置系統132可以是模型生成系統146或可以包括模型生成系統146。此外,在一些情況下,難度配置系統132可以是保持分析系統140或可以包括保持分析系統140。如上所述,在本文中可以使用的機器學習算法的一個非限制性實施例是聚類算法。用戶聚類系統134可以有助于聚類算法的執行。用戶聚類系統134至少部分地基于關于視頻游戲112或由用戶訪問的其他視頻游戲的每個用戶的技能水平將用戶的集合分組或分開成為組。可替換地或附加地,用戶聚類系統134可基于與一個或多個用戶相關聯的一個或多個標準來對用戶進行分組或聚類,這些標準影響用戶對視頻游戲112或對用戶訪問的其他視頻游戲的參與水平。此外,用戶聚類系統134可以確認或確定與由用戶聚類系統134確認或生成的每個用戶聚類相關聯的難度偏好的集合。

種子評估系統136(其還可被稱為操作桿評估系統)響應于種子值來評估由視頻游戲112提供的難度或挑戰。例如,種子評估系統136可以基于當使用特定種子值時一組用戶玩視頻游戲112玩得多好,確定響應于視頻游戲112中的特定種子值而生成的視頻游戲(諸如地牢)的特定水平或部分有多少挑戰性。有利地,在一些實施方案中,通過評估由特定種子值提供的挑戰,可以通過將種子值添加或移除到對于特定難度水平的可用種子值的集合來改進視頻游戲112的難度水平。例如,如果確定種子值導致用戶以80%的比率失敗,則該種子值可以與導致用戶以20%的比率失敗的另一個種子值相比的更難的難度水平相關聯。

用戶數據儲存庫138可以存儲與一個或多個用戶與視頻游戲112和/或一個或多個其他視頻游戲的交互相關聯的用戶交互信息。該用戶交互信息可以在視頻游戲112的一個或多個玩會話上獲得。此外,用戶數據儲存庫138可以存儲與由用戶聚類系統134生成的一個或多個用戶集群相關聯的用戶集群信息。在一些情況下,存儲在用戶數據儲存庫128中的數據中的至少一些可以存儲在用戶計算系統110的儲存庫處。這里描述的儲存庫中的每一個可以包括非易失性存儲器或易失性和非易失性存儲器的組合。

網絡104可以包括任何類型的通信網絡。例如,網絡104可以包括廣域網(wan)、局域網(lan)、蜂窩網絡、自組織網(adhocnetwork)、衛星網絡、有線網絡、無線網絡等中的一個或多個。此外,在一些情況下,網絡104可以包括互聯網。

示例模型生成系統

圖1b示出了圖1a的模型生成系統146的一個實施方案。模型生成系統146可以用于基于多個用戶的歷史數據152確定一個或多個預測模型160。通常,雖然不一定,歷史數據152包括與大量用戶相關聯的數據,諸如,數百、數千、數十萬或更多的用戶。然而,本公開文本并不限于此,并且用戶的數量可以包括任何數量的用戶。此外,歷史數據152可以包括從一個或多個數據源接收的數據,數據源諸如例如應用主機系統(未示出)和/或一個或多個用戶計算系統102。此外,歷史數據152可以包括來自不同數據源的數據、不同數據類型以及由一個或多個用戶與視頻游戲112的交互生成的任何數據。在一些實施方案中,歷史數據152可以包括非常多的數據點,諸如上百萬數據點,所述數據點可以集合為一個或多個數據集。在一些情況下,可以從用戶數據儲存庫138訪問歷史數據152。在一些實施方案中,歷史數據152局限于關于視頻游戲的歷史信息,但在其他實施方案中,歷史數據152可以包括來自一個或多個其他視頻游戲的信息。此外,在一些實施方案中,歷史數據的一個或多個子集受時期限制的約束,諸如例如,局限于包括僅過去6個月的數據。

在一些情況下,模型生成系統146還可以接收反饋數據154。該數據可以被接收作為監督式模型生成過程的一部分,該部分使用戶諸如管理員可以向模型生成系統146提供可以用于幫助生成預測模型160的額外輸入。例如,如果歷史數據152存在異常,用戶可以標記異常數據,使模型生成系統146有區別地處理標記的數據,諸如向該數據應用不同的加權值或將從模型形成過程中排除該數據。

此外,模型生成系統146可以接收控制數據156。該控制數據156可以確認模型生成系統146待要確定模型的一個或多個特征或特性。此外,在一些情況下,控制數據156可以指示控制數據156中確認的一個或多個特征的值。例如,假設控制數據156表明將使用歷史數據152生成預測模型以確定用戶玩視頻游戲112的時長。如果已知每個用戶玩游戲的時間量,可以將該數據提供作為控制數據156的一部分,或者作為歷史數據152的一部分。作為另一個實施例,如果預測模型將要被生成用以估計例如基于用戶是否玩視頻游戲112達閾值時間段或在特定閾值時間段后是否繼續玩視頻游戲112而確定的保留率,則控制數據156可以包括其數據包括在歷史數據152中的用戶的保留率。

模型生成系統146一般可以包括用于生成預測模型160的模型生成規則集合170。規則集合170可以包括一個或多個參數162。可以使用一個或多個數學函數將參數162的每個集合組合,以獲得參數函數。此外,可以用加權值164為一個或多個具體參數加權。在一些情況下,可以通過將參數的集合與加權值164的相應集合組合在一起來獲得參數函數。基于用于訓練目的的具體輸入數據,諸如歷史數據152、反饋數據154和控制數據156以及可以包括在控制數據156中的限定輸出標準,可以在訓練過程期間得出預測模型160和/或預測模型160的相應參數162。模型生成規則集合170可以限定具體機器學習規則和/或算法,模型生成系統146使用這些規則和/或算法基于限定的目標函數諸如確定流失率來生成模型。在一些實施方案中,在模型生成過程的開始期間可以手動提供初始參數162和加權值164。在模型生成階段可以更新和修改參數162和加權值164,以生成預測模型160。

模型生成系統146可以根據數據的各種特征和參數對歷史數據集合進行過濾和分類。例如,數據可以按數據源(諸如,例如游戲應用數據、主機應用數據或用戶配置數據)、信息類型(諸如,例如玩游戲信息、交易信息、交互信息、游戲賬號信息)、或與數據相關聯的其他分類進行分類。模型生成系統146可以過濾信息,以確認信息便于進行進一步處理。在一些實施方案中,模型生成系統146配置為在進行進一步處理之前將歷史數據152過濾和分為多個數據類型或分類。此外,在一些情況下,基于數據與如下相關性相關聯,即不滿足由模型生成系統146確定的閾值相關性,可以將歷史數據152中的一些從歷史數據152中過濾掉或移除。

可選地,預測模型160中的一個或多個可以與不利因素166相關聯。這些不利因素166可以用于基于用于得出不利因素的一個或多個因素幫助生成或選擇特定預測模型160。例如,特定預測模型160中包括的參數的數學復雜性或數量可以用于生成該特定預測模型160的不利因素,該數學復雜性或數量可能影響模型的生成和/或選擇特定預測模型160的選擇算法或選擇幾率。

在已經生成預測模型160之后,可以在保持分析系統140和/或難度配置系統132的運行期間使用模型來調整視頻游戲112的難度。在一些情況下,該難度的調整可以是動態的,并且可以在用戶與視頻游戲112的交互期間發生。此外,在一些情況下,難度調整可以實時地發生或接近實時地發生。

示例保留分析系統

圖1c示出了圖1a的保留分析系統140的一個實施方案。保留分析系統140可以應用或使用通過模型生成系統146生成的預測模型160中的一個或多個。雖然示出為單獨的系統,但在一些情況下,保留分析系統140可以被包括作為難度配置系統132的一部分。保留分析系統140可以使用一個或多個預測模型160a、160b、160n(可以共同稱為復數形式的“預測模型160(predictionmodels160)”或單數形式的“預測模型160(predictionmodel160)”)來處理輸入數據172,以獲得輸出數據174。

保留分析系統140可在玩游戲期間應用預測模型160。在一些實施方案中,在游戲開始時應用預測模型160以確定如何調整整個游戲的難度。在其他實施方案中,在游戲期間的不同時間和/或在游戲的不同階段應用預測模型160。在確定視頻游戲112的一個或多個部分的難度水平期間,保留分析系統140接收可以被應用于一個或多個預測模型160的輸入數據172。輸入數據172可以包括與正在玩視頻游戲112的用戶相關聯的一條或多條數據。該數據可以包括視頻游戲112的用戶交互數據、用戶的配置數據、以及可以應用于預測模型160以確定用戶保留率或用戶的流失率的任何其他數據。在一些實施方案中,可以在提供給保留分析系統140之前過濾輸入數據172。

在一些實施方案中,對于保留分析系統140可以存在單個預測模型160。然而,如上所述,保留分析系統140可以包括多個預測模型160。保留分析系統140可以基于輸入數據172和/或與輸入數據172相關聯的額外標識符確定使用哪個檢測模型,諸如模型160a-n中的哪一個。另外,所選擇的預測模型160可以基于提供作為輸入數據172的具體數據被選擇。作為輸入數據172的一部分的特定類型的數據的可用性可以影響對預測模型160的選擇。例如,將人口統計數據(例如,年齡、性別、第一語言)包括作為輸入數據的一部分可能造成使用預測模型160a。然而,如果特定用戶的人口統計數據不可用,則可以替代使用預測模型160b。

如上所述,預測模型160中的一個或多個可能已經用不利因素166生成或與不利因素166相關聯。不利因素可以用于影響模型的生成或保留分析系統140使用的預測模型的選擇。

輸出數據174可以是與用戶停止玩視頻游戲112的預測相關聯的保留率或流失率。例如,在一些實施方案中,保留率可以在0至100之間,指示與包括作為輸入數據172的類似或相同數據相關聯的、將在閾值時間段內停止玩視頻游戲112的用戶的預測百分比。在一些情況下,輸出數據174還可以確認保留率的原因。例如,保留分析系統140可以指示特定用戶90%的保留率是至少部分地基于在玩視頻游戲112時花費的金額。然而,保留分析系統140可以指示另一用戶90%的保留率是至少部分地基于該用戶所在的地理區域的零度以下的溫度。再如,保留分析系統140可以指示用戶20%的保留率可能至少部分地基于25%之下的獲勝比率。

預測模型160a、160b、160n一般可以分別包括一個或多個參數162a、162b、162n的集合(可以共同稱為“參數162”)。可以使用一個或多個數學函數將參數162的每個集合(諸如,參數162a)組合在一起,以獲得參數函數。此外,可以通過加權值164a、164b、164n(可以共同稱為“加權值164”)為參數162a、162b、162n中的一個或多個具體參數加權。在一些情況下,可以通過將參數集合(諸如,參數162a)與加權值164的相應集合(諸如,加權值164a)組合在一起來獲得參數函數。可選地,預測模型160a、160b、160n中的一個或多個可以分別與不利因素166a、166b、166n(可以共同稱為“不利因素166”)相關聯。

示例機器學習過程

圖2示出了機器學習過程200的一個實施方案的流程圖。可以由可以生成一個或多個參數函數或包括一個或多個參數的預測模型的任何系統來實施過程200。在一些情況下,過程200用作基于歷史數據或其他已知數據開發一個或多個參數函數或預測模型的訓練過程。可以由例如除了別的以外的交互計算系統130、難度配置系統132、用戶聚類系統134、保留分析系統140、模型生成系統146或用戶計算系統110實施整個或部分過程200。雖然任何數量的系統均可以整體地或部分地實施所述過程200,但為了簡化討論,將參考特定系統描述過程200。此外,應理解的是,可以隨時間重復更新或執行所述過程200。例如,可以每月重復一次所述過程200,并且添加或發布新視頻游戲,或者添加可進行分析或玩視頻游戲112的域值數量的新用戶。然而,可以更頻繁或更不頻繁地進行過程200。

過程200在框202處開始,其中,模型生成系統146接收包括視頻游戲112的多個用戶的用戶交互數據的歷史數據152。該歷史數據152可以用作模型生成系統146的訓練數據并且可以包括用戶人口統計資料或特征,諸如,年齡、地理位置、性別或社會經濟階級。替代地或另外地,歷史數據152可以包括與下述相關的信息:一個或多個用戶的玩法風格;玩視頻游戲112所花費的金額;用戶關于視頻游戲112的成功或失敗信息(例如,用戶獲勝比率);玩視頻游戲112的游戲頻率;使用特定可選游戲元素(例如,可用加持、跳級、游戲內提示、能力提升等)的頻率;購買用于視頻游戲112的游戲內物品所花費的真幣的數量(例如,美元或歐元)等。此外,在一些情況下,歷史數據152可以包括與視頻游戲112相關的數據,諸如由玩視頻游戲112的用戶使用的一個或多個種子值。可以作為歷史數據152的一部分接收的與視頻游戲112相關的數據的附加實施例可以包括視頻游戲112的一個或多個操縱控件或狀態變量的設置、用戶使用的視頻游戲112的一個或多個難度等級的確認、視頻游戲112的類型等。

在框204處,模型生成系統146接收指示對于與所述歷史數據對應的多個用戶的期望預測的控制數據156。該控制數據156可以指示模型生成系統146確定模型的一個或多個特性或特征。替代地或另外地,控制數據156可以包括與接收的歷史數據152相關聯的特性或特征的值。例如,控制數據156可以確認流失率或保留率,作為模型生成系統146待要生成的模型待要預測的期望特性。流失率或保留率可以對應于停止玩視頻游戲112的與歷史數據152相關聯的用戶的百分比。此外,控制數據156可以確認與歷史數據相關聯的保留率。例如,控制數據156可以指示其數據包括在歷史數據152中的用戶中的某些用戶的保留率為60%。在一些實施方案中,控制數據156可以包括模型生成系統146待要生成的模型待要預測的多個特征或特性。例如,控制數據156可以確認保留率和保留率的原因(諸如,在框202處,視頻游戲112的難度對于其數據被提供作為歷史數據152的一部分的用戶來說太低或太高),或者其數據被提供為歷史數據152的用戶的保留率和花費的平均金額。

在框206處,模型生成系統146基于歷史數據152和控制數據156生成一個或多個預測模型160。預測模型160可以包括一個或多個變量或參數162,可以使用數學算法或模型生成規則集合170將這些變量或參數組合在一起,以基于歷史數據152以及在一些情況下也基于控制數據156生成預測模型160。此外,在一些實施方案中,框206可以包括應用一個或多個反饋數據154。例如,如果生成預測模型160作為監督性機器學習過程的一部分,則用戶(例如,管理員)可以在生成預測模型160時向模型生成系統146提供一個或多個輸入,和/或用于精煉預測模型160生成過程。例如,用戶可以意識到特定地區或地理區域出現斷電。在這種情況下,用戶可以提供反饋數據154,以減少歷史數據152中可能對應于在斷電期間受影響地理地區的用戶的那部分的加權值。此外,在一些情況下,可以使用例如加權值164為變量或參數中的一個或多個加權。變量的加權值的值可以至少部分地基于該變量對于生成滿足所述控制數據156和/或歷史數據152、或者在閾值差異范圍滿足所述控制數據156和/或歷史數據152的預測模型160所具有的影響。在一些情況下,可以使用變量和加權值的組合生成預測模型160。

可選地,在框208處,模型生成系統146將不利因素應用至在框206處生成的一個或多個預測模型160中的至少一些、或者將不利因素166與在框206處生成的一個或多個預測模型160中的至少一些關聯起來。與該一個或多個預測模型160中的每個相關聯的不利因素可能不同。此外,預測模型160中每個的不利因素可以至少部分地基于預測模型160的模型類型和/或用于將預測模型160的參數162與參數函數中包括的參數數量組合在一起的數學算法。例如,當生成預測模型160時,可以應用反對非常大量變量或更大量處理能力的不利因素,以應用模型。再如,使用比另一預測模型更多參數或變量的預測模型160可以與比使用更少變量的預測模型更大的不利因素166相關聯。又如,使用要求比另一預測模型更大的處理能力進行計算的模型類型或數學算法的預測模型可以與比使用要求更少量的處理能力來計算的模型類型或數學算法的預測模型更大的不利因素相關聯。

框210處的模型生成系統146至少部分地基于預測模型160的準確度和任何相關聯的不利因素選擇預測模型160。在一些實施方案中,模型生成系統146選擇與比另一預測模型160更低的不利因素相關聯的預測模型160。然而,在一些實施方案中,如果例如預測模型160的輸出是比與更低不利因素相關聯的預測模型更準確的閾值度,則模型生成系統146可以選擇與更高不利因素相關聯的預測模型。在一些實施方案中,框210可以是可選的或省略的。例如,在一些情況下,預測模型160可以不與不利因素相關聯。在一些這種情況下,可以基于預測模型生成的輸出的準確度從多個預測模型中選擇預測模型。

示例的基于難度的種子選擇過程

圖3呈現了基于難度的種子選擇過程300的一個實施方案的流程圖。過程300可以由任何系統實施,該系統可以至少部分地基于預測函數或參數函數的輸出來選擇用于調整視頻游戲的難度的種子值。例如,過程300全部或部分可以通過例如除了別的以外的交互計算系統130、難度配置系統132、用戶聚類系統134、模型生成系統146、保留分析系統140或用戶計算系統110等實施。盡管任何數量的系統可以整體地或部分地實現所述過程300,為了簡化討論,將關于特定系統來描述過程300。此外,應當理解的是,過程300可以隨時間被重復地更新或執行。例如,對于視頻游戲112的每個玩會話、對于視頻游戲112的每輪、每周、每月、對于每個閾值數量的玩會話、對于用戶失去或者不能完成目標的每個閾值數量的次數、每次贏比率下降到閾值水平以下等時,可以重復過程300。然而,過程300可以更頻繁或不那么頻繁地執行。

過程300在框302處開始,在該框302處保留分析系統140接收輸入數據的集合(諸如,輸入數據172),包括視頻游戲112的用戶的用戶交互數據。該輸入數據172通常是用戶專用數據,但也不一定。此外,該組輸入數據172可以包括用戶的歷史用戶交互數據和近期用戶交互數據二者。歷史用戶交互數據可以包括非當前玩會話中的用戶交互數據和/或滿足閾值時間或比特定閾值時間段更長的用戶交互數據。例如,歷史用戶交互數據可以包括至少一周或一個月的用戶交互數據。替代地或另外地,歷史用戶交互數據可以包括5或10個玩會話以上的玩會話的數據。

相反,近期用戶交互數據可以包括滿足閾值時間或比特定閾值時間段更近的用戶交互數據。例如,近期用戶交互數據可以包括少于一周或一個月的用戶交互數據。替代地或另外地,近期用戶交互數據可以包括少于3、5或10個玩會話的玩會話的用戶交互數據。

在一些實施方案中,歷史用戶數據和近期用戶數據在預測模型160內可能被不同地加權。在一些情況下,可以重復預測模型160內的每個參數162。例如,參數的一個形式可以基于歷史用戶數據并且可以與一個加權值164相關聯,而參數的另一形式可以基于近期用戶數據并且可以與不同加權值164相關聯。此外,在一些實施方式中,可以根據浮動制或累進基礎應用加權值。例如,更近的歷史用戶數據可以與更高的加權值164相關聯,而較不近的歷史用戶數據可以與較低的加權值相關聯。

在框304,保留分析系統140使用參數函數或預測模型160可以至少部分地基于在框302處接收的輸入數據的集合172來確定用戶的預測的流失率。可以在游戲開始時和/或在游戲過程中的各個階段或在各個時間幀確定用戶的預測的流失率。預測模型160的確定的或計算的輸出174可以是具有與在框302處接收的輸入數據的集合相同或基本相似的輸入數據的用戶的預測的流失率或預期的用戶流失。此外,流失率可以基于在框302處接收的輸入數據的集合,指示用戶將繼續玩或不繼續玩視頻游戲112的用戶的百分比或可能性。例如,如果通過保留分析系統140輸出75%的流失率,那么可以估計有75%的概率用戶將不會繼續玩視頻游戲112。可替換地或者附加地,75%的流失率可以指示75%的具有與在框302處接收的輸入數據的集合相關聯的相同或相似的用戶交互數據的用戶一般將在一定量的時間以后或在游戲中的特定點停止玩視頻游戲112。在一些實施方案中,預測模型160可以預測用戶被預測在特定時間段內玩視頻游戲112或者直到停止玩視頻游戲112的時間量。該確定可以針對特定的玩會話或者針對多個玩會話,并且可替代確定保留率或是除了確定保留率以外附加的。

可選地,在框306處,保留分析系統140使用預測模型160基于輸入數據的集合172確定用戶的預測的流失率的預測原因。例如,參數函數可以基于指示贏概率下降到閾值以下的輸入數據來確定通過參數函數計算的流失率至少部分地基于視頻游戲112的難度。

在框308,基于在框304處確定的用戶的預測的流失率,難度配置系統132選擇與視頻游戲的一部分的特定難度水平相關聯的種子。選擇種子可以包括訪問映射數據儲存庫144的映射數據。該映射數據可以指示視頻游戲112的一個或多個流失率與一個或多個難度水平之間的映射。在一些情況下,特定閾值水平以上的流失率可以被映射到可以降低視頻游戲112的難度的一個或多個種子值。此外,在一些情況下,流失率可以被映射到與不同難度水平相關聯的不同的種子值的集合。在這種情況下,可以基于保留分析系統140的附加輸出174來選擇與特定難度水平相關聯的種子值的集合。例如,保留分析系統140可以輸出流失率和特定用戶的流失率的原因。這樣的實施例,特定閾值以上的流失率可以導致選擇新的種子值。此外,流失率的原因可以用于選擇與不同難度水平相關聯的多個種子值。流失率的原因可以與特定數值相關聯。例如,由視頻游戲112太容易造成的特定閾值以上的流失率可以與一個數值相關聯,由于視頻游戲112太難造成的特定閾值以上的流失率可以與另一個數值相關聯。

在一些實施方案中,保留分析系統140可以輸出來自輸入數據172的在確定用戶的保留率時具有最大影響或閾值量的影響的一個或多個因素或數據。使用該信息,難度配置系統132可以確認視頻游戲112的狀態變量的一個或多個改變,或確認對應于用于生成保留率的因素的一個或多個種子值。

在一些情況下,來自保留分析系統140的輸出和種子值之間的映射可以是多級映射。例如,第一映射可以在保留分析系統140的流失率輸出與多個種子值之間,并且第二映射可以在保留分析系統140的另一輸出(諸如流失率的預測原因)和來自所述多個種子值的特定種子值或種子值的子集之間。在另一實現中,多級映射可以包括在流失率和特定難度水平之間的第一級映射,以及在特定難度水平與一個或多個種子值或操縱控件值之間的第二級映射。

在一些情況下,種子是對操縱控件的調整,其中使用狀態變量用于修改視頻游戲112的執行。在其他情況下,種子是在隨機或偽隨機數生成器中使用的用于修改視頻游戲112內的一個或多個事件的概率或出現率的值。此外,在一些情況下,種子是用于影響視頻游戲112的水平或一部分的生成和/或視頻游戲112內的用戶可玩人物的位置的值。

在一些情況中,上述實施方案的一個或多個可以與聚類(clustering)組合,以促進確認可能喜歡玩更難或者不那么難的視頻游戲的用戶。在下文中更詳細的描述了可以與本公開內容一起使用的聚類的一些示例性實施方案。

示例的聚類實施方案

在一些實施方案中,聚類處理可以用于將共享有可以用于確認用于視頻游戲112的難度偏好的一個或多個特性的用戶分成一組。集群可以包括共享一個或多個特性的一個或多個用戶。難度偏好可以與每個集群相關聯以便于調整視頻游戲112的難度。可以將其特性與特定集群匹配的用戶分配給特定集群。可以基于與集群相關聯的難度偏好來為用戶調整視頻游戲112的難度水平。以下描述了使得能夠使用聚類進行難度調整的某些非限制性示例過程。

示例的集群創建過程

圖4呈現了集群創建過程400的一個實施方案的流程圖。所述過程400可以通過基于每個用戶與視頻游戲的交互以及與每個用戶關聯的參與的水平可以創建多個集群或者用戶組的任何系統來實施。例如,所述過程400可以整體地或者部分地通過除了別的以外的交互計算系統130、難度配置系統132、用戶聚類系統134、或者用戶計算系統110來實施。雖然任何數量的系統整體地或部分地均可以實施所述過程400,但是為了簡化討論,將關于特定系統來描述過程400。此外,應該理解的是,過程400可以隨著時間被重復地更新或者執行。例如,過程400可以每月重復一次,并且添加或發布新視頻游戲,或者添加可用于分析或者玩視頻游戲112的閾值數量的新用戶。然而,可以更多或者更少頻率地執行過程400。

過程400開始于框402,在該框402處用戶聚類系統134確認視頻游戲112的用戶的集合。為了簡化討論,首先相對于單個視頻游戲,諸如視頻游戲112,來描述過程400。然而,本公開內容不限制于此,并且過程400可以實施用于多個視頻游戲。在一些情況下,多個視頻游戲的每個可以具有相同的類型,或者可以共享共同的一個或多個特性。在其他情況下,多個視頻游戲可以分布在多個類型中。該類型可以基于主題和/或游戲類型(例如,開放世界游戲、角色扮演游戲、第一人稱射擊、側滾動游戲、模擬、太空戰斗、西部游戲等)。此外,在一些情況下,過程400包括分析在額外視頻游戲中的數據,用以確認或者精煉基于視頻游戲的分析所創建的集群。

在框404處,對于在框402處確認的每個用戶,用戶聚類系統134監測用戶隨著時間與視頻游戲112的交互用以獲得該用戶的用戶交互數據。這種監測可以通過查看來自不同時間段的用于用戶的多組用戶交互數據來進行,或者通過實時地將數據從視頻游戲112抽出并將數據存儲用于之后查看來進行。這種用戶交互數據可以包括上文關于圖1a所述的信息的任何一種。此外,用戶交互數據可以包括:涉及用戶在視頻游戲內進度的數據;當用戶成功完成等級或者目標時用戶所采取的動作;當用戶沒有成功完成等級或者目標時用戶所采取的動作;基于用戶在目標處成功所花費的時長,用戶所采取的動作的不同;用戶每次玩視頻游戲的時長或者用戶玩視頻游戲的平均時長;用戶是否典型地短時間或長時間玩游戲;當玩視頻游戲時,用戶是否花費真實世界的貨幣(與游戲貨幣不同),這可以用作確認用戶參與水平的因素(例如,與沒有花錢或者沒有玩視頻游戲的玩家相比,花錢玩視頻游戲的用戶更可能再次玩該游戲);以及可以用于度量用戶參與視頻游戲的水平的其他任何標準,和/或用戶響應于視頻游戲呈現給用戶的挑戰水平的動作。此外,用戶交互數據還可以包括涉及由用戶用來訪問視頻游戲的用戶計算系統110的類型的信息;不同點,如果有任何不同的話,以及基于用于訪問視頻游戲的用戶計算系統110的類型用戶如何與視頻游戲交互;用戶是否使用了多用戶計算系統110來訪問視頻游戲等。

在框406,用戶聚類系統134過濾掉用戶交互數據不滿足交互標準的最小集合的用戶。交互標準的該最小集合可以與用戶玩游戲的時間長度或用戶玩視頻游戲是否玩多個玩會話相關。例如,玩視頻游戲小于閾值時間量或小于閾值數量的玩會話的用戶可能不能提供足夠的數據,以確定視頻游戲的難度是否影響用戶的參與水平。此外,交互標準的最小集合可以與用戶在視頻游戲112中進行的動作的類型或用戶在視頻游戲112中進行的進度相關。在一些情況下,用戶交互數據不滿足交互標準的最小集合的用戶可以被保留,但是與滿足交互標準的最小集合的用戶的用戶交互數據相比,有較低的權重。在一些實施方案中,框406可以是可選的或被省略。

對于來自用戶集合的每個剩余用戶,用戶聚類系統134在框408處基于該用戶的用戶交互數據來確定用戶的參與度。確定用戶的參與度可以包括基于用戶在視頻游戲內的進度確定用戶是否繼續玩或停止玩視頻游戲。此外,確定用戶的參與水平可以包括確定用戶在玩視頻游戲時是否花了錢和/或花了多少錢。在一些情況下,確定用戶的參與水平可以包括基于為用戶收集的用戶交互數據確定用戶將再次玩視頻游戲的概率。在一些情況下,確定用戶的參與水平可以包括確定用戶關于視頻游戲的技能。此外,執行與框408相關聯的操作可以包括:使用用戶交互數據作為輸入來應用一個或多個機器學習算法,以基于通過視頻游戲呈現給用戶的挑戰的數量來確定用戶繼續玩或停止玩視頻游戲的概率用戶。

在框410,用戶聚類系統134基于用戶交互數據和剩余用戶的每個用戶的參與度確定多個用戶聚類。確定用戶集群可以包括基于如從在框404處監測的用戶交互數據確定的用戶的行為來對用戶進行分組。進一步地,將用戶分組到用戶集群中可以包括基于為用戶收集的指示視頻游戲的參與水平的用戶交互數據來確認與每個用戶相關聯的特性。例如,假設系統確定多個用戶通常玩視頻游戲時間小于30分鐘并且往往在閾值數量的玩會話和/或目標的過程中以少于兩次嘗試就成功完成目標。此外,假設這些用戶通常在達到一些如下目標之后停止玩視頻游戲,該目標需要多于兩次嘗試以完成目標。可以將這些數量的用戶一起聚類在用戶集群中,該用戶集群的用戶傾向于玩短游戲會話并傾向于喜歡不具有挑戰性的視頻游戲。相比較,可以將傾向于一次玩兩個小時的視頻游戲并繼續玩視頻游戲(盡管目標需要幾次嘗試來完成)的另一組玩家一起聚類在單獨的用戶集群中。可以使用一個或多個機器學習算法來至少部分地基于用戶集合的用戶交互數據來確認用戶集群。

在一些情況下,框410可包括在每個集群內生成子集群。例如,一個集群可以包括傾向于喜歡特別具有挑戰性的視頻游戲的用戶。在這個集群中,可能有兩個子集群。一個子集群可以用于喜歡那種在貫穿整個游戲的過程中保持挑戰性的視頻游戲的用戶。另一個子集群可以用于傾向于喜歡那種在開始時具有挑戰性但是隨著時間的推移可能變得不那么具有挑戰性的視頻游戲的用戶,因為這種視頻游戲可能發生難以掌握的情況,但是一旦用戶掌握了視頻游戲所需的技能就不那么難了。

在框412,難度配置系統132基于與用戶集群中的用戶相關聯的用戶交互數據將難度偏好與每個用戶集群相關聯。在一些實施方案中,例如,機器學習模型可以由模型生成系統146生成,以確定與難度偏好的其他值相比,難度偏好的哪些值與較長游戲玩法相關聯。難度偏好可以確認與用戶集群相關聯的用戶是否喜歡玩困難、容易或二者之間的一些等級的視頻游戲。此外,難度偏好可以確認重置與視頻游戲相關聯的游戲狀態變量的一個或多個操縱控件的一個或多個值。

示例集群分配過程

圖5呈現了用于用戶的集群分配過程500的一個實施方案的流程圖。過程500可以由能夠確認用戶集群以基于用戶與視頻游戲的交互將用戶與用戶集群關聯的任何系統來實施。例如,所述過程500整體地或者部分地可以由除了別的以外的交互計算系統130、難度配置系統132、用戶聚類系統134或者用戶計算系統110來實施。盡管任何數量的系統整體地或者部分地都可以實施過程500,但是為了簡化討論,將會參照特定系統來描述過程500。此外,還應該理解的是,過程500可以隨著時間過去被重復地更新或執行。例如,過程500可以每月一次被重復,在自從過程500的上一次執行后的用戶的閾值數量的玩會話之后被重復,或者在用戶玩了新視頻游戲之后被重復。然而,可以更多或更少頻率地執行過程500。此外,過程500可以實時地執行或者可以在特定事件之前執行。例如,可以在用戶使用游戲部署系統注冊時或在用戶訪問視頻游戲112時執行過程500。

過程500開始于框502,在該框502處用戶聚類系統134確認視頻游戲112的用戶。可以基于用戶賬戶信息(諸如用戶登錄)確認用戶,或者基于與用戶的頭像關聯的信息(諸如昵稱)來確認用戶。可替換地,或者附加地,可以基于與用戶的用戶計算系統110關聯的信息(諸如因特網協議(ip)地址)確認用戶。

在框504處,用戶聚類系統134監測用戶與視頻游戲112的交互一段時間,用以獲得用戶的用戶交互數據。這種監測可以通過查看來自不同時間段的用戶的用戶交互數據集合來進行,或者通過實時地將數據從視頻游戲112抽出并且將數據存儲以用于之后查看來進行。通常,時間段是可以包括多個玩會話中用戶與視頻游戲112的交互的歷史時間段。此外,時間段的長度可以被選擇以滿足或超過最小時間閾值。例如,時間段可以被選擇為至少或者超過一個月、兩個月、半年等。在一些情況下,替換或者除了監測用戶與視頻游戲的交互一段時間之外,用戶聚類系統134可以配置成監測閾值數量的玩會話的用戶交互。例如,用戶聚類系統134可以配置成監測用戶的第一數量(例如,五場、十場、十二場等)的玩會話,或者用戶的近期數量的玩會話。在一些情況下,框504可以包括監測用戶與多個視頻游戲的交互。多個視頻游戲可以是與視頻游戲112相同類型的視頻游戲。在其他情況下,多個視頻游戲可以不限于特定類型的視頻游戲。

用戶聚類系統134在框506訪問集群集合的集群定義。訪問集群集合的集群定義可以包括訪問用戶數據儲存庫138。集群定義可以包括與用戶集合的用戶交互數據相關聯或從用戶集合的用戶交互數據導出的特征的集合。

使用在框506訪問的集群定義和在框504獲得的用戶交互數據,用戶集群系統134在框508從集群的集合中確認集群。從集群的集合中確認集群可以包括將所述用戶交互數據的特性和與所述集群集合中的每一個相關聯的特性匹配。例如,如果用戶交互數據指示用戶在成功完成目標時每次玩視頻游戲112達數小時,并且在未能完成目標時在平均大約10分鐘內停止玩視頻游戲112,則用戶聚類系統134可以確定用戶是花費大量時間玩視頻游戲并且不享受重大挑戰的玩家。繼續該實施例,用戶聚類系統134可以從與在相當長的時間內玩視頻游戲并且傾向于享受具有小于閾值難度水平的游戲的玩家相關聯的集群集合中確認用戶集群。

在一些情況下,從集群集合中確定集群可以包括基于在框504獲得的用戶交互數據來確認用戶發現視頻游戲112有多困難。此外,確定集群集合的集群可以包括確認用戶對視頻游戲內的事件(包括與用戶在視頻游戲112內克服挑戰相關的成功或失敗的事件)的動作或反應。可以基于用戶關于在視頻游戲112內成功滿足目標或未能滿足目標的行為來確定用戶相對于視頻游戲的參與特性或用戶交互特性。可以將從用戶與視頻游戲的交互導出的與用戶相關的這些參與特性和/或其他特性和與集群集合相關聯的特性進行比較,以確認對應集群來關聯用戶。

在一些實施方案中,可以向用戶呈現參與特征,并且作為響應,用戶聚類系統134可以從用戶接收關于參與特征的輸入。例如,用戶可以指示用戶是否同意分析。作為另一示例,用戶可以指示他或她正在體驗新的游戲風格,該游戲風格用戶計劃繼續使用或不計劃繼續使用。用戶聚類系統134可以使用用戶輸入來調整或確認其對特定用戶集群的選擇。在一些情況下,可以基于用戶聚類系統134在框504已經獲得的數據量來對用戶輸入進行加權。例如,可以對具有少量歷史的用戶(諸如,兩個或三個玩會話)較重地加權,并且對具有大量歷史(諸如,五十或一百個玩會話)的用戶較少地加權。

在一些情況下,交互計算系統130可以將滑塊或一些其他用戶界面元素顯示給用戶,以在頻譜上指示用戶的參與特性。例如,滑塊可以指示用戶傾向于比平均水平更頻繁地嘗試挑戰,或者用戶平均傾向于在某些挑戰上比其他用戶更成功。盡管可以向用戶呈現用戶交互數據的分析,但是可以不通知用戶該信息正被用于調整視頻游戲112的至少部分的難度水平。

在用戶已經玩視頻游戲112的一部分之后,用戶聚類系統134可以詢問用戶以幫助確定用戶偏好,或者獲得關于用戶如何查看視頻游戲112的該部分的難度的信息。可以在用戶指示用戶結束一個玩會話之后詢問用戶。因此,可以向用戶詢問他或她的體驗而不中斷用戶的游戲體驗。此外,用戶聚類系統134可以解析用戶的聊天消息數據,以確定用戶的參與度和/或用戶發現視頻游戲112有多難。

在框510,用戶聚類系統134將用戶與所確認的集群相關聯。將用戶與所確認的集群相關聯可以包括在用戶數據儲存庫138處存儲用戶和所確認的集群之間的關聯。

在一些實施方案中,過程500可以用于確定用戶停止玩視頻游戲112的可能性。該確定有時可以被稱為“流失率”或“流失”,并且可以與用戶多頻繁切換視頻游戲或停止玩某些視頻游戲關聯。例如,傾向于玩一個或兩個玩會話的視頻游戲然后轉到另一個視頻游戲的用戶可能具有高的流失率。通過確認這樣的用戶,可以修改視頻游戲的難度設置以減少流失率。例如,如果確定簡單游戲或者沒有為用戶提供足夠挑戰的游戲導致用戶停止玩這樣的游戲,則可以將用戶與喜歡難的視頻游戲的用戶集群相關聯。此外,如下面更詳細描述的,基于用來關聯用戶的集群的標識,可以改進視頻游戲112的難度,以試圖減少用戶停止玩視頻游戲112的概率。

示例難度設置過程

圖6呈現了對于一個應用(諸如視頻游戲112)的難度設置過程600的一個實施方案的流程圖。過程600可以由可以至少部分地基于對用戶的監測活動而動態設置或調整視頻游戲的難度的任何系統來實施。例如,過程600全部或部分可以由除了別的以外的交互計算系統130、難度配置系統132、用戶聚類系統134或用戶計算系統110等實施。盡管任何數量的系統全部或部分可以實施過程600,為了簡化討論,將關于特定系統來描述過程600。

當執行視頻游戲112時或者當視頻游戲112的玩會話開始時,可以執行過程600。在一些情況下,可以在用戶開始新游戲或者相對于視頻游戲112啟用新帳戶時執行過程600。此外,可以在用戶每次加載關于視頻游戲112的先前保存的游戲時,執行過程600。在一些情況下,過程600可以在特定時間或響應于視頻游戲112內的觸發事件而被執行或重復。例如,過程600可以在每次用戶未能完成視頻游戲112內的特定目標或成功完成視頻游戲112內的特定目標時發生。在一些情況下,過程600可以在完成閾值數目的目標之后發生,或者在為完成目標的閾值數目的嘗試沒有成功之后發生。

過程600開始于框602,其中難度配置系統132確認視頻游戲112的用戶。在一些情況下,響應于用戶訪問視頻游戲112而執行所述框602。然而,如上所述,可以響應于諸如在游戲觸發事件中的其他事件來執行過程600的一個或多個部分。確認視頻游戲112的用戶可以基于用戶標識符或頭像。在一些情況下,框602可以包括先前關于框502描述的一個或多個實施方案。

在框604,難度配置系統132確定與用戶相關聯的用戶集群。確定與用戶相關聯的用戶集群可以包括訪問用戶數據儲存庫138以標識與用戶相關聯的一個或多個集群。在一些情況下,用戶集群可以與用戶和視頻游戲112兩者相關聯。在一些這樣的情況下,用戶可以與多個用戶集群相關聯。例如,對于用戶玩的每個視頻游戲,用戶可以與不同的用戶集群相關聯。在其他情況下,用戶可以與用于視頻游戲的集合的單個用戶集群相關聯。在一些情況下,視頻游戲的集合可以是用戶玩的所有視頻游戲或由與交互計算系統130相關聯的實體發布的所有視頻游戲。在其他情況下,視頻游戲的集合可以是特定種類或主題的視頻游戲。

基于所確認的用戶集群,難度配置系統132確定與視頻游戲112相關聯的一個或多個操縱控件的集合的配置值。這些配置值可由用戶集群來確認。可替換地,可以基于與用戶集群相關聯的難度水平來確定配置值。在一些情況下,至少一些配置值是與用戶集群相關聯或者基于與用戶集群相關聯的特性而確定的具體值或固定值。可替換地或者附加地,可以使用算法選擇配置值中的至少一些,或從與用戶集群相關聯的特定池或值集合隨機地選擇配置值中的至少一些。

在框608,難度配置系統132訪問用戶相對于視頻游戲112的近期用戶交互數據。可通過視頻游戲112將該近期用戶交互數據提供給難度配置系統132。可替換地,或者附加地,難度配置系統132可以從用戶交互歷史儲存庫116訪問近期用戶交互數據。在其他情況下,難度配置系統132可以從用戶數據儲存庫138訪問近期用戶交互數據。

近期用戶交互數據可以包括在當前的玩會話期間,在閾值時間段內(例如,在最后一周內)或在閾值數量的玩會話內(例如,近期三個玩會話)收集的用戶交互數據。通常,盡管不是必須的,從其收集近期用戶交互數據的玩會話的時間段或數目比關于過程500使用的用于確定與用戶相關聯的用戶集群的歷史數據更少和/或更近。

有利地,在一些實施方案中,通過訪問與用戶相關聯的用戶集群并且通過訪問近期用戶交互數據,難度配置系統132可以預測關于用戶在特定難度水平玩視頻游戲112時的成功。此外,難度配置系統132可以進行關于用戶對于視頻游戲112的行為的預測。至少部分地基于這些預測,難度配置系統132可以選擇能夠被發送到視頻游戲112的配置值以相應地調整視頻游戲112的難度。在一些實施方案中,框606或框608可以是可選的或省略的。例如,在用戶先前沒有玩視頻游戲112的情況下,可以省略框608。作為另一實施例,在用戶沒有累積足夠的歷史用戶交互數據以將用戶與用戶集群相關聯的情況下,可以省略框606。可替換地,用戶可與默認的用戶集群相關聯,以便確定與視頻游戲112相關聯的操縱控件集合的配置值的初始集合。作為另一替代方案,用戶可以至少部分地基于用戶提供的信息與用戶集群相關聯。

在框610,難度配置系統132可以至少部分地基于用戶的近期用戶交互數據來調整操縱控件集合的配置值。調整配置值可以使得視頻游戲112對于用戶而言更容易或更具挑戰性。此外,調整配置值可以修改視頻游戲112的狀態和/或與視頻游戲112相關聯的特征的數量。例如,調整配置值可以修改視頻游戲112內的水平的布局。作為另一實施例,調整配置值可以修改視頻游戲112內物品掉落的時間和/或視頻游戲112內的物品掉落的類型。在一些情況下,配置值可以是視頻游戲112用來在生成視頻游戲112的一個或多個方面所使用的種子值,諸如視頻游戲112內的用戶控制人物的水平布局或開始位置。應當理解的是,本公開不限制可以對視頻游戲112所做的修改的類型。然而,通常,對視頻游戲112進行的修改將導致視頻游戲112的難度水平的調整。有利地,在一些實施方案中,通過基于歷史和/或近期用戶交互數據來調整視頻游戲112內的特定操縱控件,可以比與一些視頻游戲相關聯的靜態難度水平設置基于更粒度化調整視頻游戲112的難度。

在一些情況下,調整視頻游戲的難度設置可以包括改變調整視頻游戲112中的特征的限定集合的配置值。或者,難度配置系統132可以至少部分地基于從近期用戶交互數據確定的用戶的特定技能的評估來確定配置設置。例如,可以確定用戶沒能完成視頻游戲112中的多個目標,因為用戶具有定時跳躍的問題。如果用戶是這種當用戶沒能完成目標時將停止玩視頻游戲112的類型的用戶,如通過與用戶相關聯的用戶集群所確定的,則難度配置系統132可以生成用于視頻游戲112中的可玩人物的能力的配置值以使得更容易設定跳躍的時間(例如,通過允許人物跳得更遠)。相反,如果另一用戶對定時跳躍沒有問題,但是瞄準武器有麻煩,則難度配置系統132可以生成配置值,該配置值使得通過使武器的命中區域更大而使得更容易射擊目標。在一些情況下,可以在用戶沒有意識到游戲已經被修改的情況下進行這兩個改變。

在一些情況下,框610可以包括向視頻游戲112和/或用戶計算系統110提供用于操縱控件集合的經調整的配置值的難度配置系統132。向用戶計算系統110提供調整的配置值可以包括通過交互計算系統130和用戶計算系統110之間建立的通信信道提供調整的配置值。在一些情況下,通信信道可以在視頻游戲112和難度配置系統132之間。在一些情況下,經調整的配置值可以被提供為可以由視頻游戲112訪問的配置文件和/或可以超馳控制視頻游戲112的配置文件的配置文件(例如,標記語言文件,諸如xml文件)。在一些情況下,可以在諸如動態鏈接庫(dll)文件的共享庫文件中提供調整器配置值。

盡管過程600可以用于提供調整視頻游戲112的難度設置的配置值,但是在一些情況下,對視頻游戲112的難度水平的調整是有限的。例如,在一些情況下,視頻游戲112的開發者可能希望視頻游戲112內的每個奇數水平比每個偶數水平更容易。因此,玩家在玩視頻游戲112時將在較簡單和較難的水平之間交替。在這種情況下,可以限制對框610處的配置值的調整,使得視頻游戲112內的奇數水平保持比偶數水平更容易。作為另一示例,對于視頻游戲112中的不同部分的難度水平的調整可以被限制到特定范圍。因此,在一些情況下,盡管視頻游戲112中的較后的水平可能比較早的水平更難或不難,但是較后的水平可能仍然比較早的水平更難。

在一些實施方案中,過程600可以至少部分地由用戶計算系統110執行。例如,在用戶計算系統110到交互計算系統130沒有網絡連接的情況下,視頻游戲112可以被配置為至少部分地基于存儲在用戶交互歷史儲存庫116中的用戶交互數據動態地調整該視頻游戲的難度。此外,在一些情況下,交互計算系統130可以向用戶計算系統110提供用戶集群信息用于存儲,使得用戶計算系統110能夠在用戶計算系統110到交互計算系統130沒有網絡連接時執行處理600。

示例種子評估過程

圖7呈現了種子評估過程700的一個實施方案的流程圖。過程700可以由任何可以至少部分地基于對于視頻游戲112的一部分的特定種子值的使用來評估視頻游戲112的該部分的難度的任何系統來實施。例如,過程700全部或部分可以由除了別的以外的交互計算系統130、種子評估系統136、難度配置系統132或用戶計算系統110實施。盡管任何數量的系統全部或部分可以實施過程700,為了簡化討論,將相對于特定系統來描述過程700。

使用過程700評估的種子可以涉及視頻游戲112的多個方面或部分的生成。例如,種子可以用于確定游戲中的世界或水平的初始配置。作為另一實施例,種子可以用于確定視頻游戲112內的一個或多個可玩或不可玩人物的能力。

過程700在框702處開始,其中種子評估系統136確認用于配置視頻游戲112或視頻游戲112的部分的多個種子。在一些情況下,多個種子中的每一個可以與配置視頻游戲112的相同部分相關聯。

對于在框702處確認的每個種子,種子評估系統136隨著時間監測玩或訪問視頻游戲112的用戶集合的過程,以在框704獲得與該種子相關聯的進度數據。在一些情況下,對于不同的用戶集合來評估每個種子,因為,例如,在與特定用戶的特定帳戶的特定玩會話期間,對于一些類型的視頻游戲,可以使用僅一個種子。例如,如果種子值與特定水平的布局相關聯,則可能一旦為特定用戶設置,特定水平的布局將不改變。然而,在一些其他情況下,可以對于相同的用戶集合來評估每個種子,因為,例如,在視頻游戲的玩會話期間重復使用種子值。例如,如果種子值與卡牌戰斗游戲中的開始的牌的集合相關聯,則每當用戶玩一輪時,可以生成開始的牌的集合,從而提供機會使多個不同的種子值待要對于特定用戶進行評估。

在一些實現中,基于與用戶集合或與用戶集合相關聯的用戶集群相關聯的技能水平來選擇在框704處監測的用戶集合。例如,每個種子值可以由被確定為具有大致相同的技能水平的用戶來評估。或者,每個種子值可以由具有不同等級技能的多個用戶評估。

在框704處獲得的進度數據可以反映被監測用戶已經使用特定種子值玩視頻游戲112的進度的量。例如,進度數據可以指示特定用戶或用戶集合是否完成了具有特定種子值的目標,或者無法完成具有特定種子值的目標。

在框706,對于所評估的每個種子,種子評估系統136基于與來自用戶集合的每個集合的每個用戶相關聯的技能數據來標準化進度數據。換句話說,在一些情況下,可以歸一化針對每個種子值獲得的進度數據,使得不同用戶的不同技能水平不影響種子的評估。替代地或另外地,可以基于通過例如用戶聚類系統134確定的用戶的技能水平對關于針對種子的特定用戶獲得的進度數據進行加權。在一些情況下,用戶的技能水平可以基于玩視頻游戲112贏得的點或用于監測特定用戶的技能的某種其他度量被確定。

在一些實施方案中,框706可以是可選的或省略的。例如,在被選擇來評估每個種子的用戶集合與特定用戶集群相關聯,或者被選擇來評估每個種子的用戶集合的每個被確定為具有小于技能水平的閾值差的情況下,可以不必標準化進度數據,并且可以省略框706。

在框708,種子評估系統136基于相關聯的歸一化進度數據確定與每個種子相關聯的難度。當使用與視頻游戲112的目標或部分相關聯的特定種子值時,可以基于成功或沒成功完成視頻游戲112的目標或部分的用戶的數量或百分比來確定難度。有利地,在一些實施方案中,通過評估種子值的難度,可以針對特定難度水平對種子值的集合進行分組或聚類。因此,在一些情況下,如果確定特定用戶更喜歡玩更容易的視頻游戲,則可以使用與較低難度水平相關聯的種子值來生成視頻游戲112的部分。此外,過程700使得開發者能夠確認與特定種子值相關聯的難度水平,并對特定種子值的分類進行調整。例如,特定的種子值可以與選擇簡單難度水平的玩家一起使用。然而,在使用過程700評估具有特定種子值的多個用戶的多個玩會話之后,可以確定該種子值導致視頻游戲112的一部分比當視頻游戲112的該部分與其他種子值相關聯時明顯更具挑戰性。在這種情況下,特定種子值可以被重新分類以供喜歡或選擇更難的難度水平的玩家使用,并且特定種子值可以被移除以使得不能用于供喜歡或選擇簡單難度水平的玩家使用。

計算系統的概述

圖8示出了用戶計算系統110的一個實施方案,該用戶計算系統也被稱為游戲系統。如所示的,用戶計算系統110可以是包括若干元件的單個計算設備。然而,在一些情況下,用戶計算系統110可以包括多個設備。例如,用戶計算系統110可以包括以下設備:一個設備包括中央處理單元和圖形處理單元,另一個設備包括顯示器,再一個設備包括輸入機構,諸如鍵盤或者鼠標。

用戶計算系統110可以是能夠執行游戲系統的計算系統的一個實施方案。在圖8的非限制性的實施例中,用戶計算系統110是能夠經由觸摸屏顯示器802從用戶接收輸入的可觸摸的計算設備。然而,用戶計算系統110并不限于此,并且可以包括不可觸摸的實施方案,其不包括觸摸屏顯示器802。

用戶計算系統110包括觸摸屏顯示器802和觸摸屏接口804,并且被配置成執行游戲應用810。該游戲應用可以是視頻游戲112,或者是與視頻游戲112一起執行的或支持視頻游戲而執行的應用,諸如視頻游戲執行環境。盡管描述為游戲應用810,但是在一些實施方案中,應用810可以是可以具有至少部分基于用戶的喜好或能力的可變執行狀態的另一種類型的應用,諸如教學軟件。雖然用戶計算系統110包括觸摸屏顯示器802,可以意識到,多種輸入設備可以與觸摸屏顯示器802一起使用或者代替觸摸屏顯示器802。

用戶計算系統110可以包括一個或多個處理器,諸如中央處理單元(cpu)、圖形處理單元(gpu)和加速處理單元(apu)。此外,用戶計算系統110可以包括一個或多個數據存儲元件。在一些實施方案中,用戶計算系統110可以是用于執行游戲應用810目的的專用計算設備。例如,用戶計算系統110可以是視頻游戲機。由用戶計算系統110執行的游戲應用810可以使用特定應用程序接口(api)創建,或編譯到針對用戶計算系統110專用的特定的指令集中。在一些實施方案中,用戶計算系統110可以是能夠執行游戲應用810和非游戲應用的通用計算設備。例如,用戶計算系統110可以是具有集成觸摸屏顯示器的筆記本電腦或者具有外部觸摸屏顯示器的臺式計算機。參照圖9更詳細的描述了用戶計算系統110的示例性實施方案的部件。

觸摸屏顯示器802可以是被配置成從用戶處接收觸覺輸入(也稱為觸摸輸入)的電容性觸摸屏、電阻式觸摸屏、表面聲波觸摸屏或其他類型的觸摸屏技術。例如,可以經由單個手指觸摸屏幕、多個手指觸摸屏幕、觸筆或者可以用于在觸摸屏顯示器802上登記觸摸輸入的其他刺激物,來接收觸摸輸入。觸摸屏接口804可以被配置成將觸摸輸入轉化成數據并且輸出數據,使得其可以被用戶計算系統110的部件(諸如操作系統和游戲應用810)解釋。該觸摸屏接口804可以將觸覺觸摸的輸入觸摸轉化成觸摸輸入數據。觸摸輸入的一些示例性的特性可以包括形狀、大小、壓力、位置、方向、動量、持續時間和/或其他的特性。觸摸屏接口804可以配置成確定觸摸輸入的類型,諸如,例如輕拍(例如,在單個位置觸摸并釋放)或者滑動(例如,以單個觸摸輸入的方式移動通過觸摸屏上的多個位置)。觸摸屏接口804可以配置成同時地或基本上并行地發生檢測和輸出與多個觸摸輸入關聯的觸摸輸入數據。在一些情況下,同時觸摸輸入包括如下示例:用戶保持在觸摸屏顯示器802上的第一觸摸,隨后執行觸摸屏顯示器802上的第二觸摸。觸摸屏接口804可以配置成檢測觸摸輸入的移動。可以將觸摸輸入數據傳輸到用戶計算系統110的部件用于處理。例如,可以直接將觸摸輸入數據傳輸到游戲應用810用于處理。

在一些實施方案中,在被輸出到游戲應用810之前,觸摸輸入數據可以先經受由觸摸屏接口804、操作系統或者其他部件進行的處理和/或過濾。作為一個示例,可以從觸摸輸入中捕獲原始觸摸輸入數據。可以過濾原始數據以移除背景噪聲,可以測量與輸入關聯的壓力值,以及可以計算與觸摸輸入關聯的位置坐標。提供給游戲應用810的觸摸輸入數據的類型可以依賴于觸摸屏接口804和與觸摸屏接口804關聯的特定api的具體實現方式。在一些實施方案中,觸摸輸入數據可以包括觸摸輸入的位置坐標。可以以限定的頻率輸出觸摸信號數據。處理觸摸輸入可以每秒計算許多次,并且可以將觸摸輸入數據輸出到游戲應用用于進一步處理。

游戲應用810可以配置成在用戶計算系統110上執行。游戲應用810還可以稱為視頻游戲、游戲、游戲編碼和/或游戲程序。應該理解的是,游戲應用包括用戶計算系統110可以使用來為用戶提供游戲來玩的軟件代碼。游戲應用810可以包括通知用戶計算系統110執行處理器指令的軟件代碼,但還可以包括用于在玩游戲中使用的數據,諸如涉及常量、圖像和其他數據結構的數據。例如,在所示出的實施方案中,游戲應用包括游戲引擎812、游戲數據814以及游戲狀態信息816。

用戶計算系統110的觸摸屏接口804或者其他部件(諸如操作系統),可以將用戶輸入(諸如觸摸輸入)提供到游戲應用810。在一些實施方案中,用戶計算系統110可以包括替選地或者額外的用戶輸入設備,諸如鼠標、鍵盤、照相機、游戲控制器等。用戶可以經由觸摸屏接口804和/或替選的或額外的用戶輸入設備的一個或多個與游戲應用810交互。游戲引擎812可以配置成執行用戶計算系統110內的游戲應用810的操作的多個方面。游戲應用內的游戲玩法的多個方面的執行可以至少部分地基于所接收的用戶輸入、游戲數據814以及游戲狀態信息816。游戲數據814可以包括游戲規則、預錄動作捕捉姿勢/路徑、環境設置、約束、動畫參照曲線、骨架模型和/或其他游戲應用信息。此外,游戲數據814可以包括用于設置或者調整游戲應用810的難度的信息。

游戲引擎812可以根據游戲規則執行游戲內的游戲玩法。游戲規則的一些示例可以包括用于得分、可能的輸入、動作/事件、響應于輸入的移動等的規則。其他部件可以控制接受什么輸入和游戲如何進行,以及游戲玩法的其他方面。在游戲應用810的執行期間,游戲應用810可以存儲游戲狀態信息816,該游戲狀態信息可以包括人物狀態、環境狀態、場景目標的存儲和/或與游戲應用810的執行的狀態關聯的其他信息。例如,游戲狀態信息816可以確認處于特定時間點的游戲應用的狀態,諸如人物位置、人物動作、游戲水平屬性以及有助于游戲應用狀態的其他信息。

游戲引擎812可以接收用戶輸入,并且確定游戲中事件,諸如適于游戲應用810的動作、撞擊、跑、丟、襲擊和其他事件。操作期間,游戲引擎812可以讀取游戲數據814和游戲狀態信息816,以便確定合適的游戲中事件。在一個實施例中,在游戲引擎812確定人物事件之后,人物事件可以被傳送到移動引擎,移動引擎可以確定響應于該事件所述人物應該做出的合適的運動,并且將這些運動傳遞到動畫引擎。動畫引擎可以確定用于人物的新姿勢,并且將新的姿勢提供到皮膚和渲染引擎。皮膚和渲染引擎轉而可以將人物圖像提供給對象組合器,以便將有生命的、無生命的和背景對象組合成完整的場景。可以將該完整的場景傳送到渲染器,該渲染器可以生成向用戶顯示的新的幀。在執行游戲應用期間,該過程可以被重復用于渲染每個幀。盡管已經在人物的背景下描述了該過程,但是該過程可以被應用于處理事件和渲染向用戶顯示的輸出的任何過程。

計算系統的示例硬件配置

圖9示出了用于圖8的用戶計算系統110的硬件配置的實施方案。用戶計算系統110的其他變形可以用本文明確呈現的實施例來替換,諸如移除部件或添加部件到用戶計算系統110。用戶計算系統110可以包括專用的游戲設備、智能手機、平板電腦、個人計算機、臺式機、筆記本電腦、智能電視、汽車控制顯示器等。此外,(盡管沒有在圖9中明確地示出)如參照圖8所述的,用戶計算系統110可以可選地包括觸摸屏顯示器802和觸摸屏接口804。

如所示的,用戶計算系統110包括處理單元20,該處理單元與用戶計算系統110的其他部件相互作用,并且還與用戶計算系統110外部的部件相互作用。可以包括能夠與游戲介質12通信的游戲介質讀取器22。游戲介質讀取器22可以是能夠讀取光盤的光盤讀取器,諸如cd-rom或者dvd,或者是可以接收并讀取來自游戲介質12的數據的任何其它類型的讀取器。在一些實施方案中,游戲介質讀取器22可以是可選的或者省略的。例如,可以在網絡上經由網絡i/o38訪問游戲內容或應用,使游戲介質讀取器22和/或游戲介質12可選。

用戶計算系統110可以包括分立的圖形處理器24。在一些情況下,圖形處理器24可以安裝在處理單元20中,諸如具有apu(加速處理單元)。在一些這樣的情況下,圖形處理器24可以與處理單元20共享隨機存取存儲器(ram)。替選地或者額外地,用戶計算系統110可以包括與處理單元20分立的獨立圖形處理器24。在一些這樣的情況下,圖形處理器24可以具有與處理單元20分立的ram。此外,在一些情況下,圖形處理器24可以與一個或多個額外的圖形處理器和/或與嵌入的或者非獨立的圖形處理單元一起工作,所述嵌入的或者非獨立的圖形處理單元可以嵌入到主板中并且有時被稱為主板圖形芯片或者設備。

用戶計算系統110還包括用于使能輸入/輸出的各種部件,諸如i/o32、用戶i/o34、顯示器i/o36和網絡i/o38。如上所述,在一些情況下,輸入/輸出部件可以包括觸控設備。i/o32與存儲元件40交互,并且通過設備42與可移除存儲介質44交互,以便提供用于計算設備800的存儲。處理單元20可以通過i/o32通信以存儲數據,諸如游戲狀態數據和任何共享的數據文件。除了存儲器40和可移除存儲介質44,計算設備800還被示出包括rom(只讀存儲器)46和ram48。ram48可以用于被頻繁訪問的數據,諸如當正在玩游戲時。

用戶i/o34用于發送和接收在處理單元21和用戶設備(諸如游戲控制器)之間的指令。在一些實施方案中,用戶i/o34可以包括觸摸屏輸入。如上所述,觸摸屏可以是電容性觸摸屏、電阻式觸摸屏或者被配置成通過觸覺輸入從用戶處接收用戶輸入的其他類型的觸摸屏技術。顯示器i/o36提供用于顯示來自正在玩的游戲的圖像的輸入/輸出功能。網絡i/o38用于關于網絡的輸入/輸出功能。在游戲的執行期間,諸如當正在在線玩游戲或者在線訪問游戲時,可以使用網絡i/o38。

顯示器輸出信號可以由顯示器i/o36產生,并且可以包括用于在顯示設備上顯示由計算設備800產生的可視內容的信號,諸如圖形、用戶界面、視頻和/或其他可視內容。用戶計算系統110可以包括被配置成接收由顯示器i/o36產生的輸出信號的一個或多個集成顯示器,該輸出信號被輸出用于顯示給用戶。根據一些實施方案,由顯示器i/o36產生的顯示輸出信號還可以被輸出到計算設備800外部的一個或多個顯示設備。

用戶計算系統110還可以包括其他可以與游戲一起使用的特征,諸如鐘表50、閃存存儲器52以及其他部件。音頻/視頻播放器56還可以用于播放視頻序列,諸如電影。應該理解的是,在用戶計算系統110中可以設置有其他的部件,并且本領域技術人員將會意識到用戶計算系統110的其他變型。

程序代碼可以存儲在rom46、ram48或者存儲器40(其可以包括硬盤、其他磁存儲器、光存儲器、固態驅動和/或其他非暫時性儲存器、或這些的組合或者變型)中。程序代碼的至少一部分可以存儲在可編程的rom(rom、prom、eprom、eeprom等)、存儲器40和/或可移除介質,諸如游戲介質12(其可以是cd-rom、盒式磁帶、存儲器芯片等,或者根據需要通過網絡或其他電子信道獲得的)。通常,可以發現程序代碼嵌入在有形的非暫時信號承載(signal-bearing)介質。

隨機存取存儲器(ram)48(以及可能的其他存儲器)可用于存儲所需的變量和其他游戲和處理器數據。使用ram,并且ram保存在玩游戲期間生成的數據,并且該數據的一些部分還可以被保留用于幀緩存器、游戲狀態和/或所需要或者可用于解釋用戶輸入并且生成游戲玩法的其他數據。通常,ram48是易失性儲存器,并且當用戶計算系統110關閉或者沒電的時候,在ram48內存儲的數據可能會丟失。

因為用戶計算系統110讀取游戲介質12并且提供游戲,可以從游戲介質12讀取信息并且將信息存儲在存儲設備,諸如ram48。額外地,來自儲存器40、rom46、經由網絡(未示出)訪問的服務器、或者可移除存儲介質46的數據可以被讀取并且加載到ram48中。盡管數據被描述為在ram48中發現,但是將會理解的是,數據不一定非要存儲在ram48中,并且可以存儲在處理單元20可訪問的其他存儲器中,或者分布在多個介質(諸如游戲介質12和儲存器40)之間。

附加的實施方案

在一些實施方案中,公開了一種計算機實施的方法,其可以由配置有具體的計算機可執行指令的交互計算系統實施,以至少確定在用戶計算設備上玩視頻游戲的第一用戶的用戶標識符。該方法還可以包括至少部分地基于第一用戶的用戶標識符從多個用戶集群中確認與第一用戶相關聯的用戶集群。來自多個用戶集群的每個用戶集群可以對應于視頻游戲的不同狀態偏好。此外,至少部分地基于與所確認的用戶集群相關聯的狀態偏好,該方法可以包括確定與視頻游戲相關聯的操縱控件的配置值。該操縱控件可以包括在被調整時導致對視頻游戲的狀態的修改的變量。另外,該方法可以包括在第一時間段內訪問與玩視頻游戲的第一用戶相關聯的近期用戶交互數據,并且至少部分地基于該近期用戶交互數據來確定對配置值的調整,以獲得修改的配置值。此外,該方法可以包括生成包括修改的配置值的配置數據包用于傳輸到用戶計算設備,以通過至少部分地基于修改的配置值調整操縱控件來修改視頻游戲的執行。

在一些實現中,對視頻游戲的狀態的修改調整視頻游戲的難度。此外,第一時間段可以小于第一閾值時間段。另外,該方法可以包括通過至少確認玩第二視頻游戲的多個用戶來生成多個用戶集群,并且通過至少監測用戶在第二時間段與第二視頻游戲的交互來獲得多個用戶中的每個用戶的用戶交互數據。另外,該方法可以包括至少部分地基于用戶交互數據來確定多個用戶中的每個用戶的參與水平,并且至少部分地基于多個用戶中的每個用戶的用戶交互數據和多個用戶中的每個用戶的參與水平來確定多個用戶集群。在一些情況下,第二視頻游戲和該視頻游戲是相同的。此外,第二時間段可以大于第二閾值時間段。

在一些實施方案中,該方法包括通過至少在第三時間段內監測第一用戶與第三視頻游戲的交互來至少獲得第一用戶的歷史用戶交互數據,以將第一用戶與用戶集群相關聯;訪問多個用戶集群的集群定義,以及至少部分地基于所述歷史用戶交互數據和多個用戶集群的集群定義,從所述多個用戶集群中選擇用戶集群。在一些情況下,第三視頻游戲和該視頻游戲是相同的。此外,第三時間段可以比第一時間段長。

在本公開內容的一些實施方案中,公開了一種系統,該系統包括被配置為存儲關于視頻游戲的用戶交互數據的電子數據存儲裝置和與該電子數據存儲裝置通信的硬件處理器。硬件處理器可以被配置為執行具體的計算機可執行指令,以至少從多個用戶集群中確認與第一用戶相關聯的用戶集群。來自多個用戶集群的至少一些用戶集群可以對應于與用戶集群相關聯的用戶所玩的視頻游戲的不同狀態偏好。該系統至少部分地基于與所確認的用戶集群相關聯的狀態偏好,可以進一步確定與第一用戶玩的視頻游戲相關聯的狀態變量的配置值。另外,所述系統可以從電子數據存儲裝置訪問與在第一時間段內訪問視頻游戲的第一用戶相關聯的近期用戶交互數據,并且至少部分地基于該近期用戶交互數據來確定對配置值的調整,以獲得修改的配置值。此外,所述系統可以生成包括修改的配置值的配置數據包,用于傳輸到用戶計算設備,以通過至少部分地基于修改的配置值調整狀態變量來修改視頻游戲的執行。

在一些實現中,視頻游戲的已修改的執行是第一用戶不可察覺的。此外,第一時間段可以包括隨著時間的流逝而調整的動態時間窗口。在一些實施方案中,響應于在第一用戶玩視頻游戲的玩會話期間出現的觸發事件,至少所述訪問近期用戶交互數據,所述確定對配置值的調整以及所述修改視頻游戲的執行被重復。

在一些實現中,硬件處理器還被配置為通過執行具體的計算機可執行指令來生成多個用戶集群,以至少確認玩視頻游戲的多個用戶并且訪問與針對多個用戶中的每個用戶從所述電子數據存儲裝置訪問視頻游戲相關聯的用戶交互數據。可以在第二時間段內記錄用戶交互數據。此外,系統可以至少部分地基于用戶交互數據來確定多個用戶中的每個用戶的參與水平,并且至少部分地基于多個用戶中的每個用戶的用戶交互數據和多個用戶中的每個用戶的參與水平來確定多個用戶集群。

此外,系統可以通過執行具體的計算機可執行指令來將第一用戶與用戶集群相關聯,以通過至少監測第一用戶在第三時間段內對視頻游戲的訪問來至少獲得第一用戶的歷史用戶交互數據。系統還可以訪問多個用戶集群的集群定義,并且至少部分地基于歷史用戶交互數據和多個集群的集群定義來從多個用戶集群中選擇用戶集群。在一些情況下,第三時間段在第一時間段之前,并且第三時間段比第一時間段長。

在本公開內容的一些實施方案中,一種存儲計算機可執行指令的非暫時性計算機可讀存儲介質,所述計算機可執行指令在由一個或多個計算設備執行時,配置所述一個或多個計算設備執行以下操作,所述操作包括確認與來自多個用戶集群的第一用戶相關聯的用戶集群。來自多個用戶集群的至少一些用戶集群可以對應于由與用戶集群相關聯的用戶訪問的應用的不同狀態設置。此外,至少部分地基于與所確認的用戶集群相關聯的狀態設置,所述操作可以包括確定與由第一用戶訪問的應用相關聯的狀態變量的配置值,以及訪問與在第一時間段內訪問應用的第一用戶相關聯的近期用戶交互數據。另外,所述操作可以包括至少部分地基于近期用戶交互數據來確定對配置值的調整,以獲得修改的配置值,并且生成包括修改的配置值的配置數據包用于傳輸到用戶計算設備,以通過至少部分地基于修改的配置值調整狀態變量來修改應用的執行。

在一些實現中,所述操作還包括通過至少確認訪問應用的多個用戶來生成多個用戶集群,以及通過至少監測用戶在第二時間段內與應用的交互來獲得多個用戶中的每個用戶的用戶交互數據。另外,所述操作可以包括至少部分地基于所述用戶交互數據來確定多個用戶中的每個用戶的參與水平,以及至少部分地基于多個用戶中的每個用戶的用戶交互數據和多個用戶中的每個用戶的參與水平來確定多個用戶集群。

在一些情況下,所述操作還可以包括:通過至少在第三時間段內監測第一用戶對應用的訪問來至少獲得第一用戶的歷史用戶交互數據,來將第一用戶與用戶集群相關聯;以及至少部分地基于歷史用戶交互數據來確定第一用戶的難度偏好。另外,所述操作可以包括訪問多個用戶集群的集群定義。每個集群定義可以標識與對應用戶集群相關聯的用戶的難度偏好。此外,所述操作可以包括通過將第一用戶的難度偏好與對應于用戶集群的集群定義的難度偏好相匹配來從多個用戶集群中選擇用戶集群。另外,第三時間段可以在第一時間段開始之前的時間點開始,并且第三時間段可以比第一時間段長。

應當理解的是,根據本文描述的任何具體實施方案不一定可以實現所有的目標或者優點。因此,例如,本領域技術人員將會意識到一些實施方案可被配置用于以如下方式操作,即,實現或者優化如本文教導的一個優點或者一組優點而不一定實現如本文教導或者暗示的其他目標或者優點。

本文描述的所有過程均可以在軟件代碼模塊中實現或者經由軟件代碼模塊被完全自動化,該軟件代碼模塊由包括一個或多個計算機或處理器的計算系統執行。所述代碼模塊可以儲存在任何類型的非暫時性計算機可讀介質或其他計算機存儲設備中。一些或者所有方法均可以以專用的計算機軟件來體現。

從本公開內容中將明了本文描述的內容的一些其他的變型。例如,根據實施方案,本文描述的任何算法的某些動作、事件或者功能均可以以不同的順序來執行,可以被添加、合并或者完全忽視(例如,不是所有描述的動作或者事件都是實踐算法必須的)。此外,在一些實施方案中,動作或者事件可以同時地執行,例如通過多線程處理、中斷處理、或者多處理器或處理器芯片或在其他并行體系結構上,而不是順序地。此外,不同的任務或處理可以由可以共同起作用的不同的機器和/或計算系統執行。

與本文公開的實施方案相關被描述的各種示例性邏輯塊和模塊可以由機器實施或執行,所述機器諸如處理單元或處理器、數字信號處理器(dsp)、專用集成電路(asic)、現場可編程門陣列(fpga)或其他可編程邏輯設備、離散門或晶體管邏輯電路、離散硬件部件或這些的被設計用于執行本文所述功能的任何組合。處理器可以是微處理器,但替選地,處理器可以是控制器、微控制器、或者狀態機、它們的組合等。處理器可以包括配置成處理計算機可執行指令的電路。在另一實施方案中,處理器包括fpga或其他執行邏輯操作而不處理計算機可執行指令的可編程設備。處理器還可以作為計算設備的組合來實施,例如,dsp和微處理器的組合、多個微處理器、一個或多個微處理器與dsp芯片的組合或者任何其他這種配置。盡管本文主要參照數字技術被描述,但是處理器也可以主要包括模擬部件。計算環境可以包括任何類型的計算機系統,包括但不限于,舉例而言,基于微處理器的計算機系統、大型計算機、數字信號處理器、便攜式計算設備、設備控制器或者裝置內的計算引擎。

除非另外特別說明,否則條件性用語,諸如“能夠(can)”、“可(could)”、“可能(might)”或“可以(may)”及其他,應通常在所使用的上下文中被理解為表達某些實施方案包括某些特征、元件和/或步驟,而另一些實施方案不包括某些特征、元件和/或步驟。因此,這樣的條件性用語通常并不意在暗示:特征、元件和/或步驟以任何方式是一個或多個實施方案所需要的,或者一個或多個實施方案必需包括用于判定——在具有或不具有用戶輸入或提示的情況下——這些特征、元件和/或步驟是否包括在任何具體的實施方案中或要在任何具體的實施方案中執行的邏輯。

除非另有特別說明,否則諸如短語“x、y或z中的至少一個”之類的析取性(disjunctive,選言)用語通過結合所使用的上下文一般理解為表示項、術語等可以是x、y、或z或其任何組合(例如,x、y和/或z)。因此,這樣的選言通常不旨在并且不應當暗示某些實施方案需要x的至少一個、y的至少一個或z的至少一個均都存在。

在本文中描述的和/或在附圖中描繪的流程圖中的任何過程描述、元件或框均應當被理解為潛在地表示包括用于在過程中實施特定的邏輯功能或元件的一個或多個可執行指令的代碼模塊、代碼段或代碼部分。在本文描述的實施方案的范圍內包括可替代的實施方式,在這樣的實施方式中,元件可以被刪除、與所示出的或討論的次序顛倒地執行,包括基本上同時執行或以相反的順序執行,這取決于本領域技術人員理解的所涉及的功能。

除非另外明確說明,否則冠詞,諸如“一個”或“一”,通常應被解釋為包括一個或多個所描述的項。因此,諸如“被配置成…的設備”的措辭意在包括一個或多個所描述的設備。這樣的一個或多個敘述的設備還可以被共同配置成執行列舉項(recitation)。例如,“被配置為執行列舉項a、b和c的處理器”可以包括被配置為執行列舉項a的第一處理器,該第一處理器連同被配置為執行列舉項b和c的第二處理器一起工作。

應當強調的是,可以對上述實施方案做出許多變型和修改,這些變型和修改要素要被理解為在其他可接受實施例中。所有這樣的修改和變型都意在包括在本公開內容的范圍內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 西华县| 高要市| 达尔| 柘城县| 锦州市| 通化市| 科技| 禄丰县| 岢岚县| 兖州市| 开封县| 红原县| 黄骅市| 郯城县| 道孚县| 湄潭县| 修水县| 喜德县| 鄯善县| 剑阁县| 连山| 临武县| 龙胜| 裕民县| 绵竹市| 望都县| 龙里县| 新津县| 婺源县| 武义县| 安阳县| 西华县| 晋宁县| 射洪县| 家居| 新闻| 南溪县| 湘潭市| 奉节县| 清水河县| 湘西|