加载中...
为什么我用c++写的游戏那么简陋?
第1节:代码改善:一个“坑爹”的文字类冒险游戏
第2节:在禁止多重继承的情况下,如何设计“直立智慧猩猩”类?
第3节:C++多线程代码中的“乱序”执行现象
第4节:C++中函数指针有什么作用呢?
第5节:为什么我用c++写的游戏那么简陋?
第6节:多线程读写socket导致的数据混乱的原因是什么?
第7节:WebSocket 是什么原理?为什么可以实现持久连接?
第8节:怎样在c++中实现instanceof?
第9节:一个函数多处 return 是好风格吗?
第10节:C++中虚函数相比非虚函数的优势
第11节:为什么 C::C::C::C::foo() 能编译成功?
第12节:如何静态反射C++枚举的名字
第13节:看C++大叔如何拥 java 妹子入怀……
第14节:坨——理解递归实现“汉诺塔”代码的关键
第15节:C++编译器如何实现 const(常量)?
第16节:C++如何为断言加上消息
第17节:初学C++到什么水平,算是合格的初级开发工程师?
第18节:C++编程要避免使用单例模式吗?
第19节:学习C++要学boost库吗?
第20节:C++的继承就是复制吗?
第21节:C++构造函数失败,如何中止创建对象?
第22节:C++学完多线程后,学什么呢?
第23节:string_view 适合用做函数的返回值类型吗?
第24节:为指针取别名,为何影响const属性?
第25节:std::enable_shared_from_this 的存在意义?
第26节:C++模板可变参数如何一次性解包?
第27节:Linux下的c++开发,平时是怎么调试代码的呢?
课文封面

都说c++适合做游戏开发,撸了好几个月还是感觉学的乱七八糟的,今天好不容易改了一个五子棋小游戏,发现只能用cpp自带那个简陋的界面模拟出来那种感觉,为什么平时玩的游戏有很好的声音,图片?这涉及到了什么方向的知识?接下来该如何学习?

问题

都说c++适合做游戏开发,撸了好几个月还是感觉学的乱七八糟的,今天好不容易改了一个五子棋小游戏,发现只能用cpp自带那个简陋的界面模拟出来那种感觉,为什么平时玩的游戏有很好的声音,图片?这涉及到了什么方向的知识?接下来该如何学习?

南老师回答

看到问题自然想起二十年前自学BASIC,最大的动力就是想“写”出一个飞机从屏幕上飞过,然后按空格键可以发射由字母组成的炮弹去攻击飞机的游戏(有印象作者挂着谭浩强老师的名)。代码都不懂,指法也不会,就一个指头戳键盘,好几页的代码,学校机房一小时五元天价。最可气的是存盘的数据在下次上机时,会被管理员也不知用什么技术清空全部恢复原状。所以大一大二两年,我也没完成。想来就这样被机房“骗”了好多上机费。

实际真参与游戏编程的职业,当然是用现成的图形引擎写代码,没有题主说的丑不丑的问题,有也是怪美术那块的工作画得不好。但我是真心觉得做程序员呢,开心是最重要的。不一定就非得写点代码就想着是不是能向老板换钱(作曲的人应该也有写歌就为自己哼哼爽的用途吧)。我常给自己的父母写程序,更是写过定时(比如女方生日)在电脑桌面开放的玫瑰花(其实就一异形窗口再贴图)给女生。。。有孩子后,给孩子写小游戏(特别是益智类)是常事。下面有个宝岛保卫战我用C++加libsdl(纯C库)写的。我儿子两周岁不到就抢着拍空格键负责“无差别”发炮,那是一个老婆过来帮我拖工作室的地板的午后,阳光照进在地板投射出一块大光斑。我们都很开心。这游戏以及桌面开花的“求偶”程序代码,我都写进《白话C++》下册的“乐趣”章节。

之前在别的帖子记得也发过这个录屏。今天觉得发这里也应景。程序员茶余饭后写个小游戏就为了自娱(包括家人)。也好看不了,但我平日里教人C++时,最反对学了一大本书,还只能在黑乎乎的控制台下写代码,因为学习这件事,一旦枯燥没有乐趣,就只有圣人能学好。


顺便说下游戏剧情设定。游戏虽小,但背景气势一定要大,让玩家有置身于历史洪流而被命运选中的使命感……供大家开心:

大明时期,外星人入侵地球,幸得张三丰组织武林中人抵抗。击退大部分外星人。但外星人留了一手,在某宝岛海底深处埋下一核心能源,并留下一小部分外星人守卫。以待后续再次入侵时实现里应外合……未料时间一长,留守外星人被美丽的地球无形中感化,化身为鲸鱼改为帮助守护地球。又未料某岛国因核辐射,全岛居民变异为鸭子,竟然先行于外星人以鸭屎发起对宝岛的攻击(动机存疑),外星人为防止核心能量出异常,提前派出一UFO和大量飞机发起对地球的攻击,包括鸭子……场面错综复杂,谁胜谁负?是敌是友?蓝色星球是否能延续数十亿年的文明?历史选择了你……


有关初学者应该如何规划学习路线,本站有一篇视频课堂讲得更详细:

初学C++,应该学什么?