随笔分类 - 游戏开发
摘要:一、核心编程二、多媒体 三、互联网 四、数据库系统 首先,基本的数据结构、算法,数据流、线程、面向对象设计概念,模式等。游戏软件本质上是一个实时软件。玩家透过软件,与机器或其它玩家互动。它需要眩目的声光效果、流畅的使用者输入、操作机制、网络资源等,这些项目的实作,都是与硬件高度相依的。因此,在底层技术的开发上,熟悉操作系统和开发环境比编程语言更重要。 某些基础层次的技术,例如:游戏AI常用的决策树、有限状态机、路径搜寻等算法,2D游戏使用的平面贴图、矩阵、图块表、斜向视角、置换页滚动条、调色盘、点画、混色…等种种技术或特效,由于并不特别困难,且非常直觉;因而往往造成编程人员的错觉,认为很容易就
阅读全文
摘要:1.服务器的数量。2.服务器的I/O瓶颈。3.游戏当中的突发性高并发量。4.CPU主频。
阅读全文
摘要:在创建时使用D3DPOOL_MANAGED标志的资源可以不需要重新载入,但D3DPOOL_DEFAULT加载的资源就需要先释放,后重建。通常需要这样处理的有ID3DXFont和ID3DXSprite,而.X模型什么的就不需要。在发现设备丢失时,我们要调用 OnLostDevice(void)函数让D3DPOOL_DEFAULT加载的资源释放掉。好在ID3DXFont和ID3DXSprite有设备丢失处理函数,直接调用就好了voidOnLostDevice(void){ m_sprite->OnLostDevice();m_font->OnLostDevice();}可是,怎么知道设
阅读全文
摘要:这篇文章首发于一本谈游戏研发的杂志,是赵青写的,写得非常不错。《剑侠情缘网络版》开发回顾 2003 年的1月,我刚刚开发完《天王》项目,正在休息、总结和规划下一个项目。《天王》是我开发的众多项目中最满意的一个,虽然这篇文字主要是对《剑侠情缘网络版》(以下简称《剑网》)这个项目的回顾,但作为《天王》的项目经理和主程序,我还是想简单谈谈它。《天王》有几个第一:它是西山居第一个采用外购引擎来开发的游戏,第一个3D游戏,第一个动作类游戏,第一个被我们自己的开发人员所认同、并且愿意自发测试的游戏。虽然由于开发时间短、人员少以及我们没有开发3D动作类游戏的经验,它还有很多不足之处,但从开发人员的观点来看,
阅读全文
摘要:如今流行用OGRE做游戏了,直接用GL写个效果要几百行,OGRE一行代码就搞定了,让人们可以专心的把精力用于游戏的设计与逻辑上。不过OGRE的编译链接设置那相当相当繁琐啊。。搞了我整整三天。记一下~免得忘了。环境是VS05,用的sdk是1.7.0(final),直接构建编译SDK的方式:1、首先去http://www.ogre3d.org/官网下一个SDKv1.7.0的开发包,DOWN下来发现是个EXE,实质上还是压缩的RAR文件,直接双击它会解压到当前目录下,但似乎不会帮我设置环境变量,所以要右键我的电脑->属性->高级->环境变量->新建环境变量。取个名字:OGRE
阅读全文
摘要:在 MVC架构下,使用 Observer(观察者)模式将核心逻辑代码与 UI界面代码分离似乎天经地义的事,这样做的好处是核心逻辑代码可以独立于 UI代码而存在,从而达到重用的目的。但不幸的是,从笔者经手的代码看,很多程序员并没有注意到这一点。主要问题可能包括以下两个方面: 第一是核心逻辑代码与 UI
阅读全文
摘要:这只是个说明,你不按说明来办事也不会怎么样,svn照样工作得很好。 branches:分枝 当多个人合作(Sally和John)时,可能有这样的情况出现:John突然有个想法,跟原先的设计不太一致,可能是功能的添加或者日志格式的改进等等,总而言之,这个想法可能需要花一段时间来完成,而这个过程中,Jo
阅读全文
摘要:原著:Radu Privantu 翻译:pAnic 2005年5月11日 原文出处:http://www.devmaster.net/articles/building-mmorpg ------------------------------------------------------------------- 译者序:这是一篇讲解如何开发一款MMORPG的入门文章,作者本人也是一款游戏的开发者,文中的内容源于实践,有很高的参考价值。很多人都想拥有自己的游戏,这篇文章对那些想自己开发游戏的人来说可能是一纸福音,也可能是一盆冷水。无论如何,开发游戏都不是一件简单的事情...
阅读全文
摘要:http://incubator.apache.org/thrift/http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarkinghttp://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/overview.html简介Thrift是Facebook的核心框架之一,使不同的开发语言开发的系统可以通过该框架实现彼此的通信,类似于webservice,但是Thrift提供了近乎变态的效率和开发的方便性,是webservice所不能比拟的。给分布式开发带来了极大的方便。
阅读全文
摘要:一、解决装备技能的按钮闪烁问题时,用到了STL的算法std::includes(...); std::set_intersection(...); 第一个算法判断一个容器是否包含于另外一个容器,返回bool;第二个算法查找两个容器的公共元素并将其放于第三个容器中,返回第三个容器的迭代器。需要注意的是这两个算法都要求其容器是有序的其实升序排列的。所以用set会很方便。。。// 1std::set<int> int_set1;for (int i=0; i<10; ++i) int_set1.insert(i);std::set<int> int_set2;for (
阅读全文
摘要:基本的基本知识,今天跟服务器ZJ调试消息的收发的时候,有个bug,挑来调去用log,最后检查出来是这2个小错误。。。发现工作后基础知识有遗忘~~~~特记下来。1. switch_case 语句,如果要多个case执行同一句语句要写成:case A:case B:case C: do_something(); break;不能写成:case A: B: C: do_something(): break;就算你写错了,编译器也不能帮你检查出这个错误(我用的VS2005)。2. static 变量的应用,只有在第一次时才赋值,以后就不赋值了。我在程序中写成了static uint32 msgT...
阅读全文
摘要:网游UI解决方案的选择作者 鸣·铭转载请注明出自http://www.mobilegamebase.com由于新项目动工,UI方面需要确定方向,所以最近纠结于各种解决方案的选择。以下是对各方案的比较,仅供参考,希望对同样纠结于此的朋友有所帮助:)1.沿用当前的UI公司是从2D游戏起家的,2D游戏本身就相当于一套庞大的UI,所以这方面有所积累。这套UI系统至少是经过几十万玩家测试,稳定性自然不必说,而且移植到 3D游戏后,绕过Ogre,使用DX直接绘图绘文字,速度非常快,而且文字可以轻松实现多种字体,以及加粗、斜体、下划线等效果,所以继续沿用似乎是比较好的选择。但是它同样存在问题,因为
阅读全文
摘要:原文作者:Jake Simpson 译者: 向海 Email:GameWorldChina@myway.com 第1部分: 游戏引擎介绍, 渲染和构造3D世界 介绍 自Doom游戏时代以来我们已经走了很远。 DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎"。 这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,用新的模型,场景和声音创造新的游戏, 或向已有的游戏素材中添加新的东西。大量的新游戏根据已经存在的游戏引擎开发出来,而大多数都以ID公司的Quake引擎为基础, 这些游戏包括Counter Strike, Te
阅读全文
摘要:FreeType是一款字体服务库,它支持多种字体,并且提供高效,高质量的文字。freetype相关介绍见:http://blog.csdn.net/ganxingming/archive/2006/06/05/774796.aspx1, 编译FreeType解压后进入./include/freetype,复制config到当前文件夹,随便去个什么名,这里我用custom_config然后进入 ./builds/win32/visualc这里是vs工程,因为FreeType的支持相当广泛,有很多我们不需要东西,因此需要重新编译FreeType。而刚才我们复制的文件夹中,就是FreeType的可定
阅读全文
摘要:FMod http://www.fmod.org/ 现代游戏已经不能没有声音,所以音频引擎成为游戏引擎中不可缺少的一部分.这是一篇介绍现代音频引擎的文章(http://hard.zol.com.cn/labs/2003/0520/60986.shtml ).FMOD音频引擎(http://www.f
阅读全文
摘要:slk文件是Office中Excel的专用文件,War3.mpq中共33个slk文件,列举了几乎所有 的贴图文件、声音文件、效果的用途,有很好的参考作用。其中有常用的有: Microsoft Excel SLK 数据导入格式 以 SYLK 格式保存文件 以 SYLK 格式保存文件通常用于避免打印机失
阅读全文
摘要:前言 我们知道一个游戏不仅包含了程序代码,而游戏中最主要的是那些资源文件,包括声音,动画,图片甚至还有一些视频文件。如果这些文件不经过压缩,可能需要好 十几张光盘。除了这个原因,另一个不好的原因就是这些资源裸露在玩家面前,也有可能被玩家不经意修改,导致游戏不能继续进行。 因此,在游戏制作好以后,要进
阅读全文
摘要:GPL许可证 GPL通用性公开许可证(General Public License,简称GPL)。在字典中的含义是非洲大羚羊,我们可以常常看到非常个性化的羊头,想必很多人已经非常熟悉。象征 GNU 那种追求自由的精神.GPL同其它的自由软件许可证一样,许可社会公众享有运行、复制软件的自由;发行传播软件的自由;获得软件源码的自由,以及改进软件并将自己作出的改进版本向社会发行传播的自由。GPL还规定,...
阅读全文
摘要:与玩游戏相比,写游戏要复杂上千万倍,除了需要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内,由于相关资料的缺乏,更是让初学者无从下手。下面总结了一些入门方法和比较容易入手的资料。 首先你要精通一门高级语言,比如C++或者C#,其次,要有良好的英文阅读能力。对游戏开发者来说英文阅读能力是最重要也是最基本的工具之一,因为你遇到的大部分资源都将是英文的,不要总等着别人为你翻译。慢慢尝试着阅读英文资料,你会发现其实也并没有那么难:) 刚开始,你要做的就是选择一门图形API,一般就是DirectX或者OpenGL之间选一个。如果考虑到跨平台,那么OGL是首选. 如果只在ms的平
阅读全文