本系列文章由七十一雾央编写,转载请注明出处。
http://blog.csdn.net/u011371356/article/details/9299121
作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo
鉴于有同学需要代码学习,我以后会把代码整体的粘贴出来,以方便大家参考,但是还是建议大家自己动手写一遍。在笔记二中调整窗口的代码写完后,在本系列教程中大家就只用关注CChildView.h和CChildView.cpp这两个文件,所以我会每次贴出这两个文件的全部代码。
by雾央 2013.7.14
对于内容较多的章节,为了方便大家自己尝试,我会上传工程文件,大家可以下载回去自己感受一下。
by雾央 2013.7.15
看到大家对于游戏开发都比较热情,从笔记三之后,雾央都上传了源代码,并且都是0积分下载,大家可以参考着源代码看博文。
by雾央 2013.7.18
从笔记十一开始,雾央将系列名称更新为《C++游戏开发》,原因是这个教程并没有多么深入MFC,只是借用了MFC的框架和贴图,原来名称可能误导一些同学,而且雾央更希望讲解的是游戏开发的一些思想,而不局限于MFC。
by雾央 2013.7.22
一、我的游戏开发学习之路
很多人走上计算机道路最初的原因就是怀揣着游戏开发的梦想,至少我是这样的。最初学习的日子是极度痛苦的,对于游戏开发充满着热情,但是却只能每天在控制台黑乎乎的窗口下写程序,不知道怎么样才能写出图形界面的游戏程序,我记得我当时在网上四处搜索资料得到的结果大都是说要去学习一门图形库,比如DirectX、OpenGL或者学习WIN32 API,再古老的就是graphic库了。DirectX和OpenGL对于一个新手来说真的太难了,一大堆复杂的名词和概念,对于数学的要求都让人望而退却;WIN32
API函数太多,讲解游戏开发的资料太少,至少当时我是没怎么搜索到,而graphic库是TC专用的,大概已经没有人用了,当时一度感觉开发一个好看的游戏太艰难了,好在后来在网上搜到了EasyX图形库(http://www.easyx.cn/),这个是由yangw80先生利用windows编程开发的一个图形库,接口和graphic基本一样,且配有详细的chm文档说明,建议刚接触编程的同学可以去了解一下,至少它可以让你快速开发出一个图形程序,很感谢BestAns写的Easyx图形开发教程http://www.easyx.cn/skills/View.aspx?id=45,当时我刚学完了C语言,看着这个教程,做出了自己的图形界面的学生成绩管理系统和贪吃蛇、扫雷游戏。这个图形库支持的功能不是很多,比如实现输入框就是蛮困难的一个事情,但是利用它,实现一个像样的游戏demo已经不是问题了,也可以告别控制台窗口了。
后来我们学校进行了专业实训,实训的内容是MFC开发,做的是游戏,截图如下:
先来一张城镇地图:
再来一张野外地图:
做的是一个像冒险岛那样的横版游戏,虽然不是很完善,但是游戏最基本的东西基本都具有了,当然要非常感谢我的美工队友的付出,事实上,我个人认为,游戏基本就是美术+if/else堆起来的。
一直以来,自己对于3D游戏充满了兴趣,后来在CSDN看到浅墨大神的专栏《Visual C++游戏开发》后,开始看着浅墨的教程,自学3D游戏,到现在算是刚入门吧,可惜浅墨由于非常忙,停止了博客的更新。
上面大概就是自己在游戏开发道路上的学习过程,到现在,我仍然是初学者,但是我很佩服浅墨的分享精神,对过去自己所走的弯路、经历的痛苦也记忆犹新,希望可以把自己所学习到的知识分享出来,帮助那些曾和我一样怀有游戏开发梦想的少年们。
二、关于《MFC游戏开发》系列
1.面向对象
我文笔不好,技术也一般,因此这个《MFC游戏开发》系列面向的对象是游戏初学者,有什么问题,路过的高手请指出,在此表示感谢。
2.学习基础
学习的要求是掌握了C语言,对于C++只需要知道最基础的类的概念就好,不熟并不妨碍你写游戏。游戏采用MFC单文档开发,如果不会MFC也没有什么问题,我会从第 一步手把手进行图文教程,我的开发环境是VS2010,WIN7。
3.更新
现在是暑假期间,我时间比较多,会尽快更新。我保证,在教程结束的时候,大家至少可以写出我上面贴出的截图中的游戏,即一个2D游戏demo。
4.反馈
大家有什么问题欢迎在博客评论中留言或者新浪微博私信我,我新浪微博叫七十一雾央,我会及时回答(如果我知道的话,呵呵)。
说明:在网上很多人不建议使用MFC开发游戏,它封装了很多使用不到的东西,GDI绘图效率低下,但是我觉得,游戏开发的思想是一样的,MFC只是一种工具,只要利用它能方便我们做出自己的游戏,实现自己的梦想,又有何不可呢?况且,上面我做的2D动作角色扮演游戏,FPS可以达到60帧,不会产生一点点的卡,也就是说,我们做的是简单的游戏,效率这方面我觉得暂时可以不用考虑MFC带来的影响。
另外,我知道很多怀有游戏开发梦想的同学,选择了去学习一个游戏引擎。确实,利用游戏引擎可以快速的开发出自己的游戏,甚至利用RPG Maker这样的工具,连一行代码都不用写,就可以拖出一个像样的RPG游戏,但是这样对于我们自己的成长,又有多大的帮助呢?从最基础的部分学习起,我们可以认识到游戏引擎的实现原理,甚至写出自己的游戏引擎,雾央现在就打算慢慢写一个自己的游戏引擎。我觉得,在学习阶段,大家还是自己从底层写代码做游戏比较好,工作阶段,大家利用游戏引擎开发游戏才是最正确的选择。
《MFC游戏开发》笔记一到这里就结束了,更多精彩请关注下一篇。如果您觉得文章对您有帮助的话,请留下您的评论,点个赞,能看到你们的留言是我最高兴的事情,因为这让我知道我正在帮助曾和我一样迷茫的少年,你们的支持就是我继续写下去的动力,愿我们一起学习,共同努力,复兴国产游戏。
对于文章的疏漏或错误,欢迎大家的指出。