【转帖】用JavaScript实现的WEB RPG游戏《web剑侠》
meizz 2007-01-16 04:02:14 demo:http://sword.jsuper.com
author: 百晓生
msn: jscript_rpg@hotmail.com
qq: 156809986
email: jsrpg@126.com
《新剑侠情缘》是我最先接触到的一款游戏,也是我一直都喜欢的一部武侠,恢弘大气、画面精美。而《web剑侠》也是我接触JS后制作的第一个作品,完全模拟《新》的相关机制,采用《新》的图片音乐资源,完成的一款web版本的jsrpg。
《web剑侠》是采用js+asp+dhtml相关技术结合起来开发的,保存部分则采用了ajax。主要实现了寻路算法、人物的走动、场景的切换、物品的交易、剧情的演变、与敌人战斗等相关部分,虽是个demo版本,却是麻雀虽小,五脏俱全。
现在回首,这一路走来倒也是坎坎坷坷。当时只是对JS略懂,动手的时候只是有着一股热情而已,主要还是学习了幻宇当时的一个小人走动的程序。想来好笑,当时对游戏开发可以说是丝毫不知,我看着幻宇程序里的那些数字,有着很大的迷惑。我一直坚信有某种规则,却有想象不出,等后来全部演算出来时,我的脑海里才有了地图编辑器这个概念。后来便花时间制作mapeditor,略过不提。
之后书写游戏主程序的时候,意料之中的又遇到许多问题和难点,至少对我当时来说简直是梦魇。其后在51js上转了数次后,发现了bobby的《白之畔》。那时只能用惊奇、惊喜、惊艳来形容了,如果把键盘控制换成鼠标控制,如果把卡通人物换成武侠人物,如果把中现代场景换成古代场景,如果......,那不就是我想做的吗?
现在来写这篇文章是有愧的,可以说这个《web剑侠》里有很多东西都是bobby的,只是有很多已经改头换面了,我在很大的程度上只是在实现那些如果。不过,就算是在现在,我也想像不出,还有什么可以脱了《白之畔》的范畴?
主程序的编写有条不紊的进行着,寻路采用A*,延时统一管理,载资源数据用loader,定地图格式为js......,一个个功能在实现的时候都会欣喜又担心。越来越大的代码量总是个无形的危险,好像有个时候会挣脱我的控制。回想当初,面向过程的编程思想贯穿始终,太多的函数总是枷锁。不过,值得庆幸的是,效果终于一步步的体现出来。
说起来,这个程序倒是让我得了许多的好处,学习了许多技术、让我顺利毕业、顺利找到了一份工作。我是爱屋及乌,当然对他也是宠爱有加。不过这些都不能改变他潜在的缺陷——速度。一个游戏,尤其是在网络上运行的游戏,速度更是重中之重。《web剑侠》里我虽然采用了loader进度条、把大图片分小等方法来缓和载入的问题,然而当场景数据很大,内容很多的时候依然会有延时。当然还有是用body的scroll,还是用div的scroll的问题也是影响因素之一。
《web剑侠》的开发持续了整整三个月的时间,我是一直衣不解带地侍奉着,生恐出丁点错乱。所幸天怜可怜之人,最后的效果还差强人意。剑侠里,翠裙飞袖、刀光剑影,虽无儿女情长,却也差之不远,或许在下一个版本里能够出现。
下引花逝无痕写于《天香十二亭》里的一首诗,虽出处不同,却也意境谙然。