|
以前是玩es类的mud
然后开始自己做lpc类的mud
总觉得在mud里无所不能
可以任意穿墙过壁
随便把人变刀变枪,变猫变狗,就是把人变个房子住进去都可以
还可以移山倒海.担山赶月.把整个世界炸了都可以.....
更有甚者写一个脚本,实现telnet连接到别的mud里去
或者写个stock,拿mud做网关跳板
好象在mud里,wiz简直和神没什么区别
后来对mud的脚本代码有了一定了解,发现了实现的方法
开始自己研究具体实现
最后发展到改写mudos....回忆一段快乐的岁月总是很让人轻松的
最初入行时,做的是系统和任务策划,偏上层设计,记得当时设想总被搁置
偶们的程序倒是很有水平的,从来不说不可以那么做,但是总是提出,你的
设想做是可以实现,但是需要时间,目前进度##$#%#$.所以#$#@$@#,
习惯了mud的随意创想空间,突然被限制到一个小范围内,确实一直让偶
很困惑.
于是偶渐渐考虑,如何去实现自己的设想,索性偶还有些程序和数学的底子
就每天开始Y,渐渐对上层策划内容设计没有了很大兴趣,转而倾向去构造底层
好象发梦自己是创造世界大神,在构造世界的基础元素一样,最后的结果就是....
走上了数值策划这条不归路........另外,一个自己觉得很笨才取的名字,?Y
好歹Y了那么多年,根据设想和偶自制的不包括画面渲染的纯程序实现版,在理
论和事实上确定了这一理论基础的实现可能.
下面大致介绍一下偶的思路,大家随便看,不过记得先恭维偶几句再拿板砖拍
否则偶就拿出"无礼,态度不好,不足于语"之巨大高帽来给诸君佩带......
系统数据结构
首先:建立obj基类,这一obj基类包括唯一id,内存地址指针,内存占用宽度记录三部分
其次:建立管理精灵,也就是游戏最基本的obj管理器.说白了就是分块式的内存管理池.
管理分成地图,物件两大块,地图又分地表,地面物件,障碍层等等地图相关的元素.
物件分角色,怪物,npc,装备等等
建立管理精灵的管理协议和相互交流方式以及其他杂项相关.
再次:建立包裹函数,制作包裹函数move(),walk(),wield()等等,分别代表了一般游戏中
所有地图和物件能够采取的动作,
最后:建立非物件类的其他类和函数,什么读取日志啊,运行脚本什么的,也就是说和obj不
直接相关的内容.
数据操作流程
启动系统后,首先载入系统核心精灵.初始运行环境,载入各类其他管理器,建立系统记录和
消息通道,然后根据管理精灵的管理协议,初始化地图和根据各类物件数据和协议,生成游戏
世界中所有的物件.
好了,大致就这样了,写的很简单,实际要做的事情很多,远远没说清楚
什么,觉得没用,一冲眼看似乎是,但是当你能通过包裹函数的联结和切断,随意把角色变化为
怪物,npc,武器,装备,等等一切游戏中的物件,甚至直接是一个房间,一张地图哪,又或者是一
个既能说话,有能走路的武器哪(完全可以创造一个不遵循现有常见游戏物件概念的东西)?上
层策划可以在这个灵活的转化中实现多少设想啊
别觉得不可能,纯单机,界面使用简单的2D小人的版本偶已经实现了,系统消耗也不大,目前最
大的难点是图形渲染方面的,3D可能很难(偶这块完全不行),2D的话应该问题不大(dxdraw的程
序实现偶也不是很精通),觉得这个有用就给偶点建议吧,觉得没用,直接免回
|
|