从零开始设计回合制战棋。这是关于属性的介绍。

属性系统

属性系统不是所有游戏中都必需的系统。但在具有 rpg 标签的游戏中,这是不可缺少的一环。属性是一个单位最直观的体现。

  • 玩家通过属性的变化来调整自己的游玩策略。
  • 制作者通过属性的变化来设计玩家的游戏体验,最主要涉及的体验就是成长。

一个好的属性系统应该如何设计? 在谈论一个设计时,首先需要明确的是需求是什么? 需要一个属性系统管理所有的属性。管理就是增删改查。在谈论属性系统的各项操作之前。先要弄清楚属性是什么?

属性

属性在任何游戏中最直观的体现就是数值,它可以是浮点数,也可以是布尔值。属性唯一的操作就是属性的更改。 接下来的问题是有几种对属性的更改?

  • 数值修改
  • 覆盖
  • 百分比修改

定义一个属性修改器专门用来修改属性。这里可以使用接口,但是属性的更改通常是可以枚举的。

属性的更改分为四种:

  • 基础值的更改
  • 添加更改器
  • 移除更改器

属性集

这是单位属性的集合。每个属性除了受到自身属性的限制,还会受到其他属性的影响。通过在单个属性变化的前后设置回调,可以扩展出需要自己的属性性能。

属性集的主要功能:

  • 属性集合的初始化
  • 设置属性的当前值
  • 设置属性的基础值
  • 设置修改器

如何实现属性变化之间的回调