游戏运行装置及游戏程序的制作方法

文档序号:21600603发布日期:2020-07-24 16:52阅读:241来源:国知局
游戏运行装置及游戏程序的制作方法

本发明涉及提供双向游戏体验的游戏运行装置或程序。



背景技术:

电子游戏可大致分为单机(standalone)游戏或网络游戏(例如,云游戏、mo(multiplayeronline,多人在线)游戏、mmo(massivelymultiplayeronline,大型多人在线)游戏);而网络游戏又可进一步分为c/s(客户机服务器,client/server)型游戏和p2p(点对点,peertopeer)型游戏。单机游戏和p2p型游戏,通过玩家终端运行游戏程序实现,游戏玩家少则1名,多则几十名。其他游戏,特别是c/s型游戏,则通过连接玩家终端的游戏服务器运行至少部分游戏程序实现;在mmo型游戏中,同时联网的玩家有几百名甚至几百万名。

电子游戏的基本机制是玩家与游戏程序间进行交互的循环:玩家感知游戏程序输出,即游戏画面、声音和振动等,基于此进行判断,输入操作,游戏程序基于其操作过渡到游戏状态,生成进一步输出。

近年来,视频共享系统上涌现出名为“游戏直播”的视频类型。游戏直播是一种内容共享方式,采用玩家(传输者)向多名观众直播(传输)游戏情况的形态。玩家以外的观众可以通过游戏直播,享受身临其境的游戏体验。

在部分视频共享系统上,观众还可针对直播视频发送评论。在游戏直播中,某观众发送了评论,其他观众和传输者均可实时阅读。传输者根据观众评论中的建议或要求进行操作,观众进一步发送评论,由此,可以营造双向的游戏体验。

另外,日本国特开2016-189804号公报披露了如何获取并收集输入至实时游戏视频阅读中的评论,选择播出方式[0011]的发明。但,据日本国特开2016-189804号公报可知,特效、背景素材和画面装饰等不同播出方式均可设置,然而任何播出方式都不能改变游戏内容本身,仅外观发生变化([0085]、[图18])。



技术实现要素:

仅凭观众对直播视频发送评论、供传输者阅读的机制,观众对游戏推进的影响力是有限的。如果观众发送多条评论,却被传输者看漏或无视,观众评论就不会影响游戏推进。在传统的游戏直播模式中,只有传输者能直接参与游戏推进,而观众想法与传输者想法无关,所以不可能影响游戏推进。

另一方面,假设游戏直播的观众可以通过触发(子)事件,例如投放道具,来介入游戏的推进。由该机制可知,游戏上除根据玩家即传输者操作触发或随着游戏推进自动触发的事件之外,观众的介入也将触发事件。这意味着,这种模式比仅玩家参与游戏时触发的事件多。

如果多名观众同时大量要求介入,短时间内集中触发的事件数超过传输者和观众的感知能力,即使每触发一个事件都会收到一条通知,传输者和观众也难以跟进游戏状态。这可能减少游戏及游戏视频的乐趣,妨碍传输者和观众之间或者观众与观众之间的交流,从而破坏双向的游戏体验。并且,如果要在短时间内通知已触发多个事件,也会加重游戏运行主体(游戏服务器或传输者终端)的处理负荷。

日本国特开2013-106858号公报中记载了一个游戏服务器装置,用于避免服务器端计算机在对战型和自动运行型游戏中(0021)负荷过大(摘要),具有以下部分:接收游戏输入的“接收部”([0026])、根据已接收的游戏输入进行游戏运行处理的“运行处理部”([0027]),以及决定能否按照日程表同步从多个游戏输入装置接收游戏输入的“决定部”([0035])。

日本国特开2013-135761号公报中记载,为抑制显示非玩家角色对话时的控制负荷增大([0007]),会基于优先度适当选择(跳过),例如,选择不跳过优先级最高的对话([0063])。

本发明的目的是,当短时间内集中触发事件,回避该通知带来的恶劣影响。

根据本发明的一个实施例可知,游戏运行装置包括接收部、事件控制部、选择部和生成部。游戏实时播放的观众终端发布介入该游戏的要求,接收部从辅助服务器接收基于该要求的事件触发要求。事件控制部至少根据触发要求,控制游戏上触发的事件。选择部从第1期间内游戏上触发的第1事件中,选择不超过规定个数的通知对象事件。生成部向游戏玩家生成通知数据,通知已触发通知对象事件。

根据本发明可知,当短时间内集中触发事件,可以回避该通知带来的恶劣影响。

附图说明

图1是表示包括第1实施例涉及的游戏服务器在内的、实时游戏视频传输系统的区块示例图。

图2是表示图1之游戏服务器的区块示例图。

图3是表示优先级表格的示例图。

图4是图2之游戏服务器关于事件通知的动作概念图。

图5是表示通知数据的示例图。

图6是表示另一个通知数据的示例图。

图7是表示图2之游戏服务器动作的流程示例图。

图8是表示图7之步骤s740详情的流程示例图。

图9是表示包括第2实施例涉及的游戏服务器在内的、实时游戏视频传输系统的区块示例图。

图10是图9之传输者终端的区块示例图。

具体实施方式

