想入行游戏开发,需要学什么?

今天我参考了图书《游戏引擎架构》的目录和内容谈谈学什么、怎么学。

游戏能模拟现实世界的视觉,就离不开数学几何知识:向量、矩阵、矩阵运算、空间变换、四元数、几何关系计算…… 不要求所有公式都能倒背如流,但你一旦遇到简单的几何问题都想到什么基本原理能解决。

接下来,你要打牢基本数据结构的知识,对数组、链表、无序集合、哈希表有基本了解。做到能使用你熟悉的编程语言,清晰的把游戏里的血量经验、敌人集群、断言式AI规则等游戏对象,用对应的数据结构编出程序。

还要培养好数据流、调度和并行、面向对象的设计思维。游戏本质是一款“看得见”的数据库(比如你能看得到敌人表、子弹表、武器数据库),游戏还是一款能玩的Client/Server结构(比如多人手游通讯)……与搞电商平台开发、做数据库设计和互动有很多异曲同工之妙。如果这方面不熟悉,不妨应该去练习实战积累相关领域的开发经验。

在上述基础上,你还要意识到游戏行业团队有多种定位:你是做工具链开发还是具体产品开发?是做底层引擎内核模块开发,还是整体游戏规则剧本设计?还是要晋升做个架构师、CTO?…… 不同的方向对技术掌握的需求是不同的。除非你有足够的时间精力才能做到通才,否则在深入学习时就要有轻重之分。

然后就是做细分方向的研究:

物理仿真方向。由于很多引擎开发商都做好了相关模块的封装和简化,所以你只需要了解一些骨骼动画、力学碰撞、贴图渲染、音乐的基本原理,就能够上手开发了。

底层优化、架构设计方向:深入学习汇编原理、操作系统,多做实验。这样公司游戏部署环节时,你就有很多活干了:移动端或游戏主机跨平台发布、VR与专用体感设备开发、游戏防破解保护……

然后还可以迈向高等数学深水区,学习微积分、线性代数,这样你才能读懂并应用公式。这方面深究下去你可以做一些游戏电音的数字信号处理、人工智能系统、高性能渲染引擎。总体来说,学习数学理论的门槛较高,岗位不多,但工资待遇高、适合深造。

游戏是一门艺术,不能脱离美的设计。在开发方向外,也要适当涉猎美术理念、心理学等人文知识。自己至少能用 PS 做一些简单的调色、切图工作,这样不用天天请美工小姐姐们吃饭帮忙。

游戏还有第九艺术的美誉,我认为它是人类文明绘画、雕刻、建筑、音乐、诗歌文学、舞蹈、戏剧、电影的集大成者,需要美和技艺的点点滴滴不断培养。游戏开发不可急切速成,但也不许畏难后退。

posted @ 2022-02-24 16:14  qwezx  阅读(730)  评论(0编辑  收藏  举报