任务系统的设计与实现(1)

2,306 阅读2分钟

前言 几乎在所有的游戏中都存在任务,用来激励用户进行游戏内行为。目前在我们的游戏内也存在任务体系,但是都是最简单的任务实现。本文介绍下我理解的任务系统以及目前的ludo游戏的任务构建和以后的优化方向。

任务系统的概念

比如下面的示例哈,老板给我卑微小王分配了一个买饭的任务,而小王接受了任务就会去对应的饭店去买饭。同时作为老板会稍微给小王一点奖励,这个模式就是最简答的任务模式。 任务发起方,任务执行方,任务本身。三者构成了一个最简单的任务体系。

image.png

任务的生命周期

  1. 初始化(即任务创建)
  2. 触发任务
  3. 达成任务
  4. 领取奖励(主动下发,被动领取)
  5. 任务销毁

任务分类

  1. 周期性任务
  2. 永久任务
  3. 签到任务
  4. 连续任务
  5. 定时任务

如何获取获取任务

在考虑如何获取任务的时候,我们假设有这么一个地方,我们可以从他这里获取任意的任务,无论是阶段性任务还是连续任务。这个地方或者结构我称它为任务树(我斑愿意称你为最强😘)

任务树

在这里我们引入一个任务树的概念,树的概念或者说结构我们都不陌生,在根节点是我们任务的起始,每个根节点有多个孩子,每个孩子还有孩子,正所谓子子孙孙无穷尽也。

我们利用思维导图来模拟我们这种任务树模式

image.png

任务树实现

我们可以利用链表来实现任务树。在后期的实现中我会用代码来展示,这里就不在赘述了

总结

本章简单介绍了任务的概念和分类以及引入一个任务树的小概念,在后期的文章中会持续的界面任务系统的设计和实现