背景:
阅读文章

MUD开发手记:一个崭新的植物人诞生了

[日期:2013-06-21] 来源:  作者:sig13 [字体: ]

我参照mudos的doc,新架了个mudlib,当然,就几个文件,几行代码,反正是需要什么加什么。其实,也就是玩。
比如,我lib跑起来了,我得能做些事情啊,最起码,能echo我的输入,然后是能根据我的输入做一些事情,当我需要频繁shutdown的时候,我就加了个shutdown的指令,因为我在cygwin下,kill任务要先ps一下,不如shutdown舒坦。当然,经常写错代码,什么指令也不接受,只能kill了。


然后,我需要能看自己的状态,就加了个data命令,当然,一个命令也就几行代码,因为我写得慢,一个晚上也写不了几行的。
然后我需要测试,就加了个setme的指令,设置自己的参数。
当然,我很久以后才有了房间,等我测试房间数据的时候,我把setme指令修改成了set me|here,呵呵。

昨天,我尝试了做一个全地图模式,就是想login和user那样,clone room,然后save room data,在load一个room的时候,先find room,然后尝试restore room——如果这个room之前有数据的话。
其实,就是几行代码,想怎么写都行的。
room不一定要有出口啊,不就是go么,如果往动,就将x坐标+1好了,再去find新坐标的房间,判定能不能move,可以就move,不能就不让move呗,比如新坐标的room是个水塘,就不让进去了。而是水塘还是火坑,就是room data了。
昨天因为go命令太长,顺便把system alias给加上了,我之前每次敲look,敲了好多次,终于可以之输入l,就能look了。。。
所以,懒惰~促进了人类的进步……
考虑到平面的地图,是不会被走完了。要被走完,就要建立一个地球一样的模型。一直往南走,走足够远,就回到起点了。
这个模型有一个难点,就是极地和赤道,大家一圈都是360°,这360°有几个房间呢?如果一样多,有点儿不合理,如果不一样多,那南北走,怎么能可逆呢?
或者。。。不做球面,做圆柱面?
还是努力做成球面吧,无限拟真么~~
虽然可能玩家走完一圈要走几万个房间。。。或许要走几天几夜?
其实,极地放和赤道一样多的房间,也可以……暗黑里面,一个碎宝石就占了全身铠甲的1/6空间,也没有人说什么~~~游戏么。。。
哈哈~~我今天晚上回去,先按这样做做看~~
这样的话应该有180*360*n个房间吧,这个n,就是一个单位放几个房间。总不能真的一圈就360个房间,地球也太小了,或者,步子也太大了,会扯着蛋~~
立方体,怎么有南北东西呢?这跟人们正常的思维就不一样了。
然后,我们走路,就要forward, backward, left, right...

本来打算用极坐标做的,但还是觉得用三维坐标比较简单一些。
昨天晚上,大致写了几行程序,可以实现一个简单的地球模型的地图的。
用两个值来定义在一个经度有多少房间和一个纬度有多少房间。总房间数就是两个乘积。
当然,我测试的时候,经度上是9个,纬度上也是9个。
用一个房间clone,然后设定数据。
一直往东西走,会在同一经线上循环。
一直往南北会到达南北极。
为了能代码南北极之后,不至于没有了南方或者北方,我将南北极设置能一个n等分成扇形的圆,这样,在南极往南一步,会到另外一个半球相对应的位置。
所以,要沿着纬线走一圈,可以,一直南走到南极,再南一步到另外半球,一直北走到北极……
这样,一个地图的地基就有了。

背景,应该不会很复杂,为了能自由的发挥,应该会有一个架空的背景,至少不会有mud之前的时代,而mud之后的时代是玩家创造的。
应该是从一个小镇开始,然后散落在地图上,有几个npc聚居的点,可以从那里学到最初的武功,获得一些必要的生活品。
当然,为了可持续发展,一些item的来源,都应该是玩家,所以,在我最初的设计里面,是有匠人这个职业的,这样,就会有源源不断的神兵,当然,也不会数量很多,毕竟需要技术和材料……


下一步,计划完成地基和特殊房间的对接。
毕竟有些房间事件是不能用数据枚举的。
这个房间模型,至少能让wiz写的特定房间能和普通的数据房间无缝对接。
这个,估计也不会要几行代码。

我的开发大致就是按照自然的顺序,先有了天地,然后有了物品,最后有了人,然后人要互动,人会去创造物品,改造自然——一个社会就出现了。
故事背景应该是在架构上面一层的设置。
属于两个范畴,或许,对于技术型wiz,故事背景更要命,完全弄不出来看得过去的故事啊。
大致可以设定玩家之间的“熟悉程度”,但是,真的需要那么复杂么?

保存与玩家的互动还可以,但npc就麻烦了
去好多MUD游戏玩了一下发现好像就是不停的做任务。
打工已经很辛苦了,玩游戏,还总是任务不停。
那,我们玩的什么呢?难道就是上去找虐,做事?
大概mud都是这样的?那就不对了。
至少,我们应该做一些我们想做的事情,而不是做wiz规定我们可以做的事情。
不容易啊,能做到么?

有点儿丢失方向了。
嗯~其实做做建筑工人挺好的

