像 Opus 4.8 和 Sonnet 5 这样较新的 Anthropic 模型出现了一种退化问题:它们经常在工具调用中注入“幻觉”键(如 `type`、`id`、`matchCase`),导致调用无法通过验证。虽然旧版本模型能妥善处理自定义工具模式,但最新版本却表现得力不从心——讽刺的是,它们在遵循非标准模式方面反而“变差”了。 作者推测,这是 Anthropic 内部闭源工具“Claude Code”进行强化学习(RLHF)所产生的副作用。由于 Claude Code 具有极高的容错性——能够静默修复格式错误的工具调用、过滤未知键并支持别名——模型被训练得预期处于一个“对错误宽容”的环境中。因此,这些模型对 Claude Code 所使用的特定编辑模式形成了强烈的固定偏见,导致它们难以适应其他定义严格的模式。 这表明工具模式已不再是“中立”的协议,而是受到模型训练后环境隐藏偏见的影响。作者总结认为,开发者可能需要依赖严格的语法约束解码来确保可靠性,因为现代模型正日益针对某种特定的、未公开的工具生态进行优化。
该项目为 Apple Silicon Mac、iPhone 和 iPad 带来了《命令与征服:将军 – 零点行动》的原生性能。通过将 2003 年原始引擎源码编译为 ARM64 架构,并利用转换层(DXVK/MoltenVK),游戏无需模拟即可运行。它还针对移动端优化了触控操作,包括框选和双指缩放功能。
此版本基于 EA 开源的源码,并在 *GeneralsX* 移植的基础上增加了对 iOS/iPadOS 的支持以及关键的引擎修复。请注意,**不包含游戏资源文件**;用户必须拥有正版副本(例如通过 Steam),才能下载必要的数据。
该项目提供了适用于 macOS 和 iOS 的完整构建脚本,需要 Xcode 和特定的开发工具。尽管该移植版功能完善,但仍处于持续开发中,已知在 iOS 长时间运行期间存在内存管理方面的局限性。详细文档(包括技术“移植指南”和 AI 辅助开发过程的完整工程日志)可在仓库中查阅。
**核心资源:**
* **源码:** [GitHub - Generals-Mac-iOS-iPad](https://github.com/ammaarreshi/Generals-Mac-iOS-iPad.git)
* **需求:** 原始游戏资源(需拥有 Steam 版)。
* **鸣谢:** 由 Ammaar Reshi 使用 Claude Code 工程化开发。
在开发 Game Boy Advance 游戏时,可以使用 mGBA 的内存映射日志寄存器来实现类似 `printf` 的调试功能。通过向特定的内存地址(`REG_LOG_ENABLE`、`REG_LOG_BUFFER` 和 `REG_LOG_SEND`)写入数据,你可以将调试信息直接输出到模拟器的日志窗口或终端。
要实现此功能,请创建一个辅助函数,用于格式化信息并将其写入这些寄存器。为方便起见,你可以结合 `vsnprintf` 来支持标准的 C 语言格式化(例如 `mgbalog(DEBUG, "x=%i", x);`)。
由于记录日志会产生性能和内存开销,因此应将其从最终版本中排除。你可以通过将日志实现代码包裹在 `#ifdef MGBALOG` 代码块中,并为 `mgbalog()` 函数使用预处理器宏来实现这一点。这样,你既可以在代码库中保留日志调用,又能确保在禁用 `MGBALOG` 标志时将它们完全从编译中剔除。这种简单的设置可以显著简化调试过程,且不会影响游戏的最终发布。
EndBASIC 0.14 现已发布,这是该项目迈向 1.0 版本的重要里程碑。与侧重性能的 0.13 版本不同,本次更新引入了多项旨在降低复古风格游戏开发门槛的新功能。
主要更新包括:
* **新图形功能**:添加了三角形、多边形和区域填充的图元,并附带了新的交互式演示。
* **复古美学**:全平台统一采用经典的 IBM VGA 8x16 字体替代了 TTF 字体,以增强一致性和“复古”感。
* **声音支持**:新增 `BEEP` 和 `SOUND` 命令,支持通过现有的控制台框架进行音频播放。
* **执行优化**:增强了对在类 Unix 系统上作为独立脚本运行 EndBASIC 程序的支持,并支持使用类似“Emacs 风格”的属性行在文件内配置控制台设置。
* **错误修复**:解决了 macOS 上 SDL 图形控制台的线程问题,修复了关键的启动崩溃故障。
尽管在 macOS 上的二进制代码签名方面仍存在挑战,但此次发布实现了该项目 2020 年的初衷:让用户能够以 BASIC 语言的简洁性来创作小游戏。用户可在项目的 `NEWS.md` 文件中了解更多详细信息。