前段时间又准备去做以前没做完的那个RPG游戏(都停好长时间了,有时候觉得自己的毅力是够差的,不过客观的影响也不少),仔细思考后觉得可以做一个AS3的RPG游戏引擎,这样就可以做更多的RPG游戏了,思来想去后脑子里面就已经有了一些这个引擎的样子、代码结构和面向用户的使用方式。
其实脑子里面想做的东西还是很多的,比如之前的“牧场”游戏一直有想做完,并想到在做完后把制作的过程录下来并写成书,这样也许对很多人有帮助。我翻开这个游戏中的代码,发现已经写了很多,但我却没有继续下去(这已经是去年的事了),其实自己毅力是不够的,理想无时无刻产生,很多不错的想法都被自己的惰性给打压了。但在做这个游戏的过程中我探索出了一个自己觉得很好的RPG游戏架构,对我进行下一步的开发很有用,这样我大胆的想做出一个AS3的RPG游戏引擎。
原先我设想这个引擎有两种方式,一种是类似JQuery的方式,所有引擎代码都放到一个文件夹里面,制作游戏时Import相应包,这样就可以使用这个包中的类已实现的功能,减少了自己去写很多代码。
另一种方式就是发布这个引擎的同时发布一个基于这个引擎的游戏编辑器,引擎的代码嵌入在这个编辑器中,在这个编辑器中可以去制作游戏,这完全体现一个“制作”的过程,设置一些值,定义和添加一些东西(包括地图、角色、动作、事件、NPC以及上传图片和swf文件等等),这些信息放到xml中,图片和swf文件放到xml所标识的目录中,当然也有自己写的代码,但这些代码需要导入引擎中的一个用于扩展的接口包,自定义的类需要实现这其中的一些接口。之后编辑器可以生成swf文件,这个就是游戏了。当然无论是哪一种方式都是开源发布的。
我觉得第二种方式要优越,其实两种方式没什么区别的,只是第二种方式更彻底更复杂一些,第二种方式中的编辑器还可以做成web的,可以不需要安装就可以使用,这是我昨天才设想到的,呵。