首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

提升用户对于App粘性的内嵌养成小游戏开发系统简析

在完整游戏制作中,几乎不可避免地需要在游戏中加入任务系统,成就系统和保存进度的存储系统。可以说成就为玩家提供了奋斗目标,而任务为玩家提供了完成目标的途径,而这个过程就需要存储系统进行管理数据。

本文以实践的形式分析成就、任务、存储系统的构建和联系,以养成宠物为主要玩法, 通过完成任务、游玩小游戏、社交、完成成就等方式获取培养宠物的资源。

1、任务系统

基于实践项目对任务系统的基本属性进行分析,其中包括任务名、任务完成条件、任务进度、任务奖励、任务开放等级等属性。

其中任务名、任务进度、是否领取过奖励等属性,是任务系统与存储系统中是最常交互的数据。在任务UI 上,需要提前准备UI 显示组件,包括奖励图片和奖励个数、任务进度、任务的名字和任务详情。

任务系 统数据的更新,包括任务属性的进度、任务是否完成、是否领取奖励和任务UI 的更新等数据。而这些数据的更新和管理需要一个完整的设计思路和运行逻辑,良好的程序思路设计可以有效地提高程序的运行效率。

2、成就系统

成就系统与任务系统在程序思路设计是类似的,在属性方面几乎有任务系统的全部属性,在更新数据上逻辑和任务系统是一样的,区别的设计主要在于UI 排版、美术和交互上。

在实践项目中,成就的交互设计和任务相比,成就交互设计难度更大,其区别在于交互细节,成就的UI 设计是在任务系统UI 的基础上,增添了一个新的UI 面板,而所有的任务是共用这个UI 面板的,面板的数据包括任务名称、完成条件、获取的奖励以及成就的具体信息。

当玩家点击成就列表中某一个成就时,会在原来的UI 面板上添加新的交互UI,同时根据所点击的成就对该共用UI 面板进行数据更新,UI 上显示的详细的成就信息和获得奖励的记录,对玩家有一定的激励作用,良好的成就系统能调动玩家的积极性,激发玩家内心的游戏动机。

3、存储系统

存储系统的开发,是联系多个系统、不仅有任务、成就等系统、背包的物品、也包括游戏玩家属性等级、名字、经验等。在项目中,保存游戏数据方式,选择了以保存Json 文件的形式。

在存储数据的结构上,不同的系统和存储系统交互的属性是不同的,所以需要针对不同的系统构建不同的数据结 构(类),以方便保存和解析数据。在成就,任务系统与存储系统交互,其实存在着一个临行保存物品的系统,就是背包系统。

在完成任务后获得奖励,储存在背包系统里,背包系统以一个C#的字典进行存储物品信息的,字典值类型使用C#列表类型, 这样的设计可以提高查询的效率的同时,可确保多个相同的物品可以保持独立存储数据。背包物品均由一个(程序)父类派生出来,在背包中可通过该基类进行管理。

4、成就,任务和存储系统的关系

对于存储系统而言不仅要将数据转化为Json 文件,同时需要和其他系统构建联系起来,以成就和任务系统为例,存储系统只需存储必要信息,所以在保存数据时,需要存储系统根据成就,任务的脚本数据,对系统的属性进行区分,只留下必要信息。

以实践项目的任务系统的存储数据为例:必要信息有任务 ID,任务进度,是否完成过任务,任务是否领取过奖励等数据。三个系统的联系不仅仅是在数据的传输上,存储系统也对其他两个系统的数据进一步管理,同时存储的数据,也需要任务,成就系统为构建保存的数据结构提供参考。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220927A06XYV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券