下面参照附图说明实施例。另,对于和已做过说明之要素相同或相似的要素,下文将使用相同或相似符号表示,原则上省略重复性说明。例如,当存在多个相同或相似要素,会为了不在说明时区分各要素而使用通用符号,也会为了在说明时区分各要素而在该通用符号后添加副编号使用。

(第1实施例)

第1实施例涉及的游戏服务器,可以组装在图1所示的实时游戏视频传输系统上。该传输系统包括传输者终端100、视频传输服务器200、观众终端300-1、300-2……以及辅助服务器400和游戏服务器500。

在图1示例中,视频传输服务器200向观众终端300(和传输者终端100)传输c/s型网络游戏的实时游戏视频;该网络游戏在传输者终端100(客户机)和游戏服务器500(服务器)上运行。

此处的游戏可以是人工生命体的养成类游戏。在该养成游戏中,玩家可将人工生命体移入名为“域”的虚拟世界,欣赏域的生态,或者该人工生命体形成群体(一族)后与其他群体共存的样子,享受乐趣。为避免自己拥有的人工生命体死亡或其所属一族灭亡,或者出于让这一族获利等目的,玩家可向域投放为人工生命体补充能量的道具(食物)或具有其他效果的操作对象。在该系统中,玩家即传输者和观众均可使用辅助服务器400介入游戏,与玩家(传输者)一起支持喜爱的人工生命体或其所属一族,反之,也可阻挠敌对势力的活动等。

传输者终端100运行游戏程序(客户端程序)。传输者终端100从游戏服务器500接收游戏程序(服务器端程序)的运行结果,输出游戏画面/声音(可能含振动或其他反馈),传输者即玩家感知该输出。此处游戏程序的运行结果,可以是游戏画面/声音(已完成编码的数据)本身,也可以是生成游戏状态的游戏画面/声音时所需的数据。例如,云游戏中可能向传输者终端100传送游戏画面/声音本身。

关于后者例,为决定游戏画面的图像和输出声音,传输者终端100将游戏素材数据事先保存在主记忆或辅助记忆装置中;游戏素材数据包括:角色、操作对象、背景和视觉效果(visualeffect)等图片数据,声音效果(se:soundeffect)、bgm(backgroundmusic,背景音乐)和角色声音(charactervoice)等声音数据,以及振动模式等。

玩家感知来自传输者终端100的输出后,基于此向该传输者终端100输出操作。传输者终端100向游戏服务器500发送玩家操作数据。传输者终端100进而依次将游戏画面/声音,如有必要则编码附加图片/声音并将已完成解码的数据,发送(上传)至视频传输服务器200。此处附加图片/声音,可能包括拍摄传输者获得的图像或传输者的实况声音等。

传输者终端100是可运行游戏程序(客户端程序)的计算机等电子设备,包括但不限于pc(personalcomputer,个人计算机)、移动终端(如平板电脑、智能手机、笔记本电脑、功能手机、便携式游戏机、数码音乐播放器和电子书阅读器等)、vr(virtualreality,虚拟现实)终端、ar(augmentedreality,增强现实)终端、游戏机和电视机(含网络电视)等。

另,传输者终端100可从物理状态上分为运行游戏程序的装置(游戏运行装置)和编码图片/声音后发送已完成编码的多媒体数据的装置(编码上传装置)。此时,游戏画面/声音数据既可以从游戏运行装置直接输出到编码上传装置,也可以间接输出。关于后者,编码上传装置可通过拍摄已连接游戏运行装置的显示装置之画面,录制扬声器输出的声音,采集该游戏画面/声音数据。

视频传输服务器200通过网络连接传输者终端100和观众终端300,可互相收发数据。视频传输服务器200依次从传输者终端100接收已完成编码的数据,发送至观众终端300。

观众终端300基于来自用户的操作输入,针对游戏发布介入要求,并发送给辅助服务器400。观众终端300可能是和传输者终端100相同的电子设备。但,观众终端300不必具备运行游戏程序能力。

辅助服务器400通过网络连接观众终端300和游戏服务器500。辅助服务器400从观众终端300接收介入要求,将基于该要求的事件触发要求发送至游戏服务器500。事件触发要求可能包括表示所要求事件之种类的数据,以及表示要求主体即观众(以下称“要求者”)的数据。下文在说明时不区分事件和副事件,均称为“事件”。

辅助服务器400通过以上操作,可让观看实时游戏视频之观众的至少部分想法影响该游戏的推进,进而波及该观众观看的实时游戏视频,从而实现具有高度双向一体感的游戏体验。

另,辅助服务器400还可有条件地接收来自观众终端300的介入要求。具体说来,辅助服务器400可允许观众在支付对价(以下称“介入对价”)的条件下介入游戏。此处介入对价可表现为现实货币,也可表现为视频传输服务中可用的虚拟货币(含积分)。观众希望介入游戏时,在同意支付显示于观众终端300的介入对价后,方可操作该观众终端300发布介入要求。辅助服务器400收到来自观众终端300的介入要求后,凭借支付发布该要求时显示于该观众终端300的介入对价介入游戏。另,介入对价的结算处理,可在辅助服务器400上执行,也可在不同于辅助服务器400的其他结算服务器上执行。

游戏服务器500通过网络连接传输者终端100,可互相收发数据。游戏服务器500运行游戏程序。第1实施例涉及的游戏服务器500可称为“游戏运行装置”。

