很难用一篇回答说明怎样从C++代码一路写出游戏,中间涉及的知识和技术太多了。
但是换一个角度看,从基本的C++代码开始写出任何东西都不至于难到无法理解的程度,任何复杂的软件都是有迹可循的。刚好我有一些资料,是我根据网友给的问题精心整理了一份「C++的资料从专业入门到高级教程」,
点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!
连操作系统都能一步一步做出来,那么像游戏这样并不算超大规模软件的东西,也应该不至于难到哪里去。
1、关键思想是分而治之
相比传统工业和硬件工业的发展,软件工业的发展极为迅速,甚至可以说神速。这表明其实大型软件的开发相比工业而言并不那么难,那么软件开发相对简单在哪里呢?
我认为一是编码和试错成本低,二是软件可以把复杂问题分解为各种模块,模块之间定义好接口,每个模块又可以继续细分,直到分解为很容易实现的地步为止。相比之下,传统工业受材料、重力、加工技术、磨损等现实因素影响,小问题也变得十分棘手。
假设一个人已经掌握了C++编程技术,应该如何分解模块?简单来说:
1. 渲染模块。能够在屏幕上显示图形。
2. 输入模块。能够实时读取键盘、鼠标或手柄的输入。
3. 主循环框架。由于大部分游戏是实时输入输出的,每秒需要处理并显示10帧以上的画面,所以每一帧都要进行读取输入、游戏逻辑、渲染三步操作,不断循环。
想来想去,必要的模块其实就这么三个。从本质看游戏就是这么简单。