开箱即用的通用组件
框架提供基础 UI 元素、文本渲染、高级输入处理(包括文本框)以及性能覆盖层等能力,开发者无需从零实现这些常见功能。
MagicTale · seak123/MagicTale
MagicTale 是一个使用 Cocos Creator 开发的微信小游戏射击项目,采用 2D 与 3D 结合的表现形式,仓库语言为 JavaScript,标签涉及 cocos-creator、game-development、typescript 与 wechat-minigame。当前 README 摘要内容实际指向 osu!...
osu!framework 是由 osu! 团队(ppy)开源的一款 C# 游戏框架,官方将其定位为「以 osu! 为出发点编写」。它并非一个开箱即用的完整游戏,而是一套面向游戏开发者的底层技术集合,旨在提供比常规游戏框架更丰富的基础设施。根据 README 的说明,该框架的目标是超越一般游戏框架的预期,将基础 UI 元素、文本渲染、高级输入处理(如文本框)以及性能覆盖层等能力直接内置,从而减少开发者在通用功能上的重复投入。
README 明确指出,任何在 osu! 项目中被认为对其他游戏项目有用的代码,都会沉淀到这个框架项目中。这意味着框架的演进与 osu! 的实际需求紧密相关,同时也为外部开发者提供了复用 osu! 技术栈的机会。
框架提供基础 UI 元素、文本渲染、高级输入处理(包括文本框)以及性能覆盖层等能力,开发者无需从零实现这些常见功能。
所有图形组件都以通用设计呈现,并且支持派生,方便开发者在此基础上进行进一步的自定义。
游戏常用的元素,例如纹理缓存和字体加载,会在运行时自动完成初始化,减少手动配置的工作量。
框架内置了 `VisualTests` 和 `TestCases` 组成的测试环境,允许开发者以隔离的方式开发和调试组件。README 建议在开发新组件时优先使用 `VisualTests` 项目/配置,并提供了相关 wiki 链接以了解如何利用这些工具简化开发流程。
README 列出了运行和开发框架所需的环境条件:
在构建方面,README 说明已包含推荐 IDE 的构建配置,开发者应使用 IDE 提供的构建/运行功能。对于 Visual Studio 或 Rider 用户,建议通过平台特定的 .slnf 文件加载项目,而不是主 .sln 文件,以便访问模板运行配置。此外,代码分析可以通过 powershell ./InspectCode.ps1 或 InspectCode.sh 运行。
如果你对使用该框架创建项目感兴趣,README 建议从「getting started」wiki 资源开始,或者直接查看项目模板(osu.Framework.Templates)。开发者可以选择从一个空项目起步,也可以参考一个可运行的示例游戏。无论选择哪种方式,项目模板都包含了完整的项目结构、跨平台支持以及测试环境配置。
需要留意的是,README 中明确区分了「使用框架」与「开发框架」两类信息:该页面剩余的内容主要面向希望参与框架本身开发(即 working on the framework)的贡献者,而非使用框架的开发者。
该框架采用 MIT 许可证 发布。README 用通俗的话总结:只要在软件/源代码的任何副本中包含原始版权和许可声明,你可以做任何你想做的事情。
需要特别留意的是,框架的依赖项 BASS 音频库是一个商业产品。虽然它对非商业用途免费,但如果你计划将使用该框架的应用程序用于商业分发,请确保获取有效的许可证。
README 列举了一些早期使用 osu!framework 的项目作为示例,包括:
更多项目或开发者自己的作品可以在讨论帖中查看或发布。
对于希望学习或使用该框架的开发者,建议按照以下路径推进:
VisualTests 和 TestCases 的用法,这是框架推荐的组件开发与调试方式。由于 README 未提供具体的功能演示或性能数据,实际运行效果与功能范围建议以官方 wiki 和示例项目为准进行核验。
id Software 以 GPL 许可证发布的《雷神之锤3竞技场》(Quake III Arena)源...
id Software 公开的初代 DOOM 源代码,限非盈利使用。README 说明:运行仍需...