游戏服务器500基于传输者终端100发送的玩家操作数据和来自辅助服务器400的事件触发要求,过渡到游戏状态。游戏服务器500依次向传输者终端100发送游戏程序的运行结果。

关于由玩家操作数据和事件触发要求触发的事件和随着游戏推进自动触发的事件,游戏服务器500至少会对其中部分事件生成通知数据,通知玩家已触发所通知的事件。但,游戏服务器500会如下所述,限制单位时间内的通知对象事件数,即使短时间内集中触发了事件,也不会通知超过规定个数(如1个)的事件。由此,可让玩家和观众在一定程度上跟进游戏状态,又可避免破坏提供给玩家和观众的游戏体验。另外,游戏服务器500的负荷也不会因通知增至超过一定上限。

另,图1显示的各装置数量只是示例。例如,观众终端300的数量会时刻变化,所以既可能为0,也可能成百上千。另外,可加设图1中未显示的web服务器或评论传输服务器。

接下来,使用图2至图8,详细说明游戏服务器500。

游戏服务器500是一种计算机,包括执行输入输出控制、通信控制和游戏运行(即控制事件、将在下文提及的选择通知对象事件和生成通知数据等)的处理器。另外,游戏服务器500还包括临时储存该处理器实现所述处理时运行的程序,以及该处理器所用数据的存储器。

另,游戏服务器500可在onmemory状态下处理所有数据,也可将部分数据保存在辅助记忆装置中。辅助记忆装置可以是游戏服务器500内置或外接的hdd(harddiscdrive,硬盘驱动器)、ssd(solidstatedrive,固态驱动器)或快闪存储器等,也可以是游戏服务器500能够访问的数据库服务器。

另外,游戏服务器500还可以是多台计算机的组合。例如,可将游戏服务器500的功能部,如将在下文提及的通信部510、游戏运行部520以及各种记忆部,分别安装在不同计算机上。

游戏服务器500还可以使用通信i/f(接口)联网。通信i/f可以是游戏服务器500中内置的,也可以是游戏服务器500外接的。

通信i/f是可让传输者终端100通过网络和辅助服务器400实现通信的模块。例如,通信i/f从传输者终端100接收玩家操作数据,反之,它也向传输者终端100发送游戏程序的运行结果。另外,通信i/f从辅助服务器400接收事件触发要求。通信i/f还可能从辅助服务器400或视频传输服务器200接收要求者的属性数据(将在下文提及)。

接下来,使用图2继续说明游戏服务器500的构成例。图2之游戏服务器500包括通信部510、游戏运行部520和各种记忆部。

通信部510可以是所述通信i/f,通过网络从传输者终端100、辅助服务器400等外部装置接收数据,再向外部装置发送数据。具体说来,通信部510包括接收部511和发送部512。

接收部511从传输者终端100接收玩家操作数据。接收部511还会从辅助服务器400接收事件触发要求。接收部511进而接收来自辅助服务器400或视频传输服务器200的观众属性数据。接收部511将接到的所述数据发送至游戏运行部520。具体说来,接收部511将观众的属性数据发送至属性获取部521。另,属性数据不必和事件触发要求独立,事件触发要求可附加该要求者的属性数据;下文将对属性数据进行详细说明。另外,接收部511至少向事件控制部522发送玩家操作数据和事件触发要求。

发送部512接收来自游戏运行部520的游戏程序运行结果,发送至传输者终端100。此处游戏程序运行结果中至少包括表示游戏中所触发事件的数据和将在后文提及的通知数据。如上所述,运行结果可以是游戏画面/声音(已完成编码的数据)本身,也可以是生成游戏状态的游戏画面/声音时所需的数据。关于后者,表示事件的数据可能包括事件id、事件种类、触发事件的时间和地点等,通知数据可能包括通知对象事件id,如有必要则可能是表示该通知状态(如通知顺序和通知时间)等的数据。

游戏运行部520可以是所述处理器和存储器,运行游戏程序(服务器端程序)。游戏运行部520从通信部510接收玩家操作数据和事件触发要求等数据,从各种记忆部读取所需信息,基于此过渡到游戏状态,生成通知数据。例如,游戏运行部520向虚拟空间增加全新的或从中删除已有的角色、道具或操作对象等,以此改变虚拟空间的状态。游戏运行部520向通信部510返回运行结果。具体说来,游戏运行部520包括属性获取部521、事件控制部522、通知对象选择部523和通知数据生成部524。

属性获取部521通过通信部510获取表示要求者和观众属性的属性数据。属性获取部521将属性数据保存至属性记忆部531。

选择通知对象事件时,可能会辅助性参照要求者的属性。换言之,如果根据将在后文提及的依据优先度降序选择事件,候选数量超过规定个数(通知对象事件的上限)时,可能基于要求者属性集中候选范围。但,选择通知对象事件时也可能完全不使用要求者属性。此时,可能会删除属性获取部521和属性记忆部531。

此处要求者的属性可能包括要求者开始观看实时游戏视频的时间。该信息可从视频传输服务器200获得。另外,要求者的属性还可能包括该要求者要求介入的时间。该信息可从辅助服务器400获得。要求者的属性还可能包括实时游戏视频中,游戏上根据该要求者发出的要求所触发的事件(在某个单位时间内)被选为通知对象事件的次数(通知对象事件的入选次数)。该信息可基于通知对象选择部523的输出,在游戏服务器500上进行管理。具体说来,关于单位时间内通知对象事件的每个要求者,通知对象选择部523将保存于属性记忆部531中的通知对象事件入选次数作为1增量即可。

