大家好,我是布拉克·阿克沙欣(Burak Ak?ahin),可以叫我Bufuak。我是《ALATURKA》的独立开发者,也是驻伊斯坦布尔的虚幻引擎授权讲师及社区负责人。
过去五年,我一直在做虚幻引擎的教学内容,分享教程,帮社区分析项目案例。去年,我决定开始一段新旅程。我想做的项目不只是一个游戏,而是一份活生生的记录,展示一个游戏开发者到底是怎么开发游戏的。
为此,我开始开发《ALATURKA》。
《ALATURKA》是一款老派的开放世界动作游戏,故事发生在一个虚构的1970 年代的伊斯坦布尔。它是对PS2时代经典开放世界动作游戏的一封情书——在那个时代,城市感觉是活的,车开起来很沉,混乱也永无止境。
但这不仅仅是关于枪战,而是关于“讨生活”。作为一个从未踏出过村庄的乡下小伙,你来到了博斯福鲁斯——一座坐落在两个大陆之上的城市。在这里,交通永远繁忙,海鸥从未安静过,尖叫声此起彼伏。街道狭窄,车流凶猛,收音机里播放着震耳欲聋的迷幻安纳托利亚摇滚乐。前一秒,你还在开着破旧的小巴努力讨个正经生活;下一秒,你就因为一次搞砸的送货,驾驶着沉重的肌肉车漂移,只为逃离警方的突袭围捕。
游戏的核心在很大程度上依赖于物理引擎——从上下晃动的车辆悬挂,到NPC 们乱七八糟的布娃娃效果。我希望能捕捉到早期3D游戏中那种特有的“粗糙但有趣”的感觉:每一次碰撞都感觉有冲击力,每一个失误都可能变成一场滑稽的灾难。
由于《ALATURKA》本质上是一个教育性质的项目,我给自己设定了一个挑战:独立构建每一个系统——从角色的移动,到交通AI,再到行人的行为。作为一名独立开发者,你必须身兼数职,什么角色都得当。
不过,“动画师”这个角色一直是我觉得最难扮演的。
我的开发过程是透明的。每次直播结束后,我都会在社交媒体上分享关于开发进度的短视频。
大家对这些玩法的反响非常好。人们喜欢那种沉重的驾驶感、车辆物理,以及开放世界中有趣的互动。但有一个反馈意见始终如一,让我无法忽视:
“动画做得很烂。”
即使对于一款复古风格的游戏来说,角色的动作也显得不对劲。我曾尝试使用其他行业标准的工具来制作动画,但对于一个毫无动画经验的开发者来说,我发现这些工具极其不直观。我的角色确实能动,但感觉不真实。它们缺少动作游戏中最重要的一环:重量感。


我意识到,如果我想让《ALATURKA》成为一个高质量的教学范例,就不能满足于那种轻飘飘的、“程序员风格”的动画。我需要一个工具,能够弥合我的技术知识与艺术动画技能匮乏之间的鸿沟。
就在那时,我决定试试Cascadeur。
作为一名虚幻引擎讲师,我最关心的永远是工作流程:“导入的时候会不会出问题?”“是不是所有东西都得重新定向?”Cascadeur在这方面让我感到惊喜。它自带一个默认的UE5骨骼模板。这意味着我可以专门为UE5的曼尼昆(Mannequin)骨骼结构制作动画,然后直接导入到我的项目中,完全不用担心兼容性问题。正如我在第二期开发日志中所展示的,整个工作流程非常顺畅——没有骨骼报错,也没有奇怪的旋转。只需导出、导入,然后就能直接用了。

工作流程理顺之后,我便从基础开始做起。在任何开放世界游戏中,如果走路循环动画看起来很差,那整个游戏的感觉都会很差。
我试用了Cascadeur的中间帧工具(Inbetweening tool)。对于一个习惯了编写代码逻辑而非进行艺术创作的人来说,这个过程简单得令人震惊:
1 – 我先给角色摆好一个关键帧的姿势。
2 –然后稍微移动角色的臀部来暗示运动的惯性。
Cascadeur的AI瞬间补全了中间的动作,生成了一个完美的循环动画。当我将这个功能与自动物理(Auto-Physics)结合使用时,我的角色突然有了质量感。那种“轻飘飘”的感觉消失了。
车辆是《ALATURKA》游戏循环的核心。玩家需要能进入车辆、离开车辆,以及最重要的——通过将AI驾驶员拽出来从而劫持车辆。
这对于一个单人动画师来说简直是噩梦般的场景:它涉及两个角色的互动(同步),以及复杂的物理约束(车门、座椅)。
我想对我的新工作流程进行一次压力测试。我在Cascadeur中设置了一个包含两个角色的场景。目标是让玩家抓住驾驶员并将其扔出车外。
由于我能够直观地看到物理效果,所以可以精确地判断出力矩支点的位置。我不用去猜测手臂拉扯的动作看起来是否真实,因为工具直接向我展示了力线。我成功地让玩家的“拉扯”动画与驾驶员的“跌撞而出”动画完美同步。
大家非常喜欢这套全新的车辆动画。曾经是我项目中最薄弱的一环,如今已经变成了一项让我引以为傲的特色功能。
Cascadeur带给我的不仅仅是更好的动画,更是一种自信。它终于让我能够戴上那顶“动画师帽子”,而不再觉得自己是个冒牌货。对于一个试图打造一座鲜活城市的独立开发者来说,这种效率就是一切。