自己从事游戏开发这么多年,总是在失败,从来没有好好总结过失败的原因。工作十年了,最近开始读一些非技术类的书籍才发现,自己的思维模式原来是那么窄小,而且有不少认识上的错误。在通过读书的过程中,慢慢地提升了自己观察事物的能力,察觉到以前没有感觉到的东西,不时灵光一闪,记录下一些有用的东西与大家分享。
1. 在项目开发测试中,程序出现bug,作为项目经理和领导,应该是指出问题,给出线索,而不是一味的指责。指责无助问题的解决,反而带来更多的不好情绪。
2. 已知bug问题应该先经过项目经理,评定优先级,不要直接找程序员,一是影响他当前的工作,二是匆忙地修改bug会降低代码质量, 三是给程序员造成不好的情绪。但是程序员主动让你把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. 数据资源: 游戏配置数据(策划)\程序配置(程序内部)
4. 音效资源: 背景音乐\音效音乐
5. 代码脚本: 客户端的核心资源
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. SDK 的接入最好由熟悉app开发的专人负责,建议使用三方聚合 SDK。
我会不断在记录下游戏开发中的这些心悟点滴, 以示警戒。