控制理论与游戏破解¶
控制理论是工程学的一个分支,提供控制动态系统行为的方法。控制理论用传感器确定系统的状态,之后控制器确定把系统当前状态带到某个其他期望状态所需的一组动作。控制器执行这组动作中的第一个动作后,全过程——反馈回路——重复(见图 11-1)。

让我们把这个反馈回路应用到游戏破解上。要在游戏(系统)中自动化游戏玩法,机器人实现一些理解如何玩游戏、在任何由内存读取、网络钩子等(传感器)观察到的状态下都能玩的算法(控制器)。控制器通常有一些人类输入,比如要走的路径、要攻击的生物和要拾取的战利品。因此,要达到期望状态,控制器必须执行在当前状态下可能实现的这些输入的子集。
例如,如果屏幕上有生物也没有可搜刮的尸体,期望状态可能是让玩家到达预定义路径中的下一个位置(称为航点)。这种情况下,控制器在每次迭代把玩家向航点移动一步。如果玩家遇到生物,控制器可能会在第一帧决定攻击生物,并在接下来的帧中在逃离生物(称为放风筝)和向它射击法术之间切换。生物死后,控制器执行一组动作搜刮尸体,继续前往下一个航点。
鉴于这个反馈回路可能如何运作的示例,编写这样的系统可能看起来令人望而生畏。幸运的是,有一些设计模式让这项任务比听起来容易得多。