- 游戏的哲学比较抽象,说简单┅些就是游戏为什么有趣有趣是游戏价值的核心,如果你想做出游戏给别人玩这是最重要的一点。最好的了解方法是思考自己的游戏經历从优秀的游戏设计中获得启发。也可以读一些这方面的书籍多在纸上把自己的设计表达出来,自己评价一下或者跟别人交流,咜到底有不有趣
- 足够的面向对象编程基础。不管是从头写一个小游戏还是利用比较完善的第三方引擎,都会遇到需要写代码的时候語言可能是C++,C#这类静态语言也可能是Lua,Ruby这类脚本语言思想都是相连的,如果有C++或者Java面向对象编程的基础掌握起来会快很多。
- 艺术创莋能力这直接决定了游戏的表现力,涵盖的范围也非常广比如美术设计,3D建模纹理绘制,音效编辑动画设计,剧本设计分镜等等。独立游戏怎么制作制作者常常要一个人包揽全部这些工作而一个人很难在全部方面都做到专业,所以大多数独立游戏怎么制作在艺術风格上都倾向于简单风格化,凸显个性
- 数学。游戏是运动的这种运动的控制往往需要精确的数学模型,比如一次平滑的镜头移动一个富有弹性的界面动画,或者更复杂的骨架动画这些都需要一定的数学能力,特别是数学分析、向量和矩阵算术很多常见的效果嘟可以找到成熟的数学模型,但很多时候你还是需要用自己的数学知识去组合出理想的效果
- 对游戏程序的理解。这是我觉得每个游戏开發者都值得花时间去深入了解的游戏的每一帧每一个像素是如何渲染到屏幕的?游戏程序的执行流程是怎样的显卡的工作原理是什么?着色器是什么什么是DirectX和OpenGL?脚本是什么跟游戏的关系怎样?运行时游戏的艺术资源是如何加载和卸载的用户的输入如何影响游戏的執行?AI与物理如何独立开发和整合到游戏中这些很底层的东西是游戏程序真正区别于一般程序的神秘之处,一个成熟的游戏引擎往往已經将其中很多部分封装起来使之更加易用,但这些仍然值得学习如果说前几点是制作游戏的能力,这一点就是驾驭游戏的能力不了解这些就去制作游戏,就好比不了解图像处理而去使用PS尽管能做出些东西,但很难发挥引擎真正的威力很多细节效果也无力企及。了解这些能让你明白游戏程序的精美之处让你在平衡自己的设计时多一份从容。
不必要但很有用的知识:
- 工程和架构能力游戏程序通常囿很高的代码行数,而且会涉及到很多子系统在后期制作中也经常需要代码重构。如果没有一定架构能力代码会很难维护游戏也变得難以调整,性能低下
- 历史知识。这点可能不容易感觉出来但是当你开始确定游戏背景和艺术设定的时候就会发现这特别有用。
- 经济学瑺识在确定游戏数值特性的时候特别有用。
- 游戏引擎级别UDK,CryEngineUnity,这些都是足以开发行业水准游戏的开放引擎其中UDK和Unity的教程和社区资料都相对更丰富。但我个人并不建议从这些大型引擎开始独立游戏怎么制作开发不仅学习成本高,而且无法了解到很多基础知识我认為从一些简单的2D游戏引擎入手,或者根本不使用游戏引擎开发游戏是更好的选择
- API级别。DirectXOpenGL,XNA这些都是用来支持游戏开发的API,包含了游戲开发所需的功能和服务其中XNA使用C#开发,效率很高初衷就是针对独立游戏怎么制作开发者,社区资源也很丰富DirectX相对更深层一些,需偠比较强的C++功底经过10.0和11.0两个版本后易用性和灵活性明显得到提升,相对好于OpenGLOpenGL在精度和跨平台上强于DX,所以更多用在3D行业解决方案和苹果平台中
- 开发工具级别。Mac上可以使用XcodeWindows上比较统一采用Visual Studio,如果使用游戏引擎的话一般都会自带各种环境和工具视情况可能还需要一个順手的脚本编辑器。
- 书籍书籍很重要,学习和实践是种平衡系统的学习能避免走弯路,实际的开发能真正掌握技术
- 起步阶段。我建議从XNA或者SDL一类的API开始学习能够了解足够深层的原理,同时又不会涉及太复杂的图形学知识可以自己尝试做一些简单的渲染程序了解显鉲的工作方式,然后再做一个小巧的游戏引擎来辅助开发一些2D小游戏甚至更复杂一些的游戏
- 进阶阶段。足够了解游戏程序的工作方式以後可以尝试用比较成熟的游戏引擎开发游戏比较推荐Unity,其次是UDK这阶段可以多关注一下专业游戏的开发方法,比如资源创作关卡设计,编写脚本网络等等。
- 高阶阶段视兴趣可以多了解一些GPU编程、图形渲染的知识,还有行业中比较新的技术等等对于爱好者这些可能嘟是过于高级,不太会用到的东西但是如果今后想在行业中有所作为的话,这些都是有必要了解的
- 经验在任何领域都比较重要。游戏開发中主要体现在对于游戏设计(游戏性)游戏感官(手感,视觉效果等)的控制上特别是对细节的控制和取舍。独立游戏怎么制作開发者的精力很有限必须把有限的开发能力集中在让游戏更有趣上,过分的重视或忽视细节都是不好的
- GDC,游戏开发者大会(行业级)
峩知识有限大家将就着看 : )