CN1797412A - 在移动数字终端上实现多种游戏的方法 - Google Patents
在移动数字终端上实现多种游戏的方法 Download PDFInfo
- Publication number
- CN1797412A CN1797412A CNA200410077751XA CN200410077751A CN1797412A CN 1797412 A CN1797412 A CN 1797412A CN A200410077751X A CNA200410077751X A CN A200410077751XA CN 200410077751 A CN200410077751 A CN 200410077751A CN 1797412 A CN1797412 A CN 1797412A
- Authority
- CN
- China
- Prior art keywords
- game
- message
- digital terminal
- mobile digital
- pattern
- 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.)
- Pending
Links
Images
Landscapes
- Telephone Function (AREA)
Abstract
本发明涉及一种在移动数字终端上实现多种游戏的方法,包括接收来自键盘的激活消息,对特定的游戏脚本进行分析,并根据分析内容和移动数字终端上储存的资料初始化生成游戏组件;根据游戏脚本的相关内容启动消息管理模式,将主角的游戏分解成为不同的游戏逻辑模式;根据该特定的游戏脚本内容和键盘消息,激活某游戏逻辑模式,并把控制权交给该被激活逻辑模式,进行处理后产生后续消息,接收来自键盘和/或逻辑模式来的各种消息并储存在队列中;刷新被激活逻辑模式的消息或切换到其他逻辑模式;相应过程通过屏幕加以显示。本发明提供一种能适应受限制的硬件环境,具有游戏引擎、能重复使用游戏代码等内容的在移动数字终端上实现多种游戏的方法。
Description
技术领域
本发明涉及在一般手持移动设备如手机、PDA等上实现游戏的方法,尤其涉及一种在手持移动设备上实现多种游戏的方法。
背景技术
近年来,许多移动手持设备(手机、PDA等)像小型的计算机,它的处理能力与台式机的标准处理能力相比很有限,但是足够运行一个小型的游戏。
现在的移动设备的另一个特性就是它们还是网络计算机,能够高速发送和接收语音数据和数字数据,所以类似《传奇》、《千年》这样的网络游戏也可以在手机上实现。
就处理能力和性能而言,当前阶段,支持Java的移动设备很接近第二代控制台游戏机、80年代中期的家用电脑和早期的手持游戏机。内存通常很有限。而且与PC相比,它们的输入和显示功能也很有限:屏幕小、键盘是针对电话拨号设计、没有复杂的声音处理能力。
现在市面上的移动通讯领域的手机在广泛使用Java程序,具体而言,是Sun在Java平台上开发的J2ME(Java 2 Micro Edition)技术,即用于嵌入式系统的Java。J2ME技术由一个虚拟机KVM(K Virtual Machine)和一组API应用程序界面组成,这组API适合于为消费和嵌入式电子设备提供经过剪裁的运行环境。KVM(K Virtual Machine)虚拟机本身仅仅需要40-80KB内存、20-40KB动态内存(堆),能够运行在16位25MHz处理器上。
J2ME为移动互联引入了一种新的模型,即允许手机等移动设备可以从互联网上下载各种应用程序,并在这些移动设备上创造可离线运行这些程序的执行环境。Java技术针对屏幕、电能和内存等资源有限的移动设备进行了优化和定义,形成了针对移动电话等小型设备的版本;为了解决无线设备多样化的矛盾,Sun依照各种设备的资源特性将J2ME技术架构分为JavaVirtual Machine(JVM)、配置(configuration)和说明(profile)三层,然后再进一步细分,这使J2ME能够在每一类设备的限制下工作,而同时提供最低限度的Java语言功能性。
目前已经出现了很多类型针对移动设备(主要是手机和PDA)的RPG游戏以及其他类型的游戏。这些游戏可以通过无线网络或者普通计算机下载至电脑上。其中大部分的手机游戏内容都比较简单,一般代码量不大。因此它们大都是针对具体游戏,开发适合该游戏的代码。这种做法开发单个小游戏时可以节约成本,但是如果要开发多个或者大型游戏时则会出现许多问题。一方面,几乎每款移动设备上的游戏都要从头编写代码,造成了大量的重复工作;另一方面,由于难以重复使用以前的技术基础,制作复杂大型的移动游戏较难。而我们的游戏引擎技术可以避免上面所述问题,提高游戏(特别是RPG游戏)开发的速度,节省开发时间和开发费用。
与现在台式机上的游戏不同,现在有关移动设备上的游戏方面的专利还比较少,而且很多还停留在非引擎的阶段。
在此方面,有号码为01101611的中国专利申请文件公开了一种移动电话实现即时游戏的方法,该方法用移动电话的通讯协议传送即时游戏的数据,以实现移动电话的即时游戏。但该专利只提出一种移动电话互联游戏方案,并没有涉及到相关游戏引擎、游戏代码重复使用等内容,且该专利还是一个非引擎阶段的游戏方法,功能性还不完善,不能适应市场的需求方向。
在此方面,还有号码为02103861的中国专利申请文件公开了一种在移动终端上实现交互式游戏模式的方法,该方法公开了一种在移动终端上实现交互式游戏模式的方法,主要阐述一种移动设备上协议,使不同的移动终端可以互联互通进行移动设备上的网络游戏。但该专利仅仅是一个移动设备互联平台,它是面向移动设备上运行的游戏的内部框架和支持,并没有涉及到具体的游戏内容,没有涉及游戏引擎,没有游戏引擎网络接口,没有未来扩展的接收网络游戏信息的模式,不能满足用户的不同需求,功能角单一。
发明内容
针对现有技术的上述缺点,本发明要达到的技术目的是要提供一种能适应处理能力、内存有限、输入输出受限制的硬件环境,具有游戏引擎、能重复使用游戏代码等内容,具有网络接口和扩展模式的在移动数字终端上实现多种游戏的方法。
为此,本发明的技术解决方案是一种在移动数字终端上实现多种游戏的方法,该方法包括如下步骤:
a.接收来自键盘的激活消息,对特定的游戏脚本进行分析,并根据分析内容和所述移动数字终端上储存的资料包括:图片、动画、菜单、数据库,进行初始化生成游戏组件包括:主角、无人控制角色、信息体;
b.采用所述游戏组件,根据游戏脚本的相关内容启动消息管理模式:消息管理模式首先将主角的游戏分解成为不同的游戏逻辑模式,并发送初始消息给各不同的游戏逻辑模式进行初始化;
c.消息管理模式根据该特定的游戏脚本内容和键盘消息,激活某游戏逻辑模式,并把控制权交给该被激活逻辑模式,该被激活逻辑模式进行处理后产生后续消息,消息管理模式接收来自键盘和/或逻辑模式来的各种消息并储存在队列中,相应过程通过屏幕加以显示;
d.消息管理模式处理各种消息,刷新被激活逻辑模式的消息或切换到其他逻辑模式,相应过程通过屏幕加以显示;
e.重复步骤c或d,直至游戏脚本结束或收到键盘中断消息。
首先,本发明的方法为游戏引擎结构,该引擎通过分层次的结构,不但有网络接口,还有未来扩展的接收网络游戏信息的模式,达到有利于游戏设计开发者继承和软件复用的功能。游戏制作者不需要从头开发游戏中的常用的组件和功能,可以很容易使用这个引擎的部分或者全部进行开发,可以满足用户的不同需求,在功能特性上更趋于完善。
其次,本发明的方法是以消息系统为中心进行调度,而以消息系统为中心的结构可以化引擎内部的各个模式的直接的强耦合变为弱耦合,则使开发RPG游戏的人员能方便的制作出所需要的游戏。而且,这个技术还可以简化开发RPG的难度;消息系统为中心的程序结构可以根据脚本调度各种游戏资源,各种游戏程序体基本上很少改动甚至不需要改动。游戏设计师和关卡设计师只需要改动引擎中的脚本和各种图片等资源即可生成一个RPG游戏。
以往的这类游戏软件往往由于非常短小以及开发运行环境的限制,没有做成引擎。而现在随着移动设备上游戏的规模和复杂度不断增加,本发明的方法提出了移动游戏引擎的概念。使用本游戏引擎开发游戏有以下的技术上优势:
在开发多款游戏时,可以缩短开发时间和节约开发成本:因为一般来说,假如只是开发一款普通的手机游戏的时候,由于只需要针对该游戏开发相应的代码,开发的时间和成本相对使用引擎低。不过在开发多款游戏的时候,由于可以重用引擎中的类库,所以开发时间可以缩短,开发成本也可以降低。
提高游戏的可重用性:使用传统的非引擎的手机游戏开发方法可重用性低,当开发一款新的游戏的时候往往要从头做起,或者停留于源代码重用的阶段。而使用本移动游戏引擎的特点在于游戏开发者在开发一款全新的游戏的时候能在类与对象的层面上对代码进行复用,从而可以多次使用以往要针对不同游戏而重写的代码。
提高游戏产品的质量以及可维护性:使用本引擎可以提高游戏产品的质量。它的主要原因在于本引擎对于模式之间有着明确的划分,因此容易形成鲜明的模式,错误定位容易。而且由于多个游戏产品都使用同一个引擎时,引擎中的Bug更容易找出。维护时,对于引擎的错误可以集中修改,避免了多个游戏同时修改的尴尬情况。(当然这是在严格遵守引擎中的接口规定的情况下。)
具体而言,本发明的方法步骤b中,所述游戏逻辑模式包括场景转换及行走模式、打斗模式、对话模式、事件处理模式。所述游戏逻辑模式进一步包括结束模式。步骤a中,所述游戏脚本可以变换,所述的方法根据不同的游戏脚本和已存的图片、动画、菜单、数据库,生成相应的主角、无人控制角色、信息体类游戏组件。
所述的移动数字终端上运行有Java应用程序。本发明方法的运行的软硬件环境:具有256色以上的彩色屏幕的手机和PDA;(我们暂时支持NokiaS40、S60和索尼爱立信一些型号的手机);CLDC 1.0;MIDP 1.0;
以下结合附图和具体实施例对本发明作进一步说明。
附图说明
图1为本发明方法的模块化层次示意图。
图2为本发明方法的控制模式关系示意图。
图3为本发明方法的控制模式流程示意图。
图4为本发明方法实施例的流程示意图。
具体实施方式
如图1:所示为按照模块化概念,本发明方法的游戏引擎结构层次:
第一层(也就是最底层)为建立在KVM上的一般的手机游戏支持引擎。它包括了对手机上的动画、菜单、数据库、各种常用工具的支持。
第二层为游戏支撑组件,它是介于游戏逻辑以及底层之间的一个组件层面。主要负责建立与游戏逻辑相关的游戏组件(类)的支持。例如主角类、NPC(常被称为无人控制角色)类、脚本分析器、供信息模式以及其他模式使用的信息体,等等。
第三层为游戏的逻辑层。这层是包含游戏逻辑在内的一层,其主要特点是有一个中心的用于调度其他模式的消息模式。该层还包括场景生成模式、打斗模式、事件模式以及其他与游戏相关的模式。
第四层(最上层)是一个显示的界面。这个界面只有一个由消息处理系统生成的画布。该画布可以供下层的模式调用把界面相关的内容画出。
如图2、图3,所示为本发明方法的游戏引擎内部各逻辑模式间关系:对具体模块来说,消息管理系统(MessageManager)最先将创建该模块的对象实例,然后通过某模块的onBegin()方法激活该模块,并把控制权交给该模块;当模块调用sendMessage()方法时,MessageManager把消息放进队列中;当模块调用flush()返回时,MessageManager不断处理消息队列里面的消息,并激活相应模块,进行处理。最后,当游戏结束时,MessageManager调用各个模块的onEnd()函数,并且销毁各个对象的实例。
如图4:所示为本发明方法《武松打虎》RPG Demo游戏实施例的模式化控制示意:
武松打虎故事的脚本情节大纲如下:进入游戏后,武松出现在城镇中央,与酒保对话,武松先是呼喝酒保斟酒,三杯过后,酒保并不来斟酒。两人引发一场关于喝酒的争论。武松喝完十八碗后正欲离开时,酒保喝住武松,告知景阳冈有虎,让武松明日集齐一队人后一起过冈。英勇无惧的武松哪会理会酒保说话,提了哨棒就出了酒店门。此时玩家如果再次返回酒店,酒保就会说客房已满,并趁机耻笑武松。之后出了城门,武松出了城门后,游戏则不准武松返回城内。(如果想再次返回城内时,武松并会自我寻思道“酒保说有虎,景阳冈不一定有虎。”)碰到一个樵夫,樵夫再次提醒景阳冈有虎,武松酒力发作,更加不予理会,走了半个时辰路程后,武松看到告示,武松酒醒,心中生起一丝怯意,但寻思回去又会给酒保耻笑,于是游戏中武松硬着头皮上了景阳冈。就在武松走过告示,游戏中就安排出现老虎,武松将老虎打死,demo版游戏结束。该款游戏就是完全使用我们的游戏引擎制作的。它可以运行在Nokia大部分的40和60系列以及索尼爱立信的手机上。
具体模块间控制如下:
消息处理模块
消息系统在《武松打虎》RPG的Demo中的主要任务是沟通各个模块,起一个桥梁以及框架的作用。我们的消息处理系统和Windows的消息处理机制其实非常相似,都是先等待消息,然后根据收到的消息转到相应的函数进行处理。所不同的是Windows接收的消息大多是系统或是用户输入产生的,而我们的消息都是自定义的,如:武松在树林里遇到老虎,那么我们就让程序产生‘打斗消息’(即:Message=打斗),消息处理系统收到这个消息后就会马上转到打斗模块中去。
屏幕及行走模块
该模块的任务是场景生成及显示,场景中主角及人物的行走显示;并接受键盘或剧情触发器驱动场景的显示刷新,和负责主角与其它场景的碰撞测试,及确定要产生的事件之后,向消息模块发送相应消息。
对话模块
该模块的任务是显示对话,或者主角思考的内容。按键控制内容的更新,内容结束后向消息模块发送相应消息,结束该模块。在RPG游戏中,都会有对话的环节。就是主角跟一些配角的交谈,引发一些后续事件或暗示游戏以后的情节发展。
事件处理模块
在玩家碰到一定场景(例如NPC,宝箱,城门口的暗转),触发一定的事件,事件处理系统模块主要任务就是处理这些事件,包括情节发展需要,实现事件之间的逻辑关系。
首先待处理的事件以脚本文件的方式编写存储,在一定的场景下,触发到了某事件,就调用事件处理系统模块,并同时将相应事件脚本文件名作为参数传递给事件处理系统模块。事件处理系统模块根据事件脚本文件中的配置处理相应任务,例如游戏人物之间的对话,游戏主角的自言自语等。
打斗模块
打斗模块,顾名思义可以知道只是单纯实现游戏中的打斗部分。该模块主要场景控制模块经过消息系统模块调用,即为在主角在场景模块中遇到打斗场景,就发消息到消息系统模块,然后由消息系统模块调用启动打斗系统模块。
各类菜单模块
主要用于显示各类菜单,包括买卖、打斗中的选项、场景中的选项等。调用方法也是通过消息模块,这里就不赘述了。
Claims (5)
1、一种在移动数字终端上实现多种游戏的方法,其特征在于:该方法包括如下步骤:
a.接收来自键盘的激活消息,对特定的游戏脚本进行分析,并根据分析内容和所述移动数字终端上储存的资料包括:图片、动画、菜单、数据库,进行初始化生成游戏组件包括:主角、无人控制角色、信息体;
b.采用所述游戏组件,根据游戏脚本的相关内容启动消息管理模式:消息管理模式首先将主角的游戏分解成为不同的游戏逻辑模式,并发送初始消息给各不同的游戏逻辑模式进行初始化;
c.消息管理模式根据该特定的游戏脚本内容和键盘消息,激活某游戏逻辑模式,并把控制权交给该被激活逻辑模式,该被激活逻辑模式进行处理后产生后续消息,消息管理模式接收来自键盘和/或逻辑模式来的各种消息并储存在队列中,相应过程通过屏幕加以显示;
d.消息管理模式处理各种消息,刷新被激活逻辑模式的消息或切换到其他逻辑模式,相应过程通过屏幕加以显示;
e.重复步骤c或d,直至游戏脚本结束或收到键盘中断消息。
2、如权利要求1所述的在移动数字终端上实现多种游戏的方法,其特征在于:步骤b中,所述游戏逻辑模式包括场景转换及行走模式、打斗模式、对话模式、事件处理模式。
3、如权利要求2所述的在移动数字终端上实现多种游戏的方法,其特征在于:所述游戏逻辑模式进一步包括结束模式。
4、如权利要求1所述的在移动数字终端上实现多种游戏的方法,其特征在于:步骤a中,所述游戏脚本可以变换,所述的方法根据不同的游戏脚本和已存的图片、动画、菜单、数据库,生成相应的主角、无人控制角色、信息体类游戏组件。
5、如权利要求4所述的在移动数字终端上实现多种游戏的方法,其特征在于:所述的移动数字终端上运行有Java应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200410077751XA CN1797412A (zh) | 2004-12-30 | 2004-12-30 | 在移动数字终端上实现多种游戏的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200410077751XA CN1797412A (zh) | 2004-12-30 | 2004-12-30 | 在移动数字终端上实现多种游戏的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1797412A true CN1797412A (zh) | 2006-07-05 |
Family
ID=36818438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200410077751XA Pending CN1797412A (zh) | 2004-12-30 | 2004-12-30 | 在移动数字终端上实现多种游戏的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1797412A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186372A (zh) * | 2011-12-29 | 2013-07-03 | 上海聚位网络科技发展有限公司 | 一种游戏引擎 |
CN103209255A (zh) * | 2013-02-28 | 2013-07-17 | 深圳市豹风网络有限公司 | 移动终端网络游戏系统 |
CN103577497A (zh) * | 2012-08-10 | 2014-02-12 | 厦门极致互动网络技术有限公司 | 一种网络游戏客户端与网络浏览器双向通讯系统与方法 |
CN104133666A (zh) * | 2013-11-29 | 2014-11-05 | 腾讯科技(成都)有限公司 | 确定人工智能行为的方法、装置及人工智能服务器 |
CN104679489A (zh) * | 2013-12-02 | 2015-06-03 | 厦门极致互动网络技术有限公司 | 一种在网络游戏客户端中内置网络浏览器的系统及方法 |
CN109621424A (zh) * | 2018-12-18 | 2019-04-16 | 深圳源中瑞科技有限公司 | 一种可扩展的游戏构建方法、游戏运行方法和存储介质 |
-
2004
- 2004-12-30 CN CNA200410077751XA patent/CN1797412A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186372A (zh) * | 2011-12-29 | 2013-07-03 | 上海聚位网络科技发展有限公司 | 一种游戏引擎 |
CN103577497A (zh) * | 2012-08-10 | 2014-02-12 | 厦门极致互动网络技术有限公司 | 一种网络游戏客户端与网络浏览器双向通讯系统与方法 |
CN103209255A (zh) * | 2013-02-28 | 2013-07-17 | 深圳市豹风网络有限公司 | 移动终端网络游戏系统 |
CN103209255B (zh) * | 2013-02-28 | 2015-12-02 | 深圳市豹风网络股份有限公司 | 移动终端网络游戏系统 |
CN104133666A (zh) * | 2013-11-29 | 2014-11-05 | 腾讯科技(成都)有限公司 | 确定人工智能行为的方法、装置及人工智能服务器 |
US9898700B2 (en) | 2013-11-29 | 2018-02-20 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and artificial intelligence server for determining artificial intelligence behavior |
CN104679489A (zh) * | 2013-12-02 | 2015-06-03 | 厦门极致互动网络技术有限公司 | 一种在网络游戏客户端中内置网络浏览器的系统及方法 |
CN109621424A (zh) * | 2018-12-18 | 2019-04-16 | 深圳源中瑞科技有限公司 | 一种可扩展的游戏构建方法、游戏运行方法和存储介质 |
CN109621424B (zh) * | 2018-12-18 | 2022-05-13 | 深圳源中瑞科技有限公司 | 一种可扩展的游戏构建方法、游戏运行方法和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101207656B (zh) | 用于动态切换模态的方法和用于提供文本交换服务的系统 | |
CA2345665C (en) | Conversational computing via conversational virtual machine | |
CN101064713B (zh) | 通过电视机平台实现远程桌面的控制方法 | |
CN1633641A (zh) | 移动终端平台系统的中间件服务层 | |
CN101335916A (zh) | 一种通用的手机角色扮演(rpg)网络游戏引擎 | |
JP2003186665A (ja) | 拡張性のあるグラフィカルユーザインターフェイスアーキテクチャ | |
WO2022247540A1 (zh) | 设备控制方法、装置、计算机设备及存储介质 | |
CN1292619A (zh) | 便携式终端系统、便携式终端及其控制方法和存储介质 | |
CN107888676A (zh) | 一种基于微服务的云端个人学习环境装置 | |
CN1909063A (zh) | 集成语音对话系统 | |
CN100343811C (zh) | 在托管应用程序进程中引发异步行为变化的系统 | |
CN1797412A (zh) | 在移动数字终端上实现多种游戏的方法 | |
Maccari et al. | Managing infinite variability in mobile terminal software | |
CN1909705A (zh) | 一种基于移动终端平台的通用开发平台 | |
CN1653707A (zh) | 在移动通信终端中播放待机模式交互内容的方法以及使用该方法的移动通信终端 | |
CN107544805B (zh) | 基于Android系统可复用框架的手机游戏系统架构 | |
US20110216076A1 (en) | Apparatus and method for providing animation effect in portable terminal | |
CN102082875B (zh) | 一种移动终端 | |
EP1929400A2 (en) | Processing events for concurrent tasks in a virtual machine | |
Herzog et al. | Large-scale software integration for spoken language and multimodal dialog systems | |
CN111816168A (zh) | 一种模型训练的方法、语音播放的方法、装置及存储介质 | |
CN1624671A (zh) | 作为分散化操作系统中的服务的设备 | |
CN2822705Y (zh) | 高尔夫球行动助理装置 | |
CN111766992B (zh) | 信息显示方法、装置、电子设备及存储介质 | |
Thimbleby | The computer science of everyday things |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20060705 |