mud吧 关注:20,934贴子:98,878

从零开始制作一款无限类MUD(二):npc与任务

只看楼主收藏回复

上一贴: 《从零开始制作MUD(一):人物与战斗》 (http://tieba.baidu.com/p/2954030145)
LZ正在制作一款无限类MUD游戏(暂定名为《无尽世界》)。游戏希望模仿无限类小说,创造一些背景各异的任务世界。玩家可以扮演一个意外进入无限世界的普通人,在一个又一个的任务世界中冒险。
写这个系列是希望能够记录下整个游戏开发的过程,也和感兴趣的朋友分享一些个人制作MUD的经验和思考。之前的帖子收到不少朋友的鼓励和建议,谢谢各位了~
这周主要做了下游戏的NPC系统和任务系统,下面是一些介绍和示例。
三、NPC
和战斗系统类似,在《无尽世界》之中,和NPC的互动是通过菜单式选项来进行的。玩家不需要记住复杂的英文指令,只需要根据编号选择自己想要说的话,或者想要询问的问题。

上图是一个简单的示例。在玩家输入“对话 警卫”之后,系统便会自动展开对话树。根据玩家不同的选择,NPC会给予不同的反馈。
图片来自:xr_jin的百度相册

选项 “我还有一些问题...”,类似于传统MUD中“ask ××× about ×××”命令,当进入这个选项之后,系统会提供一些固定的选项供玩家选择,如“物品”,“技能”,“任务”。此外,“自由提问”这个选项允许玩家自由地输入一些关键词来获得信息。比如,输入任务物品的名字有一定几率得知物品的具体位置,输入怪物的名字会得到怪物的详细信息。一些特别的隐藏任务也只有通过输入正确的关键词才能够触发。
在《无尽世界》之中,玩家可以向任何一个NPC购买他手头的物品或者学习他掌握的技能,但有两点限制。一,当NPC对你的好感度不够时,会拒绝你的请求。二,购买物品或者学习技能都有一定的价格(价格会随着好感度的增加而减低)。由于任务世界每一次创建时都会随机分配NPC的物品、技能和初始好感度,所以不会存在固定的攻略或者强化路径。每一次进入任务世界时,玩家都会面对全新的挑战。
最后,所有的NPC都是可以被杀死的。杀死NPC可以得到他身上所有的物品和金钱,不过也要承受来自其他NPC的报复。有时候,向NPC学习技能,然后杀了他拿回学费,也会是一个不错的选择~


通过百度相册上传1楼2014-04-07 06:19回复
    辛苦了,还在工作啊,严重支持。


    IP属地:江西来自iPhone客户端3楼2014-04-07 08:27
    收起回复
      2025-06-12 22:14:40
      广告
      这个编程0基础能不能做的呢


      IP属地:广东来自手机贴吧4楼2014-04-07 08:41
      收起回复
        很期待最后的成品


        IP属地:江苏5楼2014-04-07 14:48
        回复
          你写那个是架构吗


          IP属地:广东6楼2014-04-08 08:16
          收起回复
            楼主,这个是手机版的吗?
            本人男,小学5年级,犀利上单,意识超前,风骚走位,恐怖输出,次次5杀,把把超神,lol三分钟两把饮血,八分钟单挑大龙。魂斗罗一命通关,拳皇单手无限连。飞车道具领跑一把刀,拖人如疯子,拖泡不睁眼。CS专业甩狙。现求一个好一点的数学老师补课。
               --来自小学生联盟


            IP属地:湖南来自Android客户端7楼2014-04-08 10:33
            收起回复
              元芳,你怎么看?


              8楼2014-04-08 17:59
              回复
                支赞一个,楼主,可不可以做个动态的世界呢?就是整个游戏的大世界不是固定的,npc死了又在同一刷新,怪又是一样,可不可以设置一些动态时间,比如怪物攻城,如果没有玩家插手的话是可以被攻陷的,攻陷后原本是个城市的就会变成一片怪物聚集地之类的,额这只是我个人的想法,想实际应该比较难,楼主看看就行了


                IP属地:湖南来自Android客户端9楼2014-04-08 23:31
                收起回复
                  2025-06-12 22:08:40
                  广告
                  楼主,你这个做法正好解决了在手机上面无法输入复杂指令,但又不适宜加入太多按钮图片的问题,我也正在尝试 用android开发,楼主这个思路对我启发也非常大。
                  楼主有空看看我写的,感觉咋们的思路很多地方都有相似之处,有空加个qq 7002123。可以好好 聊聊 呵呵


                  10楼2014-04-10 10:50
                  收起回复
                    起初我也想做个动态的世界,起码玩家对世界能产生一定的影响,结果发现想起来容易做起来难,值得考虑的东西会很多。
                    举个非常简单的例子:你对NPC的亲的度,或者是声望,这可以影响NPC对你的不同反应。但是现实实现起来就是你的数据库必须要多一项存储数据,就是存储NPC对你的亲和度数值。随着你做任务或者杀人什么的,这个亲和度随之改变。但游戏中NPC众多,真正实现起来每个玩家都要存储成百上千个NPC的亲和度,光这一项数据量也会非常巨大。


                    11楼2014-04-10 11:08
                    收起回复
                      关于动态世界的问题随便扯两句
                      由于最近在看一些人工智能的算法,如遗传算法、神经网络算法等;发现都是需要定义一个或多个阈值,然后再计算过程中不断改变阈值,或根据修正值和附加值变化阈值,最终得到全局最优解;
                      同理,针对动态演化的游戏来说,或许就需要针对任务的执行、关键NPC的PK等建立算法和相应的阈值,在完成任务或PK某个npc后动态改变阈值,然后根据变化的阈值重新构建世界,如果当阈值的变化超出范围时,需要修正值将其修正;如果阈值一直处于稳态,需要附加值促使其变化


                      IP属地:上海13楼2014-05-12 10:59
                      收起回复
                        楼主一个人作?这个工程量略大阿。。


                        来自iPhone客户端15楼2014-05-18 02:53
                        回复
                          人多的话被刷屏怎么办?


                          IP属地:河北16楼2014-06-09 15:54
                          回复
                            楼主,我们也在做类似的事情,能一起聊聊吗


                            19楼2014-07-08 13:29
                            回复