• 来源:游戏开发
  • 发表时间:2022-05-25 16:04:33
  • 浏览量:

基础功的游戏开发。

数学基础:根据你所做的内容来决定。一般来说,较少的上层逻辑可以考虑高数内容,如积分。然而,如果你想从事图形、矩阵线性代数和高数,你必须有一定的基础。


算法:需要理解和掌握常见的排序和搜索。此外,还有单独的治疗、贪婪、动态规划,有时可以现在就学习和销售。此外,除了这些基本算法外,在游戏领域还有许多其他不常用的算法,如八叉树搜索、碰撞检测和a*。还有一些特殊情况需要开发者自己找到合适的算法。


C++(C#):基本语法、模板、代理、命名空间、const、继承、内存结构、虚表、引用、断言、宏定义等。

数据结构:首先,掌握链表、数组、队列、堆、堆、图、树等数据结构,然后掌握各种排序、搜索、遍历等算法。在掌握了这些之后,您可以快速熟悉stl或类似的基本库原始,并且在使用它们时,您可以更准确地选择合适的数据结构。


设计模式:一般来说,我们需要设计一个快速构建游戏逻辑框架的模式,比如上面提到的各种逻辑系统。此外,每个发动机模块的设计理念需要通过设计模式来理解。当然,如果你想设计一个游戏引擎,你不能错过设计模式。

对引擎的每个模块都有一定的深入了解:不用说,看看游戏引擎的架构。如果你不理解编写的代码,各种问题(如同步问题)经常发生,编辑器的各种功能也不能很好地使用。


内存管理:许多引擎或语言可能已经尽可能多地帮助你处理内存,但在某些特殊情况下,你不可避免地需要处理自己的内存。必须使用内存池技术和各种C++new。


熟悉开发工具:这并不意味着熟练使用某个引擎,并且对不同引擎的相关内容有一定的了解,可以快速触摸。

编译原理、链接、第三方库:您经常会遇到各种链接错误、编译错误、包装错误,这就要求您具备一定的解决这些问题的相关知识和经验。


性能分析和性能优化:主要包括内存、CPU和GPU三个方面。有渲染批次、渲染实例、布料优化、网络同步数据量、物理费用等,包括加载资源优化(包装合并)、切割、声音文件加载、LOD、艺术资源标准化制作等试时可使用内置发动机工具,Intel的VTune工具可用于进一步细节(如果有时间,我可以编写相关文档)


对游戏的理解:虽然你也可以参与游戏开发而不玩游戏,但玩过游戏的人仍然有优势。最明显的是,玩过游戏的人会对游戏有更多的想法和意见,并且习惯于主动学习其他游戏的技术和优势。(对于程序而言,计划尤其如此)


发展经验:这是相对广泛的,很难用几句话来解释。例如,一些bug出现在你的游戏中。新手根本没有办法开始,有经验的人会有各种方法来调试和解决这些问题。有经验的老兵有时真的值得成为n个新手,所以你需要不断学习和练习。