我决定写一篇关于我与游戏开发的经历的帖子,因为很多人问我为什么要放弃游戏开发。我想解释一下我的背景和经验。 我学习了计算机科学,但从未专业地学习过游戏开发。 我的大部分学习都是通过自我学习和实验。 在跳入3D游戏之前,我花了很长时间构建小型2D平台游戏原型。 一些原型受到马里奥等游戏的启发,而其他原型更接近空洞骑士。 这一切发生在现代AI工具出现之前,所以大部分的学习过程都是纯粹的试错。 我专门建立了多个小型项目来学习运动系统、战斗逻辑、敌人行为、动画系统、碰撞盒、状态机和级别流。 最终,我成功地重现了我想要的大部分2D机制,并意识到一些重要的事情: 我并不是真正对制作2D游戏感兴趣。 所以我决定转向3D。 我的原始目标非常ambitious和愚蠢:一个3D斩杀游戏,拥有10个地牢,10种武器样式,每种武器样式都有独特的动画,10个BOSS,和大约30种敌人类型。 一段时间后,我大幅减少了范围,仅保留了单一武器样式和10个BOSS,没有常规敌人,实际上就是一个BOSS冲击游戏。即使在减少范围到如此程度后,2D到3D的难度增加确实是疯狂的。 最大的障碍远远超过了动画、建模和资产创建。 在2D中,工作流程是相对简单的。 你可以快速加载精灵图集,编辑Photoshop中的帧,重用动画条,或者购买已经工作的良好资产。即使创建自己的资产也是可管理的,因为你处理的是平面图像和简单的帧转换。 3D是一个完全不同的怪物。 一个3D角色需要建模、顶点清理、UV展开、贴图、材质设置、骨骼rigging、皮肤权重、动画融合、IK系统、重定位、转换状态、根动作处理、物理交互、碰撞调节和动画状态机管理。 每个动画也需要适当的过渡到其他动画或角色立即看起来破裂或不自然。 与2D不同,动画系统在3D中是深度相连的。 战斗、运动、碰撞检测、动画定时、摄像机逻辑、敌人AI和物理都必须在实时同时工作。 这成为我的第二个主要障碍。 单独实现特性并不是那么困难。 我实际上建立了一个比较高效的工作流程来编码游戏系统。 问题是让多个系统正确交互。 一小的变化到战斗定时可能会破坏动画同步。 调整运动可能会破坏碰撞盒。 改变动画状态可能会影响敌人反应。 Everything都依赖于Everything。 最后,我实际上有一个不错的东西工作: * 一个可用的玩家控制器 * 运动系统 * 攻击动画 * 一个可用的碰撞盒和战斗系统 * 能够自然反应和战斗的敌人AI * 一个BOSS场景原型 虽然整个项目依赖于占位资产,来自不同来源的免费模型和动画包的资产,但结果看起来很糟糕。 Nothing可视化匹配,战斗感觉尴尬,整个体验感觉像一个不可玩的混乱之地,尽管系统在很基本的层面上是可用的。 在那个时候,我决定尝试解决动画问题本身。 我开发了一个使用自适应riggers、运动跟踪软件和手动编辑的工作流程。 由于我比较运动, 我可以通过运动参考和清理来重现大部分战斗运动。 最终,我成功地减少了动画生产时间,使用自动化工具和AI辅助工作流程。 但是,即使这样,创建一个单独的精致动画,包括所有其变体和转换状态,也需要几天时间。 而我的游戏需要超过100个动画。 这是当时我意识到现实的那一刻。 一旦我正确地规划了每一件事,我就意识到我只有两种真正的选择: 或者花费成千上万的美元雇用专业艺术家和动画师, 或者花费我的生命的几年时间学习和制作一切。 在这个阶段的生命中,两种选择都不是现实可行的。 所以我决定割断我的损失并放弃项目。 我不后悔试验。 如果有任何事情,经历给我带来了对专业游戏开发者的巨大尊严。 人们严重低估了现代3D游戏开发的难度。 有原因是工作室拥有专门的团队来处理动画、rigging、战斗系统、AI、环境艺术、VFX、技术艺术、优化和游戏工程。 即使这样,游戏仍然需要花费几年时间完成。 对于仍然追求梦想的人: 我真诚地尊严你辛勤的工作,希望你的项目成功。
关于我为什么放弃游戏开发以及作为独立开发者遇到的陷阱的续篇
评论 (0)