事件控制部522从接收部511接收玩家操作数据和事件触发要求。另,因玩家操作数据和事件触发要求是各自独立的数据,事件控制部522在独立时机接收所述数据。

事件控制部522根据每个玩家操作数据和事件触发要求,控制游戏上触发的事件。另外,即使由于游戏程序式样,无法接到玩家操作数据或事件触发要求,事件控制部522也可能根据游戏推进触发事件。事件控制部522向发送部512和通知对象选择部523发送表示游戏上所触发事件的数据。另,游戏服务器500生成游戏画面/声音(已完成编码的数据)发送至传输者终端100时,事件控制部522可向图中未显示的游戏画面/声音生成部而非发送部512,发送游戏上所触发事件的数据。

通知对象选择部523从事件控制部522接收表示游戏上所触发事件的数据。通知对象选择部523在每单位时间,从该单位时间内游戏上触发的事件中选择不超过规定个数的通知对象事件。通知对象选择部523向通知数据生成部524发送表示通知对象事件的数据。此处规定个数既可以是1个,也可以是多个;并且,规定个数既可以是固定值,也可以是变化值。例如,人们对游戏中事件通知的感知能力,由于个人的信息处理能力或该游戏的经验不同,存在一定程度的差异性,因此,传输者或观众可自由设置通知的规定个数。另外,单位时间既可以是固定时长,也可以是变化时长。

具体说来,通知对象选择部523可根据对每种事件事先定义的优先度降序排列,选择通知对象事件。此外,通知对象选择部523可随机选择通知对象事件,也可根据事件触发时间的顺序或倒序选择通知对象事件。但,下文说明中假设通知对象选择部523根据优先度的降序排列选择通知对象事件。

根据优先度的降序排列选择通知对象事件,具有让玩家难以从通知对象事件中错过对游戏推进影响大的事件之效果。针对单位时间内触发的每个事件,通知对象选择部523都从优先度记忆部533读取该类事件对应的优先度。

图3表示了事件种类及其对应优先度的优先度表格例。在图3中,优先度从5(最高)到1(最低),共分为5个等级。另外,还在观众可参与,即可要求触发的事件上添加了〇符号。因此,假设规定个数为“1”,同一单位时间内触发了三个事件,分别是“已向域投放食物(低价值)”(优先度1)、“已发动操作对象效果”(优先度3)和“已向域投放新的人工生命体”(优先度4),那么通知对象选择部523将从中选择优先度最高的“已向域投放新的人工生命体”(优先度4)为通知对象事件。另,图3只是示例,允许按不同于图3的方式设置优先度。

此处,将单位时间内触发的事件按优先度降序排列,设此时位于规定个数位次的优先度为边界值,那么,每个通知对象事件的优先度均高于边界值。但,当存在多个优先度等于边界值的事件,候补通知对象事件将超过规定个数。由此,当单位时间内触发的事件中,优先度高于边界值的事件超过规定个数,通知对象选择部523可从优先度等于边界值的事件中,基于其要求者的属性选出部分作为通知对象事件。通知对象选择部523从属性记忆部531中针对每个被分配之优先度等于边界值的事件,读取其要求者的属性数据。

另,关于不存在要求者的事件,例如,根据玩家操作数据触发或随着游戏推进自动触发的事件,还可将这些事件的属性数据(属性值)设为默认值。

例如,触发事件的要求者观看实时游戏直播开始时间较晚,通知对象选择部523可优待其触发的事件;由此,有望稳定流动观众。反之,触发事件的要求者观看实时游戏直播开始时间较早,通知对象选择部523也可优待其触发的事件;由此,有望维持或增加固定观众的观看/介入欲望。

另外,要求者触发的事件入选通知对象事件次数少,通知对象选择部523可优待其触发的事件;由此,各要求者的介入都会得到关注,使各要求者的观看/介入欲望保持高涨。再者,要求者要求介入的时间较早或较晚,通知对象选择部523也可优待其触发的事件。

通知对象选择部523可以基于1个属性集中候选范围,也可以基于多个属性集中候选范围。关于后者例,既可组合多个属性形成指标,然后基于该指标集中候选范围,也可依次基于单个属性集中候选范围。

或者,当单位时间内触发的事件中,优先度高于边界值的事件超过规定个数,通知对象选择部523可从优先度等于边界值的事件中,随机选出部分作为通知对象事件。另外,当使用所述要求者属性也无法有效集中候选范围,通知对象选择部523可从剩余候选中随机选择通知对象事件。

由于单位时间内触发的事件数不一定固定,触发的事件可能多于规定个数,也可能少于规定个数。如是后者例,通知对象选择部523可将所有事件选为通知对象事件。并且,当单位时间内触发的事件数少于规定个数,即使通知了该单位时间内触发的所有事件,用于通知事件的资源(事件和/或画面内空间)仍有空余。因此,通知对象选择部523可将触发于过去单位时间但未在该过去单位时间内入选通知对象事件的事件(以下称“未通知事件”),选为当前单位时间内的通知对象事件。由此,可在不超过玩家和观众感知能力的范围内,通知玩家和观众更多所触发事件。

