Curse That Magic Cat

2020 年 8 月—2020 年 12 月|学校项目


项目信息

  • 团队规模:13 人
  • 类型:休闲模拟游戏
  • 平台:Windows
  • 引擎:Unreal 4
  • 开发时间:3 个月
  • Steam: 下载

关于

巫师 Magnus 对你施下诅咒,把你变成了一只猫!通过喵叫、躲藏、破坏物品并收集魔法书来解除诅咒、完成复仇。《Curse That Magic Cat!》是由 SMU Guildhall 学生制作的一款轻松有趣的单人游戏。


我的贡献

  • 实现了完整的 UI 系统
  • 为游戏基础效果开发 Toon Shading,并与美术协作持续改进
  • 为游戏实现多语言支持
  • 实现了带墙体剔除机制的简易相机系统
  • 通过性能分析提升游戏运行效率

卡通渲染

Toon Shading 是一种非真实感渲染技术。由于游戏采用卡通美术风格,它的实现十分重要。我参考了现有技术,为游戏实现了 Cel Shading、后处理描边和 Fresnel 渲染,最终效果很好。

值得注意的是,整个卡通渲染流程完全在后处理阶段通过 Blueprint 实现。光照属性会在后处理中重新计算,Cel Shading 也在这一阶段完成。


墙体剔除

玩家控制猫走向房间角落时,相机很容易与墙壁发生碰撞。常见方案是限制相机位置或剔除墙体,我选择了墙体剔除。

第一版方案为墙体使用半透明材质,但这给我和美术带来了不少问题。卡通渲染的光照在后处理阶段计算,因此对半透明材质无效或会产生错误效果,最终我们放弃了这一方案。

第二版使用抖动渲染处理不透明墙体,效果不错,团队成员也很满意。但它仍有问题:整面墙可能被完全剔除,尤其当玩家望向其他房间时,画面会显得空旷且不够直观。

最终版本引入了相机位置与墙面法线,只剔除墙体上的特定区域,在游戏中呈现为球形范围。这套机制运行良好,也很适合本作。



多语言支持

Unreal 已提供多语言工具与功能,但流程复杂,设计师操作时很容易出错。因此在研究清楚相关功能与实现方法后,我为设计师编写了文档,帮助他们遵循流程并顺利完成文本翻译。

可以在 此处查看该文档


项目复盘


做得好的地方

  • 渲染效果顺利落地,美术也很喜欢最终成果
  • 跨职能协作进展顺利
  • 学会了如何分析游戏性能并提升运行效率

需要改进的地方

  • 与美术的部分沟通不够顺畅,UI 资源很晚才交付。
  • 投入工作时我没有很好地控制自己的情绪,也没有充分尊重他人的劳动,因此带来了一些问题;对此我深感遗憾。

我的收获

  • 开发新功能时应始终征求美术与利益相关者的意见,并根据实际需求开发工具和材质。
  • 以专业态度对待其他开发者;每个人都很忙碌并付出了很多努力,他们的工作理应受到尊重。