CN104378407A - 提供游戏用的服务器以及方法 - Google Patents

提供游戏用的服务器以及方法 Download PDF

Info

Publication number
CN104378407A
CN104378407A CN201410392040.5A CN201410392040A CN104378407A CN 104378407 A CN104378407 A CN 104378407A CN 201410392040 A CN201410392040 A CN 201410392040A CN 104378407 A CN104378407 A CN 104378407A
Authority
CN
China
Prior art keywords
terminal installation
game
information
frame
frame information
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
Application number
CN201410392040.5A
Other languages
English (en)
Other versions
CN104378407B (zh
Inventor
奥一穗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DeNA Co Ltd
Original Assignee
DeNA Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DeNA Co Ltd filed Critical DeNA Co Ltd
Publication of CN104378407A publication Critical patent/CN104378407A/zh
Application granted granted Critical
Publication of CN104378407B publication Critical patent/CN104378407B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种提供游戏用的服务器以及方法,可提供按照用户终端的处理能力更确切地发送游戏用画面的在线游戏。一实施方式的服务器具备如下模块:游戏实行部,用于实行游戏;生成部,以第一时间间隔按照游戏的进展生成帧信息,所述帧信息中记录有用于显示游戏用画面的一帧而在终端装置中运行的多条绘图指令;判断部,用于判断是否向终端装置发送生成的帧信息;压缩部,用于压缩生成的帧信息;发送部,用于将判断为进行发送的压缩后的帧信息向终端装置进行发送;以及请求部,以第二时间间隔请求终端装置发送绘图运行时间信息。

Description

提供游戏用的服务器以及方法
技术领域
本发明涉及提供游戏用的服务器以及方法,详细地说,涉及向以可通信方式连接的多台终端装置提供游戏用的服务器以及方法。
背景技术
以往,向借助互联网等通信线路进行连接的个人电脑、智能手机或者游戏专用终端等用户终端提供在线游戏的***为公众所知(例如参考专利文献1)。例如,在提供通常被称作云游戏的服务的***中,根据从用户终端发送的输入信息,在服务器侧按照游戏的进展进行相应的运算处理和图像处理,并且将运算结果作为视频动画发送至用户终端。另外,例如,在提供通常被称作多人在线游戏的服务的***中,通过在游戏专用终端或安装了专用软件的用户终端与服务器之间使用专用协议进行通信,实现了提供由多个用户同时进行操控的游戏。另一方面,随着智能手机的普及,通过借助移动网络等通信状况容易发生变化的网络进行连接并且具有多样且多变的处理能力的用户终端,使得大众享受这种在线游戏的机会增多。
在先技术文献
专利文献
专利文献1:日本特开2013-066524号公报
发明内容
发明所要解决的技术问题
但是,在上述云游戏中,由于将游戏用画面作为视频动画发送至用户终端,因此难以应对用户终端多样且多变的处理能力,例如,随着用户终端的处理能力下降,游戏用画面的质量会降低,有时还会出现死机的现象。另外,在上述的多人在线游戏中,考虑可实现按照用户终端的处理能力使发送的游戏用画面最优化的解决方案,但是开发专用的协议需要花费巨大的成本。因此,期待以更简单的方式实现按照用户终端的处理能力更确切地发送游戏用画面的解决方案。
本发明的实施方式的目的之一在于,提供一种按照用户终端的处理能力更确切地发送游戏用画面的在线游戏。本发明的其他目的通过参考本说明书的全部内容即可知晓。
用于解决技术问题的方案
根据本发明的一实施方式,一种服务器,向以可通信方式连接的多台终端装置提供游戏,其特征在于,具备:游戏实行部,根据从所述终端装置发送来的输入信息实行所述游戏;生成部,按照游戏的进展以第一时间间隔生成帧信息,所述帧信息用于将与所述游戏的进展相应的游戏用画面的一帧显示在所述终端装置上;请求部,为了确定所述终端装置的处理能力,以第二时间间隔请求所述终端装置发送规定信息;判断部,基于通过从所述终端装置发送的所述规定信息而确定的该终端装置的处理能力,判断是否向所述终端装置发送生成的所述帧信息;以及发送部,将判断为向所述终端装置发送的所述帧信息向该终端装置进行发送。
根据本发明的一实施方式,一种向以可通信方式连接的多台终端装置提供游戏的方法,其特征在于,根据从所述终端装置发送的输入信息实行所述游戏;按照所述游戏的进展以第一时间间隔生成帧信息,该帧信息用于将与所述游戏的进展相应的游戏用画面的一帧显示在所述终端装置上;为了确定所述终端装置的处理能力,以第二时间间隔请求所述终端装置发送规定信息;基于通过从所述终端装置发送的所述规定信息而确定的该终端装置的处理能力,向所述终端装置发送生成的所述帧信息;将判断为向所述终端装置发送的所述帧信息向该终端装置进行发送。
发明的效果
通过本发明的各种实施方式,能够提供一种按照用户终端的处理能力更确切地发送游戏用画面的在线游戏。
附图说明
图1是概略性地示出***1的网络结构框图,该***1包含涉及本发明的一实施方式的服务器10。
图2是概略性地示出一实施方式中的服务器10的功能模块的框图。
图3是示出一实施方式中的统计信息管理表的一个示例的说明图。
图4是示出一实施方式中的帧信息生成发送处理的一个示例的流程图。
图5是示出一实施方式中的游戏用画面60的一个示例的说明图。
图6是示出一实施方式中的帧信息的一个示例的说明图。
图7是示出一实施方式中的帧信息的其他示例的说明图。
图8是示出一实施方式中的统计信息获取处理的一个示例的流程图。
附图标记说明:
1:***
10:服务器
20:通信网络
30:终端装置
51:游戏实行部
52:生成部
53:判断部
54:压缩部
55:发送部
56:请求部
60:游戏用画面
80、90:帧信息
具体实施方式
图1是概略性地示出***1的网络结构框图,该***1包含涉及本发明的一实施方式的服务器10。如图1所示,一实施方式中的服务器10借助互联网等通信网络20以可通信方式与普通计算机所构成的终端装置30相连接,能够向操作该终端装置30的用户提供各种游戏。此外,在服务器10上以可通信的方式还连接着终端装置30以外的未图示的终端装置。另外,服务器10能够向操作终端装置30的用户提供游戏以外的各种数字内容,能够提供数字内容以外的各种互联网服务,进一步,还能够提供用于实现在操作多台终端装置30的多个用户之间进行各种沟通交流的平台。
如图所示,服务器10包括CPU(处理器)11、主存储器12、用户I/F(接口)13、通信I/F(接口)14、外部存储器15以及光盘驱动器16,上述各构成要素借助总线17互相电连接。CPU11将操作***和用于控制在线游戏进展的控制用程序等各种程序从外部存储器15加载到主存储器12中,并运行所加载的程序中包含的命令。主存储器12用于存储CPU11运行的程序,例如由DRAM(动态随机存取存储器)构成。
用户I/F13例如包含用于接收操作者的输入信息的键盘和鼠标等信息输入装置、以及用于输出CPU11的运算结果的液晶显示器等信息输出装置。通信I/F14是由硬件、固件(firmware)或TCP/IP(传输控制协议/因特网互联协议)驱动程序和PPP(点对点协议)驱动程序等通信用软件或其组合实现的,构成为可借助通信网络20与终端装置30通信。
外部存储器15例如用磁盘驱动器构成,保存用于控制在线游戏进展的控制用程序等各种程序。另外,外部存储器15中还可保存在游戏中所使用的各种数据。可保存在外部存储器15中的各种数据也可以存储在与服务器10以可通信方式连接且物理上与服务器10独立分开的数据库服务器中。光盘驱动器16读取存储在CD-ROM、DVD-ROM、DVD-R等各种存储介质中的数据,或者向这些存储介质写入数据。例如,存储在存储介质中的游戏应用程序和游戏数据等的数据由光盘驱动器16读取出来,并安装到外部存储器15中。
在一实施方式中,服务器10是用于管理由分层结构的多个网页构成的网站的网页服务器,能够向终端装置30提供游戏服务。终端装置30能够从服务器10获取用于显示网页的HTML(超文本标记语言)数据,解析获取的HTML数据,并将该网页显示给终端装置30的用户(游戏用户)。借助这样的网页而提供的游戏有时被称作浏览器游戏。外部存储器15中也保存用于显示该网页的HTML数据。HTML数据由HTML等标记语言所写成的HTML文档构成,在该HTML文档中关联各种图像。另外,HTML文档中可嵌入用ActionScript和JavaScript(注册商标)等的脚本语言等写成的程序。
在外部存储器15中也可保存终端装置30在浏览器软件以外的运行环境中运行的游戏应用程序。该游戏应用程序中能够包含用于运行游戏的游戏程序和该游戏程序运行时参照的图像数据等各种数据。游戏程序例如用Objective-C、Java(注册商标)等面向对象的编程语言做成。做成的游戏程序与各种数据一起作为应用软件保存在外部存储器15中。保存在外部存储器15中的应用软件按照传送请求被传送至终端装置30。在终端装置30中,从服务器10传送来的应用软件根据CPU31的控制并经由通信I/F34接收,经接收的游戏程序被发送到外部存储器35中进行存储。该应用软件根据用户对终端装置30的操作而启动,在安装于终端装置30中的NgCore(商标)或Android(商标)等平台上运行。服务器10向在终端装置30上运行的游戏应用程序提供游戏进展所需的各种数据。另外,服务器10将从终端装置30发送来的各种数据以用户为单位进行保存,由此能够管理每个用户的游戏进展。
这样,服务器10对提供游戏服务的网站进行管理,按照来自终端装置30的请求传送构成该网站的网页,由此能够实行游戏。另外,服务器10能够代替这样的浏览器游戏或在浏览器游戏以外,基于与终端装置30上所运行的游戏应用程序之间的通信,使游戏进展下去。服务器10无论以何种方式提供游戏,都能够以用于识别各用户的识别信息为单位保存游戏进展所需的数据。服务器10还可具有在游戏开始时执行用户认证处理的功能或者对按照游戏的进展所产生的费用进行计费处理的功能,此处省略详细说明。由服务器10提供的游戏包含动作类游戏、角色扮演类游戏、体育对战类游戏、纸牌类游戏等任意种类的游戏。通过服务器10的网站或游戏应用程序实现的游戏种类并不仅限于在本说明书中明确记载的游戏种类。
在一实施方式中,终端装置30是一种将从服务器10获取的游戏用网站的网页在浏览器上显示出来并安装有用于运行游戏应用程序的应用运行环境的任意信息处理装置,可包括智能手机、平板电脑终端以及游戏专用终端等。
如图所示,终端装置30包含CPU(处理器)31、主存储器32、用户I/F33、通信I/F34以及外部存储器35,这些各构成要素借助总线36相互电连接。
CPU31将操作***等各种程序从外部存储器35加载到主存储器32中,并运行所加载的程序中包含的命令。主存储器32用于存储CPU31运行的程序,例如由DRAM构成。
用户I/F33是接收用户输入信息的信息输入装置和输出CPU31的运算结果的信息输出装置,包括具备触摸板的液晶显示器等显示装置。
通信I/F34是由硬件、固件或TCP/IP驱动程序和PPP驱动程序等通信用软件或其组合实现,构成为可借助通信网络20与服务器10通信。
外部存储器35例如由磁盘驱动器或闪存等构成,用于保存操作***等各种程序。另外,在借助通信I/F34从服务器10接收了游戏应用程序的情况下,外部存储器35将保存该接收到的游戏应用程序。
具有这样架构的终端装置30例如具备用于解析HTML形式的文件(HTML数据)并将该文件进行画面显示的浏览器软件,能够根据该浏览器软件的功能解析从服务器10获取的HTML数据,并显示与接收到的HTML数据相对应的网页。另外,终端装置30具备安装在浏览器软件中的插件(例如Adobe***公司提供的Flash Player),能够从服务器10获取嵌入在HTML数据中的SWF形式的文件,并使用浏览器软件以及插件运行该SWF形式的文件。
在终端装置30中运行游戏时,例如由程序指定的动画和操作用图标就会显示在终端装置30的画面上。用户能够使用终端装置30的输入接口输入用于实行游戏的指示。由用户输入的指示通过终端装置30的浏览器和NgCore(商标)等平台的功能传送至服务器10。接下来,说明由一实施方式中的服务器10的CPU11运行的游戏程序。图2是示出一实施方式中的服务器10的功能模块构成的框图。如图所示,服务器10具备:游戏实行部51,根据从终端装置30发送来的输入信息实行游戏;生成部52,以第一时间间隔按照游戏的进展生成帧信息,该帧信息用于将与游戏的进展相应的游戏用画面的一帧显示在终端装置30上;判断部53,根据终端装置30的处理能力,判断是否向终端装置30发送生成的帧信息;压缩部54,用于压缩生成的帧信息;发送部55,用于将判断为向终端装置30进行发送的压缩后的帧信息向终端装置30进行发送;请求部56,为了确定终端装置30的处理能力,以第二时间间隔请求终端装置30发送绘图运行时间信息(帧显示时间信息/规定信息)。
图3是示出在服务器10的外部存储器15等中构成的用统计信息管理表进行管理的信息的一个示例的说明图。一实施方式中的统计信息管理表如图所示那样与用于识别终端装置30的“终端ID”具有对应关系,管理着如下信息:“发送时刻”,表示请求该终端装置30发送绘图运行时间信息的时刻;根据该请求从终端装置30发送来的“绘图运行时间信息”;“接收时刻”,表示服务器10接收到按照该请求从终端装置30发送来的绘图运行时间信息的时刻;以及“帧速率上限值”,表示相对于该终端装置30的帧速率(单位时间的帧数)的上限值。在此,在一实施方式中,“绘图运行时间信息”是指在终端装置30中运行与游戏用画面的一帧相对应的帧信息中所记录的多条绘图指令所需的时间的平均值(绘制(显示)一帧所需的时间的平均值),例如是在终端装置30中运行记录在与最近的规定数量(例如10)的帧相对应的帧信息中的多条绘图指令所需的时间的移动平均值。关于设定这些用统计信息管理表进行管理的信息的动作,将在后面进行说明。
接下来,对这样构成的一实施方式中的服务器10的动作进行说明。如前所述,一实施方式中的服务器10可提供各种游戏,但是作为适合用来说明本发明的一实施方式的示例,对涉及提供由多个用户同时操控的多用户在线游戏的动作进行说明。
在此,首先说明一实施方式中的多用户在线游戏的概要。在一实施方式中的多用户在线游戏中,多个用户使自己的角色等在共同的游戏场景内移动,以使游戏进展下去。作为多用户在线游戏的更具体的例子,能够举例出角色扮演类游戏、射击类游戏以及动作类游戏等各种游戏。使这样的游戏进展下去的处理主要通过运行游戏实行部51来进行。具体地说,例如作为来自终端装置30的输入信息,接收涉及移动角色等操作的信息和涉及执行规定动作(例如攻击、对话、获取物品等)的指示的信息等各种信息,然后根据这一接收到的输入信息计算与操作终端装置30的用户相对应的角色等在游戏场景内的当前位置,或者进行与指示动作相应的处理(例如与其他用户相对应的角色或非操控角色进行的对战处理、对话处理以及获取物品处理等),计算用户获得的分数。
接下来,说明将上述游戏的进展所对应的游戏用画面显示到终端装置30上的动作。图4是示出用于使与多人在线游戏的进展相应的游戏用画面显示到终端装置30上的帧信息生成发送处理的一个示例的流程图。该处理通过服务器10以规定的时间间隔(例如以40毫秒为单位)反复运行。如图所示,在帧信息生成发送处理中,首先生成与游戏用画面的一帧相对应的帧信息(步骤S110)。以操控多人在线游戏的多个用户中的每个用户为单位(即,以终端装置30为单位)生成该帧信息。图5示出的是显示在终端装置30上的游戏用画面60的一帧的一个示例。一实施方式中的游戏用画面60根据用户操作的用户角色在游戏场景内的当前位置显示相应的画面,如图所示,在背景62上,用户操作的用户角色70、其他用户操作的用户角色72、物品74以及以文本形式显示用户得分等的分数显示对象76等各种对象被叠加显示出来。如图所示,背景62构成为,在横纵方向上具有规定长度(例如,纵向16像素×横向16像素等)的同一形状(在本例中为矩形)的多个平铺(tile)图像(单位对象)朝纵向以及横向连续配置而形成的区域,例如,背景62的左上角区域由朝横向连续配置的图像文件I1-I3以及在其下侧朝横向连续配置的图像文件I4-I6构成。另外,用户角色70由图像文件I7、I8以及I9构成,用户角色72由图像文件I10、I11以及I12构成,物品74由图像文件I13构成。
为了使这样构成的游戏用画面60的一帧显示出来,在终端装置30中运行的多条绘图指令被记录在帧信息中。绘图指令例如是可通过终端装置30的浏览器运行的指令。图6是记录了用于使图5中示例出的游戏用画面60的一帧显示在终端装置30上的绘图指令的帧信息80的一个示例。如图所示,在帧信息80的上段区域82中记录有用于绘制背景62的绘图指令,该上段区域82下侧的下段区域84中记录有用于绘制在背景62上叠加配置的各对象(具体地说是用户角色70、用户角色72、物品74以及分数显示对象76)的绘图指令。绘图指令存在多个种类,例如存在用于绘制图像文件的“drawImage”指令、用于绘制文本的“fileText”指令、用于设定所绘制对象的旋转角度的“rotate”指令等绘图指令。在一实施方式中,绘图指令“drawImage”作为参数包含用于确定图像文件的文件名以及用于确定绘制该图像文件的坐标的坐标信息,是用来在由该坐标信息确定的坐标上绘制由文件名确定的图像文件的指令。另外,绘图指令“fileText”作为参数包含将要绘制的文本以及用于确定绘制该文本的坐标的坐标信息,是用于在由坐标信息确定的坐标上绘制文本的指令。进一步,绘图指令“rotate”作为参数包含对象的旋转角度,与上述“drawImage”和“fileText”等绘制对象的绘图指令配合使用(例如,记录在绘制对象的绘图指令的之前),是用于设定由配合使用的绘图指令所绘制的对象的旋转角度的指令。此外,这些绘图指令的种类以及用法是一个示例,也能够应用其他种类的绘图指令。例如,能够应用遵循HTML5的canvas要素的其他绘图指令及用法、或应用遵循其他规范的绘图指令的种类及用法。
图7中示出了作为帧信息的其他示例的帧信息90。该帧信息90基于上述帧信息80而生成。具体地说,帧信息90被变换为,绘图指令“drawImage”中包含的坐标信息,将与记录在之前的相同种类的绘图指令“drawImage”中包含的坐标信息所确定的坐标之差作为坐标信息。例如,如图所示,用绘图指令“drawImage(“I2”,13,-4)”减去由记录在之前的绘图指令“drawImage(“I1”,-3,-4)”的坐标信息所确定的坐标,从而将绘图指令“drawImage(“I2”,13,-4)”变换成“drawImage(“I2”,16,0)”。同样地,绘图指令“drawImage(“I3”,29,-4)”变换成“drawImage(“I3”,16, 0)”。在此,构成背景62的多个平铺图像是在横纵方向上具有规定长度的相同形状,因此朝纵向或横向连续的两个平铺图像的坐标差异无论在任何组合中都为相同的值(在图7的示例中,朝横向连续的平铺图像的坐标差异为“16,0”)。另外,帧信息90将绘图指令“rotate”中包含的旋转角度信息变换为,将其与记录在之前的相同种类的绘图指令“rotate”中包含的旋转角度信息所确定的旋转角度之差作为旋转角度信息。例如,如图所示,设定图像文件“I8”的旋转角度的绘图指令“rotate(45)”以及设定图像文件“I9”的旋转角度的绘图指令“rotate(45)”分别变换为“rotate(0)”。在此,例如构成用户角色70的图像文件I7-I9那样,构成一个对象的多个图像文件在帧内有着设定为相同旋转角度的倾向,因此其结果是与记录在之前的相同种类的绘图指令“rotate”中包含的旋转角度信息所确定的旋转角度之差倾向于连续为数值“0”。帧信息80以及帧信息90在帧信息内均包含用于绘制一帧所必要的信息,不依赖于之前的帧的帧信息。
当这样生成帧信息后,接下来判断是否将生成的帧信息发送至终端装置30(步骤S112)。在一实施方式中,以如下的方式判断是否需要发送帧信息:在用上述统计信息管理表进行管理的每个终端装置30的“帧速率上限值”的范围内发送帧信息。例如,以40毫秒为单位反复执行该帧信息生成发送处理的情况下,当立刻发送帧信息时,帧速率为25fps(1000/40毫秒),因此例如在设定的上限值小于25fps为20fps的情况下,为了使发送的帧速率处于该上限值20fps的范围内,25帧当中的5帧(执行帧信息生成发送处理25次当中的5次)被判断为不发送帧信息。另外,例如,可以计算每个终端装置30最近的实际帧速率,用统计信息管理表等数据表进行管理,并设定成在该实际帧速率变化到上限值的范围内之前判断为不发送帧信息。此外,使帧信息在帧速率的上限值的范围内进行发送的方法并不限于此。另外,在统计信息管理表的“帧速率上限值”设定为数值“0”的情况下,判断为总是不发送帧信息。关于“帧速率上限值”的设定方法将在后面进行说明。
然后,在判断为发送帧信息的情况下,将该帧信息压缩并发送至终端装置30(步骤S114),在判断为不发送帧信息的情况下,跳过该帧信息的发送(步骤S116),结束帧信息生成发送处理。帧信息的压缩可以采用各种压缩算法,例如可以采用“deflate”等可逆压缩算法来进行。在此,如图7中示例出的帧信息90那样,在采用将坐标信息和旋转角度信息变换为与之前的坐标和旋转角度之差进行表述的帧信息的情况下,如上所述,由于坐标信息和旋转角度信息(绘图指令的参数)中包含大量相同的数值,因此压缩帧信息时的压缩率更高。另外,帧信息的压缩能够跨越多个帧进行,例如能够跨越帧采用字典压缩算法进行压缩。当反复运行这样的帧信息生成发送处理时,在终端装置30中,解密接收到的帧信息并在例如浏览器上运行帧信息中记录的绘图指令,从而依次循环显示游戏用画面60的帧。此外,如上述帧信息90那样,在采用将坐标信息和旋转角度信息变换为与之前的坐标和旋转角度之差进行表述的帧信息的情况下,在终端装置30中,将坐标信息和旋转角度信息逆向变换成直接确定坐标和旋转角度的信息之后,运行绘图指令。
以上,说明了将与游戏的进展相应的游戏用画面显示到终端装置30上的动作。接下来,对获取与终端装置30的处理能力相关的统计信息的动作进行说明。图8是示出为了确定终端装置30的处理能力而获取统计信息的统计信息获取处理的一个示例的流程图。该处理通过服务器10以规定的时间间隔(例如以100毫秒为单位)反复运行。如图所示,在统计信息获取处理中,首先请求终端装置30发送绘图运行时间信息(步骤S200)。向操控多用户在线游戏的多个用户所操作的每一台终端装置30发送该请求。在一实施方式中,通过向终端装置30发送由服务器10管理的当前时刻以及用于指示发送绘图运行时间信息的信息,来进行绘图运行时间信息的请求。接收到这些信息的终端装置30向服务器10发送接收到的当前时刻(服务器10请求绘图运行时间信息的时刻)以及在终端装置30中的绘图运行时间信息。在此,在一实施方式中,在终端装置30中运行程序,该程序中记录有执行用于管理绘图运行时间信息(例如,绘制一帧所需要的时间的平均值)的处理,通过运行该程序,向服务器10发送所管理的绘图运行时间信息。
接着,将从终端装置30接收到的信息登录到统计信息管理表中(步骤S210)。具体地说,接收到的当前时间被设定到“发送时刻”中,接收到的绘图运行时间信息被设定到“绘图运行时间信息”中,接收到这些信息的时刻被设定到“接收时刻”中。
然后,设定终端装置30的帧速率的上限值(步骤S220),结束该统计信息获取处理。设定帧速率的上限值能够利用各种方法进行。例如,能够根据绘图运行时间信息将可由终端装置30处理的帧速率设定为上限值。具体地说,例如,在终端装置30中一帧的绘制时间(的平均值)为50毫秒的情况下,每秒能够绘制的帧数为20,因此能够将帧速率的上限值设为20fps(FramesPer Second:帧频)或比之更小的值(例如,20fps×0.8=16fps)。另外,作为设定帧速率的上限值的其他方法,例如能够根据从请求终端装置30发送绘图运行时间信息开始至接收到绘图运行时间信息为止的经过时间(往返延时(RTT),可以根据统计信息管理表的发送时刻与接收时刻进行计算),将可由终端装置30处理的帧速率设定为上限值。具体地说,例如可以根据实验值将帧速率的上限值设为“3000/RTT(毫秒)”。这时,例如,在RTT为100毫秒的情况下,帧速率的上限值为30fps,在RTT为150毫秒的情况下,帧速率的上限值为20fps。这样,通过根据RTT设定帧速率的上限值,例如在移动网络中发生基站转换(切换)的情况下等、RTT暂时增大的情况下,帧速率的上限值变小,向终端装置30发送的帧信息减少,因此,在通信状况恢复后,在终端装置30中应处理的帧信息减少,能够尽早地恢复正常处理。另外,在RTT超过规定阈值(例如500毫秒)的情况下,可以将帧速率的上限值设为数值“0”。这样,在终端装置30中的通信状况极端恶化的情况下,能够停止发送帧信息,从而能够更早地恢复正常处理。此外,在步骤S220中的设定帧速率上限值的动作可以与统计信息获取处理在不同的时机进行。
在此,考虑如下情况:帧速率的上限值设为数值“0”,在图4中示例出的帧信息生成发送处理中,帧信息的发送被连续跳过。在这种情况下,帧信息生成发送处理不从服务器10向终端装置30发送帧信息,因此,即使发生了例如TCP通信中的丢失数据包的情况,在无法从终端装置30发送确认应答的状态下经过规定时间(例如3秒)后,可进行数据包的再次发送。但是,在一实施方式中,在不向终端装置30发送帧信息的期间,也会通过前述的统计信息获取处理产生面向终端装置30的数据通信(请求绘图运行时间),因此,通过TCP通信中的“TCP fast retransmit(TCP快速重传)”功能,不用等待经过上述规定时间就进行数据包的再次发送,能够更早地恢复数据包丢失问题。
在以上说明的一实施方式中的服务器10中,以第一时间间隔生成用于使与游戏的进展相应的游戏用画面的一帧显示在终端装置30上的帧信息;以第二时间间隔请求终端装置30发送绘图运行时间信息(帧显示时间信息/规定信息);根据从终端装置30发送的绘图运行时间信息,基于已确定的终端装置30的绘图时间和RTT(处理能力),判断是否向终端装置30发送帧信息;
向终端装置30发送判断为进行发送的帧信息。因此,由于按照终端装置30的处理能力控制是否发送帧信息,因而能够按照终端装置30的处理能力,更确切地帧速率发送游戏用画面。
在一实施方式中,举例出以绘图时间和RTT表示终端装置30的处理能力,但是并不限于此,也能够用其他信息表示终端装置30的处理能力。另外,在一实施方式中,根据绘图时间和RTT设定帧速率的上限值,在该上限值的范围内发送帧信息,但是并非必须使用帧速率的上限值进行控制。可以应用基于绘图时间和RTT等终端装置30的处理能力判断是否发送帧信息的其他各种方法。进一步,在一实施方式中,帧信息中记录有为了使游戏用画面60的一帧显示出来而在终端装置30中运行的多条绘图指令,但是帧信息的形式并不限于此,可以应用使与游戏的进展相应的游戏用画面的一帧在终端装置30上显示出来的其他各种形式。
除了在实施方式中明确说明的方式以外,在本说明书中所说明的处理以及步骤也可通过软件、硬件或它们的任意组合来实现。更具体地说,在本说明书中所说明的处理以及步骤可通过在集成电路、非永久性存储器、非易失性存储器、磁盘、光存储装置等介质中安装与该处理相当的逻辑处理来实现。另外,可将本说明书中所说明的处理以及步骤作为计算机程序进行安装,使这些处理、步骤在各种计算机中运行。
虽然说明了通过单独的装置、软件、组件、模块来运行本说明书中所说明的处理以及步骤的方式,但是这样的处理或步骤也可通过多个装置、多个软件、多个组件以及/或者多个模块来运行。另外,虽然说明了在单独的存储器中存储本说明书中所说明的数据、数据表或数据库的方式,但是这样的数据、数据表或数据库也可分散存储在单独的装置所具备的多个存储器中、或分散存储在分散配置于多个装置的多个存储器中。进一步,在本说明书中所说明的软件及硬件的要素也可通过将它们合并成更少的构成要素或分解成更多的构成要素来实现。
在本说明书中,即使在将本发明的构成要素以一个或多个中的一种方式进行说明的情况下,或者,并未将其限定为一个或多个中的任意一种方式进行说明的情况下,除非上下文关系上应当解释为其他的情况,否则该构成要素可以是一个或多个中的任意一种方式。

Claims (9)

1.一种服务器,向以可通信方式连接的多台终端装置提供游戏,
其特征在于,具备:
游戏实行部,根据从所述终端装置发送来的输入信息实行所述游戏;
生成部,按照游戏的进展以第一时间间隔生成帧信息,所述帧信息用于将与所述游戏的进展相应的游戏用画面的一帧显示在所述终端装置上;
请求部,为了确定所述终端装置的处理能力,以第二时间间隔请求所述终端装置发送规定信息;
判断部,基于通过从所述终端装置发送的所述规定信息而确定的该终端装置的处理能力,判断是否向所述终端装置发送生成的所述帧信息;以及
发送部,将判断为向所述终端装置发送的所述帧信息向该终端装置进行发送。
2.根据权利要求1所述的服务器,其特征在于,
所述规定信息包含帧显示时间信息,所述帧显示时间信息与在所述终端装置中显示所述一帧所需的时间相关;
所述判断部基于所述终端装置的处理能力、即所述帧显示时间信息,来判断是否发送生成的所述帧信息。
3.根据权利要求1或2所述的服务器,其特征在于,
所述判断部基于所述终端装置的处理能力、即从开始要求所述终端装置发送所述规定信息到接收该规定信息为止的经过时间,来判断是否发送生成的所述帧信息。
4.根据权利要求3所述的服务器,其特征在于,
在所述经过时间大于等于规定阈值的情况下,所述判断部判断为不发送生成的所述帧信息。
5.根据权利要求1至4中的任一项所述的服务器,其特征在于,
所述判断部根据所述终端装置的处理能力,设定在每个单位时间内对该终端装置发送的帧数的上限值,并判断是否发送生成的所述帧信息,以使每个单位时间内对该终端装置发送的帧数处于该上限值的范围内。
6.根据权利要求1至5中的任一项所述的服务器,其特征在于,
使用基于TCP(传输控制协议)的通信向所述终端装置提供所述游戏。
7.根据权利要求1至6中的任一项所述的服务器,其特征在于,
所述帧信息中至少记录有为了显示所述游戏用画面的一帧而在所述终端装置中运行的多条绘图指令。
8.根据权利要求1至7中的任一项所述的服务器,其特征在于,
由分别操作所述多台终端装置的多个用户同时进行所述游戏;
所述生成部以所述多台终端装置中的每一台为单位生成所述帧信息;
所述请求部以所述多台终端装置中的每一台为单位请求发送所述规定信息;
所述判断部以所述多台终端装置中的每一台为单位判断是否向所述终端装置发送生成的所述帧信息;
所述发送部以所述多台终端装置中的每一台为单位发送所述帧信息。
9.一种向以可通信方式连接的多台终端装置提供游戏的方法,其特征在于,
根据从所述终端装置发送的输入信息实行所述游戏;
按照所述游戏的进展以第一时间间隔生成帧信息,该帧信息用于将与所述游戏的进展相应的游戏用画面的一帧显示在所述终端装置上;
为了确定所述终端装置的处理能力,以第二时间间隔请求所述终端装置发送规定信息;
基于通过从所述终端装置发送的所述规定信息而确定的该终端装置的处理能力,向所述终端装置发送生成的所述帧信息;
将判断为向所述终端装置发送的所述帧信息向该终端装置进行发送。
CN201410392040.5A 2013-08-12 2014-08-11 提供游戏用的服务器以及方法 Expired - Fee Related CN104378407B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-167267 2013-08-12
JP2013167267A JP5411386B1 (ja) 2013-08-12 2013-08-12 ゲームを提供するサーバ及び方法

Publications (2)

Publication Number Publication Date
CN104378407A true CN104378407A (zh) 2015-02-25
CN104378407B CN104378407B (zh) 2018-01-05

Family

ID=50202714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410392040.5A Expired - Fee Related CN104378407B (zh) 2013-08-12 2014-08-11 提供游戏用的服务器以及方法

Country Status (5)

Country Link
US (1) US9174130B2 (zh)
EP (1) EP2837418A1 (zh)
JP (1) JP5411386B1 (zh)
KR (1) KR101595105B1 (zh)
CN (1) CN104378407B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111683723A (zh) * 2018-01-31 2020-09-18 Cy游戏公司 信息处理程序、信息处理服务器和信息处理***
CN112316424A (zh) * 2021-01-06 2021-02-05 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5411385B1 (ja) * 2013-08-12 2014-02-12 株式会社 ディー・エヌ・エー ゲームを提供するサーバ及び方法
KR20160144939A (ko) 2016-03-18 2016-12-19 (주)라이징게임즈 경쟁게임 제공 시스템 및 방법과 그 프로그램 및 기록매체
US10510317B2 (en) 2016-06-03 2019-12-17 Apple Inc. Controlling display performance with target presentation times
US10726604B2 (en) 2016-06-03 2020-07-28 Apple Inc. Controlling display performance using display statistics and feedback
KR20200126628A (ko) 2019-04-30 2020-11-09 주식회사 제이에스 플레이 실시간 전략전투게임 제공장치 및 방법과 그 프로그램 및 기록매체
CN111632382B (zh) * 2020-05-25 2021-06-25 腾讯科技(深圳)有限公司 游戏数据同步方法、装置、计算机及可读存储介质
JP2023049982A (ja) * 2021-09-29 2023-04-10 株式会社バンダイナムコエンターテインメント サーバシステム、プログラム、プレーヤ端末、及び提供方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101010125A (zh) * 2004-08-30 2007-08-01 松下电器产业株式会社 执行多人参加型应用程序的客户机终端装置、分组形成方法和分组形成程序
US20090080523A1 (en) * 2007-09-24 2009-03-26 Microsoft Corporation Remote user interface updates using difference and motion encoding
US20110157196A1 (en) * 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312260A (ja) * 2000-04-28 2001-11-09 Konami Computer Entertainment Japan Inc 画像表示方法、ゲームシステム及び画像表示プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2009245471A (ja) * 2008-03-28 2009-10-22 Sony Corp 情報処理装置および方法、プログラム、記録媒体、並びに情報処理システム
US8754904B2 (en) * 2011-04-03 2014-06-17 Lucidlogix Software Solutions, Ltd. Virtualization method of vertical-synchronization in graphics systems
JP5616307B2 (ja) 2011-09-21 2014-10-29 株式会社スクウェア・エニックス オンラインゲームシステム、及びサーバ装置群
JP5622704B2 (ja) * 2011-10-21 2014-11-12 株式会社リアルスタイル プログラム、情報記憶媒体、画像生成システム、サーバ及びゲーム提供方法
TWI584221B (zh) * 2012-09-28 2017-05-21 輝達公司 適應性調整圖形處理單元之圖框率的方法及使用該方法的電腦系統
US10616086B2 (en) * 2012-12-27 2020-04-07 Navidia Corporation Network adaptive latency reduction through frame rate control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101010125A (zh) * 2004-08-30 2007-08-01 松下电器产业株式会社 执行多人参加型应用程序的客户机终端装置、分组形成方法和分组形成程序
US20110157196A1 (en) * 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
US20090080523A1 (en) * 2007-09-24 2009-03-26 Microsoft Corporation Remote user interface updates using difference and motion encoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111683723A (zh) * 2018-01-31 2020-09-18 Cy游戏公司 信息处理程序、信息处理服务器和信息处理***
CN111683723B (zh) * 2018-01-31 2023-12-01 Cy游戏公司 信息处理方法、服务器和***以及存储介质
CN112316424A (zh) * 2021-01-06 2021-02-05 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质

Also Published As

Publication number Publication date
KR20150020999A (ko) 2015-02-27
KR101595105B1 (ko) 2016-02-18
CN104378407B (zh) 2018-01-05
EP2837418A1 (en) 2015-02-18
US9174130B2 (en) 2015-11-03
US20150045119A1 (en) 2015-02-12
JP5411386B1 (ja) 2014-02-12
JP2015035997A (ja) 2015-02-23

Similar Documents

Publication Publication Date Title
CN104378407A (zh) 提供游戏用的服务器以及方法
US11617947B2 (en) Video game overlay
US10773163B2 (en) Gaming system
CN104375592A (zh) 提供游戏用的服务器以及方法
US9940647B2 (en) Qualified video delivery advertisement
US9621665B2 (en) Multimedia redirection method, multimedia server, and computer system
CN103874989A (zh) 渲染服务器、中央服务器、编码设备、控制方法、编码方法、程序以及记录媒体
CN102387187A (zh) 服务器、客户端及利用其远程播放视频文件的方法和***
US20150126285A1 (en) Server and method for providing game
US20210346799A1 (en) Qualified Video Delivery Methods
JP5504370B1 (ja) 動画をクライアント端末に表示させるサーバ及び方法
JP2015088156A (ja) 動画をクライアント端末に表示させるサーバ及び方法
JP6360711B2 (ja) ゲームを提供するサーバ及び方法
JP2015036112A (ja) ゲームを提供するサーバ及び方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180105

Termination date: 20210811

CF01 Termination of patent right due to non-payment of annual fee