为实现所述未通知事件的间隔通知,需要管理表示未通知事件的数据。通知对象选择部523按各单位时间选择通知对象事件,同时将表示该单位时间内未通知事件的数据对应表示该单位时间的数据等,保存至未通知事件记忆部534。然后,当单位时间内触发的事件少于规定个数,通知对象选择部523从未通知事件记忆部534读取表示未通知事件的数据。

通知对象选择部523,可考虑所述优先度、要求者的属性等,将部分未通知事件定为通知对象事件;而通知对象选择部523还可考虑未通知事件自触发以来经过的时间。例如,通知对象选择部523可优待距离触发时间更近的未通知事件。由此,可避免玩家和观众因接到过于老旧的已触发事件通知,反而陷入混乱。另外,即使通知对象选择部523不直接考虑未通知事件自触发以来经过的时间,也可针对经过时间超过阈值的未通知事件,将表示它的数据从未通知事件记忆部534中删除,或者将未通知事件记忆部534中该类数据保存数限制在最新u个(u为任意自然数)。

通知数据生成部524从通知对象选择部523接收表示通知对象事件的数据,生成通知数据,通知游戏玩家(最终也会通知观众)已触发该通知对象事件。通知数据生成部524向发送部512发送通知数据。

此处,通知数据可让通知玩家已触发通知对象事件的图片数据与传输者终端100显示的游戏画面重叠(例如画中画(picture-in-picture)显示)。具体说来,通知数据可以是所述图片数据本身,也可以是在传输者终端100上描绘该图片数据时所需的数据。另外,图片数据可包含触发通知对象事件的时间和/或地点之信息。由此,玩家和观众可更为准确地感知游戏状态。并且,图片数据还可包含通知对象事件要求者的信息。由此,有望维持或增加要求者的观看/介入欲望。

所述图片数据可能如图5所示,包括从不同于游戏画面(虚拟)视角的其他视角观看通知对象事件触发地点附近的子画面。根据图5的图片数据可知,玩家和观众可在视觉上感知通知对象事件的触发。图片数据还可能如图6所示,包括记录已触发通知对象事件的文本图片。根据图6的图片数据可知,它比图5示例更能减少对游戏父画面显示区域的遮蔽。另,图5和图6的图片数据还可联用。关于使用哪种图片数据,可由玩家或观众设置,也可根据通知对象事件之类型进行切换,还可根据该通知对象事件在通知对象选择部523中的选择顺序进行切换(例如,选择顺序排在前a位(a为任意自然数)使用图5的图片数据,排在其他位次可使用图6的图片数据)。

另,当图1之系统中进行多视角传输,还可将所述图片数据链接不同视角后使用。换言之,当观众在观众终端300上选择如图5所示的子画面,传输至该观众终端300的主视角可切换为该子画面对应的视角。

或者,通知数据可能是传输者终端100输出通知游戏玩家已触发通知对象事件的声音数据时所需的数据。换言之,它既可以是记录已触发通知对象事件的文本数据(传输者终端100中tts(text-to-speech,从文本到语音)处理的对象),也可以是所述文本数据经tts处理获得的声音数据(已完成解码的数据)。

此处使用图4概念性地说明游戏服务器500通知事件的动作方式。在图4示例中,设单位时间t1内触发了事件1、事件2和事件3,紧接着,单位时间t2内触发了事件4;另外,设单位时间t1和单位时间52的规定个数(通知对象事件的上限数)为2。

首先,事件控制部522决定在单位时间t1内触发事件1、事件2和事件3。事件控制部522向通知对象选择部523依次汇报所述信息。

随后,通知对象选择部523从单位时间t1内触发的事件1、事件2和事件3中选择不超过2个的通知对象事件。在图4示例中,通知对象选择部523将事件1和事件2选为通知对象事件,将表示未通知事件即事件3的数据保存至未通知事件记忆部534。另,在图4示例中,通知对象选择部523在单位时间t2中选择了通知对象事件,但这只是示例。原理上,事件控制部522决定单位时间t1结束前触发的事件后,通知对象选择部523可在任意时机选择该单位时间t1的通知对象事件。

随后,传输者终端100显示的游戏画面上按照通知数据生成部524生成的通知数据,通知已触发事件1和事件2。在图4示例中,单位时间t2之后的单位时间t3通知已触发事件1和事件2,但这只是示例。原理上,通知对象选择部523选出单位时间t1内的通知对象事件,通知数据生成部524生成其通知数据后传送至传输者终端100,该通知对象事件的通知可在其后的任意时机执行。

事件控制部522进而决定在单位时间t2内,在游戏中触发事件4。事件控制部522向通知对象选择部523汇报该信息。

随后,通知对象选择部523将单位时间t2内触发的事件4选为通知对象。在图4示例中,由于设单位时间t2的规定个数为2,通知对象选择部523进一步将未通知事件即事件3选为通知对象事件。换言之,通知对象选择部523将事件3和事件4选为单位时间t2内的通知对象事件。另,在图4示例中,通知对象选择部523在单位时间t3中选择了通知对象事件,但这只是示例。原理上,事件控制部522决定单位时间t2结束前触发的事件,通知对象选择部523可在其后的任意时机选择该单位时间t2内的通知对象事件。

随后,传输者终端100显示的游戏画面上按照通知数据生成部524生成的通知数据,通知已触发事件3和事件4。在图4示例中,单位时间t3之后的单位时间t4通知已触发事件3和事件4,但这只是示例。原理上,通知对象选择部523选出单位时间t2内的通知对象事件,通知数据生成部524生成其通知数据后传送至传输者终端100,该通知对象事件的通知可在其后的任意时机执行。

图2示例中的各种记忆部包括:属性记忆部531、游戏数据记忆部532、优先度记忆部533和未通知事件记忆部534。这些记忆部可以是所述存储器单体,也可以是存储器和辅助记忆装置的组合。

属性记忆部531保存表示要求者和观众属性的属性数据。属性数据由属性获取部521和/或通知对象选择部523写入或改写;而属性数据由通知对象选择部523读取。

游戏数据记忆部532保存游戏程序使用的各种游戏数据。安装或升级游戏程序时,可将游戏数据写入游戏数据记忆部532,或对其中的游戏数据进行改写。游戏数据由事件控制部522读取。在图2示例中,因为游戏服务器500不一定生成游戏画面/声音,所以,游戏数据中不一定包括素材数据。

优先度记忆部533以图3所示的优先度表格的形式,保存事件种类对应的优先度。安装或升级游戏程序时,可将优先度写入优先度记忆部533,或对其中的优先度进行改写。优先度由通知对象选择部523读取。

未通知事件记忆部534保存表示所述未通知事件的数据。该数据由通知对象选择部523写入或改写。该数据由通知对象选择部523读取。

接下来,使用图7说明游戏服务器500在1个单位时间内的动作示例。

首先,接收部511接收来自辅助服务器400的事件触发要求(步骤s710),或者接收来自传输者终端100的玩家操作数据(步骤s720)。然后,事件控制部522基于在步骤s710接到的事件触发要求,或者在步骤s720接到的玩家操作数据,控制事件(步骤s730)。具体说来,事件控制部522决定触发哪个事件。

所述处理循环运行,直至单位时间结束,所有触发事件确定下来(步骤s735),进入到步骤s740。另一方面,图7的动作可以在下个单位时间并行展开。换言之,事件控制部522开始控制下个单位时间触发的事件。

另,图7只是示例,事件控制部522即使不接收任何事件触发要求或玩家操作数据,也可以根据游戏推进自动决定触发事件。

在步骤s740中,通知对象选择部523从步骤s730决定在单位时间内触发的事件中,选择不超过规定个数的通知对象事件。另,关于步骤s740的详情,将在图7说明完毕后使用图8说明。

接着,通知数据生成部524生成通知数据,通知玩家已触发步骤s740中入选的通知对象事件(步骤s750)。然后,发送部512向传输者终端100发送游戏程序的运行结果,其中包括步骤s750中生成的通知数据(步骤s760)。

接下来,使用图8详细说明图7之步骤s740。

首先,通知对象选择部523计算单位时间内触发的事件数,判断是否超过该单位时间的规定个数(步骤s741)。如单位时间内的触发事件数超过规定个数,则进入到步骤s742进行处理;否则进入步骤s745。

在步骤s742中,通知对象选择部523按优先度降序排列,选择不超过规定个数的通知对象事件。此处,如优先度高于所述边界值的事件数不超过规定个数,即优先度高于所述边界值的事件数等于规定个数,则在步骤s742完成通知对象事件的选择。反之,如优先度高于边界值的事件超过规定个数,通知对象选择部523则将选择范围集中于优先度等于边界值的事件(步骤s744)。通知对象选择部523可利用所述要求者的属性,也可执行随机选择,还可结合两者进行选择。

在步骤s745中,通知对象选择部523将单位时间内触发的所有事件均选为通知对象事件。此处,如已入选的通知对象事件数并非不足规定个数,即入选通知对象事件数等于规定个数,则在步骤s745完成通知对象事件的选择。反之,如已入选的通知对象事件数不足规定个数,通知对象选择部523进一步将所述未通知事件选为通知对象事件(步骤s747)。

如上所述,第1实施例涉及的游戏服务器,从单位时间内触发的事件中选择不超过规定个数的通知对象事件,通知玩家,最终也通知观众已触发该通知对象事件。因此,根据该游戏服务器可知,即使短时间内集中触发事件,通知也不会超过规定个数,可让玩家和观众在一定程度上跟进游戏状态,又可避免破坏提供给玩家和观众的游戏体验。另外,游戏服务器的负荷也不会因通知增至超过一定上限。

(第2实施例)

第2实施例涉及的游戏服务器,可以组装在图9所示的实时游戏视频传输系统上。该传输系统包括传输者终端600、视频传输服务器200、观众终端300-1、300-2、……以及辅助服务器400。

在图9示例中,视频传输服务器200向观众终端300(和传输者终端600)传输单机型游戏或p2p型网络游戏的实时游戏视频;该游戏在传输者终端600上运行。

图9之视频传输服务器200、观众终端300和辅助服务器400可能与图1之视频传输服务器200、观众终端300和辅助服务器400相同。但,需要将图1有关说明中的“传输者终端100”和“游戏服务器500”替换为“传输者终端600”。

传输者终端600运行游戏程序。另外,传输者终端600应将游戏的素材数据保存在其主记忆或辅助记忆装置中。第2实施例涉及的传输者终端600可称为游戏运行装置。

传输者终端600接收来自玩家的操作,并从辅助服务器400接收事件触发要求。传输者终端600基于玩家操作数据和事件触发要求,过渡到游戏状态。传输者终端600依次基于游戏状态和游戏的素材数据,生成并输出游戏画面/声音。

玩家感知来自传输者终端600的输出后,基于此向该传输者终端600输出操作。传输者终端600接收玩家操作,进一步过渡到游戏状态。传输者终端600进而依次将游戏画面/声音,如有必要还会编码附加图片/声音,发送至视频传输服务器200。

关于由玩家操作数据和事件触发要求触发的事件和随着游戏推进自动触发的事件,传输者终端600至少会对其中部分事件生成通知数据,通知玩家已触发所通知的事件。但,传输者终端600会如下所述,限制单位时间内的通知对象事件数,即使短时间内集中触发了事件,也不会通知超过规定个数的事件。由此,既可以让玩家和观众在一定程度上跟进游戏状态,又可以避免破坏提供给玩家和观众的游戏体验。另外,传输者终端600的负荷也不会因通知增至超过一定上限。

传输者终端600是可运行游戏程序的计算机等电子设备,例如,可能是与图1之传输者终端100相同的电子设备。另,传输者终端600可从物理状态上分为运行游戏程序的装置(游戏运行装置)和编码图片/声音后发送已完成编码的多媒体数据的装置(编码上传装置)。此时,游戏画面/声音数据既可以从游戏运行装置直接输出到编码上传装置,也可以间接输出。关于后者,编码上传装置可通过拍摄已连接游戏运行装置的显示装置之画面,录制扬声器输出的声音,采集该游戏画面/声音数据。

另,图9显示的各装置数量只是示例。例如,观众终端300的数量会时刻变化,所以既可能为0,也可能成百上千。另外,可加设图9中未显示的web服务器或评论传输服务器。

传输者终端600包括执行输入输出控制、通信控制和游戏运行(即控制事件、选择通知对象事件和生成通知数据等)的处理器。另外,传输者终端600还包括临时储存该处理器实现所述处理时运行的程序,以及该处理器所用数据的存储器。

另,传输者终端600可在onmemory状态下处理所有数据,也可将部分数据保存在辅助记忆装置中。辅助记忆装置可以是传输者终端600内置或外接的hdd、ssd或快闪存储器等,也可以是传输者终端600能够访问的数据库服务器。

另外,传输者终端600还可以是多台计算机的组合。例如,可将传输者终端600的功能部,如将在下文提及的通信部610、游戏运行部620以及各种记忆部,分别安装在不同计算机上。

传输者终端600还可以利用通信i/f联网。通信i/f可以是传输者终端600中内置的,也可以是传输者终端600外接的。

通信i/f是可让视频传输服务器200通过网络和辅助服务器400实现通信的模块。例如,通信i/f向视频传输服务器发送(上传)已完成编码的数据。另外,通信i/f从辅助服务器400接收事件触发要求。通信i/f还可能从辅助服务器400或视频传输服务器200接收要求者的属性数据。

传输者终端600还可使用输入装置接收用户输入。输入装置可以是传输者终端600中内置的,也可以是传输者终端600外接的。

输入装置可以是键盘、鼠标、小键盘、麦克风、话筒或摄像头等,也可以是像触摸屏那样兼具输出装置功能的设备。典型的用户输入有轻按、点击、拖曳和按下特定键等。此外,用户输入还可包括话筒捕捉到的声音、生物传感器检测出的生物数据(如体温、表情等)、gps(globalpositioningsystem,全球定位系统)或凭借基站信息识别的位置数据、基于由加速度传感器检测出的加速度数据推测的用户动作(如挥动传输者终端600)等。

传输者终端600还可使用输出装置输出游戏画面/声音/振动。输出装置可以是传输者终端600中内置的,也可以是传输者终端600外接的。

输出装置可能包括用于显示动态图像、静态图片和文本等的显示设备,用于输出声音、乐曲等的扬声器,以及按所需模式振动的振动器等。显示设备有液晶显示器、oled显示屏(organicelectroluminesencedisplay,有机发光半导体显示屏)和crt(cathoderaytube,阴极射线显像管)显示器等。显示装置显示包括内容的显示数据。另,显示装置可以是像触摸屏那样兼具输入装置功能的设备。

接下来,使用图10继续说明传输者终端600的构成例。图10之传输者终端600包括通信部610、游戏运行620、各种记忆部、输入部641、编码器642和输出部643。

通信部610可以是所述通信i/f,通过网络从视频传输服务器200、辅助服务器400等外部装置接收数据,再向外部装置发送数据。具体说来,通信部610包括接收部611和发送部612。

接收部611从辅助服务器400接收事件触发要求;接收部611还从辅助服务器400或视频传输服务器200接收观众属性数据。接收部611将接到的所述数据发送至游戏运行部620。具体说来,接收部611将观众的属性数据发送至属性获取部621。另外,接收部611还将事件触发要求至少发送给事件控制部622。

发送部612从编码器642接收已完成编码的数据,发送至视频传输服务器200。