wiz终究是人,基本上,玩家的创造力和wiz是不相伯仲的。但是因为玩家的数量远远超过wiz的数量,所以,玩家的创造力总和是远远超过wiz的,好比我朝的GDP。
让wiz贫乏的创造力去构建整个世界,会让玩家们感觉无法施展的。
我的大致构想是,类似凯撒那个样子的,玩家可以铺路架桥,可以铲地开荒,可以盖屋建楼,可以建造城镇。而上面这一切,只需要设置room的属性和room的一些描述,不涉及add action这样的需求。
一个room,可以是平地,也可以是道路,也可以是房间,也可以是其他什么。平地、道路、房间等比较常见的,会有属性设置,而go和look这样的指令,也需要改革。比如在一个房间里,look west,看到的是西边的墙,在一个房间东边,look west,看到的是相邻room的东墙外侧。这些数据,都是room属性。
所有的这一些,都有玩家来建造。我认为,建造是有快感、成就感的,只要系统足够的合理,玩家会很乐意去做这个事情。
这两天在建立数据模型。

如果有了一个雏形,那么就有了进化的根基。
即使不能一步到位,也需要先有这么一个东西出来的。
不过,都是业余的玩玩,自己的事情都多得做不完,呵呵~~
说到天神的构想和玩家冲突的问题,如果天神没有构想,就不会有冲突了。
我觉得,不同性格的玩家可以建立不同的领地。
可以在深山中建造自己的小木屋
也可以集结一帮兄弟建立一个部落
更狠的,可以建立一个帝国

高等级的建筑可以带来更多的可玩性,最重要的是能展示自己的性格

开始有了第一个item,然后就需要drop和get命令,还有id命令……
第一个item是房间建造工具
look指令的逻辑得修改了。

在写玩家建造房间的代码的时候,才发现,我的构思中的那些东西,有点儿乱,貌似要整理一下。
大概,有点儿类似凯撒。
房间可以随意建立,建立之后有附加作用。
至少有观赏价值吧,比如,给玩家一面墙,可以涂鸦。
当然,玩家可以建立一片帝国,提供帝国鸟瞰图。
不过,就建造的过程,一些细节,还在构思。

我这些年已经很少有时间玩游戏了,所以很多东西都不知道
其实,我也想过我想做的这些东西已经被人做了——肯定被人做了,比如凯撒的建造系统,那都是上个世纪的事情了,过了这么多年,肯定有更加好玩的东西出来。
也就是玩吧,甚至,我都没抱希望,写出来会真的架个系统,因为颠覆了传统mud的概念,就断了很多mud玩家怀旧的念头,而文字界面,对新一代的玩家,是没有吸引力的
大概,也就只能自娱自乐了

昨天晚上,写了一个函数去获取地图,本来打算可以查看周围19*19的地图的
结果,一个19*19的地图的eval cost居然高达8,000,000。
当然,因为是初步设计,没有考虑代码优化,估计可以降到十分之一以下吧,但是还是很惊人的。也未必能优化那么多,因为当周围360个房间都是没有初始化的时候,要load,这个时间是省不掉的。。。

昨天突然想,我应该允许每个房间设计自己的tag,tag就一个中文字的宽度,这样,玩家可以获取19*19的tag map,嗯,我可以画一盘棋出来。。。

好吧,我最终下决心不玩北侠,是因为一会就弹出来的认证图片,我觉得我好像被人监视一样,又好像我被人玩弄一样。
那个认证系统,是我见过的最suck的mud创意
 
最近琐事太多了。
地图系统算是告一段落了
我将整个系统分成数个不相干的部分,然后慢慢的去完成……

开始写fight了。
这个应该是我打算重新写的重点部分,只是在做准备工作的时候,觉得地图不应该是现在看到的那个样子,才拐过去,重新设计了一下地图系统。

现在的地图系统,基本告一段落。
算搭了一个架子吧,细节部分的活还很多。
本着xp的精神:总要有个能跑的demo。
所以,我决定将fight部分先写出来。
这样,至少可以练武、打架、行走江湖。
嗯,主要就亮点吧:有个地方,能打架。

打架分成两部分:打架的人和打架的招数。
至于兵器、毒药什么的,应该是属于招数。
人,按照食物和水-精-气-神的循环,另加筋-骨-皮的综合身体素质参数。
招数,则分为格斗招数和非格斗招数,非格斗招数不在fight之列,是一些conditions的设置,中毒等,或者精神恍惚?
格斗招数,按照中国传统武术,每一招都应该有“跌拿摔打”,所谓高手,自然可以收发自如,比如,两人过招,一个人可能是招招致命的,而另一个人,则是以“拿”为住,也就是制服。
目前,粗浅的计划:
跌 - 本身不发力,借力打,消耗对方的体力为主
拿 - 化解对方攻击,制住对方要害,但是不伤害对方
摔 - 顺对方的力道,在借力打的基础上加力,将对方打伤,程度视对方的攻击强度来定
打 - 就是杀咯,下最狠手
当然,也不是说“跌”和“摔”的就自己不出招,只是出招很少,具体的实现,还是在测试的时候调整吧,懒得做非常详细的设计

待续..........
收藏 推荐 打印 | 录入:sbso | 阅读:
相关内容       mud 
本文评论   [发表评论]   全部评论 (0)
内容推送
52mud提供
一起回忆泥巴游戏QQ群68186072
52mud官方微信公众平台
热门评论