具体实施方式
本文讨论了与对手显示进行异步游戏。当用户在游戏中参与比赛时,存储与该用户在该比赛中的表现有关的数据。某一特定用户可以选择另一用户(对手)来在该比赛中异步地进行对抗。可以向该特定用户显示标识已玩过该比赛的各个其他用户的列表,并且可以用各种方式来过滤该列表(例如,基于该特定用户的朋友、用户的分数,等等)。该特定用户选择该列表中的另一用户作为对手,并且在该特定用户参与该比赛时,显示表示该对手的对象(例如,该对手的交通工具)。表示该对手的对象与该对手在该比赛中的表现一起显示,从而即使对手实际上在较早的时间参与了该比赛,也向该特定用户提供与该对手一起参与比赛的体验。表示该对手的对象与该对手所做出的定制一起显示(例如,交通工具的特定喷涂或设计、添加到交通工具的特定贴纸,等等)。如果该特定用户在该比赛中胜过了对手的分数,则向该特定用户奖励币或其他积分。所奖励的币或积分是基于该特定用户在该比赛中的表现和对手的分数的。另外,如果该特定用户在该比赛中胜过了对手的分数,则可以向该对手提供通知,从而通知他或她在该比赛中被该特定用户所打败。该通知包括可由该对手选择以跳转到该比赛并且再次参与该比赛以获得比该特定用户更好的分数的链接。
图1示出根据一个或多个实施例的实现与对手显示进行异步游戏的示例系统100。系统100包括能经由网络106彼此通信的多个(x个)游戏设备102和在线游戏服务104。网络106可以是各种不同的网络,包括因特网、局域网(LAN)、广域网(WAN)、个域网(PAN)、电话网、内联网、其他公共和/或专用网络及其组合等。
每一游戏设备102可以是允许用户玩游戏(如竞速游戏、体育游戏、策略游戏、冒险游戏、模拟游戏,等等)的各种类型的设备。游戏设备102中的不同的设备可以是相同或不同类型的设备。例如,计算设备102可以是游戏控制台、蜂窝或其他无线电话、电视机或其他显示设备、通信地耦合到显示设备的机顶盒、台式计算机、膝上型或上网本计算机、平板或笔记本计算机、移动站、娱乐设备、车载计算机等等。
在线游戏服务104便于游戏设备102的用户玩一个或多个不同的游戏。游戏服务104之所以被称为是在线服务,是因为游戏设备102经由网络106访问服务104(和/或其他游戏设备102)。在线游戏服务104包括账户访问服务110、游戏服务112、以及可任选的比赛安排服务114,这些中的每一个可彼此通信。服务110、112和114可在在线游戏服务104内彼此通信和/或经由游戏设备102彼此通信。
账户访问服务110提供支持在线游戏服务104的用户账户的各种功能。不同的用户和/或游戏设备102通常具有相对于在线游戏服务104的不同账户,并且可经由账户访问服务110来登录他们的账户。用户或游戏设备102通过提供凭证信息来登录到账户,如id(例如用户名、电子邮件地址、玩家标签,等等)和口令、数字证书或来自智能卡的其他数据,等等。账户访问服务110验证或认证该凭证信息,从而如果该凭证信息被验证或认证则允许用户或游戏设备102访问该账户,并且如果该凭证信息未被验证或未被认证则禁止用户或游戏设备102访问该账户。一旦认证了用户的凭证信息,则该用户可以使用在线游戏服务104提供的其他服务。账户访问服务110还可提供各附加账户管理功能,如准许改变凭证信息、建立新账户、移除账户,等等。
游戏服务112提供支持游戏设备102的用户玩一个或多个不同游戏的各种功能。游戏服务112可以支持不同的游戏标题(例如,一个或多个不同的竞速游戏标题、一个或多个不同的体育游戏标题、一个或多个不同的策略游戏标题,等等)。游戏标题指的是在被执行时实现游戏的特定一组指令(例如,来自特定供应商的用于竞速游戏的一组指令、来自特定供应商的用于特定网球游戏的一组指令,等等)。游戏标题的特定运行也被称为游戏。不同用户可并发地玩同一游戏标题的多个游戏,每一游戏是该游戏标题的一单独运行。游戏可以作为单玩家游戏来运行和参与,其中游戏设备102的单个用户玩该游戏并控制该游戏中的一个或多个角色或其他对象,而该游戏中的其他角色或对象由该游戏本身控制。游戏也可以作为多玩家游戏来运行和参与,其中一个或多个游戏设备102的多个用户玩同一游戏并且每一用户控制游戏中的一个或多个角色或其他对象。在多玩家游戏中,一个或多个附加角色或其他对象也可由游戏本身来控制。
通常通过执行一个或多个程序来运行游戏。被执行来运行这些游戏的程序可以在游戏设备102和/或游戏服务112上运行。游戏设备102可以执行游戏的一个或多个程序,从而与游戏服务112通信来便于游戏设备102的用户之间在玩游戏时的通信和/或提供或获得用于玩该游戏的附加数据(和/或程序)。作为替换(或补充),游戏服务112可执行游戏的一个或多个程序,接收来自游戏设备102的用户的输入,并返回指示要生成以供向游戏设备102的用户显示或其他呈现的输出的数据
在一个或多个实施例中,游戏是在游戏设备102上执行的程序,并且游戏服务112管理不同的游戏设备102之间的通信。在其他实施例中,游戏是在游戏设备102上执行的程序,并且游戏服务112便于建立不同的游戏设备102之间的通信。在两个游戏设备102之间的通信建立之后,可以在不涉及游戏服务112的情况下进行这两个游戏设备102之间的通信。
游戏服务112包括异步游戏协调模块120。在玩游戏时,该游戏中存在表示该用户的对象。这一对象可以基于游戏的类型而变化,例如作为竞速游戏中的交通工具(例如,汽车、飞机、轮船,太空飞船等等)、作为射击游戏中的角色的图形表示(例如,人、外星人、怪物,等等),等等。异步游戏协调模块120便于允许用户异步地参与游戏来彼此比赛。用户异步地参与游戏来彼此比赛指的是用户在不同的时间参与该游戏的比赛。一个用户(例如,用户A)参与游戏中的一个比赛,并且记录用户A在该比赛中的表现。其他用户(例如,用户B)可在稍后时间参与同一比赛,与用户A的表现的记录进行对抗。因而,两个用户参与同一比赛,但在不同的时间进行。这两个用户可以都登录到在线游戏服务110但在不同的时间参与游戏的比赛,和/或一个用户可以在另一用户未登录到在线游戏服务110时参与游戏的比赛。尽管被示为作为游戏服务110的一部分被包括,但异步游戏协调模块120可另选地至少部分实现在游戏设备102中。
比赛安排服务114在被包括在在线游戏服务104中时,提供便于找出游戏设备102的用户可与其玩游戏的其他用户的各种功能。比赛安排服务114以各种不同的方式来标识特定用户可与其玩游戏的其他用户,如基于游戏设备102的物理位置、游戏设备102的用户的技能水平、和/或游戏设备102和/或游戏设备102的用户的其他特性。比赛安排服务114可以基于账户访问服务110所知晓的用户账户、基于在特定时间登录到他们的账户的用户(例如,如账户访问服务110所指示的)、基于来自其他服务的账户(例如,比赛安排服务114能与其通信的社交网络服务)等等来标识其他用户。比赛安排服务114可以标识游戏设备102的用户能跨同一和/或不同类型的游戏设备102来与其玩游戏的其他用户(例如,台式计算机的一个或多个用户和游戏控制台的一个或多个用户、电话的一个或多个用户和游戏控制台的一个或多个用户,等等)。类似地,比赛安排服务114可以标识游戏设备102的用户能跨同一和/或不同服务来与其玩游戏的其他用户(例如,游戏服务112的一个或多个用户和在线游戏服务104的另一服务的一个或多个用户)。异步游戏协调模块120还可便于找出游戏设备102的用户能与其异步地参与游戏比赛的其他用户,如以下更详细地讨论的。比赛安排服务114的对其他用户的任何寻找都是异步游戏协调模块120对其他用户的寻找的补充。
可以使用一个或多个计算设备来实现服务110、112和114中的每一个。通常,这些计算设备是服务器计算机,但可以另选地使用各种不同类型的计算设备中的任何设备(例如,以上参考游戏设备102讨论的那些类型的设备中的任何设备)。可以使用不同的计算设备来实现服务110、112和114中的每一个,或者另选地,可以使用同一计算设备来实现服务110、112和114中的每一个。
另外,虽然服务110、112和114被示为是分开的服务,但另选地,这些服务中的一个或多个可被实现成单个服务。例如,游戏服务112和比赛安排服务114可被实现成单个服务。此外,服务110、112和114中的一个或多个的功能可被分到多个服务中。另外,在线游戏服务104的功能可被分到多个服务中。例如,在线游戏服务104可包括账户访问服务110和游戏服务112,并且一不同的服务(例如,社交网络服务)可包括比赛安排服务114。
图2以附加的细节示出了根据一个或多个实施例的示例游戏设备和显示。图2示出了耦合到显示设备204(例如,电视机)的游戏设备202,它可以是图1的游戏设备102。游戏设备202和显示设备204可经由有线和/或无线来通信。游戏设备202包括异步游戏协调模块212和输入/输出(I/O)模块214。异步游戏协调模块212类似于图1的异步游戏协调模块120,但它被示为在游戏设备202中实现而非在在线游戏服务中实现。
输入/输出模块214提供与游戏设备202的输入的识别和/或输出的供应(例如,显示或其他呈现)相关的功能。例如,输入/输出模块214可被配置成从键盘或鼠标接收输入以标识姿势并且使得对应于姿势的操作得以执行,等等。输入可由输入/输出模块214以各种不同的方式来检测。
输入/输出模块214可被配置成经由与硬件设备(如所示出的控制器216)的触摸交互来接收一个或多个输入。触摸交互可以涉及按下按钮、移动操纵杆、跨跟踪垫的移动、使用显示设备204或控制器216的触摸屏(例如,检测用户手的手指或指示笔)、由运动检测组件所识别的其他物理输入(例如,摇动设备、旋转设备,等等),等等。输入/输出模块214可以利用对触摸输入的识别来与游戏设备202所输出的用户界面进行交互,如与游戏进行交互、改变游戏设备202的一个或多个设置,等等。也构想了涉及与设备的触摸交互的各种其他硬件设备。这样的硬件设备的示例包括光标控制设备(例如,鼠标)、遥控器(例如,电视遥控器)、移动通信设备(例如,被配置成控制游戏设备102的一个或多个操作的无线电话)、以及涉及在用户或物体一方上的触摸的其他设备。
输入/输出模块214还可被配置成以不涉及触摸或物理接触的其他方式接收一个或多个输入。例如,输入/输出模块214可被配置成通过使用话筒(例如,作为游戏设备202的一部分来包括或耦合到游戏设备202)来接收音频输入。作为另一示例,输入/输出模块214可被配置成通过使用相机218来识别姿势、所呈现的对象、图像等。这些图像还可被游戏设备202用来提供各种其他功能,如标识特定用户(例如通过面部识别)、对象等的技术。
游戏设备202还可利用相机218来执行骨架映射连同对人体的特定点的特征提取(例如,48个骨架点),以跟踪一个或多个用户(例如,同时跟踪4个用户)来进行运动分析。例如,相机218可捕捉图像,输入/输出模块214或在游戏设备202上运行的游戏分析这些图像来识别用户作出的一个或多个运动,包括使用了什么身体部分来作出该运动以及哪一用户作出该运动。运动可被输入/输出模块214或正在运行的游戏标识为启动对应的操作的姿势。
图3示出根据一个或多个实施例的实现与对手显示进行异步游戏的示例系统300。系统300包括异步游戏协调模块302(其可以是图1的异步游戏协调模块120或图2的异步游戏协调模块212)、游戏304、以及游戏306。可以用各种不同的设备来实现系统300。例如,可在图1的游戏设备102中、在图1的在线游戏服务104中、或部分地在游戏设备102且部分地在在线游戏服务104中实现系统300。
游戏304包括一个或多个游戏模块308,且游戏306包括一个或多个游戏模块310。游戏304和306是同一游戏标题的不同游戏(例如,同一赛车游戏标题的不同游戏)。游戏模块308和310分别执行游戏304和306的各种功能,并且游戏模块308和310所执行的特定功能至少部分基于特定游戏标题而变化。
在一个或多个实施例中,异步游戏协调模块302与游戏304和306分开实现,并且作为对游戏304和306可用的服务的一部分来实现。或者,异步游戏协调模块302可被(至少部分)实现在游戏304和306中。因而,例如,模块308和/或310可包括异步游戏协调模块302的一个或多个模块,或可以实现本文讨论的由异步游戏协调模块302执行的功能的至少一部分。
游戏304将各种游戏数据存储在游戏数据存储314中,且游戏306将各种游戏数据存储在游戏数据存储316中。在操作期间,与用户有关的各种信息可被存储为游戏数据,如该用户在该游戏的各个比赛中的表现、该用户在游戏期间累积的物品或点,等等。尽管被示为分开的游戏数据存储,但应当注意,游戏数据存储314和游戏数据存储316可以是同一游戏数据存储(例如,由在线游戏服务104来实现)。
游戏304和306具有用户可参与的一个或多个比赛。比赛是用户所参与的游戏的特定一部分。特定比赛的性质取决于特定游戏。例如,竞速游戏的比赛可以是所赛的特定路线或赛道。作为另一示例,射击游戏的比赛可以是特定目标射击项目。应当注意,游戏可以具有单个比赛。
在用户参与游戏304的比赛时,记录与用户的参赛表现有关的数据并将其作为游戏数据存储在游戏数据存储314中。类似地,在用户参与游戏306的比赛时,记录与用户的参赛表现有关的数据并将其作为游戏数据存储在游戏数据存储316中。与用户的参赛表现有关的数据指的是指示该用户在比赛中玩得如何的数据,并且可基于特定游戏而变化。与用户的参赛表现有关的数据足以允许用户对该比赛的参与能在稍后时间被回放(重放)。例如,如果比赛是竞速游戏中的路线,则用户参赛的表现可包括与用户的交通工具在该路线上的各位置处的速度有关的信息、用户的交通工具在该路线上的各位置处所指向的方向、用户的交通工具在该路线上的各位置处的定位、用户的交通工具所碰撞的任何障碍物,等等。
在一个或多个实施例中,记录与用户的参赛表现有关的数据,并且与用户的一次参赛表现有关的数据被维护在游戏数据存储314或316中。如果用户多次参赛,则该用户的被该游戏认为最佳(或另选地被用户认为最佳)的表现是所维护的表现。可以用不同的方式来确定哪一表现被认为是最佳的,如造成用户的该比赛的最短时间的表现、造成用户的该比赛的最高分数的表现,等等。或者,与任何数量的用户参赛表现有关的数据可被维护在游戏数据存储314或316中。
如上所述,对于玩游戏304或306的用户,该游戏中存在表示该用户的对象。用户可任选地具有表示该用户的多个对象,并且在参与游戏的特定比赛时可选择该多个对象中的一个或多个。这一对象可以是例如交通工具(例如,汽车、轮船、坦克、摩托车、太空飞船,等等)、角色(例如,人、外星人、怪物,等等)、球体或其他符号,等等。用户可以用各种方式来定制表示该用户的对象。对象的定制通常更改该对象的外观,但定制也可更改对手的能力或各个特征(例如,可以更改交通工具或角色的外观、可以更改交通工具或角色的武器或防御特性,等等)。例如,交通工具可被定制成具有特定涂装(例如,颜色、图案,等等),具有特定贴纸或写在该交通工具上的词语,包括特定组件(例如,镀铬门把手、双排气管、特定轮胎,等等),等等。作为另一示例,角色可被定制成具有特定衣着,具有特定脸部特征(例如,胡须、眼镜,等等),具有特定物品(例如,特定类型的枪或其他武器),等等。指示定制表示用户的对象的方式的数据作为游戏数据被存储在游戏数据存储314或316中。随后可检索这一数据,从而允许随后显示表示该用户的定制对象。
游戏304和306还支持因各种动作向用户奖励币(例如,游戏中的币)或积分。这一币或积分可以用不同的方式来使用,如获得用于表示该用户的对象的附加定制选项(例如,可被添加到交通工具的不同组件、不同武器)、获得附加表示该用户的对象(例如,不同交通工具),等等。
除币或积分之外,游戏304和306还可支持因玩该游戏而奖励给用户的经验点系统。可基于用户玩该游戏的时间量、用户玩该游戏的方式(例如,用户参与哪些比赛)、在该游戏中所行过的距离(例如,用户赛过了多少英里的赛道)等等,来奖励这些经验点。
游戏304和306还可支持用户可属于的各种群或俱乐部。用户可加入哪些群或俱乐部可以用不同的方式来确定。例如,可允许用户加入他或她希望加入的任何群或俱乐部,创建群或俱乐部的特定用户可以确定哪一些其他用户可以加入该群或俱乐部,已经是一个群或俱乐部的成员的用户可以投票来确定另一用户是否能加入该群或俱乐部,等等。用户是其一成员的群或俱乐部可被存储在游戏数据存储314或316中。
应当注意,异步游戏协调模块302或其他系统(例如,图1的游戏服务112或图1的在线游戏服务104的其他服务或在线游戏服务104能访问的其他服务)可维护各用户列表。这些列表可被维护在游戏数据存储314或316中或者其他数据存储中(例如,被实现为异步游戏协调模块302的一部分或能由异步游戏协调模块302访问的数据存储)。这些用户列表可包括例如针对每一特定用户的、该特定用户与其是朋友的其他用户的列表。该特定用户可以提供将另一用户标识为朋友的各种输入,并且在被添加到该特定用户的朋友列表之前,该另一用户可任选地确认他或她是该特定用户的朋友。该特定用户的朋友还可以用其他方式来标识,如来自(例如,能由图1的在线游戏服务104访问的)社交网络服务。这些列表还可包括例如针对每一特定用户的、该特定用户的最喜爱用户的列表。特定用户的最喜爱用户指的是该特定用户标识为最喜爱的另一用户(例如,该特定用户指示他或她喜欢与之对抗玩游戏或观看玩游戏的另一用户)。在被添加到该特定用户的最喜爱用户的列表之前,该另一用户可任选地确认他或她可以是该特定用户的最喜爱用户。
异步游戏协调模块302包括游戏数据共享模块322、对手选择模块324、以及通知模块326。一般而言,异步游戏协调模块302允许用户与另一用户异步地比赛。参考游戏304的用户与游戏306的一用户异步地比赛来讨论系统300。然而,应当注意,游戏306的用户可类似地与游戏304的用户异步地比赛,游戏304的用户可类似地与游戏304的另一用户异步地比赛,或游戏306的用户可类似地与游戏306的另一用户异步地比赛。
游戏数据共享模块322便于共享不同用户的游戏数据,从而允许一个用户与另一用户的先前参赛记录进行对抗。对手选择模块324便于允许用户选择另一用户来异步地比赛。通知模块326便于通知用户他或她何时被来自异步比赛的另一用户打败,并且便于允许被通知的用户再次参赛来对该挑战作出响应。
当用户希望与另一用户(也被称为对手)异步地比赛时,该用户提供请求选择对手的输入。异步游戏协调模块302维护针对游戏的每一比赛的、参与过该比赛的用户列表以及用户参与该比赛的分数。模块302还可维护与该用户相关联的各种附加信息,如用户参赛的日期和/或时间、表示该用户的对象在参赛时开始和/或结束的地点或位置,等等。这一用户列表还可包括(显式地或固有地)每一用户的该比赛的排名的指示符(例如,具有较高分数的用户比具有较低分数的用户具有更高的排名)。用户的分数可以采取各种形式,如用户完成比赛所花的特定时间、用户在参与该比赛时所累积的点数。响应于请求选择比赛对手的用户输入,对手选择模块324访问已参与过该比赛的用户的标识符和他们的比赛分数的列表。
在一个或多个实施例中,响应于请求选择比赛对手的用户输入,对手选择模块324自动地为该用户选择对手来进行异步对抗。对手选择模块324可以使用各种准则来自动选择对手。例如,具有比作出请求的用户下一更高分数(例如,下一更快时间)的另一用户可被自动选择为对手。作为另一示例,具有高于作出请求的用户阈值量的分数(比作出请求的用户快2秒、时间是作出请求的用户的时间的97%,等等)的另一用户被自动选择为对手。
在其他实施例中,响应于请求选择比赛对手的用户输入,对手选择模块324显示或以其他方式呈现参与过该比赛的用户的标识符的列表的至少一部分(并可任选地显示这些用户的比赛分数)。可以显示标识符的完整列表,或可以基于各种过滤准则来过滤标识符的列表,以便显示满足该过滤准则的用户的标识符。游戏304或306所支持的将用户编组的任何方式可被用作过滤准则。作出请求的用户可以输入请求以基于不同的过滤准则来过滤标识符的列表。例如,过滤准则可以是作为作出请求的用户的朋友(例如,由作出请求的用户向系统300标识为该用户的朋友、由另一服务(例如,社交网络服务)标识为朋友,等等)的用户、作为特定群(例如,特定汽车俱乐部、特定车迷俱乐部)的成员的用户,作出请求的用户将其标识为最喜爱用户的用户,具有前几名比赛分数的用户(例如,具有前10或前50分数的用户),具有比作出请求的用户至少高阈值量的比赛分数(例如,比作出请求的用户快2秒,时间是作出请求的用户的时间的97%,等等)的用户,具有接近作出请求的用户的分数的比赛分数的用户(例如,具有最接近作出请求的用户的高分和/或低分的10个用户,具有处于高于作出请求的用户的阈值量内的分数的用户),等等。作出请求的用户可以按不同的方式来输入请求以基于不同的过滤准则来过滤标识符的列表,如通过选择作为用户界面的一部分的按钮或过滤器准则的其他标识符,选择控制器上的多个按钮之一(其中每一按钮与不同的过滤准则相关联),选择控制器上的在不同的过滤准则之间循环的按钮,等等。
图4和5示出根据一个或多个实施例的允许用户选择异步地参与比赛进行对抗的对手的示例用户界面。图4示出示例对手选择用户界面(UI)402,其中为作出请求的用户自动选择了对手。具有下一更高分数的用户被标识为“用户G”,并且显示了该用户的分数(时间2:08:47,这指示2分钟8又47/100秒(或另选地是其他时间,如2小时8分47秒))。或者,可以在不显示该用户的分数的情况下显示该用户的标识符,和/或将该用户的标识符与关联于该用户的各种其他信息一起显示(例如,用户参与该比赛的日期和/或时间、表示该用户的对象在参与该比赛时开始和/或结束的地点或位置,等等)。用户可以提供各种用户输入来选择用户G,并开始与用户G异步地比赛。对手选择UI402还可任选地显示作出请求的用户(例如,被标识为“用户A”)的标识符和/或该作出请求的用户的分数。
改变对手按钮404也作为对手选择UI402的一部分被显示。作出请求的用户可以选择改变对手按钮404以选择不同的对手(例如,基于上述不同的过滤准则)。虽然被示为按钮404,但应当注意,请求选择不同对手的用户输入可以用各种不同的方式来提供(例如,按下控制器上的特定按钮、提供特定手势,等等)。响应于选择了改变对手按钮404,显示图5的对手选择UI502。
对手选择UI502列出各用户和他们相关联的该比赛的分数。或者,可以在不显示这些用户的分数的情况下显示这些用户的标识符,和/或将这些用户的标识符与关联于这些用户的各种其他信息一起显示(例如,对于每一用户的该用户参与该比赛的日期和/或时间、表示该用户的对象在参与该比赛时开始和/或结束的地点或位置,等等)。用户可以提供各种用户输入来选择所标识的用户之一,并开始与所标识的用户异步地比赛。对手选择UI502还可任选地显示作出请求的用户(例如,被标识为“用户A”)的标识符和/或该作出请求的用户的分数。对手选择UI502中的用户满足一个或多个过滤准则,在该所示示例中,该准则是朋友过滤准则。在一个或多个实施例中,图3的对手选择模块324默认显示满足朋友过滤准则的用户,但其他对手选择模块324可另选地默认显示满足其他过滤准则的用户。
对手选择UI502还显示朋友按钮504、前10按钮506、俱乐部1按钮508、接近我按钮510、最喜爱按钮512、以及自动按钮514。朋友按钮504对应于朋友过滤准则,并且响应于用户选择了按钮504,对手选择UI502显示被标识为作出请求的用户的朋友的用户。用交叉影线示出了朋友按钮504,以指示当前选择了朋友过滤准则。
前10按钮506对应于标识具有该比赛的前10分数的用户的过滤准则,并且响应于用户选择了按钮510,对手选择UI502显示具有该比赛的前10分数的用户。俱乐部1按钮508对应于标识被标识为“俱乐部1”的俱乐部或群中的用户的过滤准则,并且响应于用户选择了按钮508,对手选择UI502显示被标识为“俱乐部1”的俱乐部或群中的用户。接近我按钮510对应于标识具有与作出请求的用户的分数接近的比赛分数的用户的过滤准则,并且响应于用户选择了按钮510,对手选择UI502显示具有接近作出请求的用户的分数的比赛分数的用户。最喜爱按钮512对应于标识作出请求的用户最喜爱的用户的过滤准则,并且响应于用户选择了按钮512,对手选择UI502显示被标识为作出请求的用户的最喜爱的用户。
自动按钮514对应于自动对手选择。响应于用户选择了按钮514,对手选择UI502显示图4的对手选择器UI402。
虽然被示为用户界面中的可由用户选择的分开的按钮,但过滤器准则可被用各种其他方式来选择。例如,响应于用户重复选择控制器上的按钮,UI502可以基于不同的过滤准则来循环显示用户(例如,响应于对按钮的第一次选择来显示具有该比赛的前10分数的用户,响应于对按钮的下一次选择来显示被标识为“俱乐部1”的俱乐部或群中的用户,等等)。作为另一示例,可以使用各种手势来选择特定过滤准则,循环通过不同的过滤准则,等等。
参考图3,游戏数据共享模块322便于共享不同用户的游戏数据,从而允许一个用户与另一用户的先前参赛记录进行对抗比赛。响应于游戏304的用户选择了对手,对手选择模块324向游戏数据共享模块322传递该对手的指示。游戏数据共享模块322进而(例如,从游戏数据存储316中)获得该对手的该比赛的游戏数据,并将该对手的该比赛的游戏数据提供给游戏304。该对手的游戏数据包括该对手的该比赛的表现以及指示定制表示该对手的对象的方式的数据。
游戏304继续进行以允许该用户参与该比赛,从而控制他或她在该比赛中的对象,如同他或她本身在玩一样(或与另一用户实时对抗)。游戏304在该用户参与该比赛时,还基于作为所获得的该对手的游戏数据的一部分的表现数据来回放表示对手的对象。因而,在用户参与该比赛时,显示表示该对手的对象,从而向用户提供该用户好像正在与该对手实时对抗的体验,即使对手的表现的记录是被回放的(并且因而是异步地参与该比赛的)。应当注意,表示该对手的对象的行为是基于作为所获得的该对手的游戏数据的一部分的表现数据的,而非通用的或其他人工智能(AI)生成的行为。
另外,由游戏304回放的用于该比赛的表示该对手的对象是由该对手定制的对象。因而,并非显示表示该对手的通用对象,该对手所定制的对象被显示为表示该对手。因而,向用户提供了与对手专用对象而非某一公共或通用对象进行对抗的体验。
例如,该比赛可以是赛车游戏的特定赛道,并且用户通过在该特定赛道上赛他或她的车来参与该比赛。用户可以选择对手并使得该对手所定制的车显示为他或她在该赛道上竞速对抗的另一辆车。对手的定制的车在该赛道上的表现是该对手先前在该赛道上赛车时该车在该赛道上的表现。
此外,除了表示该对手的对象,还可显示由游戏控制的或基于AI生成的行为的一个或多个附加对象。继续先前示例,除了对手的定制车之外,还可显示一个或多个附加车辆,其中用户与这些一个或多个附加车辆以及该对手的定制车进行赛车。
在一个或多个实施例中,表示该对手的对象基于表示该对手的对象与表示该用户的对象之间在游戏中的邻近度而改变外观。在这两个对象彼此更近时,表示该对手的对象变得更透明,并且在这两个对象彼此更远时,表示该对手的对象变得较不透明(更不透明)。
可以使用各种不同的准则或算法来确定表示该对手的对象的透明度。在一个或多个实施例中,如果在游戏中表示该对手的对象距表示该用户的对象至少有阈值距离(例如,在该游戏中的赛道上相距50英尺,在该游戏中表示该用户的对象的某一维度的长度或尺寸,等等),则表示该对手的对象是不透明的。如果在该游戏中,表示该对手的对象距表示该用户的对象小于阈值距离,则表示该对手的对象是透明的。可以线性地(例如,在该游戏中,表示该对手的对象距表示该用户的对象的50英尺内,每靠近1英尺则透明度增加2%)或另选地使用其他公式来确定透明度的量。因而,随着表示该对手的对象变得与表示该用户的对象更近,表示该对手的对象变得更透明,并且在表示该对手的对象移得距表示该用户的对象更远时,表示该对手的对象变得较不透明(直至满足阈值距离,此时表示该对手的对象变得不透明)。或者,可以使用单个透明度设置(例如,80%透明),其中在该游戏中在表示该对手的对象距表示该用户的对象至少阈值距离时该对象是不透明的,并且在该游戏中在表示该对手的对象距表示该用户的对象不是至少阈值距离时该对象是透明的(不论该单个透明度设置是什么)。
例如,该比赛可以是赛车游戏的特定赛道,并且用户通过在该特定赛道上赛车来参与该比赛。尽管异步地玩该游戏来与对手对抗,但在对手的车与该用户的车变得更近时,该对手的车变得更透明,从而帮助避免该用户混淆他或她的车处于何处。然而,随着该对手的车距该用户的车变得更远,该对手的车变得较不透明,直至该对手的车变得不透明的点处为止。因而,在该对手的车不透明时,对用户而言,显得是他或她正与该对手实时对抗。
或者,可以使用其他准则或算法来确定表示该对手的对象的透明度。例如,可以使用两个阈值距离,如近阈值距离(例如,在该游戏中的赛道上相距20英尺)和远阈值距离(例如,在该游戏中的赛道上相距50英尺)。如果在该游戏中,表示该对手的对象距表示该用户的对象至少是远阈值距离,则表示该对手的对象是不透明的。如果在该游戏中,表示该对手的对象距表示该用户的对象小于近阈值距离,则表示该对手的对象处于特定透明度水平(例如,90%透明)。并且透明度水平在远和近阈值距离之间变化(例如,在距离从远距离阈值朝近距离阈值改变时,线性地或根据某一其他计算来增加)。
应当注意,因为在该用户参与该比赛时,游戏304基于作为所获得的该对手的游戏数据的一部分的表现数据来回放表示该对手的对象,所以表示该用户的对象和表示该对手的对象有时会重叠。例如,表示该用户的车可以与表示该对手的车处于赛道上的同一位置,或表示该用户的车可以与表示该对手的车近得足以使这两辆车重叠(例如,一辆车的前端与另一辆车的后端处于赛道上的同一位置)。然而,在对手的车与该用户的车变得更近时,如上所述,该对手的车变得更透明,从而帮助避免该用户混淆他或她的车处于何处。
还应当注意,用户可以异步地参与比赛来同时对抗多个对手。用户可以选择多个对手,类似于上述对于对手的选择。获得该多个对手中的每一个的游戏数据,并且在该用户参与该比赛时,对于该多个对手中的每一个,基于作为所获得的该对手的游戏数据的一部分的表现数据来回放表示该对手的对象。因而,例如,该比赛可以是赛车游戏的特定赛道,并且用户通过在该特定赛道上赛他或她的车来参与该比赛。用户可以选择多个对手并使得这些对手所定制的车显示为他或她在该赛道上竞速对抗的其他车。对于多个对手中的每一个,该对手的定制车在该赛道上的表现是该对手先前在该赛道上赛车时该车在该赛道上的表现。
在一个或多个实施例中,在异步地参与该比赛来与该对手对抗时,可以向用户显示标识对手的附加信息。这一附加信息可以连同该对手的游戏数据一起提供给游戏304。例如,对手的标识符(例如,游戏标签或其他标识符)可被显示给用户。这一标识符可以显示在表示该对手的对象上或附近(例如在该对手的交通工具上或上方)或另选的其他位置。
图6和7示出了根据一个或多个实施例的表示对手的对象的透明度的变化的示例。图6示出了包括表示该游戏的用户的车602和表示对手的车604的竞速游戏的示例游戏UI600。在游戏UI600中,车602和604之间的距离是至少阈值量,所以车604被显示为不透明的。然而,图7示出了该竞速游戏的包括车602和604的示例游戏UI700,其中车602和604之间的距离不是至少阈值量。因而,车604被显示为透明的。
返回图3,在一个或多个实施例中,用户基于他或她在参与该比赛时的表现和/或打败该对手的难度的评级来接收补助或奖励。该补助或奖励是使用该游戏支持的币或其他积分来提供的。用户在参赛时的表现可以用不同的方式来测量,如简单地基于该用户是否打败了该用户异步地参与该比赛来进行对抗的对手(例如,以比对手更短的时间量完成比赛或以其他方式获得了比对手更高的分数)。还可用其他方式来测量用户的表现,如基于该用户将对手打败得程度有多少(例如,该用户与对手在该比赛中的时间差或分数差),用户差多少就能打败对手(例如,用户的时间或分数距对手在该比赛中的时间或分数有多近),基于在该游戏的表现期间的特定动作(例如,所躲过的障碍物),等等。可以用不同的方式来测量打败对手的难度的评级,如对手的排名、用户与对手之间的排名差,等等。
补助或奖励的量可以变化,至少部分地基于用户在参赛时的表现和/或打败对手的难度的评级。例如,如果对手排名是1则可以向用户给予50000积分补助或奖励,但如果对手排名是100则只给予1000积分奖励。作为另一示例,可以向用户给予等于10倍于排名差的补助或奖励(例如,如果用户排名是900且对手排名是850,则补助或奖励将是500积分(900-850=50,乘以10得到了500积分))。作为又一示例,如果用户没有打败对手,但在某一时间量内或以处于该时间量的阈值量内的分数或以对手完成该比赛的分数完成了比赛,则向用户给予50积分的补助或奖励,。
在一个或多个实施例中,不管用户是否因参赛而接收到补助或奖励,都仍然因参与该比赛而向该用户奖励经验点。如上所述,可以用不同的方式来奖励经验点,如基于用户参与该比赛的时间量、参与该比赛时所行过的距离,等等。
另外,异步游戏协调模块302包括通知模块326。当用户在比赛中打败对手时,通知模块326向该对手发送他或她已被打败的通知。通知模块326可以用各种方式确定对手何时被打败,如从游戏304或306接收该用户打败对手的指示,从图1的游戏服务112的一模块接收该用户打败对手的指示,等等。可以用各种方式来发送由通知模块326发送的通知,如使用由游戏服务112提供的消息收发系统、使用由游戏304或306提供的消息收发系统、使用由另一服务(例如,社交网络服务)提供的消息收发系统,等等。可以用各种方式来获得如何使用特定消息收发系统来通知特定用户的指示,如由用户提供并由图1的账户访问服务110来维护。
通知模块326所发送的通知包括用户可选择的到该对手被打败的比赛的链接(例如,超链接),并且该用户(对手)可以提供各种输入来选择该链接。该链接标识图1的游戏服务112(例如,异步游戏协调模块120的)的位置或功能,并且该对手被打败的比赛的标识符被嵌入在该链接中或以其他方式与该链接到的位置或功能相关联。响应于用户选择了该链接,游戏服务112通知游戏304或306来跳转到该对手被打败的比赛,从而开始运行游戏304或306(或通知图1的游戏服务112开始运行游戏304或306)(如果游戏还没有运行的话)。该对手随后可参与该比赛,从而尝试提高他或她的分数(例如获得更高分数)。该对手可以单独地参与该比赛,或另选地实时地或异步地对抗一个或多个其他用户(例如,该对手可选择另一用户作为异步地参与该比赛的对手,要作为对手异步地参与该比赛的另一用户(例如,打败该对手从而造成通知模块326发送通知的用户)可被自动选择,等等)。
除用户可选择的链接之外,该通知可任选地包括各种附加信息。例如,该通知可包括打败该对手的用户的标识符、该用户打败该对手的比赛的标识符、打败该对手的用户在比赛中所获得的分数的指示、该对手在该比赛中所获得的分数的指示,等等。
例如,该比赛可以是赛车游戏的特定赛道,并且用户通过在该特定赛道上赛他或她的车来参与该比赛。响应于用户打败了对手(例如,以比对手更短的时间量完成了赛道),向该对手发送通知。对手在他或她的游戏设备处接收他或她在该比赛中已被打败的通知。该通知包括该对手可选择的按钮或其他链接,响应于此,他或她的游戏设备开始运行该赛车游戏并跳转到该对手被打败的比赛。该对手随后可以开始自己参与比赛,尝试在更短的时间量内跑完赛道。因而,该通知可被显示给该对手,并且通过简单地选择通知中的按钮或链接,该对手可以开始参与他或她被打败的比赛。
虽然以上讨论指的是向该对手发送该对手被打败的通知,但可以在其他时间发送类似通知。例如,如果对手差点被打败(例如,用户在该比赛中处于打败该对手的阈值时间量、分数等之内),则可以向该对手发送通知,该通知向该对手通知在该比赛中他或她差点被打败并且包括到该对手差点被打败的比赛的用户可选择的链接(例如,超链接)。
图8是示出根据一个或多个实施例的实现与对手显示进行异步游戏的示例过程的流程图800。过程800由诸如图3的系统300等系统来执行,并可以用软件、固件、硬件、或其组合来实现。过程800被示为一组动作,并且不仅限于所示出的用于执行各种动作的操作的顺序。过程800是用于实现与对手显示进行异步游戏的示例过程;参考不同的附图,在本文中包括了实现与对手显示进行异步游戏的附加讨论。
在过程800中,接收用于选择异步地参与比赛来进行对抗的对手的用户请求(动作802)。如上所述,该比赛可以是各种不同类型的游戏的比赛。
响应于该用户请求,显示对手选择器用户界面(动作804)。对手选择器用户界面包括可被选择的一个或多个用户的标识,并且如上所述可任选地包括可被选择的一个或多个过滤准则。对手选择器用户界面可以显示被自动选择为对手的用户或如上所述另选地显示满足特定过滤准则的一个或多个用户。
接收用户对该一个或多个用户之一的选择(动作806)。该用户选择是对上述对手选择器用户界面中标识的各用户之一的选择。
将所选用户用作异步地参与该比赛来进行对抗的对手(动作808)。在动作802从中接收到用户请求的用户可以异步地参与比赛来与该对手进行对抗,其中如上所述,在各用户参赛时,回放该对手的先前所记录的表现。
图9是示出根据一个或多个实施例的实现与对手显示进行异步游戏的示例过程的流程图900。过程900由诸如图3的系统300等系统来执行,并可以用软件、固件、硬件、或其组合来实现。过程900被示为一组动作,并且不仅限于所示出的用于执行各种动作的操作的顺序。过程900是用于实现与对手显示进行异步游戏的示例过程;参考不同的附图,在本文中包括了实现与对手显示进行异步游戏的附加讨论。
在过程900中,接收用于异步地参与比赛来与对手进行对抗的用户请求(动作902)。如上所述,这一用户请求可以是例如用户对于对手的选择。
获得该对手的该比赛的游戏数据(动作904)。如上所述,该游戏数据可包括该对手在该比赛中的表现和指示该对手定制该对手的对象的方式的数据两者。
在用户参与比赛时,基于所获得的游戏数据来回放表示该对手的对象(动作906)。如上所述,表示该对手的对象被回放为是由该对手定制的,并且是基于该对手在该比赛中的表现来定制的。
图10是示出根据一个或多个实施例的用于使用通知的示例过程的流程图1000。过程1000由诸如图3的系统300等系统来执行,并可以用软件、固件、硬件、或其组合来实现。过程1000被示为一组动作,并且不仅限于所示出的用于执行各种动作的操作的顺序。过程1000是用于使用通知的示例过程;参考不同附图,本文包括了使用通知的附加讨论。
在过程1000中,作出在比赛中对手已被打败的判定(动作1002)。如上所述,该判定可以用各种方式来作出。
响应于在动作1002作出判定,向对手发送包括到该比赛的链接的通知(动作1004)。如上所述,可以使用各种消息收发系统来发送该通知。
接收该对手已经选择了该链接的指示(动作1006)。可以例如由游戏设备、异步游戏协调模块(或游戏服务的其他模块)等等从该对手使用的游戏设备接收该指示。
跳转到该对手被打败的比赛以使得该对手可以参与该比赛(动作1008)。如上所述,跳转到该比赛包括运行游戏(如果尚未运行),并且该游戏跳转到该对手被打败的比赛。
本文讨论了由各模块执行的诸如传递、接收、发送、记录、存储、生成、获得等各个动作。本文讨论的执行某一动作的特定模块包括该特定模块本身执行该动作或另选地该特定模块调用或与其他方式访问执行该动作的另一组件或模块(或与该特定模块联合执行该动作)。因而,执行某一动作的特定模块包括该特定模块本身执行该动作或该特定模块调用或以其他方式访问的另一模块执行该动作。
图11示出根据一个或多个实施例的可被配置成实现与对手显示进行异步游戏的示例计算设备1100。计算设备1100可以例如是图1的游戏设备102,可实现图1的在线游戏服务104的至少一部分,可以是图2的游戏设备202,或可实现图3的系统300的至少一部分。
计算设备1100包括一个或多个处理器或处理单元1102、可包括一个或多个存储器和/或存储组件1106的一个或多个计算机可读介质1104、一个或多个输入/输出(I/O)设备1108、以及允许各组件和设备彼此通信的总线1110。计算机可读介质1104和/或一个或多个I/O设备1108可以作为计算设备1100的一部分被包括,或者可另选地可以耦合到计算设备1100。处理器1102、计算机可读介质1104、设备1108中的一个或多个、和/或总线1110可任选地被实现为单个组件或芯片(例如,片上系统)。总线1110表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种不同的总线体系结构中的处理器或局部总线。总线1110可包括有线和/或无线总线。
存储器/存储组件1106表示一个或多个计算机存储介质。组件1106可包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等等)。组件1106可包括固定介质(例如,RAM、ROM、固定硬盘驱动器等等)以及可移动介质(例如,闪存驱动器、可移动硬盘驱动器、光盘等等)。
此处所讨论的技术可以以软件实现,指令由一个或多个处理单元1102。可以理解,不同的指令可以存储在计算设备1100的不同的组件中,诸如存储在处理单元1102中,存储在处理单元1102的各种缓存存储器中,存储在设备1100的其他高速缓存存储器(未示出)中,存储在其他计算机可读介质上等等。另外,可以理解,指令存储在计算设备1100中的位置可以随着时间而变化。
一个或多个输入/输出设备1108允许用户向计算设备1100输入命令和信息,以及允许信息被呈现给用户和/或其他组件或设备。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、话筒、扫描仪等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡等等。
此处可以在软件或程序模块的一般上下文中描述各种技术。一般而言,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、应用、对象、组件、数据结构等等。这些模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可以是可以被计算设备访问的任何可用介质。作为示例,而非限制,计算机可读介质可以包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质。计算机存储介质指的是用于信息的存储的介质,与仅仅是信号传输、载波、或信号本身形成对比。因而,计算机存储介质指的是非信号承载介质,并且不是通信介质。
“通信介质”通常用诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。通信介质还包括任何信息传送介质。术语“已调制数据信号”是指其一个或多个特征以在信号中对信息进行编码的方式来设置或改变的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。上面各项中的任何组合也包括在计算机可读介质的范围内。
一般而言,此处所描述的任何功能或技术都可使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或这些实现的组合来实现。如此处所使用的术语“模块”和“组件”一般代表软件、固件、硬件或其组合。在软件实现的情况下,模块或组件表示当在处理器(例如,一个或多个CPU)上执行时执行指定任务的程序代码。程序代码可以存储在一个或多个计算机可读的存储器设备中,可以参考图11发现关于其进一步的描述。在硬件实现的情况下,模块或组件表示执行指定任务的功能块或其他硬件。例如,在硬件实现中,模块或组件可以是专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD),等等。本文描述的与对手显示进行异步游戏的技术的各个特征是平台无关的,从而意味着该技术可在具有各种处理器的各种商用计算平台上实现。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。