CN112075054A - 使用游戏引擎的聊天应用 - Google Patents
使用游戏引擎的聊天应用 Download PDFInfo
- Publication number
- CN112075054A CN112075054A CN201980027400.2A CN201980027400A CN112075054A CN 112075054 A CN112075054 A CN 112075054A CN 201980027400 A CN201980027400 A CN 201980027400A CN 112075054 A CN112075054 A CN 112075054A
- Authority
- CN
- China
- Prior art keywords
- client device
- game
- messaging
- interface
- instance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/87—Communicating with other players during game play, e.g. by e-mail or chat
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/795—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/57—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
- A63F2300/572—Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Optics & Photonics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
系统和方法包括:通过第一客户端装置上执行的游戏引擎所托管的消息传递应用的第一实例来提供用于与第二客户端装置进行消息传递的用户界面;接收在第一客户端装置的用户界面中渲染第一三维(3D)对象的第一指令,其中第一3D对象通过第二客户端装置的消息传递应用的第二实例所发起;由游戏引擎基于第一指令来渲染一个或多个第一帧,以生成第一3D对象供第一客户端装置的用户界面中的呈现;以及引起第一客户端装置的消息传递应用的第一实例的用户界面中的第一3D对象的一个或多个第一渲染帧的呈现。
Description
技术领域
本公开涉及消息传递应用领域,以及特别涉及游戏平台的游戏引擎所托管的消息传递应用。
背景技术
协作平台允许用户连接到因特网并且经由因特网相互共享信息。协作平台(例如游戏平台)的用户可参与多用户游戏环境、设计定制游戏环境、装饰化身或者与其他用户交换虚拟物品等。
发明内容
按照第一实施例,第一装置包括:
存储器;以及
处理装置,耦合到存储器以:
通过第一客户端装置上执行的游戏引擎所托管的消息传递应用的第一实例来提供用于与第二客户端装置进行消息传递的用户界面;
接收渲染第一客户端装置的用户界面中的第一三维(3D)对象的第一指令,其中第一3D对象通过第二客户端装置的消息传递应用的第二实例来发起;
由游戏引擎基于所述第一指令来渲染一个或多个第一帧,以生成第一3D对象供第一客户端装置的用户界面中的呈现;以及
引起第一客户端装置的消息传递应用的第一实例的用户界面中的第一3D对象的一个或多个第一渲染帧的呈现。
按照第二实施例,一种非暂时计算机可读存储介质包含其上存储的指令,所述指令响应由第一客户端装置的处理装置的执行而使该处理装置执行操作或者控制操作的执行,所述操作包括:
通过第一客户端装置上执行的游戏引擎所托管的消息传递应用的第一实例来提供用于与第二客户端装置进行消息传递的用户界面;
接收渲染第一客户端装置的用户界面中的第一三维(3D)对象的第一指令,其中第一3D对象通过第二客户端装置的消息传递应用的第二实例来发起;
由游戏引擎基于所述第一指令来渲染一个或多个第一帧,以生成第一3D对象供第一客户端装置的用户界面中的呈现;以及
引起第一客户端装置的消息传递应用的第一实例的用户界面中的第一3D对象的一个或多个第一渲染帧的呈现。
按照第三实施例,一种方法包括:
通过第一客户端装置上执行的游戏引擎所托管的消息传递应用的第一实例来提供用于与第二客户端装置进行消息传递的用户界面;
接收渲染第一客户端装置的用户界面中的第一三维(3D)对象的第一指令,其中第一3D对象通过第二客户端装置的消息传递应用的第二实例来发起;
由游戏引擎基于所述第一指令来渲染一个或多个第一帧,以生成第一3D对象供第一客户端装置的用户界面中的呈现;以及
引起第一客户端装置的消息传递应用的第一实例的用户界面中的第一3D对象的一个或多个第一渲染帧的呈现。
附图说明
通过下面给出的详细描述以及通过本公开的各个实现的附图,将会更全面地了解本公开的各个实现。
图1示出按照本公开的实现的示例系统架构。
图2是按照一些实现、使用游戏引擎所托管的消息传递应用的操作的简图。
图3是示出按照本公开的实现、使用游戏引擎所托管的消息传递应用的方法的流程图。
图4A示出按照本公开的实现、使用游戏引擎所托管的消息传递应用的用户界面。
图4B示出按照本公开的实现、使用游戏引擎所托管的消息传递应用的游戏界面。
图5是示出按照本公开的实现的示范计算机系统的框图。
具体实施方式
协作平台(例如游戏平台)提供多种方式供用户彼此交互。例如,游戏平台的用户可相互发送电子消息,朝共同目标共同努力,创建和编辑化身,相互共享各种游戏物品,等等。协作平台的用户可以玩带有角色的游戏(例如玩家用户)或者经由协作平台采用开发工具来创建游戏(例如创建用户)。在协作平台中,用户可相互发送电子消息。例如,在游戏平台中,第一玩家用户可向第一玩家用户和第二玩家用户均进行的游戏内的第二玩家用户发送电子消息。在一些平台中,电子消息的发送被限制到低性能二维内容,例如文本、图像(例如图形交互格式(GIF)图像)等。低性能2D内容可由高级编程代码(例如JavaScript)来提供。在一些平台中,电子消息的发送当连接到游戏服务器时仅在游戏中是可用的。在一些平台中,电子消息的发送被限制到游戏中消息传递和游戏外消息传递,但是从游戏内发送的电子消息不是游戏外部可访问的,并且游戏外部发送的电子消息不是游戏内可访问的。响应电子消息被限制到低性能2D内容并且响应游戏外部没有对经由游戏中消息传递所发送的电子消息的访问权,用户可能对平台失望,在平台上花费更少时间,或者一起离开平台。
在一些平台中,电子消息的发送经由网络应用。通过浏览器(例如网络浏览器)向服务器发送统一资源定位符(URL)并且从服务器接收高级编程代码以执行网络应用,来启动网络应用。网络应用的部分(例如用户界面)可在客户端装置上运行,以及网络应用的部分可在服务器上运行。经由网络应用所发送的电子消息可包括通过网络应用的高级编程代码(例如具有低性能2D内容的能力)所支持的电子消息。响应电子消息被网络应用的高级编程代码所支持,用户可能对经由网络应用的消息传递失望,花费更少时间使用经由网络应用的消息传递,或者完全停止使用网络应用中的消息传递。
在一些平台中,电子消息的发送经由本机应用。在一些平台中,电子消息的发送经由网络应用。本机应用被下载到客户端装置上,无需使用浏览器而在客户端装置上直接运行,并且可无需网络连通性而运行。本机应用可完整地被下载到客户端装置上。对本机应用进行更新可包括提示用户下载本机应用的新版本。因为本机应用完整地被下载到客户端上,所以它比网络应用占据客户端装置上的更多存储器或存储装置。不同本机应用可需要对每个操作系统和每种类型的客户端装置来创建。经由本机应用所发送的电子消息可通过本机应用的编程代码来支持。响应对每个平台或每种类型的客户端装置要求不同本机应用并且对每种类型的本机应用需要不同更新,本机应用以及对本机应用的更新可能不可用于全部平台和全部类型的客户端装置。响应本机应用占据客户端装置上的更多存储器或存储装置、本机应用和更新不可用于全部平台或客户端装置以及电子消息被本机应用的编程代码所支持,用户可对能本机应用失望,花费更少时间使用本机应用,停止使用本机应用,或者从客户端装置删除本机应用。
通过提供客户端装置上执行的游戏引擎所托管的消息传递应用,本公开的方面解决上述及其他难题。通过游戏引擎所托管的消息传递应用所发送的电子消息通过游戏引擎功能性来支持。游戏引擎功能性可超出网络应用的高级编程代码和本机应用的编程代码的功能性。例如,游戏引擎功能性所支持的电子消息可包括三维(3D)对象(例如3D动画、3D游戏、物理复制、3D环境、3D游戏对象等)的呈现。由于消息传递应用由游戏引擎来托管,所以消息传递应用可以不需要完整地被下载以接收更新。由于消息传递应用由游戏引擎来托管,所以对不同操作系统可以不需要消息传递应用的不同版本。由于消息传递应用和游戏均由游戏引擎来托管,所以与游戏引擎执行游戏并发地经由消息传递应用所发送和接收的消息可以是与游戏引擎没有执行游戏以及与游戏引擎执行游戏并发地可访问的。例如,用户可正进行游戏并且经由用户界面与好友聊天。当用户退出游戏时,用户与好友之间的消息传递可使用同一用户界面在另一个游戏、游戏平台的休息室等中继续进行。另外,由游戏引擎所托管的消息传递应用可提供游戏界面内的消息传递。例如,游戏界面的特定区域可显示游戏和消息。在另一个示例中,游戏界面的特定区域可以是消息气泡,所述消息气泡与游戏的角色关联,并且显示文本以及3D对象(例如3D动画、3D游戏、物理复制、3D环境、3D游戏对象、3D游戏邀请等)。
在一些实现中,消息传递应用的第一实例由第一客户端装置上执行的游戏引擎来托管,而消息传递应用的第二实例由第二客户端装置上执行的游戏引擎来托管。消息传递应用的第一实例可提供第一用户界面以用于与其他客户端装置(例如与第二客户端装置)进行消息传递,而消息传递应用的第二实例可提供第二用户界面,以用于与其他客户端装置(例如与第一客户端装置)进行消息传递。第一客户端装置可接收在第一用户界面中渲染3D对象(例如3D动画)的指令(例如用于呈现的命令、渲染命令、图形资料库命令等)。3D对象可通过第二客户端装置的消息传递应用的第二实例来发起(例如经由通过第二用户界面的用户输入)。第一客户端装置上执行的游戏引擎可基于指令来渲染一个或多个帧,以生成3D对象。第一客户端装置可引起消息传递应用的第一实例的用户界面中的3D对象的一个或多个渲染帧的呈现。第一客户端装置和第二客户端装置可来回发送电子消息,所述电子消息使3D对象被游戏引擎所渲染并且使消息经由彼此的用户界面来显示。由游戏引擎所托管的消息传递应用的实例可以是游戏中和游戏外可访问的。经由游戏引擎所托管的消息传递应用的实例所发送和/或接收的3D对象和消息可以是游戏中和游戏外均可访问的。
相应地,本公开的方面经由游戏引擎所托管的消息传递应用来提供3D对象。特别是,以上所述解决消息传递应用的功能性难题。至少因为游戏引擎使用比网络应用所使用的编程代码(例如JavaScript)和本机应用所使用的编程代码更有效的编程代码进行操作,所以经由游戏引擎进行渲染至少改进生成电子消息的技术过程。至少因为游戏引擎可提供比网络应用所提供的内容(例如低性能2D内容)和本机应用所提供的内容更高性能的内容(例如,3D对象,例如3D动画、3D游戏、物理复制、3D环境、3D游戏对象等),所以经由游戏引擎进行渲染改进生成电子消息的技术过程。例如,第二用户可经由第二客户端装置来选择要经由用户界面显示的3D对象,该用户界面经由与第一用户关联的第一客户端装置所显示。第一用户可选择旋转3D对象或者从不同角度查看3D对象,以及第一客户端装置上执行的游戏引擎124可以以不同角度来渲染3D对象的一个或多个帧。(例如由游戏引擎所托管的)消息传递应用的部分可在客户端装置上运行,以及部分可在协作平台上运行,这通过不要求提示用户下载消息传递应用的新版本以更新消息传递应用(例如,可对协作平台上运行的消息传递应用的部分进行更新)来改进计算机或计算机网络的操作。至少因为消息传递应用可比本机应用占据客户端装置上更少的存储器或存储装置,所以在客户端装置上运行的消息传递应用的部分以及在协作平台上运行的部分改进计算机或计算机网络的操作。经由游戏引擎所托管的消息传递应用来提供电子消息降低或消除对每个操作系统和客户端装置的类型具有不同消息传递应用。经由游戏引擎所托管的消息传递应用来提供3D对象增加协作平台的效率。通过经由游戏引擎所托管的消息传递应用来提供3D对象,总网络带宽使用降低,并且引起计算(处理)资源的更有效使用以及改进的用户体验。
可注意,为了便于说明而不是限制而提供本文中描述为游戏平台的协作平台。协作平台可以是众多平台的一个或多个,例如社交网络平台、购物平台、消息传递平台、创作平台等。还可注意,使用游戏平台和游戏的示例示出本公开的方面。可注意,本公开的方面一般可适用于消息传递应用和3D对象。
图1示出按照本公开的一个实现的示例系统架构100。系统架构100(本文中又称作“系统”)包括客户端装置110A和110B(本文中一般称作“(一个或多个)客户端装置110”)、网络105、会话网络108、数据存储单元106、协作平台120和消息传递服务器130。
在一个实现中,网络105可包括公共网络(例如因特网)、专用网络(例如局域网(LAN)或广域网(WAN))、有线网络(例如以太网网络)、无线网络(例如802.11网络、网络或无线LAN(WLAN))、蜂窝网络(例如长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机和/或其组合。
在一些实现中,会话网络108可以是计算网络,该计算网络提供客户端装置110之间的一个或多个通信信道。在一个示例中,会话网络108可以是对等网络,该对等网络不依靠预先存在的网络基础设施(例如接入点、交换机、路由器),以及客户端装置110可替代连网基础设施在客户端装置之间路由通信。会话网络108可以是无线网络,该无线网络是自行配置的,以及使客户端装置110能够促成会话网络108,并且与会话网络108(例如自组无线网络)动态连接和断开。在另一个示例中,会话网络108可以是计算网络,该计算网络包括连网基础设施,所述连网基础设施使客户端装置能够与其他客户端装置进行通信。在后一示例中,会话网络108可具有或者可以没有对公共网络(例如因特网)的访问权。例如,车辆(例如公共汽车、列车)或位置(例如教室、图书馆、咖啡馆等)可提供接入点或者可用作接入点的客户端装置以使客户端装置能够相互通信而无需提供因特网访问。备选地,会话网络108可提供对例如网络105(例如因特网)等的更大网络的访问。在一个实现中,会话网络108可基于任何无线或有线通信技术,并且可将第一客户端装置直接或间接(例如涉及中间客户端装置)连接到第二客户端装置。无线通信技术可包括红外、超声或其他技术。有线通信可包括通用串行总线(USB)、以太网、RS232或其他有线连接。会话网络108可以是两个装置之间的单独连接,或者可包括多个连接。
在一个实现中,数据存储单元106可以是存储器(例如随机存取存储器)、高速缓存、驱动器(例如硬盘驱动器)、闪速(flash)驱动器、数据库系统或者能够存储数据的另一种类型的组件或装置。数据存储单元106还可包括多个存储组件(例如多个驱动器或多个数据库),所述多个存储组件还可跨越多个计算装置(例如多个服务器计算机)。在一些实现中,数据存储单元106可包括消息传递高速缓存107。
在实现中,消息传递服务器130可以是一个或多个计算装置(例如机架安装服务器、服务器计算机等)。在实现中,消息传递服务器130可包含在协作平台120中、作为单独系统或者作为另一个系统或平台的组成部分。消息传递服务器130可包括消息传递模块128和消息传递数据库129。
在一些实现中,协作平台120可以是一个或多个计算装置(例如机架安装服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储单元(例如硬盘、存储器、数据库)、网络、软件组件和/或可用来为用户提供对协作平台120的访问的硬件组件。协作平台120还可包括可用来为用户提供对协作平台120所提供的内容的访问的网站(例如网页)或应用后端软件。例如,用户可使用客户端装置110上的协作应用114来访问协作平台120。可注意,协作应用114A和114B一般可称作(一个或多个)协作应用114。在一些实现中,协作应用114可以是同一应用的两个实例。
在实现中,协作平台120可以是提供用户之间的连接的一种类型的社交网络。在本公开的实现中,“用户”可被理解为单一个体。但是,本公开的其他实现包含作为通过用户集合和/或自动源所控制的实体的“用户”。例如,社交网络中被联合为社区的单独用户的集合可被认为是“用户”。
在一个实现中,协作平台120可以是游戏平台,例如在线游戏平台或虚拟游戏平台。例如,游戏平台可向用户(所述用户可使用客户端装置110经由网络105来访问游戏122A-122Z或者与其交互)的社区提供单玩家或多玩家游戏。在实现中,游戏122(本文中又称作“视频游戏”、“在线游戏”或“虚拟游戏”)可以是例如二维(2D)游戏、三维(3D)游戏、虚拟现实(VR)游戏或增强现实(AR)游戏。在实现中,游戏122可与游戏122的其他用户实时进行。
在一些实现中,游戏122能够包括电子文件,该电子文件能够使用配置成向实体呈现游戏内容的软件、固件或硬件(例如数字媒体项目)来执行或加载。在一些实现中,游戏122可由游戏引擎124(例如客户端装置110A上执行的游戏引擎124A、客户端装置110B上执行的游戏引擎124B、协作平台120上执行的游戏引擎124C等)来执行,以生成包括多个帧和音频的游戏视频。游戏视频可由游戏引擎124基于命令、指令或用户输入来生成(例如渲染)。在一些实现中,游戏引擎124(例如游戏引擎124的渲染引擎)接收用户输入,并且基于该用户输入来生成游戏视频。在一些实现中,游戏引擎124(客户端装置110本地的或者在协作平台120处)接收用户输入,并且基于该用户输入来生成指令(例如用于呈现的命令、渲染命令、图形资料库命令等)。在一些实现中,客户端装置110上执行的游戏引擎124(例如游戏引擎124的渲染引擎)从协作平台120接收指令,并且基于所述指令来生成游戏视频。游戏视频可经由客户端装置110的用户界面来显示。
在一些实现中,协作平台120托管游戏122,并且允许用户使用客户端装置110的协作应用114与游戏122进行交互。协作平台120的用户可进行、创建或构建游戏122、与其交互,或者创建和构建游戏122的对象(例如本文中又称作“(一个或多个)物品”或“游戏对象”或者“(一个或多个)虚拟游戏物品”)。例如,在生成用户生成虚拟物品中,用户可创建角色、角色的装饰、互动游戏的一个或多个虚拟环境或者构建游戏122中使用的结构等。在实现中,用户可与协作平台120的其他用户购买、销售或交易游戏虚拟游戏对象,例如平台内货币(例如虚拟货币)。在实现中,协作平台可向协作应用114传送游戏内容。游戏内容(本文中又称作“内容”)可表示与协作平台120或协作应用114关联的任何数据或软件指令(例如游戏对象、游戏、用户信息、视频、图像、命令、媒体项目等)。
可注意,为了便于说明而不是限制而提供托管游戏122的协作平台120。在一些实施例中,协作平台120可托管一个或多个媒体项目。媒体项目能够包括但不限于数字视频、数字电影、数字照片、数字音乐、音频内容、旋律、网站内容、社交媒体更新、电子书籍(电子书)、电子杂志、数字报纸、数字有声书、电子期刊、网络博客、简易信息聚合(RSS)订阅源、电子漫画书、软件应用等。在实现中,媒体项目可以是电子文件,该电子文件能够使用软件、固件或硬件(它们配置成向实体呈现数字媒体项目)来执行或加载。
在一个实现中,协作平台120可合并来自客户端装置110的游戏内容,并且将合并游戏内容(例如游戏视频、进行渲染的指令、渲染命令、用户输入、图形资料库命令等)传送给客户端装置110的每个,以便在多玩家游戏环境中显示多个用户的内容。在另一个实现中,协作平台120可把来自一个或多个客户端装置110的游戏内容传送给另一个客户端装置,以供另一客户端装置合并和显示游戏内容。在另一个实现中,协作平台120可接收游戏内容(例如,第一用户经由客户端装置110A来传送用户输入,并且第二用户经由客户端装置110B来传送用户输入),生成游戏结果(例如第一用户击败第二用户),并且将游戏结果传送给客户端装置110。
在一些实现中,游戏122可与特定用户或者特定一组用户(例如私有游戏)关联,或者广泛可用于协作平台120的用户(例如公开游戏)。在实现中,在协作平台120将一个或多个游戏122与特定用户或者特定一组用户关联的情况下,协作平台120可使用用户帐户信息(例如,用户帐户标识符,例如用户名和密码)将(一个或多个)特定用户与游戏122关联。
在一些实现中,客户端装置110A可包括游戏引擎124A,客户端装置110B可包括游戏引擎124B,协作平台120可包括游戏引擎124C,等等。在实现中,游戏引擎124是软件应用,该软件应用从用户输入来生成进行渲染的指令。在实现中,游戏引擎124是软件应用,该软件应用从用户输入和/或从进行渲染的指令来生成命令(例如渲染命令)。在实现中,游戏引擎124是软件应用,该软件应用从指令或命令(例如渲染命令)来渲染帧(例如3D对象)。在实现中,在客户端装置110上执行的游戏引擎124是软件应用,该软件应用提供客户端装置110的图形处理单元(GPU)的一个或多个或者客户端装置110的物理处理单元的软件抽象。
游戏引擎124可以是软件框架。在实现中,游戏引擎124可用于游戏122的开发和/或执行。在实现中,游戏引擎124可包括主游戏程序(例如实现游戏逻辑的算法)、用于2D、3D、VR或AR图形的渲染引擎(“渲染器”)、物理引擎或碰撞检测(和碰撞响应)、音频引擎(例如与声音相关的算法)、脚本、动画、人工智能、连网、流播、存储器管理、线程化、本地化支持、场景图或者电影的视频支持以及其他特征中的一个或多个。
物理引擎可模仿物理定律。在实现中,物理引擎能够生成模拟(例如感知正确近似、真实模拟等)。物理引擎可生成模拟,所述模拟包括对象的动量、刚体动力学、软体动力学(例如粒子效果、液体、服装等)、流体动力学模拟(例如模拟液体、火焰的流动、经过空中的爆炸)、3D对象之间的碰撞检测、软体动力学(例如韧性、塑性、体积保存)等中的一个或多个。物理引擎可禁用对于阈值时间量之内尚未移动阈值距离的对象的物理学的计算。
渲染引擎可以是2D和/或3D图形的渲染器。在实现中,游戏引擎124可提供实时3D渲染能力。渲染引擎可生成3D对象(例如3D动画图形)(例如经由光栅化、光线追踪等)。渲染引擎可构建于渲染应用编程接口(API),该API提供GPU的软件抽象。物理API和物理扩展可提供物理处理单元的软件抽象。
游戏引擎124可用于具有实时图形需要的交互式应用(例如营销演示、架构可视化、训练模拟和建模环境)。在一些实现中,游戏引擎124可提供场景图(例如3D游戏世界的面向对象表示),该场景图简化游戏设计和执行,并且能够用于巨大虚拟世界的有效渲染。
游戏引擎124可提供一套可视开发工具和可再用软件组件。游戏引擎套件可提供使图形、声音、物理和AI功能的开发和执行变轻松的设施。游戏引擎124可以是提供灵活和可再用软件平台的中间件,该软件平台提供开发和执行游戏122的核心功能性。
游戏引擎124可提供平台抽象,从而允许同一游戏122在各种平台(包括游戏控制台、个人计算机、移动装置等)上运行,其中具有对游戏源代码进行的很少(若有的话)变更。
在一些实现中,可采用基于组件的架构来设计游戏引擎124,该基于组件的架构允许游戏引擎124中的特定系统采用更专用游戏中间件组件来替代或扩展(例如用于物理学、声音、视频等)。在一些实现中,游戏引擎124可设计为一系列宽松连接游戏中间件组件,所述组件能够有选择地相组合以创建定制引擎。
在一些实现中,游戏引擎124的实例可包含在客户端装置110上。在一些实现中,客户端装置110的游戏引擎124可单独地、与协作平台120的游戏引擎124协作地或者以两种方式的组合进行工作。
在实现中,协作平台120可包括创作者模块126。在实现中,创作者模块126可允许用户成为创作者,以设计或创建现有游戏122中的环境,或者创建新游戏或创建游戏或环境内的新游戏对象。在一些实现中,游戏122可具有规则的通用集合或者共同目标,以及游戏122的环境共享规则的通用集合或共同目标。在实现中,不同游戏可具有相互不同的规则或目标。在一些实现中,游戏可具有一个或多个环境(本文中又称作“游戏环境”或“虚拟环境”),其中可链接多个环境。例如,用户可构建一种虚拟环境,该虚拟环境被链接到另一个用户所创建的另一个虚拟环境。虚拟游戏的角色可越过虚拟边界,以进入相邻虚拟环境。在实现中,游戏对象(例如,本文中又称作“(一个或多个)物品”或对象或者“(一个或多个)虚拟游戏物品”)可表示协作平台120的游戏122中使用、创建、共享或者以其他方式描绘的对象。例如,游戏对象可包括部位、模型、角色、武器、工具、服装、大楼、车辆、货币、植物群、动物群、以上所述的构件(例如大楼的窗口)等。
在实现中,创作者模块126可允许用户创建、修改或定制角色。在实现中,角色(或者一般来说是游戏对象)从构件来构成,其一个或多个可由用户来选择,自动联合在一起以帮助用户进行编辑。一个或多个角色(本文中又称作“化身”或“模型”)可与用户(本文中又称作“玩家用户”)关联,其中用户可控制角色以促进用户与游戏122的交互。在实现中,角色可包括构件,例如身体部位(例如头发、手臂、腿等)和附件(例如t恤、眼镜、装饰图像、工具等)。在实现中,可定制的角色的身体部位包括头部类型、身体部位类型(手臂、腿、躯干和手)、脸部类型、头发类型和皮肤类型等等。在实现中,可定制的附件包括服装(例如衬衣、裤子、帽子、鞋子、眼镜等)、武器或其他工具。在实现中,用户还可控制角色的规模(例如高度、宽度或深度)或者角色的构件的规模。在实现中,用户可控制角色的比例(例如粗短、解剖等)。
在一些实现中,构件(例如身体部位)可以是原始几何形状(例如块、圆柱、球形等)或者另外某个原始形状(例如楔形、环面、管状、沟槽等)。在实现中,创作者模块126可发布用户的角色,以供协作平台120的其他用户查看或使用。在一些实现中,创建、修改或定制角色、其他游戏对象、游戏122或游戏环境可由用户使用用户界面(例如开发人员界面)并且在具有或没有脚本(或者没有应用编程接口(API))的情况下执行。可注意,为了便于说明而不是限制,角色被描述为具有人形。还可注意,角色可具有任何形式,例如车辆、动物、无生物或者其他创作形式。
在实现中,协作平台120可将用户所创建的角色存储在数据存储单元106中。在实现中,协作平台120保持角色目录和游戏目录,所述目录可经由协作应用114向用户呈现。用户可从游戏目录中选择要进行的游戏122。在实现中,游戏目录包括协作平台120上存储的游戏的图像。另外,用户可从角色目录中选择要参与所选游戏的角色(由玩家用户或另一用户所创建)。角色目录包括协作平台120上存储的角色的图像。在实现中,可由用户创建或定制角色目录中的角色的一个或多个。在实现中,所选角色可具有定义角色的构件的一个或多个的角色设定。
在实现中,用户的角色包括构建的配置,其中构建的配置和外观以及更一般来说是角色的外观可通过角色设定来定义。在实现中,用户的角色的角色设定可至少部分由用户来选择。在其他实现中,用户可选择具有默认角色设定或者由其他用户所选的角色设定的角色。例如,用户可从角色目录中选择具有预定义角色设定的默认角色,并且用户可进一步通过改变角色设定的一部分(例如添加具有定制徽标的衬衣)来定制默认角色。可由协作平台120将角色设定与特定角色关联。
在实现中,创作者模块126包括用于创建并且管理因特网上的游戏122和游戏环境的唯一个人构建和发布服务,所述服务允许用户(本文中又称作“创作用户”、“创作者”、“拥有者”或“拥有用户”)例如使用云中介计算资源来创建、拥有或管理游戏122和游戏环境。在实现中,创作者模块126可经由协作应用114使用用户界面(本文中又称作“开发人员界面”)来允许用户访问创作者模块126的功能性。在实现中,开发人员界面可以是协作应用114的组成部分。例如,协作应用114的开发人员界面可允许用户访问游戏对象的资料库,所述游戏对象可由用户来选择以构建游戏环境或者将游戏对象放置在游戏122或环境内。用户可经由开发人员界面来发布他们所选的游戏对象,使得游戏对象是游戏122或环境的玩家用户可用的。
在实现中,执行创作者模块126的协作平台120包括用户接口网站或应用(例如协作应用114),其中用户可为了便于构建、管理、编辑个人拥有游戏122或游戏环境并且与其交互而访问协作平台120所托管的在线计算资源。在实现中,创作者模块126包括用户可用于创建和例示三维虚拟游戏或环境的工具。在实现中,创作者模块126是希望创建和管理他们拥有的私有虚拟游戏122的用户可用的。在实现中,用户可使用协作应用114来访问创作者模块126。
在实现中,创作者模块126可将所创建游戏122和环境的控制提供给拥有用户,所述拥有用户可设置与将允许谁与所创建游戏122或环境进行交互以及谁具有修改、编辑游戏122或环境或者与其交互的能力有关的管理策略。具有管理控制的用户在本文中又可称作拥有用户,除非另加说明。在一些实现中,在为某些个体(所述个体可能被招募或者以其他方式期望与游戏122或游戏环境进行交互)指定各种等级的交互、修改或编辑能力的程度上,管理规则能够是有粒度的。例如,个体可从协作平台120中的好友或者来自社交网络或者在与在线聚集点关联的其他协作方或编组中的好友中招募。在实现中,创作者模块126具有管理工具以用于设置这类策略,包括用于游戏122或游戏环境内的交互的一般规则或者作为其补充。
在实现中,客户端装置110A至110B各自可包括计算装置,例如个人计算机(PC)、移动装置(例如膝上型、移动电话、智能电话、平板计算机或上网本计算机)、网络连接电视机、游戏控制台等。在一些实现中,客户端装置110A至110B又可称作“用户装置”。在实现中,一个或多个客户端装置110经由协作应用114可在任何给定时刻来连接到协作平台120。
在实现中,每个客户端装置可包括游戏引擎124(例如游戏引擎124的实例)。在实现中,每个客户端装置110可包括协作应用114的实例。在一些实现中,客户端装置110的游戏引擎124可包括客户端装置110的协作应用114(例如客户端装置110的协作应用114的实例由客户端装置110上执行的游戏引擎124来托管)。在一些实现中,客户端装置110的协作应用114可与游戏引擎124分开。在一个实现中,协作应用114可以是一种应用,该应用允许用户使用协作平台120并且与其交互,例如控制协作平台120所托管的虚拟游戏中的虚拟角色,或者查看或上传内容(例如图像、视频项目、网页、文档等)。在一个示例中,协作应用114可以是网络应用(例如与网络浏览器结合操作的应用、网络浏览器所托管的应用、游戏引擎124所托管的应用),该网络应用能够访问、检索、呈现和/或导航网络服务器(例如协作平台)所服务的内容(例如虚拟环境中的虚拟角色等)。在另一个示例中,协作应用114可以是本机应用。在另一个示例中,协作应用114可由客户端装置110上执行的游戏引擎124来托管。协作应用114可渲染、向用户显示和/或呈现内容(例如网页、媒体查看器)。在实现中,协作应用114还可包括嵌入网页中的嵌入式媒体播放器(例如播放器)。在另一个示例中,协作应用114可以是独立应用(例如移动应用、应用(app)或游戏程序),该应用允许用户与协作平台120进行交互。按照本公开的方面,协作应用114可以是协作平台应用,以供用户构建、创建、编辑、向协作平台120上传内容以及与协作平台120进行交互。因此,协作应用114可由消息传递服务器130或协作平台120来提供给客户端装置110A和110B。在另一个示例中,协作应用114可以是从消息传递服务器130下载的应用。
在实现中,用户可经由协作应用114来登录到协作平台120。用户可通过提供用户帐户信息(例如用户名和密码)来访问用户帐户,其中用户帐户与可用来参与协作平台120的一个或多个游戏122的一个或多个角色关联。
一般来说,在一个实现中描述为由协作平台120所执行的功能在其他实现中也能够适当地在客户端装置110A至110B或者消息传递服务器130上执行。另外,归于特定组件的功能性能够由共同操作的不同或者多个组件来执行。协作平台120还能够作为提供给其他系统或装置的服务、经过适当应用编程接口来访问,并且因而并不局限于网站中的使用。
在实现中,协作平台120可包括消息传递模块128。协作平台上的消息传递模块128可由协作平台120上的游戏引擎124来托管。在实现中,消息传递服务器130可包括消息传递模块128。描述为由消息传递模块128所执行的功能性可在协作平台120、消息传递服务器130或者两者上执行。在实现中,消息传递模块128的功能性的第一集合可在协作平台120上执行,以及消息传递模块的功能性的第二集合可在消息传递服务器130上执行。在实现中,消息传递模块128可以是允许用户经由通信系统(例如网络105)来交换电子消息的系统、应用或模块。在一些实现中,用户可经由会话网络108来交换电子消息。消息传递模块128可与消息传递应用116(例如消息传递应用116的模块)关联或者作为独立应用。
在实现中,用户可与消息传递模块128进行接口,并且在协作平台120的用户之间交换电子消息。消息传递模块128可以是例如即时消息传递应用、文本消息传递应用、电子邮件应用、语音消息传递应用、视频消息传递应用或者多个应用的组合等等。
用户可使用客户端装置110上的消息传递应用116的实例来访问消息传递模块128。可注意,消息传递应用116A和116B一般可称作(一个或多个)消息传递应用116。在一些实现中,消息传递应用116A和116B可以是同一应用的两个实例。
在实现中,消息传递模块128可促进用户之间的电子消息的交换。例如,用户可登录到客户端装置110A上的消息传递应用116A中,而另一个用户可登录到客户端装置110B上的消息传递应用116B中。两个用户可开始会话(例如即时消息传递会话)。消息传递模块128可通过发送和接收协作平台120的用户之间的电子消息,来帮助促进消息传递会话。
客户端装置110的消息传递应用116的实例可由客户端装置110上执行的游戏引擎124来托管。在一些实现中,客户端装置110的游戏引擎124包括客户端装置110的消息传递应用116。在一些实现中,客户端装置110的消息传递应用116可与游戏引擎124分开。在一个实现中,消息传递应用116可以是一种应用,该应用允许用户使用消息传递模块128并且与其交互,以便(例如在游戏引擎124上执行的虚拟游戏中或者在游戏引擎124没有执行一个或多个游戏的情况下)向另一个客户端装置110传送电子消息(例如文本、图像、视频项目、网页、文档、3D对象等)。在一个示例中,消息传递应用116由游戏引擎124来托管,并且消息传递应用116能够访问、检索、呈现和/或导航网络服务器(例如协作平台120)所服务的内容(例如3D对象、3D动画等)。在另一个示例中,消息传递应用116可以是本机应用。消息传递应用116可渲染、向用户显示和/或呈现内容(例如3D对象的帧、3D动画的帧)。消息传递应用116可以是独立应用(例如移动应用、app或游戏程序),该应用允许用户与消息传递模块128进行交互。按照本公开的方面,消息传递应用116可以是协作平台应用,以供用户构建、创建、编辑、向消息传递模块128上传内容以供到另一个客户端装置110的传输。因此,消息传递应用116可由消息传递服务器130或协作平台120来提供给客户端装置110A和110B。在另一个示例中,消息传递应用116可以是从消息传递服务器130下载的应用。
在实现中,用户可将用户输入提供给客户端装置110A上执行的游戏引擎124A所托管的消息传递应用116A的第一实例。用户输入可包括消息(例如文本、图像等)以及显示3D对象的指令。在实现中,客户端装置110A可将消息传送给消息传递服务器130的消息传递模块128,并且客户端装置110A可向协作平台120上的消息传递模块128传送渲染3D对象的指令(例如3D对象、与3D对象对应的用户输入、渲染命令、图形资料库命令等)。消息传递服务器130的消息传递模块128可处理消息(例如确定消息是否包含不适当资料、确定客户端装置是否被授权发送消息等),并且向另一个客户端装置110B传送消息。协作平台120的消息传递模块128可处理渲染3D对象的指令(例如确定3D对象是否具有不适当资料、确定客户端装置是否被授权发送3D对象等),并且向另一个客户端装置110B传送渲染3D对象的指令。客户端装置110A可相互结合(例如同时、基本上同时)传送消息和渲染3D对象的指令,以及客户端装置110B可相互结合(例如同时、基本上同时)呈现3D对象的渲染帧和消息。
客户端装置110的游戏引擎124(例如游戏引擎124A和124B)可包括附加模块(例如创作者模块126、购买模块117、游戏选择模块118、游戏模块119等)。在实现中,附加模块的一个或多个可以是独立应用。在实现中,附加模块的一个或多个可以是协作应用114的组成部分(例如加载项)。附加模块的一个或多个可由客户端装置110的游戏引擎124来托管。客户端装置110的游戏引擎124可处于第一状态,其中游戏引擎124没有执行游戏122。客户端装置110的游戏引擎124可处于第二状态,其中游戏引擎124正执行游戏122。在一些实现中,游戏引擎124可在第一状态与第二状态之间转变,反过来也是一样。消息传递应用116可以能够与游戏引擎124处于第一状态并发地并且与游戏引擎处于第二状态并发地传送电子消息。由消息传递应用116与游戏引擎处于第一状态并发地传送的消息可以是与游戏引擎处于第二状态并发地可访问的,反过来也是一样。例如,消息传递应用116可具有与游戏引擎处于第一状态并发地并且与游戏引擎处于第二状态并发地发送和/或接收的消息的公共消息历史(例如消息传递高速缓存107等)。
游戏122或附加模块可由客户端装置110上执行的游戏引擎124来托管(例如游戏或附加模块可正执行)。在游戏或附加模块的执行期间,对应界面可经由客户端装置110来显示。在实现中,消息传递应用116可显示与游戏或附加模块的对应界面分开的消息传递界面(例如消息传递界面可以是与游戏或附加模块的对应界面的窗口分开的窗口)。在实现中,消息传递应用116可在游戏或附加模块的对应界面内显示消息传递界面(例如消息传递界面可以是对应界面的一部分,参见图4B的消息传递界面)。
在一些实现中,客户端装置110上的附加模块包括创作者模块126的实例。客户端装置110上的创作者模块126的实例可由游戏引擎124来托管,并且可显示用于创建或编辑游戏122、游戏内容、化身等的一个或多个的创作者界面(例如创作者窗口)。创作者模块126可包括不同模块。例如,创作者模块126可包括化身编辑模块。在创作者模块126的实例由客户端装置110上执行的游戏引擎124来托管(例如执行)的同时,创作者界面可经由客户端装置110来显示。消息传递应用116的实例可用来在创作者界面的一部分内(例如创作者模块126所提供的创作者窗口内)来发送和接收电子消息(例如文本、3D对象等)。
在一些实现中,客户端装置110上的附加模块包括购买模块117的实例。客户端装置110上的购买模块117的实例可由游戏引擎124来托管,并且可显示用于购买、共享或传递对象(例如游戏内容)的购买界面(例如购买窗口)。在购买模块117的实例由客户端装置110上执行的游戏引擎124来托管(例如执行)的同时,购买界面可经由客户端装置110来显示。消息传递应用116的实例可用来在购买界面的一部分内(例如购买模块117所提供的购买窗口内)来发送和接收电子消息(例如文本、3D对象等)。
在一些实现中,客户端装置110上的附加模块包括游戏选择模块118的实例。客户端装置110上的游戏选择模块118的实例可由游戏引擎124来托管,并且可显示游戏选择界面(例如游戏选择窗口),以用于选择要进行的游戏、用于查看可用游戏的列表、用于搜索游戏、用于查看多少或者哪些用户正进行不同游戏、用于查看与游戏有关的信息等。在游戏选择模块118的实例由客户端装置110上执行的游戏引擎124来托管(例如执行)的同时,游戏选择界面可经由客户端装置110来显示。消息传递应用116的实例可用来在游戏选择界面的一部分内(例如游戏选择模块118所提供的游戏选择窗口内)来发送和接收电子消息(例如文本、3D对象等)。
在一些实现中,客户端装置110上的附加模块包括游戏模块119的实例。客户端装置110上的游戏模块119的实例可由游戏引擎124来托管,并且可显示用于进行游戏、观察游戏进行、与游戏中的其他用户协作等的游戏界面(例如游戏窗口)。在游戏模块119的实例由客户端装置110上执行的游戏引擎124来托管(例如执行)的同时,游戏界面可经由客户端装置110来显示。消息传递应用116的实例可用来在游戏界面的一部分内(例如游戏模块119所提供的游戏窗口内)来发送和接收电子消息(例如文本、3D对象等)。可注意,当用户从上述各种界面移动(例如从游戏界面移动到购买界面)时,消息传递应用的用户界面可示出消息或者具有消息连续性。
为了便于说明而不是限制,消息传递模块128被描述为在协作平台120和消息传递服务器130上实现。在一些实现中,消息传递模块128可部分或完全在协作平台120上实现。在一些实现中,消息传递模块128可部分或完全在消息传递服务器130上实现。在一些实现中,消息传递模块128可部分或完全在客户端装置110上实现。在一些实现中,在客户端装置110、消息传递服务器130或协作平台120的一个或多个上进行操作的消息传递模块128可结合工作以执行本文所述的操作。虽然根据协作平台来论述本公开的实现,但是实现也可一般适用于提供用户之间的连接的任何类型的社交网络。
在实现中,消息传递应用116可允许用户与协作平台120和消息传递服务器130的消息传递模块128进行接口。在实现中,客户端装置110的消息传递应用116可以是独立应用或者协作应用114的组成部分(例如加载项)。
在这里所述的系统收集与用户有关的个人信息或者可利用个人信息的状况中,用户可被提供有控制协作平台120是否收集用户信息(例如,与用户的社交网络、社交动作或活动、职业、用户的偏好或者用户的当前位置有关的信息)或者控制是否和/或如何接收来自内容服务器、可能与用户更为相关的内容的机会。另外,某些数据可在被存储或使用之前按照一种或多种方式来处理,使得删除个人可识别信息。例如,用户的身份可被处理,使得不能够对该用户确定个人可识别信息,或者可一般化其中得到位置信息(例如城市、ZIP码或州级)的用户地理位置,使得不能确定用户的特定位置。因此,用户可对如何收集并且由协作平台120使用与用户有关的信息具有控制权。
图2是按照一些实现、使用游戏引擎124所托管的消息传递应用116的操作的简图。系统200可包括与如针对图1所述的系统架构100相似的组件。可注意,图1的组件可在本文中用来帮助描述图2。在实现中,由客户端装置110上执行的游戏引擎所托管的消息传递应用116的实例可执行操作的部分或全部。在其他实现中,消息传递应用116的实例可与协作平台120和/或消息传递服务器130上的消息传递模块128进行交互,以执行针对图2所述的操作。为了便于说明而不是限制,描述为由客户端装置110的消息传递应用116所执行的操作可由协作平台120和/或消息传递服务器130的任何组件来执行,除非另加说明。为了便于说明而不是进行限制,描述为由消息传递模块128所执行的操作可由客户端装置110的任何组件来执行,除非另加说明。可注意,为了便于说明而不是限制,“第一用户”是与客户端装置110A关联的用户,而“第二用户”是与客户端装置110B关联的用户。为了便于说明而不是进行限制,针对图2所述的操作示为串行地执行。可注意,在实现中,操作可按照任何顺序来执行,可被执行多次,或者可包括相同、更少或附加操作。可注意,为了便于说明而不是限制,操作被描述为由协作平台120或消息传递服务器130来执行。在一些实现中,协作平台120和消息传递服务器的操作可由协作平台120或消息传递服务器130其中之一来执行。
在实现中,用户可在相互发送和接收电子消息(例如文本、3D对象)之前经由协作平台120来建立关系(例如置信关系、友谊、连接)。在实现中,第一用户可向第二用户发送传送电子消息的请求,以及第二用户可在第一用户和第二用户能够相互发送电子消息并且相互接收电子消息之前接受该请求。在实现中,第一用户可向协作平台120发送第二用户的标识符(例如用户名、个人标识符、代码等),并且协作平台120可在第一用户能够向第二用户发送电子消息之前准予向第二用户传送电子消息的第一用户准许。
在实现中,用户可在能够相互发送电子消息并且相互接收电子消息之前执行登录操作,以登录协作平台120。在一个示例中,第一用户可经由协作应用114或消息传递应用116向协作平台120提供登录信息,例如用户帐户信息(例如用户名和密码)。在实现中,协作平台120可检验登录信息,并且响应检验而允许对协作平台120以及与第一用户帐户关联的用户帐户内容的第一用户访问。在其他实现中,客户端装置110B的第二用户可执行与以上针对客户端装置110A的第一用户所述相似的登录操作。
回到图2,在实现中,在操作205A,客户端装置110A可提供第一用户界面(操作205A),以供客户端装置110A显示。客户端装置110A可经由客户端装置110A上执行的游戏引擎124A所托管的消息传递应用116A的第一实例来提供第一用户界面。在一些实现中,用户界面是独立窗口(例如消息传递窗口)。消息传递窗口可与其他窗口无关地移动。在一些实现中,用户界面是窗口的部分或区域(例如游戏窗口的一部分、窗口内的聊天框、接近化身的聊天气泡)。聊天框可在游戏窗口内移动。
在操作210A,客户端装置110A可经由用户界面来接收第一用户输入。经由用户界面的用户输入可经由显示装置510(例如触摸屏)、字母数字输入装置512(例如键盘)、光标控制装置514(例如鼠标)、声音输入装置(例如话筒)、移动输入装置(例如运动传感器)、成像装置(例如照相装置)等(参见图5)。用户输入可包括第一文本以及渲染第一3D对象的第一指令。例如,第一用户可键入文本,并且选择化身的3D动画(例如使化身看来跳出屏幕的3D动画)。
客户端装置110可处理第一用户输入,以确定第一输入是否包括文本和/或渲染3D对象的指令。在实现中,客户端装置110可确定第一输入包括与消息传递服务器130对应的第一文本,并且第一输入包括与协作平台120对应的渲染第一3D对象的指令。在实现中,在客户端装置110上执行的游戏引擎124确定第一文本对应于消息传递服务器130,并且显示第一3D对象的指令对应于协作平台120。在实现中,由客户端装置110上执行的游戏引擎124所托管的消息传递应用116确定第一文本对应于消息传递服务器130,并且渲染第一3D对象的指令对应于协作平台120。
在一些实现中,在操作215A,客户端装置110A可向消息传递服务器130传送第一文本(例如响应确定第一文本对应于消息传递服务器130)。在操作220A,消息传递服务器130可过滤第一文本(例如处理第一文本,以确定第一文本是否适当)。在操作225A,消息传递服务器130可向客户端装置110B传送第一文本。在操作230A,客户端装置110A可向协作平台120传送第一指令(例如响应确定第一指令对应于协作平台120)。在一些实现中,协作平台120可处理第一3D对象的第一指令,以确定第一3D对象是否适当。
过滤操作(例如操作220A、操作235A)可包括阻止不适当语言、阻止不适当主题、阻止不适当图像、阻止敏感信息(例如联络人信息)、阻止与未成年人的通信或者未成年人进行的通信、阻止尚未经由协作平台120建立关系的用户的通信、阻止尚未登录到协作平台中的用户等中的一个或多个。在一些实现中,客户端装置110相互直接传送文本和/或指令(例如经由会话网络108、经由网络105)。信息的阻止可包括阻止完整电子消息、从电子消息中隐藏信息、从电子消息中删除信息或者替换电子消息中的信息(例如采用例如磅符号(#)等的一个或多个符号来替换不适当语言或敏感信息)中的一个或多个。
在一些实现中,在客户端装置110A上执行的游戏引擎124A可接收渲染第一对象的第一指令,并且在客户端装置110A上执行的游戏引擎124A可基于第一指令来生成命令(例如渲染命令、图形资料库命令等)。在一些实现中,协作平台120可从客户端装置110A接收第一指令,以及在协作平台120上执行的游戏引擎可基于第一指令来生成第一命令。
在操作245A,协作平台120可向客户端装置110B传送第一指令(例如在对应过滤操作之后)。
在操作205B,客户端装置110B可经由客户端装置110B上执行的游戏引擎124B所托管的消息传递应用116B的第二实例来提供第二用户界面202B。在操作225A,客户端装置110B可接收第一文本,以及在操作250A,客户端装置110B可通过客户端装置110B上执行的游戏引擎124B基于第一指令来渲染第一3D对象的帧,以供第二用户界面中随第一文本的呈现。在客户端装置110B上执行的游戏引擎124B可基于第一指令来生成第一命令(例如第一渲染命令),并且可基于第一命令来渲染第一3D对象的帧。在操作255A,客户端装置110B可引起第二客户端装置110B的消息传递应用116B的第二实例的第二用户界面中的第一3D对象的渲染帧和第一文本的呈现。
帧的渲染可由游戏引擎124的渲染引擎来执行。渲染引擎可接收进行渲染的命令和/或指令,并且基于命令和/或指令来生成帧。渲染引擎可基于客户端装置110的能力(例如处理开销、屏幕分辨率等)来生成帧。例如,渲染引擎可当存在高处理开销时或者当存在低屏幕分辨率时渲染更低质量的帧。渲染引擎可基于经由正接收指令的客户端装置110的用户输入来生成帧。用户输入可包括照相装置位置、玩家观点等的一个或多个。
在操作210B,客户端装置110B可经由第二用户界面来接收第二用户输入。第二用户输入可包括第二文本以及渲染第二3D对象的第二指令。第二文本或第二3D对象的一个或多个可响应第一文本或第一3D对象。
在操作215B,客户端装置110B可向消息传递服务器130传送第二文本,以及在操作230B,客户端装置110B可向协作平台120传送渲染第二3D对象的第二指令。在操作220B,消息传递服务器130可对第二文本执行过滤操作,以及在操作235B,协作平台120可对渲染第二3D对象的第二指令执行过滤操作。在操作245B,协作平台120可向客户端装置110A传送第二指令(例如在过滤操作之后)。在操作225B,消息传递服务器130可向客户端装置110A传送第二文本(例如在过滤操作之后)。
在操作250B,客户端装置110A可通过游戏引擎124A基于第二指令来渲染第二3D对象的一个或多个帧。在操作255B,客户端装置110B可在第一用户界面中呈现第二文本和第二3D对象。
电子消息的发送和接收可在两个或更多用户之间进行。电子消息可包括文本、3D对象、2D对象、图像、GIF图像等的一个或多个。
图3是示出按照本公开的实现、使用游戏引擎所托管的消息传递应用的方法300的流程图。方法300可由处理逻辑来执行,所述处理逻辑包括硬件(例如电路、专用逻辑、可编程逻辑、微码)、软件(例如处理装置上运行以执行硬件模拟的指令)或者其组合。在一些实现中,在协作平台120、消息传递服务器130、客户端装置110A、客户端装置110B或者其组合执行的处理逻辑可执行操作的部分或全部。在一些实现中,处理逻辑与消息传递应用116和/或消息传递模块128协作可执行部分或全部操作。图1的组件可用来帮助示出方法300。可理解,在一些实现中,方法300可包括按照任何顺序所执行的相同、不同、更少或更多操作。
方法300开始于框305,其中处理逻辑通过第一客户端装置110A上执行的游戏引擎124A所托管的消息传递应用116A的第一实例来提供用于与第二客户端装置110B进行消息传递的用户界面。在一些实现中,用户界面是图4A-B的消息传递界面430。
在框310,处理逻辑接收在第一客户端装置110A的用户界面中渲染3D对象的指令(例如渲染命令、图形资料库命令)。可通过第二客户端装置110B的消息传递应用116的第二实例来发起指令。在一些实现中,3D对象是3D动画。3D动画可包括两个或更多帧,所述帧由游戏引擎124(例如经由游戏引擎124的渲染引擎)从指令和/或命令自动渲染,并且随时间顺次示出。3D动画可显示移动。例如,3D对象可以是两个或更多帧,所述帧示出跳出消息传递界面430的第二用户的化身。由游戏引擎124(在正接收指令的客户端装置110上执行)从进行渲染的指令(例如渲染命令)所渲染的帧可与被流播到客户端装置110的帧是不同的。例如,由游戏引擎124从指令和/或命令所渲染的帧可基于客户端装置110的能力(例如屏幕分辨率)、客户端装置110的设定(例如照相装置位置、观点)、客户端装置当前所允许的质量(例如基于处理器开销等)来渲染或生成。另外,由游戏引擎124所渲染的帧在客户端装置来生成,而不是按照压缩格式或者其他方式经由网络来发送。
在一些实现中,3D对象是物理模拟对象之间的物理复制或物理交互。在一些实现中,3D对象是3D环境。在一些实现中,3D对象是小游戏。例如,3D对象可以是能够在消息传递界面430的聊天馈送中进行的石头剪刀布的物理复制游戏(由游戏引擎124所执行)。
在一些实现中,第二客户端装置110B可接收用户输入。在一些实现中,在第二客户端装置110B上执行的游戏引擎124接收用户输入,并且基于用户输入来生成进行渲染的指令。在一些实现中,在协作平台120上执行的游戏引擎124从第二客户端装置110B接收用户输入,并且在协作平台120上执行的游戏引擎124生成进行渲染的指令。在一些实现中,与传送3D对象的一个或多个渲染帧相比,指令和/或用户输入的传输要求更少带宽和处理开销(例如对于协作平台120等)。尽管具有不良上传连接或不良速度,但是可传送和接收进行渲染的指令。与接收3D对象的渲染帧相比,接收指令产生更少抖动以及客户端装置110的用户的未压缩的观看体验。
通过接收指令,第一客户端装置110A可显示与对应于第二客户端装置110B的用户输入的3D对象不同的透视(例如照相装置位置等)。例如,第二用户可经由第一用户的用户界面来选择要显示的3D对象。第一用户可选择旋转3D对象或者从不同角度查看3D对象,以及客户端装置110A上执行的游戏引擎124可以以不同角度来渲染3D对象的一个或多个帧。与从第二客户端装置110B接收3D对象的帧相比,在第一客户端装置110A来接收指令并且由客户端装置110A上执行的游戏引擎124来渲染3D对象(例如以不同角度)具有更大交互性。
在一些实现中,指令可包括将要渲染的对象(例如资产)的标识符(例如唯一标识符)。在一些实现中,指令可包括对象的大小(例如,如由将要发送指令的用户所确定、如由协作平台120所确定)。在一些实现中,指令可包括对象的位置(例如,如由将要发送指令的用户所确定、如由协作平台120所确定)。在一些实现中,指令可包括用户输入序列。例如,如果对象可以是按照用户输入摆动的钟摆。第一客户端装置110A的第一用户和第二客户端装置110B的第二用户均可提供摆动钟摆的用户输入(例如同时地、基本同时地)。在一些实现中,指令可包括动态更新。例如,第一客户端装置110A可向第二客户端装置110A传送指令,以渲染化身的当前快照。第一客户端装置110A或协作平台120随后可传送化身的动态更新的指令(例如新的当前快照、与协作平台120同步的化身的最近版本)。
在一些实现中,进行渲染的指令是渲染命令(例如对渲染器的命令、渲染调用)。在一些实现中,接收进行渲染的指令的客户端装置110的游戏引擎124可从进行渲染的指令来生成渲染命令。渲染命令可以是使游戏引擎124的渲染引擎生成对象的可见图像(例如虚拟世界场景、游戏角色、3D对象)的指令(例如几何信息、对象的数学表示)。游戏引擎124的渲染引擎可处理渲染命令,以生成能够经由显示装置来显示的图像数据(例如帧)。图像数据可以是一连串图像帧。渲染命令可以比渲染帧(例如比渲染3D对象)明显要小(例如其1%或更小的大小)。如果第一客户端装置110A上执行的游戏引擎124的渲染引擎与生成渲染命令的游戏引擎124(例如第二客户端装置110B上执行的游戏引擎124、协作平台120上执行的游戏引擎)是兼容的,则第一客户端装置110A上执行的游戏引擎124可基于渲染命令来渲染3D对象的帧。
在一些实现中,进行渲染的指令是图形资料库命令(例如由图形处理单元(GPU)或游戏引擎124所生成的低级图形资料库命令)。在一些实现中,接收进行渲染的指令的客户端装置110的游戏引擎124可从进行渲染的指令来生成图形资料库命令。如果在第一客户端装置110A上下载与图形资料库命令对应的图形资料库(例如低级图形资料库),则客户端装置110A(例如第一客户端装置110A上执行的游戏引擎124)能够从图形资料库命令来渲染3D对象的一个或多个帧。
在一些实现中,进行渲染的指令是输入和游戏状态的用户序列。在一些实现中,接收进行渲染的指令的客户端装置110的游戏引擎124可从进行渲染的指令来生成输入和游戏状态的用户序列。如果第一客户端装置110A包括对应于输入和游戏状态的序列(例如对应于第一客户端装置110B上执行的游戏引擎124和游戏程序)的游戏引擎124和游戏程序(例如从相同用户输入和游戏状态来生成相同输出的确定性程序、游戏122、协作应用114、消息传递应用116),则第一客户端装置110A上执行的游戏引擎124和游戏程序可基于用户输入和游戏状态序列来渲染3D对象的一个或多个帧。
在一些实现中,进行渲染的指令是用户输入。在一些实现中,接收进行渲染的指令的客户端装置110的游戏引擎124可从进行渲染的指令来生成用户输入。如果第一客户端装置110A上执行的游戏引擎124和消息传递应用116对应于第二客户端装置110B上执行的游戏引擎124和消息传递应用116,则第一客户端装置110A可基于该用户输入来渲染3D对象的一个或多个帧。
在框315,处理逻辑通过游戏引擎124基于第一指令来渲染一个或多个第一帧,以生成第一3D对象供第一客户端装置110A的用户界面中的呈现。在实现中,渲染可从指令或命令来生成(例如通过游戏引擎124的渲染引擎)来生成一个或多个图像。帧可以是由客户端装置110上执行的游戏引擎124的渲染引擎基于指令或命令(例如以客户端装置110的质量、设定等)所渲染的图像。游戏引擎124可以以基于第一客户端装置110A的处理能力的质量(例如分辨率、加阴影、照明、所显示的游戏内容量、3D或2D等)来渲染一个或多个第一帧。例如,如果第一客户端装置110A具有低处理能力(例如具有高当前处理开销、配有具有低处理速度的硬件),则游戏引擎124可以以比第一客户端装置110A具有更高处理能力时要低的质量来渲染一个或多个第一帧。传送指令或命令而不是渲染帧能够降低第一客户端装置110A的处理开销。
在框320,处理逻辑引起第一客户端装置110A的消息传递应用的第一实例的用户界面中的3D对象的一个或多个渲染帧的呈现。
响应客户端装置110A的用户界面中的3D对象的渲染帧的呈现,第一用户可发起将要由第二客户端装置110B上执行的游戏引擎124所渲染的另一个3D对象,以便向第二用户呈现。第一和第二用户可使3D图像在彼此的客户端装置110A上来回显示。在一些实现中,使3D图像经由彼此的客户端装置110A来显示是3D小游戏在消息传递界面430中(例如在用户界面400中、在游戏界面450中等)的进行。
图4A示出按照本公开的一些实现、使用游戏引擎124所托管的消息传递应用116的用户界面400。
在一个实现中,用户界面400是由(例如消息传递服务器130和/或协作平台120的)消息传递应用116和/或消息传递模块128所提供的消息传递界面。用户可选择用户界面400向/从其他用户发送/接收电子消息。
在一个实现中,用户界面400是由协作平台120和/或协作应用114所提供的协作平台界面。用户可选择协作界面与游戏、媒体项目等进行交互。
在一个实现中,用户界面400是由创作者模块126所提供的用于创建或编辑游戏122、游戏内容、化身等的一个或多个的创作者界面。例如,创作者界面可用来创建或构建游戏122或者与其交互,或者创建和构建游戏122的对象(例如用户生成的虚拟物品、角色、角色的装饰、互动游戏的一个或多个虚拟环境、游戏122中使用的结构等)。
在一个实现中,用户界面400是由购物模块117所提供的用于购买、共享或传递对象(例如游戏内容)的购买界面。例如,购买界面可用来与协作平台120的其他用户买、卖或交易游戏虚拟游戏对象,例如平台内货币。
在一个实现中,用户界面400是由游戏选择模块118所提供的游戏选择界面,以用于选择要进行的游戏、用于查看可用游戏的列表、用于搜索游戏、用于查看多少或者哪些用户正进行不同游戏、用于查看与游戏有关的信息等。
由客户端装置110上执行的游戏引擎124所托管的消息传递应用116可向用户界面400提供消息传递功能性。响应用户输入(例如选择用户界面400上的消息传递图标(未示出)),用户界面400可显示消息传递菜单410。消息传递菜单410可显示搜索栏412、消息传递组创建元件414、游戏组创建元件416、消息传递组选择元件418、游戏组选择元件420、用户选择元件422。
搜索栏412可用来搜索用户、消息传递组或游戏组。消息传递组创建元件414可用来启动与多个用户的组消息,其中经由组消息所发送和接收的消息是多个用户可查看的。游戏组创建元件416可用来启动与多个用户的组消息,其中多个用户能够共同参加游戏122(例如相继进入游戏)。消息传递组选择元件418可用来请求参加消息传递组。消息传递组选择元件418可显示用户可参加的一个或多个消息传递组(例如趋势组、包含用户经由协作平台120与其建立了关系的一个或多个用户的编组等)。游戏组选择元件420可用来请求参加游戏组(例如以便能够跟随游戏组中的其他用户进入游戏122)。游戏组选择元件420可显示用户可参加的一个或多个游戏组(例如趋势游戏组、包含用户经由协作平台120与其建立了关系的一个或多个用户的游戏组等)。用户选择元件422可用来传递消息给第二用户或者传送请求以便能够通知第二用户。用户选择元件422可显示用户可向其传递消息传递的一个或多个用户(例如用户与其建立了关系的用户、当前经由网络105连接到协作平台120的用户等)。
两个或更多用户的消息传递组可有权访问消息传递界面430以执行消息传递(例如相互之间传送和接收电子消息)。响应消息传递组的用户经由用户的消息传递界面430来传送电子消息,可在消息传递组的用户的消息传递界面430的每个中显示电子消息。消息传递界面430可用于两个个体之间的消息传递、三个或更多个体之间的消息传递、两个或更多个体之间的游戏消息传递(例如所述游戏消息传递提供相继进入游戏122的选项)等。可响应创建或选择消息传递或游戏组、响应选择用户等,而显示消息传递界面430。消息传递界面430可显示搜索栏432、用户邀请元件434、游戏选择元件436、游戏参加元件438、消息历史440、消息发送元件442。
如图4A所示,用户界面400、消息传递菜单410和消息传递界面430可以是独立窗口。在实现中,消息传递菜单410和/或消息传递界面430可对接到用户界面400的窗口。在一些实现中,用户界面400、消息传递菜单410和消息传递界面430可相互无关地移动。
在另一个实现中,消息传递菜单410和/或消息传递界面430可以是用户界面400的窗口的一部分。在实现中,消息传递界面430和/或消息传递菜单410可在用户界面400的窗口内移动。响应一个或多个第一用户输入,消息传递菜单410和/或消息传递界面430可在用户界面400的窗口中最小化(例如仅可显示消息传递菜单410或消息传递界面430的标识符,而没有显示其他元素或消息历史)。响应一个或多个第二用户输入,消息传递菜单410和/或消息传递界面430可在用户界面400的窗口中最小化(例如可在最小化之后再次显示元素或消息历史)。响应一个或多个第三用户输入,消息传递菜单410和/或消息传递界面430可跳出用户界面400的窗口,并且成为独立窗口。响应一个或多个第三用户输入,消息传递菜单410和/或消息传递界面430可关闭。
搜索栏432可用于搜索要邀请到与消息传递界面430对应的消息传递组的用户。用户邀请元件434可显示用户可选择加入消息传递组的一个或多个用户。游戏选择元件436可用来搜索和/或选择消息传递组(例如游戏组)可参加的游戏122。消息传递组的每个用户可选择要相互参加游戏122(例如相继进入游戏)的游戏参加元件438。消息历史440可显示经由消息传递界面430所传送或接收的电子消息(例如文本、3D对象等)。用户可经由消息发送元件442来提供用户输入(例如文本、显示3D对象的指令等),以便向消息传递组中的其他用户传送对应文本和/或3D对象。
用户可经由第一类型的用户界面400进行消息传递,并且该用户可选择显示第二类型的用户界面400。例如,用户可经由创作者界面进行消息传递,并且用户可选择显示购买界面。在第一类型的用户界面400中显示的消息历史440可以是经由第二类型的用户界面400可用的。例如,如果第一用户经由创作者界面来发送第一文本402A、发送第一3D对象404A、接收第二文本402B并且接收第二3D对象404B,则第一文本402A、第一3D对象404A、第二文本402B和第二3D对象404B可以是经由购买界面可用的。
用户可经由用户界面400进行消息传递,并且用户可选择参加游戏122,这引起游戏界面450的显示(参见图4B)。例如,用户可经由创作者界面进行消息传递,并且用户可选择参加游戏122,这引起游戏界面的显示。在用户界面400中显示的消息历史440可以是经由游戏界面450可用的。例如,如果第一用户经由创作者界面来发送第一文本402A、发送第一3D对象404A、接收第二文本402B并且接收第二3D对象404B,则第一文本402A、第一3D对象404A、第二文本402B和第二3D对象404B可以是经由游戏界面450可用的。
图4B示出按照本公开的一些实现、使用游戏引擎124所托管的消息传递应用116的游戏界面450。
游戏界面450可由游戏模块119或协作应用114来提供,以用于进行游戏122、观察游戏玩法、与游戏122中的其他用户协作等。游戏界面450可显示由客户端装置110上执行的游戏引擎124所渲染的3D游戏内容。3D游戏内容可包括3D环境460和3D角色470。
响应用户输入例如经由用户界面400或者经由游戏选择界面来参加游戏),客户端装置110可显示游戏界面450。
游戏界面450可从用户界面400来显示消息传递历史440,如针对图4A所述。当用户从一个界面(例如用户界面400)转移到另一个界面(例如游戏界面450)时,游戏界面450可允许消息传递组的至少两个或更多用户继续进行消息传递。可通过经由游戏界面450所发送和接收的电子消息来更新消息传递历史440。响应离开游戏122,已更新消息传递历史440可经由用户界面400来显示。响应参加游戏122,已更新消息传递历史440(例如包括经由用户界面400所发送和接收的消息)可经由游戏界面450来显示。
经由用户界面400和游戏界面450所发送和接收的电子消息可包括由客户端装置110上执行的游戏引擎124所渲染的3D对象。
在一些实现中,消息传递界面430可经由游戏界面450的区域来显示。如图4B所示,消息传递界面430可以是覆盖游戏界面450的一部分的半透明界面。游戏界面450可以是经过消息传递界面430可见的。在一些实现中,消息传递界面430可在游戏界面450内移动(例如可在不同位置对接)。在一些实现中,消息传递界面430可固定在游戏界面450内的固定位置。
如图4B所示,消息传递界面430可显示消息历史440。消息传递历史440可包括经由其他界面所传送和/或接收的文本和3D对象。例如,第一文本402A、第一3D对象404A、第二文本402B和第二3D对象404B可经由图4A的用户界面400的消息传递界面430来传送和/或接收。响应起动游戏,经由用户界面400所传送和/或接收的第一文本402A、第一3D对象404A、第二文本402B和第二3D对象404B可在图4B的游戏界面450的消息传递界面430的消息历史440中显示。消息传递界面430可包括消息发送元件442,以发送电子消息(例如文本和3D对象)。
在另一个实现中,游戏界面450可以是窗口,以及消息传递界面430可以是能够与游戏界面450的窗口无关地移动的窗口。响应用户输入,消息传递界面430可在游戏界面450的窗口中对接。响应用户输入,消息传递界面可弹出(成为其自己的窗口),以便与游戏界面450的窗口无关地移动。
在另一个实现中,消息历史440的至少一部分可经由一个或多个消息传递气泡480(所述气泡480接近3D角色470所显示)来显示。在一个实现中,显示消息传递气泡480而不是显示消息传递界面430。在另一个实现中,除了消息传递界面之外还显示消息传递气泡480。图4B中,消息传递气泡480被示为游戏界面450的区域。在另一个实现中,消息传递气泡480可以是窗口。消息传递气泡480中的对话可在游戏外部(例如游戏界面450外部)的不同界面之间来转移。
在实现中,如果第一用户对应于第一3D角色470A,则第一消息传递气泡480A可显示第一用户所发送的文本和/或3D对象的至少一部分。消息传递气泡480可以是半透明的,以便能够看到消息传递气泡480后面的游戏内容。消息传递界面430和消息气泡480的透明度可基于发送最后一个电子消息的最近时间、是否输入新的电子消息、消息传递界面430或消息传递气泡480是否覆盖3D角色470或其他消息传递气泡480等的一个或多个发生变化。
图5是示出按照实现的示范计算机系统500的框图。计算机系统500执行一个或多个指令集,所述指令集使机器执行本文所述方法的任一个或多个。指令集、指令等可表示指令,所述指令在计算机系统500执行时使计算机系统500执行消息传递模块128或消息传递应用116的一个或多个操作。机器可在客户端-服务器网络环境中的服务器或客户端装置的能力中进行操作,或者作为对等(或分布式)网络环境中的对等机器进行操作。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、服务器、网络路由器、交换机或桥接器或者能够执行指定将要由那个机器所采取的动作的指令集(顺序或其他方式)的任何机器。此外,虽然仅示出单个机器,但是术语“机器”还应该被理解为包括单独或联合执行指令集以执行本文所述方法的任一个或多个的机器的任何集合。
计算机系统500包括处理装置502、主存储器504(例如只读存储器(ROM)、闪速存储器、动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如闪速存储器、静态随机存取存储器(SRAM)等)以及数据存储装置516,它们经由总线508相互通信。
处理装置502表示一个或多个通用处理装置,例如微处理器、中央处理器等。更特别是,处理装置502可以是复杂指令集计算(CISC)微处理器、简化指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或者实现其他指令集的处理装置或实现指令集的组合的处理装置。处理装置502也可以是一个或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置502配置成执行系统架构100的指令,并且配置用于执行本文所述的操作。
计算机系统500可进一步包括网络接口装置522,该网络接口装置422通过网络518(例如局域网(LAN)、内联网、外联网或因特网)来提供与其他机器的通信。计算机系统500还可包括显示装置510(例如液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入装置512(例如键盘)、光标控制装置514(例如鼠标)和信号生成装置520(例如喇叭)。
数据存储装置516可包括非暂时计算机可读存储介质524,其上存储体现本文所述方法或功能的任一个或多个的系统架构100的指令集。系统架构100的指令集还可在由计算机系统500对其执行期间完全或者至少部分驻留在主存储器504内和/或处理装置502内,主存储器504和处理装置502还组成计算机可读存储介质。指令集可进一步经由网络接口装置522通过网络518来传送或接收。
虽然计算机可读存储介质524的示例示为单个介质,但是术语“计算机可读存储介质”能够包括存储指令集的单个介质或者多个介质(例如集中或分布数据库和/或关联高速缓存和服务器)。术语“计算机可读存储介质”能够包括任何介质,所述介质能够对于供机器执行的指令集进行存储、编码或携带,并且使机器执行本公开的方法的任一个或多个。术语“计算机可读存储介质”能够包括但不限于固态存储器、光介质和磁介质。
在以上描述中提出许多细节。但是获益于本公开的本领域的技术人员将清楚地知道,即使没有这些具体细节也可实施本公开。在一些情况下,众所周知的结构和装置以框图形式而不是详细示出,以免影响对本公开的理解。
详细描述的一些部分根据对计算机存储器内的数据位的操作的算法和符号表示来提供。这些算法描述和表示是数据处理领域的技术人员用来向本领域的其他技术人员最有效地传达其工作主旨的方式。算法在这里以及一般被认为是引起预期结果的独立步骤序列。步骤是要求物理量的物理操纵的那些步骤。这些量通常但不一定采取能够被存储、传递、组合、比较以及以其他方式操控的电或磁信号的形式。主要由于普遍使用,将这些信号表示为位、值、元素、符号、字符、术语、数字等有时证明是便利的。
但是可记住,所有这些及类似项均与适当的物理量关联,并且只是应用于这些量的便捷标签。除非另加具体说明,否则要理解,在本描述中,利用诸如“提供”、“接收”、“渲染”、“引起”、“发送”等的术语的论述通篇表示计算机系统或类似电子计算装置的动作和过程,所述计算系统或类似电子计算装置操纵表示为计算机系统存储器或寄存器内的物理(例如电子)量的数据并且将其变换为类似地表示为计算机系统存储器或寄存器或者其他这种信息存储、传输或显示装置内的物理量的其他数据。
本公开还涉及用于执行本文的操作的设备。这个设备可专门构造用于所要求目的,或者可包括通过计算机中存储的计算机程序有选择地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储介质中,非限制性地例如任何类型的磁盘,包括软盘、光盘、致密光盘只读存储器(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁或光卡或者适合于存储电子指令的任何类型的介质。
词语“示例”或“示范”在本文中用来表示“用作示例、实例或说明”。本文中描述为“示例”或“示范”的任何方面或设计不一定被理解为相对其他方面或设计是优选或有利的。词语“示例”或“示范”的使用而是意在以具体方式提供概念。如本申请所使用的术语“或者”意在表示包含“或”而不是异“或”。也就是说,除非另加说明或者从上下文清楚地知道,否则“X包括A或B”意在表示自然包含置换的任一个。也就是说,如果X包括A、X包括B或者X包括A和B,则在上述情况的任一种下均满足“X包括A或B”。另外,如本申请和所附权利要求书中所使用的冠词“一个”一般可被理解为表示“一个或多个”,除非另加说明或者从上下文清楚地知道针对单数形式。此外,术语“实现”或“一个实现”的通篇使用不是意在表示同一实现,除非另加说明。如本文所使用的术语“第一”、“第二”、“第三”、“第四”等也表示区分不同元件的标签,而可能不一定具有按照其数字标号的序数含意。
要理解,预计以上描述是说明性而不是限制性的。通过阅读和了解以上描述,其他实现将是本领域的技术人员清楚知道的。因此,本公开的范围可参照所附权利要求连同这类权利要求涵盖的完整等效范围共同确定。
在附加实现中,公开用于执行上述实现的操作的一个或多个处理装置。另外,在本公开的实现中,非暂时计算机可读存储介质存储用于执行所述实现的操作的指令。又在其他实现中,还公开用于执行所述实现的操作的系统。
Claims (20)
1.一种第一客户端装置,包括:
存储器;以及
处理装置,耦合到所述存储器以:
通过所述第一客户端装置上执行的游戏引擎所托管的消息传递应用的第一实例来提供用于与第二客户端装置进行消息传递的用户界面;
接收渲染所述第一客户端装置的所述用户界面中的第一三维(3D)对象的第一指令,其中所述第一3D对象通过所述第二客户端装置的所述消息传递应用的第二实例来发起;
由所述游戏引擎基于所述第一指令来渲染一个或多个第一帧,以生成所述第一3D对象供所述第一客户端装置的所述用户界面中的呈现;以及
引起所述第一客户端装置的所述消息传递应用的所述第一实例的所述用户界面中的所述第一3D对象的一个或多个第一渲染帧的所述呈现。
2.如权利要求1所述的第一客户端装置,其中所述第一客户端装置的所述消息传递应用的所述第一实例的所述用户界面中的所述第一3D对象的所述一个或多个第一渲染帧的所述呈现与所述第一客户端装置上的游戏经由第二用户界面的呈现是并发的。
3.如权利要求1所述的第一客户端装置,其中所述消息传递应用的所述第一实例的所述用户界面中的所述第一3D对象的所述一个或多个第一渲染帧的所述呈现与所述游戏引擎工作在第一状态并发地发生,并且其中在所述第一状态,所述游戏引擎不执行游戏。
4.如权利要求3所述的第一客户端装置,其中所述处理装置:
通过所述消息传递应用的所述第一实例来提供用于消息传递的游戏界面的区域;
接收渲染所述第一客户端装置的所述游戏界面的所述区域中的第二3D对象的第二指令,其中所述第二3D对象通过所述第二客户端装置的所述消息传递应用的所述第二实例来发起;
由所述游戏引擎基于所述第二指令来渲染一个或多个第二帧,以生成所述第二3D对象供所述第一客户端装置的所述游戏界面的所述区域中的呈现;以及
与所述游戏引擎工作在第二状态并发地引起所述第一客户端装置的所述消息传递应用的所述第一实例的所述游戏界面的所述区域中的所述第二3D对象的一个或多个第二渲染帧的所述呈现,其中所述第二状态,所述游戏引擎执行所述游戏界面中呈现的所述游戏。
5.如权利要求4所述的第一客户端装置,其中所述用户界面中呈现的所述第一3D对象的所述一个或多个第一渲染帧是经由所述游戏界面的所述区域可访问的,并且其中所述游戏界面的所述区域中呈现的所述第二3D对象的所述一个或多个第二渲染帧是经由所述用户界面可访问的。
6.如权利要求1所述的第一客户端装置,其中所述第一3D对象包括3D动画。
7.如权利要求1所述的第一客户端装置,其中所述第一指令由协作平台的服务器从所述第二客户端装置的所述消息传递应用的所述第二实例来接收。
8.如权利要求1所述的第一客户端装置,其中所述处理装置:
接收包含文本的消息供所述消息传递应用的所述第一实例的所述用户界面中的呈现,其中所述消息通过所述第二客户端装置的所述消息传递应用的所述第二实例来发送;以及
引起所述第一客户端装置的所述消息传递应用的所述第一实例的所述用户界面中的所述消息的所述呈现。
9.如权利要求1所述的第一客户端装置,其中所述处理装置进一步:
经由所述消息传递应用的所述第一实例为所述第二客户端装置发送包含第三3D对象的消息,以便由所述第二客户端装置基于渲染所述第三3D对象的第三指令来渲染。
10.如权利要求1所述的第一客户端装置,其中所述处理装置进一步基于所述第一指令来生成渲染命令,并且其中由所述游戏引擎对所述一个或多个第一帧的所述渲染基于所述渲染命令。
11.一种非暂时计算机可读存储介质,包含其上存储的指令,所述指令响应由第一客户端装置的处理装置的执行而使所述处理装置执行操作或者控制操作的执行,所述操作包括:
通过所述第一客户端装置上执行的游戏引擎所托管的消息传递应用的第一实例来提供用于与第二客户端装置进行消息传递的用户界面;
接收渲染所述第一客户端装置的所述用户界面中的第一三维(3D)对象的第一指令,其中所述第一3D对象通过所述第二客户端装置的所述消息传递应用的第二实例来发起;
由所述游戏引擎基于所述第一指令来渲染一个或多个第一帧,以生成所述第一3D对象供所述第一客户端装置的所述用户界面中的呈现;以及
引起所述第一客户端装置的所述消息传递应用的所述第一实例的所述用户界面中的所述第一3D对象的一个或多个第一渲染帧的所述呈现。
12.如权利要求11所述的非暂时计算机可读存储介质,其中所述消息传递应用的所述第一实例的所述用户界面中的所述第一3D对象的所述一个或多个第一渲染帧的所述呈现与所述游戏引擎工作在第一状态并发地发生,其中在所述第一状态,所述游戏引擎不执行游戏。
13.如权利要求12所述的非暂时计算机可读存储介质,其中所述处理装置执行包括下列步骤的其他操作:
通过所述消息传递应用的所述第一实例来提供用于消息传递的游戏界面的区域;
接收渲染所述第一客户端装置的所述游戏界面的所述区域中的第二3D对象的第二指令,其中所述第二3D对象通过所述第二客户端装置的所述消息传递应用的所述第二实例来发起;
由所述游戏引擎基于所述第二指令来渲染一个或多个第二帧,以生成所述第二3D对象供所述第一客户端装置的所述游戏界面的所述区域中的呈现;以及
与所述游戏引擎工作在第二状态并发地引起所述第一客户端装置的所述消息传递应用的所述第一实例的所述游戏界面的所述区域中的所述第二3D对象的一个或多个第二渲染帧的所述呈现,其中在所述第二状态,所述游戏引擎执行所述游戏。
14.如权利要求13所述的非暂时计算机可读存储介质,其中所述用户界面中呈现的所述第一3D对象的所述一个或多个第一渲染帧是经由所述游戏界面的所述区域可访问的,并且其中所述游戏界面的所述区域中呈现的所述第二3D对象的所述一个或多个第二渲染帧是经由所述用户界面可访问的。
15.如权利要求10所述的非暂时计算机可读存储介质,其中所述操作进一步包括:
接收包含文本的消息供所述消息传递应用的所述第一实例的所述用户界面中的呈现,其中所述消息通过所述第二客户端装置的所述消息传递应用的所述第二实例来发送;以及
引起所述第一客户端装置的所述消息传递应用的所述第一实例的所述用户界面中的所述消息的所述呈现。
16.一种方法,包括:
通过第一客户端装置上执行的游戏引擎所托管的消息传递应用的第一实例来提供用于与第二客户端装置进行消息传递的用户界面;
接收渲染所述第一客户端装置的所述用户界面中的第一三维(3D)对象的第一指令,其中所述第一3D对象通过所述第二客户端装置的所述消息传递应用的第二实例来发起;
由所述游戏引擎基于所述第一指令来渲染一个或多个第一帧,以生成所述第一3D对象供所述第一客户端装置的所述用户界面中的所述呈现;以及
引起所述第一客户端装置的所述消息传递应用的所述第一实例的所述用户界面中的所述第一3D对象的所述一个或多个第一渲染帧的所述呈现。
17.如权利要求16所述的方法,其中所述消息传递应用的所述第一实例的所述用户界面中的所述第一3D对象的所述一个或多个第一渲染帧的所述呈现与所述游戏引擎工作在第一状态并发地发生,并且其中在所述第一状态,所述游戏引擎不执行游戏。
18.如权利要求17所述的方法,进一步包括:
通过所述消息传递应用的所述第一实例来提供用于消息传递的游戏界面的区域;
接收渲染所述第一客户端装置的所述游戏界面的所述区域中的第二3D对象的第二指令,其中所述第二3D对象通过所述第二客户端装置的所述消息传递应用的所述第二实例来发起;
由所述游戏引擎基于所述第二指令来渲染一个或多个第二帧,以生成所述第二3D对象供所述第一客户端装置的所述游戏界面的所述区域中的呈现;以及
与所述游戏引擎工作在第二状态并发地引起所述第一客户端装置的所述消息传递应用的所述第一实例的所述游戏界面的所述区域中的所述第二3D对象的所述一个或多个第二渲染帧的所述呈现,其中在所述第二状态,所述游戏引擎执行所述游戏。
19.如权利要求18所述的方法,其中所述用户界面中呈现的所述第一3D对象的所述一个或多个第一渲染帧是经由所述游戏界面的所述区域可访问的,并且其中所述游戏界面的所述区域中呈现的所述第二3D对象的所述一个或多个第二渲染帧是经由所述用户界面可访问的。
20.如权利要求16所述的方法,其中所述第一指令由协作平台的服务器从所述第二客户端装置的所述消息传递应用的所述第二实例来接收。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/918,928 US11717760B2 (en) | 2018-03-12 | 2018-03-12 | Chat application using a gaming engine |
US15/918,928 | 2018-03-12 | ||
PCT/US2019/020805 WO2019177813A1 (en) | 2018-03-12 | 2019-03-05 | Chat application using a gaming engine |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112075054A true CN112075054A (zh) | 2020-12-11 |
CN112075054B CN112075054B (zh) | 2022-11-15 |
Family
ID=67844506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980027400.2A Active CN112075054B (zh) | 2018-03-12 | 2019-03-05 | 使用游戏引擎的聊天应用 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11717760B2 (zh) |
EP (1) | EP3766209A4 (zh) |
CN (1) | CN112075054B (zh) |
WO (1) | WO2019177813A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11044285B1 (en) * | 2018-07-13 | 2021-06-22 | Berryville Holdings, LLC | Method of providing secure ad hoc communication and collaboration to multiple parties |
US10953332B2 (en) * | 2018-12-20 | 2021-03-23 | Roblox Corporation | Online gaming platform voice communication system |
WO2021096982A1 (en) * | 2019-11-11 | 2021-05-20 | Manticore Games, Inc. | Programmatically configuring materials |
US11960784B2 (en) * | 2021-12-07 | 2024-04-16 | Snap Inc. | Shared augmented reality unboxing experience |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6784901B1 (en) * | 2000-05-09 | 2004-08-31 | There | Method, system and computer program product for the delivery of a chat message in a 3D multi-user environment |
US20100041457A1 (en) * | 2008-08-14 | 2010-02-18 | Valve Corporation | Overlaying interactive video game play with real-time chat sessions with game switching |
US20120028700A1 (en) * | 2010-07-27 | 2012-02-02 | Disney Enterprises, Inc. | Online parallel play |
CN104247336A (zh) * | 2011-12-16 | 2014-12-24 | 星佳公司 | 在游戏中提供社交网络内容 |
CN105005473A (zh) * | 2015-06-29 | 2015-10-28 | 乐道互动(天津)科技有限公司 | 一种用于开发3d游戏的游戏引擎系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7367885B2 (en) * | 2001-08-09 | 2008-05-06 | Igt | 3-D text in a gaming machine |
US7995064B2 (en) * | 2004-10-12 | 2011-08-09 | Imvu, Inc. | Computer-implemented chat system having dual channel communications and self-defining product structures |
US8405662B2 (en) | 2006-07-04 | 2013-03-26 | Iti Scotland Limited | Generation of video |
US8342946B2 (en) * | 2008-10-24 | 2013-01-01 | Bgc Partners, Inc. | Computer graphics processing and display of selectable items |
US20110014984A1 (en) * | 2009-07-17 | 2011-01-20 | Douglas Penman | System and Method for Personality Adoption by Online Game Peripherals |
US9798457B2 (en) * | 2012-06-01 | 2017-10-24 | Microsoft Technology Licensing, Llc | Synchronization of media interactions using context |
-
2018
- 2018-03-12 US US15/918,928 patent/US11717760B2/en active Active
-
2019
- 2019-03-05 WO PCT/US2019/020805 patent/WO2019177813A1/en unknown
- 2019-03-05 EP EP19766746.2A patent/EP3766209A4/en active Pending
- 2019-03-05 CN CN201980027400.2A patent/CN112075054B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6784901B1 (en) * | 2000-05-09 | 2004-08-31 | There | Method, system and computer program product for the delivery of a chat message in a 3D multi-user environment |
US20100041457A1 (en) * | 2008-08-14 | 2010-02-18 | Valve Corporation | Overlaying interactive video game play with real-time chat sessions with game switching |
US20120028700A1 (en) * | 2010-07-27 | 2012-02-02 | Disney Enterprises, Inc. | Online parallel play |
CN104247336A (zh) * | 2011-12-16 | 2014-12-24 | 星佳公司 | 在游戏中提供社交网络内容 |
CN105005473A (zh) * | 2015-06-29 | 2015-10-28 | 乐道互动(天津)科技有限公司 | 一种用于开发3d游戏的游戏引擎系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112075054B (zh) | 2022-11-15 |
EP3766209A1 (en) | 2021-01-20 |
US20190275434A1 (en) | 2019-09-12 |
EP3766209A4 (en) | 2021-11-24 |
WO2019177813A1 (en) | 2019-09-19 |
US11717760B2 (en) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112075054B (zh) | 使用游戏引擎的聊天应用 | |
Van Rijmenam | Step into the Metaverse: How the immersive internet will unlock a trillion-dollar social economy | |
US11752433B2 (en) | Online gaming platform voice communication system | |
US11238667B2 (en) | Modification of animated characters | |
WO2021242552A1 (en) | Automated generation of game tags | |
US11080916B1 (en) | Character morphing system | |
US11645805B2 (en) | Animated faces using texture manipulation | |
US11531685B2 (en) | Addressing data skew using map-reduce | |
KR102475236B1 (ko) | 게이밍 플랫폼을 이용한 근접 사용자와의 그룹 게임플레이 | |
CN114667511A (zh) | 在搜索结果中显著显示目标游戏 | |
US20240149165A1 (en) | Optimized player positioning system in virtual experiences | |
US20240086050A1 (en) | Computer-assisted graphical development tools |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |