欢迎来到天天文库
浏览记录
ID:14693047
大小:139.50 KB
页数:13页
时间:2018-07-29
《游戏basic设计规划》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、游戏语言VmBasic设计规划Game-Basic系统设计规划与技术手册Linwei2002电子科技大学通讯工程学院20013080班林伟二○○二年九月林伟第13页2021-6-18游戏语言VmBasic设计规划总体说明(一)主要思想:1、内容紧扣名称,内容围绕“VirtualMachine(虚拟机系统)”与“游戏”(针对Windows/Unix不同平台独立性)展开。2、本软件不再以Game或Basic或VirtualMachine的名义进行宣传和版权说明等,用“VmBasic”取而代之。这样才能把“VmBasic”的品牌创出
2、来,体现出3、软件由一年前完成的虚拟机系统VmBeta和游戏编程语言VmBasic完美的结合起来,利用虚拟机的与平台无关性,容错性,高效性,安全性。使得VmBasic编译出来的软件能基于虚拟机的技术,在不同的平台上面发挥出最大的功效。4、实现类似消息机制的灵活扩展接口,使得VmBasic可以与你的软件完美的结合起来,成为一套灵活的脚本引擎,使你的软件具有运行脚本的能力。同时对于语言本身,实现了预连接技术,也可以使用户方便的为语言增加功能。5、全部核心代码用标准C++写成,分别在Windows/Unix下数款C++编译器上面调试通过,充分保证了软件的与平台无关
3、性。从2002年9月开始,对外提供VmBeta与VmBasic引擎,如有需要者请mail一份到lwwind@yeah.net(二)制作时间:2001年11月-2002年1月制作虚拟机系统:VmBeta2002年4月-2002年8月制作游戏编程语言:VmBasic(三)系统发展概况:1、起初,我由于平时编程常常居于不同的平台,而且在所设计的几个软件中都迫切的需要与平台无关的脚本机制的支持来提高软件的灵活性与可维护性。著名的Autocad/Animator/3DMax以及金蝶财务软件中都提供脚本功能来让用户更灵活地操作软件,但是他们的脚本机制采用的都是相对独立封
4、闭的技术,要让它们扩充一项脚本功能则需要每个软件都改写大量代码,而且效率安全方面也不健全。2、初期,我开始意识到要解决这些问题,使得今后的系统中采用统一的脚本引擎并且统一维护,灵活扩展只有采用VirtualMachine(虚拟机)技术,于是在去年年底,我花了大量的时间研制成功了一套新的虚拟机系统VmBeta,它参照了一款小型栈式CPU,制定了自身一系列32位寄存器和指令集合实现了与平台无关性。历经三个月VmBeta系统的研制成功对我后来的开发工作起到了制关重要的作用。3、中期,在VmBeta的设计成果之上,软件的脚本支持问题得到了初步的解决,但是脚本的编写都
5、是基于VmBeta的汇编指令上面来完成的,编程效率极其低下。我意识到要使它真正起作用的话,必须为VmBeta编写一款高级语言编译器。就象Java和Javac一般,这是项艰巨的工程,凭着以前我写过几个脚本引擎,研究了大量的编译方面知识终于写出了一款编译器VmBasic。本来编译器想选择Pascal为蓝本,可是我觉得Basic更能让人接受,仅仅写成传统的Basic林伟第13页2021-6-18游戏语言VmBasic设计规划很不够,于是我陆续为其增加了许多灵活的功能,整个虚拟机-脚本引擎完成。1、现在,处于我自己的兴趣爱好,我喜欢编写游戏,而且是从DOS下直接操作
6、VGA显存作图,操作声卡发声一直到现在Windows下利用DirectX和OpenGL编写游戏,我深感游戏设计之困难程度非凡,许多朋友渴望自己制作游戏却被一道道高高的门槛隔与局外,于是我利用VmBeta的扩充性将VmBasic扩充了一系列多媒体操作指令以及游戏常用指令,使得刚入门的朋友们只需掌握简单的Basic语句就可以编写一定规模的游戏。2、今后,由于现在VmBeta是一款高效的虚拟机而VmBasic且用途是一个脚本引擎。所以将继续从简单性和可扩充性着手。一来基于VmBeta的框架做扩充可以变为某种CPU的模拟器备将来研究开发之用,二来现在的由于其自身特点
7、,在许多领域都可以发挥重要用途。(二)联系方式:林伟:电子科技大学通讯工程学院20013080班电话:83200790,191-8094070信箱:lwwind@yeah.netskywindt@yeah.net林伟第13页2021-6-18游戏语言VmBasic设计规划GameBasic规划说明(一)构架方案:用户预连接库用户编写应用程序(厂家所设计软件)VmBasic编译器脚本流脚本来源错误厂家升级VmBeta指令互相调用虚拟机VmBeta系统(运行指令)其基本运行模式如上图所示,按照面向性对象的思想,不同层次之间的通讯采用消息机制最为灵活,比如Wind
8、ows的消息机制。所以VmBeta对外部的扩展选择了
此文档下载收益归作者所有