YunHsiao's Blog

Make the best out of what we already have.

Framegraph and the lost closures along the way

Problem Statement 最近在调试 framegraph 时发现 execute 函数按值捕获的闭包完全捕捉不到东西,这种蹊跷的问题一般都意味着我们的基础设施里有问题,一番调试后解决了这个隐藏很深的 bug,过程涉及不少 C++ 语言特性和功能模块的设计思考,很有意思。 抛去所有无关细节,整个问题可以准确地简化为如下代码: #include <iostream>...

2020 GameJam: Consumerism

GameJam GameJam 比赛一直都是公司里我们几个圈里人每年都热衷于搞那么一两次的一个活动,短平快的节奏非常适合我们在工作之余腾一个周末出来玩一把。 这次组了引擎组五位程序同学,最后时刻 panda 又拉来了一位音乐外援妹子,我们的观音山老年活动中心就这么准备开张了。 观音山老年活动中心 题目发布时我们还没下班,但看着直播放出题图就开始明目张胆地划水,一头雾水有一句没一句地开始...

It's not a bug, it's a feature!

最近有 CP 反应骨骼动画播放效果错误的问题,在沟通和调试过程中发生了一些非常有趣的事情,几乎可以总结为是把一个低级错误的 bug 最终非常合理地整合成了引擎中的小亮点 feature。 这里尝试梳理还原一下这次迭代过程中的几个核心问题。 How it all begins 一切的起因是在 CP 项目中,为了节省包体,他们把游戏中所有怪物 prefab 中的骨骼节点树全都删掉了。 在怪物...

Algorithms, Princeton, Coursera

课程整理与回顾

Princeton的算法课是目前为止我上过的最酣畅淋漓的一门课,得师如此夫复何求,在自己的记忆彻底模糊前,愿对这其中一些印象深刻的点做一次完整的整理和回顾,以表敬意。 注: 这是一篇更关注个人努力与完成任务项目过程相关的文章,内容集中于课程背后值得提到的部分,不会介绍课程基本信息及学习时必读的设定要求等部分,敬请谅解。 在学习一门课程的时候考虑为什么这么教是个人习惯,我会尝试给出一些解读,...