游戏运行部620可以是所述处理器和存储器,运行游戏程序。游戏运行部620从输入部641和通信部610接收玩家操作数据、事件触发要求等数据,从各种记忆部读取所需信息,基于此过渡到游戏状态,生成通知数据。游戏运行部620进而根据游戏状态的过渡描绘游戏画面,决定输出的游戏声音(和振动模式)。然后,游戏运行部620向编码器642和输出部643发送游戏画面/声音。具体说来,游戏运行部620包括属性获取部621、事件控制622、通知对象选择部623、通知数据生成部624和游戏画面/声音生成部625。

但,属性获取部621可与图2之属性获取部521相同或相似。事件控制部622,除输出表示游戏中触发事件之数据时的目的地外,可与图2之事件控制部522相同或相似。通知对象选择部623可与图2之通知对象选择部523相同或相似。通知数据生成部624,除输出通知数据时的目的地外,可与图2之通知数据生成部524相同或相似。

游戏画面/声音生成部625从事件控制部622接收表示游戏上所触发事件的数据,从通知数据生成部624接收通知数据,从游戏数据记忆部632读取游戏数据(含素材数据)。游戏画面/声音生成部625基于所述数据描绘游戏画面,决定输出的游戏声音(和振动模式)。游戏画面/声音生成部625向编码器642和输出部643发送生成的游戏画面/声音数据。

图10示例中的各种记忆部包括:属性记忆部631、游戏数据记忆部632、优先度记忆部633和未通知事件记忆部634。这些记忆部可以是所述存储器单体,也可以是存储器和辅助记忆装置的组合。

但,属性记忆部631、游戏数据记忆部632、优先度记忆部633和未通知事件记忆部634可与图2之属性记忆部531、游戏数据记忆部532、优先度记忆部533和未通知事件记忆部534相同或相似。另,游戏数据记忆部632中保存的游戏数据包括生成游戏画面/声音数据所需的素材数据。

输入部641可以是所述输入装置,接收来自玩家的操作。输入部641基于玩家操作生成操作数据。输入部641向游戏运行部620,例如事件控制部622,发送玩家操作数据。

编码器642可以是所述处理器和存储器,或者专用硬件编码器。编码器642从游戏画面/声音生成部625接收游戏画面/声音数据后编码。例如,编码器642使用既定的视频编解码器(如h.264、h.265等)编码游戏画面,使用既定的音频编解码器(如aac(advancedaudiocoding,高级音频编码))编码声音。然后,编码器642将已完成编码的数据,如mp4等形式的多媒体容器,发送至发送部612。

输出部643可以是所述输出装置。输出部643从游戏画面/声音生成部625接收游戏画面/声音数据后输出。换言之,显示设备显示游戏画面,扬声器输出游戏声音,振动器按照振动模式振动。

另,通过阅读图7说明的图2之游戏服务器500的动作示例,适当替换成传输者终端600的动作,即可理解。具体说来,传输者终端600和游戏服务器500的不同之处在于:直接接收玩家操作;基于含通知数据在内的游戏程序运行结果生成游戏画面/声音,独自输出,同时进行编码,上传至视频传输服务器200。

如上所述,第2实施例涉及的传输者终端,从单位时间内触发的事件中选择不超过规定个数的通知对象事件,通知玩家,最终也通知观众已触发该通知对象事件。因此,根据该传输者终端可知,即使短时间内集中触发事件,通知也不会超过规定个数,可让玩家和观众在一定程度上跟进游戏状态,又可避免破坏提供给玩家和观众的游戏体验。另外,传输者终端的负荷也不会因通知增至超过一定上限。

(变形例)

所述实施例中均限制了通知对象事件,以便玩家和观众在一定程度上跟进游戏状态。然而,还应设想存在如下需求:希望跟进通知对象中遗漏的事件。此时,可在游戏画面外设置区域,用于显示通知对象中遗漏的事件或所有事件信息,如什么事件在何时、何地发生等的清单(称为“事件清单”)。由于所述事件清单是在游戏画面外显示,不会妨碍专注于游戏画面的玩家或其他观众。另外,玩家或观众还可单独设置是否在自己的终端上显示该清单。

所述实施例中虽然说明了多个功能部,但这些只是各功能部的安装示例。例如,说明中安装在1个装置上的多个功能部,可安装在不同的多个装置上;反之,说明中安装在不同的多个装置上的功能部,也可安装在1个装置上。

所述实施例中只展示了有助于理解本发明之概念的具体示例,无意限制本发明的范围。实施例可在不偏离本发明要旨的范围内,添加、删除或转换各种构成要素。

所述各实施例中说明的各种功能部,可通过使用回路来实现。回路既可以是实现特定功能的专用回路,也可以是像处理器那样的通用回路。

所述各实施例的至少部分处理可通过使用基本硬件实现,例如通用计算机上配备的cpu,或者微型计算机、fpga(fieldprogrammablegatearray,现场可编程门阵列)或dsp(digitalsignalprocessor,数字信号处理器)等处理器。实现所述处理的程序可保存在计算机可读的记录媒体上提供。程序要以可安装或可运行的文件形式存储在记忆媒体上。记录媒体有磁盘、光盘(cd-rom、cd-r、dvd等)、光磁盘(mo等)和半导体存储器等;只要是可存储程序且计算机可读取的记忆媒体即可。另外,实现所述处理的程序可保存在连接因特网等网络的计算机(服务器)上,通过网络下载至计算机(客户机)上。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1