`
cqphper
  • 浏览: 23710 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
最近访客 更多访客>>
社区版块
存档分类
最新评论

MMORPG开发杂谈(一):任务系统设计

阅读更多
最近一直在思考MMORPG的任务系统的设计。以下是需要达到的几个设计目标:
1.       任务逻辑与程序逻辑完全脱离;
2.       服务器端程序和客户端程序提供有限的功能之后,可以由脚本程序员完成任务编写;
3.       必须方便任务的更新。
当然,任务系统的具体实现受策划案的影响很大,我这里只是空想的一个一般的实现方案:
<场景编辑>:
场景数据文件和任务相关的主要是NPC和调查触发器(例如调查一个石碑)。当玩家与NPC谈话,或者调查某个物品时,需要开启某个特定的任务。某个对象可以开启哪些任务,以及开启任务的条件需要事先编辑到场景数据文件中。任务条件也可以写入任务脚本文件中。
<服务器端>:
1.       每个角色身上保存(最多)N个任务体(WOW是20个),任务体应该包括任务名称或编号,以及几个任务变量(供任务脚本使用,个数依策划而定,但不可太多);
2.       每个任务存储一个脚本文件,当游戏中特定的事件发生时,首先应该查询场景数据,看是否开启一个新的任务,然后逐个通知现有任务的脚本,每个任务的脚本来执行各自独立的任务逻辑,例如有某个任务脚本文件为Quest_001.script如下:
OnTalkNpc(string npcid)
{
if(npcid == “张三”)
{
     if(GetQuestVar(0) >= 10)//杀够了
     {
       ShowDlg(“你这么快就杀了10只老虎?很厉害!”);
       IncPlayExp(1250);//经验奖励
     }
    else
       ShowDlg(“你好啊!”); //向客户端发送命令,显示对话框
   }
}
OnKillMonster(int monsterID)
{
if(monsterID == 1000123)//是任务指定的怪物
  {
     IncQuestVar(0);//修改任务变量
}
}
3.       因为大部分任务是只能执行一次的,所以服务器还需要记录此角色完成了哪些任务。
<客户端>:
可以查询视野中对象可能开启哪些任务,玩家是否满足条件来给出一些提示,例如头顶放一个叹号;
当玩家与NPC对话或者调查某个物品时,发送通知给服务器;
接收服务器的消息,更新任务显示信息。

以一个典型的任务为例:玩家与张三谈话触发任务,杀十只老虎,回来交任务可以得到1250点经验。



分享到:
评论

相关推荐

    Flash-MMORPG游戏引擎及工具开发概述

    在IT行业中,游戏开发是一项复杂而充满挑战的任务,特别是针对MMORPG(大型多人在线角色扮演游戏)类型的游戏。Flash-MMORPG游戏引擎及工具的开发旨在提供一个高效、灵活且易用的平台,帮助开发者构建出引人入胜的...

    Unity3D开发的MMORPG游戏服务器和客户端源码

    Unity3D开发的MMORPG游戏服务器和客户端 Unity3D开发的MMORPG游戏服务器和客户端源码,服务端是用PhotonServer开发,全部解压后900多mb。 所以请不要商用,仅限学习使用

    Bree-MMORPG-Tools:帮助您开发MMORPG的工具

    7. **游戏开发流程**:使用Bree-MMORPG-Tools进行开发,可能涉及角色建模、场景设计、AI系统、经济系统、任务系统等多个环节,开发者需要掌握这些领域的基础知识。 8. **协作与调试**:在大型项目中,有效的版本...

    一个简单的MMORPG坐骑系统

    坐骑系统的设计目标是为MMORPG(大型多人在线角色扮演游戏)提供一种增强玩家体验和个性化表达的方式。通过引入坐骑,游戏能够增加玩家的移动速度,提升游戏世界的探索感,同时坐骑也成为了展示玩家实力和独特风格的...

    AS3.0开发MMORPG游戏概要.pdf

    以上知识点概括了使用AS3.0开发MMORPG游戏的关键技术和实践,包括网络编程、数据编码解码、模块化设计、事件处理、资源管理等方面。这些内容对于理解AS3.0在现代游戏开发中的应用非常有价值。由于文档内容部分是经过...

    一款java 写的很好的mmorpg游戏 可以编译通过 很有学习价值

    学习者可以从代码结构、类设计、网络通信、多线程处理、图形渲染、游戏逻辑等方面获取知识,理解如何将这些核心组件整合到一个大型的MMORPG系统中。 标签“java 游戏 rpg”进一步明确了这个项目的性质,其中“java...

    Unity3D开发的MMORPG游戏服务器和客户端.rar

    Unity3D,作为一款强大的跨平台游戏开发引擎,被广泛应用于各种类型的游戏制作,包括大型多人在线角色扮演游戏(MMORPG)。这款引擎以其直观的可视化编辑器、高效的游戏性能以及丰富的资源库,让开发者能够快速构建...

    MMORPG mysql 开发包 YYMysqlSDK

    YYMysqlSDK是一款专为大型多人在线角色扮演游戏(MMORPG)设计的MySQL数据库开发工具包。它旨在简化MMORPG开发过程中与MySQL数据库交互时所需的代码编写工作,并通过优化数据库访问方式来提升服务器性能。该开发包...

    skynet mmorpg

    "some-mmorpg-master"这个项目可能包含了MMORPG游戏开发的完整流程,从角色创建、地图探索、战斗系统到社交功能,每个模块都可能对应一个或多个Skynet服务。开发者可以通过阅读和分析这些源代码,了解如何在实际项目...

    Unity 任务管理系统 TaskSystem

    自己结合公司项目,用Unity写的任务管理系统,可以自己添加任务计时功能,实现任务进度管理,任务接受提交等功能。

    StendHal---一个开源的MMORPG游戏

    其游戏框架、账号系统以及与玩家的互动界面都蕴含了大量的IT知识,涉及游戏开发、软件工程、网络通信、用户界面设计等技术领域。对于对游戏开发感兴趣的读者而言,StendHal不仅是一个游戏体验的对象,更是学习和实践...

    游戏策划资源 MMORPG系统

    MMORPG即大型多人在线角色扮演游戏,它为玩家提供了一个虚拟的游戏世界,在这个世界中,玩家可以扮演角色,与其他玩家互动,并进行一系列的游戏活动。 首先,文档中提到了账号系统相关的设计要点,如登录验证(包括...

    SOCKET通信 MMORPG网页游戏开发经验

    SOCKET是操作系统提供的一个接口,允许程序通过网络进行双向通信。在网络编程中,SOCKET通信允许客户端和服务器之间建立连接,交换数据,实现信息传输。 在MMORPG网页游戏开发中,由于玩家需要实时同步游戏状态,如...

    mina mmorpg服务端源码

    《mina mmorpg服务端源码...通过对"mina mmorpg服务端源码"的深入学习和研究,开发者不仅可以掌握网络通信和游戏服务器开发的关键技术,还能提升对大规模分布式系统设计的理解,为构建自己的游戏服务端打下坚实基础。

    MMORPG服务器端架构和设计.ppt

    MMORPG服务器端架构和设计 后端设计

    MMORPG服务器端架构和设计

    在构建大型多人在线角色扮演游戏(MMORPG)服务器端架构时,设计和开发的目标是至关重要的。首先,高稳定性是核心需求,确保服务器能够长时间无故障运行,以满足玩家不间断的游戏体验。高适应性意味着服务器需要应对...

    一种可扩展的MMORPG网游分布式服务器架构方案.pdf

    4. 可开发性:服务器架构的设计还需考虑系统的开发效率,需要综合衡量开发人员的能力、架构设计的复杂度和模块间的耦合度。这样可以使各个开发人员能够相互并行、协同工作,同时又不相互依赖。 5. 可维护性:从运营...

    MMORPG游戏论文 - 检测-论文.zip

    2. **游戏设计**:MMORPG的设计涵盖了剧情构建、任务设计、地图规划、职业平衡、经济系统、PVP(Player versus Player)与PVE(Player versus Environment)模式等。游戏设计师需要考虑如何创造一个既具有挑战性又...

    MMORPG数值策划的设计架构.pdf

    当数值策划者拿到游戏设计概要及系统分析文档时,首要任务是从宏观角度考虑如何构建整个游戏的数值架构。这一步骤至关重要,因为它决定了后续所有细节设计的方向与框架。在此阶段,数值策划者需要关注以下几个方面:...

    Unity和C#-游戏开发-MMORPG KIT+源代码工程

    Unity和C#-游戏开发-MMORPG KIT+源代码工程

Global site tag (gtag.js) - Google Analytics