【vc++精品源码栏目提醒】:以下是网学会员为您推荐的vc++精品源码-VC++2010游戏开发随记之二十五 - 其它资料,希望本篇文章对您学习有所帮助。
【Visual C】游戏开发笔记二十五 最简化的 DirectX 11 开发环境的配置本篇文章讲解游戏开发主题的相关内容,DirectX 开发环境的配置以及依旧由《暗黑破坏神 3》延展讲解一点游戏开发的知识。
事情繁多很多天之后,今天浅墨开始接着进行专栏的更新。
上篇文章一发出来,就有很多朋友在文章的评论中讲到了很多这个专栏系列的行文走向方方面面的问题,浅墨就在文章开头简要说明一下。
一,关于游戏开发的主题既然大家都比较关注这个专栏系列的行文走向,就让我们先从单机游戏与网络游戏的联系与区别讲起吧。
我们都知道,游戏编程分为服务器端编程和客户端编程。
传统的单机游戏一般都只会用到客户端编程,本系列专栏就注重这方面知识的讲解。
(若有必要,在介绍完游戏客户端编程的知识之后,浅墨也许会再开一个网络游戏开发的专栏,当然这还需要很久的时间,具体事宜到时候再与大家讨论商榷。
)客户端游戏编程需要掌握的主要是 Win32 编程, 计算机图形学,DirectX,算法与逻辑实现等方面的知识。
PC 游戏界的后起之秀网络游戏显然包含了服务器端编程和客户端编程两部分。
服务器端编程需要掌握的主要是网络编程,数据库,多线程编程和 Linux 编程等知识。
(感谢 yuan5531750 提供给浅墨的多线程,网络编程等相关知识讲解的思路,但是浅墨觉得目前讲解这方面知识还不太妥当,若浅墨在结束这个专栏之后决定再写一个网络游戏开发的专栏,这方面知识将是重头戏。
但多线程和网络编程在这个专栏里目前还不会涉及,浅墨得对 yuan5531750 暂时说声抱歉了,希望得到他的理解。
)好了,我们继续讲,近 10 年以来,随着互联网技术的迅猛发展,自从第一款轰动全球的网络游戏《传奇》横空出世以来,网络游戏逐渐代替了单机游戏曾经的霸主地位,成为了 PC 游戏的中流砥柱。
从此之后,很多朋友开始乐此不疲地在魔兽世界,穿越火线,龙之谷,地下城与勇士等网游中消遣着业余的时光,丰富自己的生活。
当然网络游戏的出现也催生了 5173 等网络游戏交易平台,游戏打金工作室,盗号工作室等网络游戏相关的第三方产业。
讲完这个知识点,我们来看下主线的任务,DirectX 11.二、最简化的 DirectX 11 开发环境的配置在编写基于 DirectX 11 的应用程序之前,我们当然需要在 IDE 中加入 DirectXSDK 函数库的支持,让编译器在编译我们的代码时候,认识我们在代码中调用的 DirectXSDK 中的函数。
否则,编译器会报出 undefined XXX 等错误,因为如果我们不进行 DirectXSDK 的配置,编译器是不会聪明到认识这些函数的。
之前浅墨发表过一篇《DirectX 开发环境快速配置》的文章,其实那篇文章中把DirectX SDK 的配置说复杂了,由于目前是面向 Visua Studio 2008 以上的版本,配置过程将是非常的简单。
下载和安装 DirectX SDK从微软官方网站上下载最新的 DirectX SDK,我们选择目前最新的DirectXSDK_June10 (截止 2012 年 6 月 16 日)。
下载地址是 http://www.microsoft.com/en-us/download/details.aspxid6812下载完成后得到一个名为 DXSDK_Jun10.exe 的安装包,然后双击此文件进行安装。
安装目录浅墨设定的为 D:Program FilesMicrosoft DirectX SDK June 2010 ,可以任意设定,但要记好目录,下一步会用到这个安装目录。
进行相关的配置打开 Visual Studio(浅墨在这里示例的是 Visual Studio 2010),依次点击【工具】(快捷键 AltT)-【选项】(快捷键 O)-【项目和解决方案】-【VC目录】(英文版的为【tools】 【option】 【projects and solutions】 【VCDirectories】 - - - )我们会得到如下窗口:,需要的只是在【包含目录】和【库目录】中添加相关目录即可,浅墨在图中用方框标出了,添加的具体步骤如下: 在【包含目录】中加入安装的 DirectX SDK 目录下的 include 文件夹的路径,根据 DirectX SDK 的安装路径,即添加 D:ProgramFilesMicrosoft DirectXSDK June 2010Include这里如果是不同的安装路径需要部分进行修改,示意图如下: 在【库目录】中加入安装的 DirectX SDK 目录下的 Lib 文件夹的路径,根据 DirectX SDK 的安装路径,即添加 D:Program FilesMicrosoftDirectX SDKJune 2010LibX86这里如果是不同的安装路径依然需要部分进行修改,示意图如下:添加完这两个目录,DirectX 开发环境的配置就成功了,我们就可以在 VisualStudio 中运行基于 DirectX 的运用程序了.PS: 如果在执行第二步的时候,也许会出现“VC 目录编辑功能已被否决”的情况。
我们可以不采用上述的方案进入 VCDirectories,转而采用如下方案:执行菜单栏中的--在新出现的“属性管理器”工作区中,点击项目-DebugWin32-Microsoft.Cpp.Win32.userDirectories 即可打开vcDirectories三、由《暗黑破坏神 3》的衍生讲解今天的讲解是基于浅墨在 NGA 上看过的一篇帖子,个人感觉写得很中肯,在这里感谢帖主精彩的行文,原文链接是:http://bbs.ngacn.cc/read.phptid5264899_fp1如下是精彩部分的摘要:“每个程序都会有 bug,哪怕它仅仅是个 helloworld,如果程序没有 bug,操作系统就会有 bug,如果连操作系统都没有 bug,世界就会毁灭。
”引用这句话是想告诉大家,游戏是个大型软件,是超越所有软件研发行业研发难度的系统工程,集“通信”“图形”“audio” “物理” “字符集”等难点于一身,这些东西光是分散开来形成一个单独学科都够任何一个人研究一辈子,而在游戏研发中,要把这些难点全部做到淋漓尽致,实在是对研发者的重大考验,更何况是暗黑 3 这样的大型项目,你们看看光是开发者列表有多少人,要协同这么多人一起工作更是一件非常具有难度的事情。
而 bug 本身具有如下分类:A 类 bug: 导致程序崩溃、死循环、系统当机、通讯断开、存储错误、流程无法继续等B 类 bug: 主体逻辑正确,但分支逻辑不完善或缺失无法形成体系C 类 bug: 设计不恰当、造成影响游戏体验D 类 bug: UI 排版、文字、图形的错误F 类 bug: 术语及语言表达不当目前看来,卡进度这个归结于 B 类 bug,属于分支逻辑不完善,白话一些就是程序员没想完善所有可能的操作,而踢馆子这种事只能算做 C 类 bug 导致的游戏平衡性问题,说到这里,想起对不平衡的定义:让玩家产生单一或唯一选择就是不平衡。
怎么说呢比如一个机枪兵造价 50 攻击力 10 一个坦克造价 50 攻击力 20 就让玩家产生了唯一选择 我想傻子才会去造机枪兵吧。
踢馆子属于这类,在权衡了难度,成本,产量后,踢罐子成为大多数人的唯一选择,那么暴雪修掉这样的“bug”是非常正确的选择。
我们再来看看卡进度这个事情,很显然是因为负责这块逻辑的程序员没考虑到退出公共游戏后的进度保存问题,和之前的正常逻辑冲突了导致了所谓卡进度的“bug”。
接着我们来看看大家喷的最多的登录问题 37121083330073014 等:大家应该能看出这是我对一些数值的宏定义,那么为什么需要他们呢?比如我在写代码,要创建一个 1024×768 的窗口,那么简单的填上 1024×768 就可以了吗?不,虽然可行,但不是最优的解决办法也不利于同事来读懂我的代码,如果我定义一个宽为 1024 再定义一个高为 768 那么我在代码中只需要写宽和高 而不用写具体的数值,这样一来,同事既可方便读懂,又可以非常快捷的修改这些参数,无论代码
上一篇:
VC++2010游戏开发随记之三十九
下一篇:
软件开发工具论文