问题
都说c++适合做游戏开发,撸了好几个月还是感觉学的乱七八糟的,今天好不容易改了一个五子棋小游戏,发现只能用cpp自带那个简陋的界面模拟出来那种感觉,为什么平时玩的游戏有很好的声音,图片?这涉及到了什么方向的知识?接下来该如何学习?
南老师回答
看到问题自然想起二十年前自学BASIC,最大的动力就是想“写”出一个飞机从屏幕上飞过,然后按空格键可以发射由字母组成的炮弹去攻击飞机的游戏(有印象作者挂着谭浩强老师的名)。代码都不懂,指法也不会,就一个指头戳键盘,好几页的代码,学校机房一小时五元天价。最可气的是存盘的数据在下次上机时,会被管理员也不知用什么技术清空全部恢复原状。所以大一大二两年,我也没完成。想来就这样被机房“骗”了好多上机费。
实际真参与游戏编程的职业,当然是用现成的图形引擎写代码,没有题主说的丑不丑的问题,有也是怪美术那块的工作画得不好。但我是真心觉得做程序员呢,开心是最重要的。不一定就非得写点代码就想着是不是能向老板换钱(作曲的人应该也有写歌就为自己哼哼爽的用途吧)。我常给自己的父母写程序,更是写过定时(比如女方生日)在电脑桌面开放的玫瑰花(其实就一异形窗口再贴图)给女生。。。有孩子后,给孩子写小游戏(特别是益智类)是常事。下面有个宝岛保卫战我用C++加libsdl(纯C库)写的。我儿子两周岁不到就抢着拍空格键负责“无差别”发炮,那是一个老婆过来帮我拖工作室的地板的午后,阳光照进在地板投射出一块大光斑。我们都很开心。这游戏以及桌面开花的“求偶”程序代码,我都写进《白话C++》下册的“乐趣”章节。
之前在别的帖子记得也发过这个录屏。今天觉得发这里也应景。程序员茶余饭后写个小游戏就为了自娱(包括家人)。也好看不了,但我平日里教人C++时,最反对学了一大本书,还只能在黑乎乎的控制台下写代码,因为学习这件事,一旦枯燥没有乐趣,就只有圣人能学好。
顺便说下游戏剧情设定。游戏虽小,但背景气势一定要大,让玩家有置身于历史洪流而被命运选中的使命感……供大家开心:
大明时期,外星人入侵地球,幸得张三丰组织武林中人抵抗。击退大部分外星人。但外星人留了一手,在某宝岛海底深处埋下一核心能源,并留下一小部分外星人守卫。以待后续再次入侵时实现里应外合……未料时间一长,留守外星人被美丽的地球无形中感化,化身为鲸鱼改为帮助守护地球。又未料某岛国因核辐射,全岛居民变异为鸭子,竟然先行于外星人以鸭屎发起对宝岛的攻击(动机存疑),外星人为防止核心能量出异常,提前派出一UFO和大量飞机发起对地球的攻击,包括鸭子……场面错综复杂,谁胜谁负?是敌是友?蓝色星球是否能延续数十亿年的文明?历史选择了你……
有关初学者应该如何规划学习路线,本站有一篇视频课堂讲得更详细: