Loading

宏和宏观操作

一、编程语境中的宏(Macro)

1. 定义

宏(Macro)是在编译或构建过程中,用于替换特定标识符为特定内容的一种机制。它常见于:

  • C/C++ 预处理器宏(#define
  • 构建系统变量(如 Makefile、CMake、MSBuild)

2. 示例:C++ 中的宏

#define PI 3.14159
#define SQUARE(x) ((x)*(x))

3. 示例:MSBuild(Visual Studio 构建系统)中的宏

引用自《Game Engine Architecture》中的原句:

"Macros are invoked by writing the name of the macro enclosed in parentheses and prefixed with a dollar sign (e.g., $(ConfigurationName))."

这类宏通常用于 .vcxproj 文件中,是 Visual Studio 的项目配置变量。例如:

<OutputPath>$(Configuration)\</OutputPath>

其中 $(Configuration) 表示当前的构建配置(例如 Debug 或 Release)。


4. 特点

  • 编程宏偏向语法替换、构建流程控制
  • 在 Visual Studio 和 MSBuild 中也被称为“属性宏”或“项目宏”
  • 和 C++ 中的 #define 类似,但语义上更像是 “构建时的参数”

二、游戏语境中的宏观操作(Macro Play)

1. 定义

宏观操作(Macro Play) 是游戏术语,指玩家/团队在比赛中做出的 大局战略决策,包括地图控制、资源分配、节奏掌控等。

与之相对的是 微观操作(Micro Play),即个人操作层面,如走位、瞄准、技能释放等。


2. 示例:守望先锋(Overwatch)中的宏观操作

  • 进攻节奏判断:团队是否集满技能/大招后再进场,还是尝试快速爆发一波?
  • 位置与地图轮转:决定从正面推高地、侧翼绕后,还是直接跳点分割后排。
  • 大招管理(Ultimate Economy)
    • 分析敌方刚用了哪些大招,评估下一波进攻是否优势;
    • 做出“卖一波”的策略(不交招故意输一波)来攒资源。
  • 重生与集结(Regrouping)
    • 某位队友阵亡后,是否应该全员撤退重新集结;
    • 判断该不该等坦克复活或支援到位再进攻。

3. 特点

  • 更侧重 团队配合与战略思考
  • 注重 站位调度、节奏控制、信息判断
  • 是高水平对局中取胜的关键因素

小结对比

项目 编程中的宏 游戏中的宏观操作(Overwatch)
英文术语 Macro Macro Play
所属领域 软件开发 / 编译系统 游戏 / 电子竞技
功能 代码/变量替换 战术决策与地图控制
关键词 #define, $(...) 战略、位置、技能节奏
对比术语 无(仅有预处理器) Micro Play(微操)

提示:虽然两个“macro”的意思不同,但都有一个共同点 —— 抽象出简洁的表示来应对更复杂的内容或行为,一个是代码层面,一个是策略层面。

posted @ 2025-03-22 02:50  BaguetteShimada  阅读(42)  评论(0)    收藏  举报