跳离边缘后还给一点机会;落地前按下跳跃能被记住。只改变一个开关,体验公平感。
用玩游戏的方式,读懂 Deepnight
不是先读一堆源码,而是先感受到区别。每节独立运行;亲手开关效果,观察变化,再追踪原作者 Haxe 中是怎样写出来的。
完成情况只保存在浏览器本地,勾选由你自己决定,不会自动根据页面停留时间判断。
主题 01 · Game Feel / 操作手感
开枪时单独切换镜头震动、冲击、闪光、后坐力和粒子,验证视觉反馈必须绑定游戏事件。
固定力度重复落地,分开验证视觉形变、粒子与真正的碰撞箱。观察固定容量对象池如何复用。
主题 02 · GameBase / 架构
玩家 / AI 统一输入;30Hz 物理与 60Hz 显示;创建、destroy、帧末 dispose 和内存成本。可以暂停单步观察。
真实开火事件的系统追踪:Level 决定碰撞、Entity 修改血量、Camera/Fx 表现;切换关卡与地图按需重绘。
主题 03 · 工具链 / 生产效率
运行真实 Haxe → JS 的轨迹,比较独立 JS 参考实现与实际 Eval 运行记录;拆开 Haxe、Heaps、GameBase 的边界。
亲手编辑真实 LDtk IntGrid 和实体数据;对照运行时碰撞、关卡构建与 BFS 寻路,还可导入/导出自己的课件地图。
第二阶段 · 进阶研究路线
前七节课建立基础;接下来深入作者的真实工程、算法取舍、性能、AI 和资源管线。查看进阶六专题完整大纲与验收标准。
直接运行原作者 Haxe 源码编译的 WebGL2 样例,对照启动、Entity、Level、固定更新和资源构建。不是 Canvas 教学替代游戏。
逐帧扫描、懒过期、最小堆与时间轮:取消、回调、预分配和暂停时间源实测。
ParticlePool、SpriteBatch、对象复用、GC、Draw Call 与 GPU 开销。
用相同战况比较规则、评分、有限状态机和行为树。
固定步长、输入日志、随机状态、跨目标漂移与回放调试。
LDtk 编译期类型生成、构建报错、资源与增量构建。
原始资料
运行 Deepnight 本人的 Game Feel Demo · 课程说明(Markdown) · GameBase 官方 GitHub · Game Feel 官方 GitHub