Loading, please wait...

Friday, September 26, 2008

[转载]Web版《剑侠情缘》

来源:http://blog.xoyo.com/jx2sun/article/567631.shtml

在《这个世界太疯狂JS都能出游戏》后,今天再次得到一个消息《web剑侠》已经基本开发完成了,更让人吃惊的是作者对游戏的关键代码开源。


给CB访的访客一个不需要下载就可以直接进行游戏的B/S游戏。这款游戏从头到尾只有一个页面,除了数据储存外,其他都用JS来完成,实在很佩服作者的毅力。

我刚试着看了下,不过好象我IE7.0兼容有点问题,一点read不能为内存,看看大家的行不,不得不佩服这位作者啊。我测试了下,应该在FIREFOX有错误,开始游戏那里没有连接,所以最好不要用FIREFOX。

《web剑侠》是采用js+asp+dhtml相关技术结合起来开发的,保存部分则采用了ajax。主要实现了寻路算法、人物的走动、场景的切换、物品的交易、剧情的演变、与敌人战斗等相关部分。寻路采用A*,延时统一管理,载资源数据用loader,定地图格式为js。





游戏演示:http://www.52jianxia.cn/newsword/index.html

《web剑侠》核心代码下载:



http://www.jsuper.com/blog/attachments/month_0701/x200712517296.rar





各场景数据下载:



http://www.jsuper.com/blog/attachments/month_0701/x2007127105420.rar



作者地址:http://www.jsuper.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剑侠》的开发持续了整整三个月的时间,我是一直衣不解带地侍奉着,生恐出丁点错乱。所幸天怜可怜之人,最后的效果还差强人意。剑侠里,翠裙飞袖、刀光剑影,虽无儿女情长,却也差之不远,或许在下一个版本里能够出现。

下引花逝无痕写于《天香十二亭》里的一首诗,虽出处不同,却也意境谙然。

天香云外飘

我哭豺狼笑

青锋出鞘日

天地鬼神啸

游戏相关截图如下:

游戏开始界面:





制作人员:







打斗场面:





说实话,当我第一次看到web剑侠的时候,感到十分吃惊。大家知道,国内尝试开发js游戏的人非常少,因为这需要很强的驾驭能力,还需要有宗教一般的执着才行。百晓生何许人也,居然用js完美地重现了6章的剑侠情缘,颇另人侧目。

剑侠情缘是一个大型的武侠RPG游戏,里面有场景,有走动,有故事的发展,还有打斗,工作量非常巨大。处理图片,制作人物动画,生成场景,寻径算法,任务系统的开发,总之,游戏开发中需要做的方方面面,他都会遇到,而且他做到了。我不由得想,是什么样的意识在支持着他,让他去完成这些艰巨而繁杂的工作呢?

现在终于看到了迷底,这主要归功于他对江湖侠义世界非同寻常的向往。就象由于日式RPG是bobby少年时代美好的回忆,才促使他用惊人的毅力进行js白之绊的开发,并且获得了成功。不过百晓生的剑侠情缘显然是青出于蓝而胜于蓝的,因为他基本上已经摆脱了演示性质,而趋于实用。

对百晓生有更多的了解之后,我更加吃惊了,因为他在开发游戏时,还只是一名在校学生,js只是最近才接触到,这方面的技术是和这个游戏的进度一起齐头并进的。这样就提供了一个经典的例子,即使很短的时间也可以让一个人变成js的顶级高手,前提是他对某一款游戏非常执着,并且打算用js来重现。每个人都有自已最珍视的东西,用这种方式去回味,无疑最有意义。

记得歌德说过,上天总会给你回报,但总是以他的方式。一个人在旅途中,因为马车坏了而大失所望,但是因为这次耽搁,而遇到了保持一生友谊的知心好友,这是多么幸运的事啊。

如果你是为了信念去做一件事,那么你就离成功不远了!

转载声明: 出自: Ghoul To World!作者: GreatGhoul

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.