游戏开发心悟

自己从事游戏开发这么多年,总是在失败,从来没有好好总结过失败的原因。工作十年了,最近开始读一些非技术类的书籍才发现,自己的思维模式原来是那么窄小,而且有不少认识上的错误。在通过读书的过程中,慢慢地提升了自己观察事物的能力,察觉到以前没有感觉到的东西,不时灵光一闪,记录下一些有用的东西与大家分享。

  1. 在项目开发测试中,程序出现bug,作为项目经理和领导,应该是指出问题,给出线索,而不是一味的指责。指责无助问题的解决,反而影响程序员的心情。

  2. 已知bug问题应该先经过项目经理,评定优先级。不要直接找程序员,一是影响他当前的工作,二是匆忙地修改bug会降低代码质量,三是程序员的心情效率变低。

  3. 网络游戏中,客户端\服务器应该使用统一的数据结构,在变量命名上尽可能保持一至。(双码合一)

  4. 策划\美术\程序在功能命名上尽可能保持一至, 最好让策划和程序共同拟出一份项目的专用词汇表,包含中文\英文\说明。(三码合一)

  5. 客户端在代码文件名\UI文件名\模块名上尽可能保持一至。(三码合一)

  6. 客户端需要有配套的美术资源\策划配置自动化处理工具。

  7. 能让任何感兴趣的人可以随时体验游戏(web\桌面\手机安装包,至少一种), 这也是客户端\服务器程序所需要的。

  8. 客户端程序需要解决策划找你麻烦,为他们提供不同平台打包\预览工具,让他们自己去生成安装包,他们会很高兴,你也会安心写代码。

  9. 服务器程序员需要为策划\客户端\测试提供GM工具,方便修改游戏数据,这是生产力工具,也是项目测试的重要工具。

  10. 主策划(产品经理)应该知道项目所用到的主要技术和工具,并能大概理解工作原理,那种工具解决那类问题。

  11. 主策划(产品经理)需要了解程序员的的思维模式,能编写出方便程序员使用的配置文件。

  12. 主策划(产品经理)\主美,应该熟悉游戏UI编缉器的使用,能使用基本的控件编辑游戏UI。

  13. 主策划(产品经理)\主美\UI美术应该知道基本的游戏UI编辑技巧: 缩放\旋转\九宫\透明度\叠色\混合(blend)\裁剪等。

  14. 主策划(产品经理)\主美\动画美术,应该知道什么是帧动画与骨骼动画。

  15. 主程/主策/主美需要细心体察工作中影响效率的地方,程序员需要为项目组提供自动化工具,解决日常经常发生的动作。

  16. 游戏项目中的资源管理是重中之重,大至分为:

    1. UI资源: 专用图片\通用UI图片\图标资源\像册

    2. 动画资源: 特效动画\动作动画(人物或建筑)3. 数据资源: 游戏配置数据(策划)\程序配置(程序内部)

    3. 音效资源: 背景音乐\音效音乐

    4. 代码脚本: 客户端的核心资源

  17. 如何有效管理资源在很大程序上决定了项目成败(有序与混乱)

  18. 策划\美术\服务器程序应该为客户端程序争取更多的时间。

  19. 游戏团队的协作网络:

    客户端: 策划\美术\服务器

    服务器: 策划\客户端

    策划: 客户端\服务器\美术

    美术: 策划\客户端

  20. 项目规范包括: 目录结构规范\文件名规范\策划文档规范\美术示意图规范\程序代码规范

  21. 没有意识到规范重要性的的项目团队,怎么死掉的可能都不知道。

  22. 程序应该使用git管理项目代码,最好学会使用命令行。美术策划用svn就够了。程序策划应该帮助美术学习svn的使用。

  23. 产品经理和主管应该及时观注团队人员的的工作状态, 能分辨出:主动\被动\不动的人,了解他们面对的困难,能够利用各种资源帮助他们解决问题。

  24. 不会学习的程序员做不出好的程序,主程有责任提高团队的技术水平, 为团队提供学习\分享的机会。

  25. 不会学习的策划搞不懂游戏是怎么练成的,难以与程序员沟通,除了抱怨,无法解决问题。

  26. 不会学习的美术爱说一句话:“毕竟我又不是程序员”。

  27. 程序员应该向策划\美术教授游戏开发常用软件的使用: UI编辑器\字体编辑器\粒子编辑器\动画编辑器\SVN\JSON等。

  28. 产品经理与主程需要把项目中的问题解决方案记录下来,方便事后追朔。比如:解决资源同步使用了grunt;解决某一复杂功能使用了状态机模式;聊天功能使用某个三方库。

  29. 产品经理与主程需要明确当前面临的技术问题:能做\学习就能做(不超过1周)\不能做。

  30. 服务器/客户端在联调前应该现各自模拟,减少协议未更新,笔误等低级问题。

  31. 客户端程序员要做好心理准备,除了做游戏引擎、框架、业务、动画效果、算法等等以外,还需要做ios、android原生开发、接入各种sdk、开发内部工具,总之需要学习的东西很多很多。

  32. bug追踪工具必须得有,最好程序再搭个代码审查工具。

  33. 程序员开发最好在mac系统上,如果没条件,也要找个好用的linux shell环境,推荐zshell。

  34. 在游戏UI问题上见仁见智,能策划解决的不找美术,能美术解决的不找程序,策划和美术都不能解决再找程序。

  35. 不能解决开发体验的程序员,很难察觉到用户体验。所有的用户体验优化都是在让代码变得更加混乱。

  36. 无休止的加班,只是让领导们心理更舒服点,给他们服用点安慰剂。

  37. 工作要控制好节奏感,不要一屁股坐一下去就是几个小时。

  38. 游戏内容应该由策划来掌控,就算是游戏中的一句提示文字也不要放过。因为要为程序员争取更多时间,这也是规范。

  39. 策划配置最好要有统一的唯一索引。

  40. 在程序开始做UI前,策划和UI美术应该把游戏效果图放在手机上体验一下手感,想像一下游戏已经做成的感觉。

  41. UI美术切图时,图片内容不需要透明度。例如:一些装饰性的底纹、背景等。因为一旦重叠在一起,就不是你想要的效果了。

  42. 游戏团队应该一起学习下《匠人精神》。

  43. 项目主程应该读一下《翻转式学习》《翻转课堂的可汗学院》。

  44. 产品经理和领导些应该读一下《非暴力沟通》。

以上条目要面面俱到是不可能的,但我们应该有觉察问题的能力,不断地学习,才是最为重要的.

博客原文地址: http://blog.csdn.net/6346289/article/details/54100150

9赞

非常感谢!这些经验非常重要。

感谢分享:slightly_smiling:

受益匪浅,感谢感谢!!

感谢分享,其实你所记录的,有些问题是不限定于游戏行业的:stuck_out_tongue:

确实是工作中需要注意的地方

学习了